El Spectrum y el MSX ahora tienen algo más en común...

Si tienes alguna duda y crees que alguien podría resolverla, ponla aquí. || If you have any doubt about programming, post it here.

Moderador: CEZ

Responder
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

... ya que desde Abril de este año, que fue cuando terminé de construir el que hasta ahora es mi último proyecto hard, un Spectrum 48K/128K/+2 puede usar el chip de video del MSX como si fuera otro periférico más.

Esto, creo yo, da bastante juego: tanto en el sentido literal como en el figurado. Por una parte tenemos un "dual screen" en toda regla: dos pantallas, completamente independientes.
  • Puede usarse una de ellas para mostrar mensajes de depuración del código que está siendo ejecutado en la otra pantalla.
  • Puede usarse para ver juegos originales de MSX, si bien esto necesita convertir el juego a Spectrum. Lo bueno es que la conversión ahora es mucho más sencilla, dado que ambos comparten el chip de sonido... ¡¡y ahora también el de gráficos!!. En el artículo expongo algunos ejemplos.
  • Puede usarse también, como no, para realizar un desarrollo en paralelo del mismo juego para ambas máquinas: Spectrum y MSX, usando la infraestructura que el programador esté habituado a usar con su Spectrum real (DivIDE, etc.)
¿Puede ahora el Spectrum mostrar más de dos colores por bloque de 8x8? SI
¿Puede usar ahora el Spectrum los 32 sprites por hardware disponibles en el MSX? SI
¿Puedo volcar un cartucho/cinta de MSX en la memoria del Spectrum y jugar con él? NO. Hay que convertir el juego para que use los puertos de sonido del Spectrum, que son disintos en MSX, implementar las llamadas a BIOS que realice el juego original, y seguramente, reescribir la rutina que se encarga de establecer las interrupciones en modo IM 2. Más detalles, en el artículo adjunto.
¿Podria usarse un chip más potente, como el V9958, que permite modos de 256 colores, más sprites en una misma línea horizontal, scroll por hardware, etc.? SI
¿Es éste el artículo que dijiste que iba a aparecer en la Magazine ZX? SI

El artículo, en español esta vez, describe cómo funciona el TMS9929, chip de video PAL de los MSX-1, cuenta qué cosas han tenido que tenerse en cuenta para la adaptación de este chip para el Spectrum, cómo puede programarse desde BASIC usando IN y OUT, y algunos ejemplos de conversiones de minijuegos o demos de MSX, de los cuales he podido obtener el código fuente.

Me falta poner la sección de enlaces, y convertir en hipervínculos algunas cosas dentro del texto, pero lo más importante está ya escrito y disponible para quien quiera echarle un ojo:

Disponible en: http://www.zxprojects.com/index.php/int ... en-espanol
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
WYZ
Site Admin
Site Admin
Mensajes: 2356
Registrado: 29 Dic 2004 21:17
Ubicación: Cartagena (CT)

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por WYZ »

Ante todo enhorabuena!! espectacular!

Desde el punto de vista de un MSXero ... has creado un mostruo.
WYZPlayer

DREAM OVER
INSERT COIN
Avatar de Usuario
radastan
32 bits
32 bits
Mensajes: 389
Registrado: 09 Feb 2006 14:07
Ubicación: Jaén ni pollas
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por radastan »

Y la pregunta del millón... ¿es fácil de conseguir el chip de marrás? es decir, ¿es posible crear interfaces baratas y asequibles en cantidad?

A ver si sueltas los esquemas y dices donde pillar los componentes.
Avatar de Usuario
Guillian
32 bits
32 bits
Mensajes: 626
Registrado: 02 Ene 2005 02:40

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por Guillian »

Enhorabuena. Es un proyecto muy interesante :)
Avatar de Usuario
utopian
128 bits
128 bits
Mensajes: 1692
Registrado: 15 Sep 2005 07:24
Ubicación: Leganés, Madrid, Spain

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por utopian »

La verdad es que la primera idea que me pasa por la cabeza es "menuda locura, ¿para qué queremos un TMS9929 en un Specturm"... pero bien pensado es una idea genial 8). Sólo tengo dos preguntas del millón:

- ¿Piensas hacer una tirada "bonita", con carcasa y demás? ¿Por cuánto?
- ¿Has convencido ya a alguien para que aproveche el invento?

... y ya la definitiva: ¿para cuándo lo tendremos emulado, para poder trabajar desde el PC?

EDITO: la versión MSX del BeTiled! debería ser portable sin muchos problemas :-k
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

radastan escribió:Y la pregunta del millón... ¿es fácil de conseguir el chip de marrás? es decir, ¿es posible crear interfaces baratas y asequibles en cantidad?
Es relativamente fácil. Tengo unos cuantos chips, comprados todos en eBay.
Pero curiosamente, de lo que más tengo (unos 20 o así), es del chip V9958, que es con el que quiero hacer una segunda versión de este invento.

Y si me rondara por la cabeza fabricar interfaces con intención de venderlas, seguramente sería con el 9958, que da más "juego" (128K de VRAM, ¿qué te parece?)

Sí te puedo asegurar que es más sencillo de encontrar que, por ejemplo, el SID del C64, o el SCC de Konami. eBay es tu amiga

Los esquemas están "sueltos", es decir, están publicados en uno de los apartados del artículo. Me falta poner una sección de descargas con el fotolito de la placa, y el fichero de fusibles de la GAL.

De todas formas, no sólamente habría que buscarse el chip de video, sino además las memorias, que para el caso del 9929 o el 9918, deben ser de estas que tienen la entrada y la salida de datos separada.
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

WYZ escribió:Desde el punto de vista de un MSXero ... has creado un mostruo.
Espero que la sección más "ultra" de la comunidad MSX (que tú sabes que en toda retro-comunidad hay siempre una sección que ensalza su retromáquina y humilla a las demás) no lo "demonize". Si algo he aprendido de esta experiencia, es que ahora aprecio mucho más al MSX: es un ejemplo de diseño elegante y funcional. Una arquitectura en la que no me extraña que hayan aparecido tanta variedad de interfaces y accesorios, dado que es muy sencilla de comprender.
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
zikitrake
64 bits
64 bits
Mensajes: 771
Registrado: 02 Mar 2007 14:55
Ubicación: Ahí, al laito de eso

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por zikitrake »

:? Cuando accedo al enlace puesto por mcleod, el NOD32 me da el mensaje este:

Imagen

¿en cualquier caso, el troyano lo tiene la página esa que aparece en el aviso, no?

Y a lo que iba... que hay un nivel por estos lares que me deja pasmao!
P.D: Tu gato está muerto
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

utopian escribió:- ¿Piensas hacer una tirada "bonita", con carcasa y demás? ¿Por cuánto?
No, no he pensado aún nada de eso, pero de hacerlo, no será con este chip, sino con el V9958.
utopian escribió:- ¿Has convencido ya a alguien para que aproveche el invento?
Aunque la placa la realicé en Abril-Mayo, hace ya unos meses, desde el punto de vista del público, sólo lleva unas cuántas horas de vida, así que es que realmente no puede haber dado tiempo a que alguien se interese por hacer cosas con este chip en el Spectrum. Los ejemplos que aparecen en el artículo son programitas cuyo código fuente he podido pillar de las webs de sus autores. Hablé con el autor del Caverns of Titan, a ver si podía pasarme su código fuente para realizar una conversión, pero él me dijo que quería adecentar un poco el código antes de dejarlo a disposición del público.
Así que el único que hasta ahora ha hecho "cosas" en esa interfaz he sido yo.
utopian escribió:... y ya la definitiva: ¿para cuándo lo tendremos emulado, para poder trabajar desde el PC?
Eso no depende de mi. Nunca he escrito un emulador. Es más, aún estoy esperando a ver si a alguien se le ocurre escribir el emulador (de Spectrum) perfecto: un emulador con un SDK que permita que terceros puedan escribir "plugins", para añadir soporte de periféricos que no estuviesen contemplados inicialmente. No sé si me explico bien lo que quiero decir.
utopian escribió:EDITO: la versión MSX del BeTiled! debería ser portable sin muchos problemas :-k
Tengo el código fuente en MSX del BeTiled, lo que pasa es que está en C, y no tengo cargado el Z88SDK, pero todo se andará ;) Paradójicamente, hasta ahora me ha resultado más sencillo pasar juegos que están en ensamblador.
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

zikitrake escribió::? Cuando accedo al enlace puesto por mcleod, el NOD32 me da el mensaje este...
¿en cualquier caso, el troyano lo tiene la página esa que aparece en el aviso, no?
Vaya! No, esa no es la página del enlace, qué va. Y sí, el troyano estaría en esa página del aviso, y tu antivirus te está diciendo que ha terminado la conexión con esa página web precisamente para evitar que se descargue el código malicioso.
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
zikitrake
64 bits
64 bits
Mensajes: 771
Registrado: 02 Mar 2007 14:55
Ubicación: Ahí, al laito de eso

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por zikitrake »

Sip, me aparece cuando voy a http://www.zxprojects.com/index.php/int ... en-espanol, pero el aviso tiene pinta de un pop-up (he añadido la dirección *freeringtones* al adblocker del Firefox y ya no me aparece :D)
P.D: Tu gato está muerto
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

Vaya! Qué raro. No tengo ningún pop-up en la página. Es más, no hay nada de publicidad en ella.
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

zikitrake escribió:Sip, me aparece cuando voy a http://www.zxprojects.com/index.php/int ... en-espanol, pero el aviso tiene pinta de un pop-up (he añadido la dirección *freeringtones* al adblocker del Firefox y ya no me aparece :D)
Ya sé qué ha pasado!!! Algún fallo de seguridad ha hecho que alguien haya incoporado a la cabecera del template un javascript que hace que salga ese pop-up. Lo he quitado. Siento las molestias que esto haya podido causar. Jo! qué vergüenza!

Bueno, creo que ya puedes entrar en el enlace sin problemas. Gracias por el aviso!!
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
Guillian
32 bits
32 bits
Mensajes: 626
Registrado: 02 Ene 2005 02:40

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por Guillian »

mcleod_ideafix escribió:Espero que la sección más "ultra" de la comunidad MSX (que tú sabes que en toda retro-comunidad hay siempre una sección que ensalza su retromáquina y humilla a las demás) no lo "demonize".
Cierto es que en todos los lados siempre hay algún radical. Pero por ahora nadie se ha llevado las manos a la cabeza en http://www.msx.org/ donde ya se han hecho eco de la noticia. Yo confío en que como mucho sólo aparezca algún comentario jocoso (de buen rollo) del tipo: "En el fondo los del Spectrum quieren tener un MSX" :P

Teniendo claro en que consiste el proyecto nadie debería molestarse, tomárselo a mal o verlo como una aberración de sus sistema (sea el que sea).
Avatar de Usuario
WYZ
Site Admin
Site Admin
Mensajes: 2356
Registrado: 29 Dic 2004 21:17
Ubicación: Cartagena (CT)

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por WYZ »

Guillian escribió:
mcleod_ideafix escribió:Espero que la sección más "ultra" de la comunidad MSX (que tú sabes que en toda retro-comunidad hay siempre una sección que ensalza su retromáquina y humilla a las demás) no lo "demonize".
Cierto es que en todos los lados siempre hay algún radical. Pero por ahora nadie se ha llevado las manos a la cabeza en http://www.msx.org/ donde ya se han hecho eco de la noticia. Yo confío en que como mucho sólo aparezca algún comentario jocoso (de buen rollo) del tipo: "En el fondo los del Spectrum quieren tener un MSX" :P

Teniendo claro en que consiste el proyecto nadie debería molestarse, tomárselo a mal o verlo como una aberración de sus sistema (sea el que sea).
Totalmente de acuerdo. Seguro que el tema suscita muchísimo mas interés que suspicacias.

Pero me surge la duda... McLeod, teniendo una base como el Sam Coupé, con mejores capacidades gráficas ( y de ampliación) para que un híbrido? Y aun mas, ¿porque solo mencionas que el MSX y el spectrum tienen algo en común en el tema del hilo? ¿es que no hay mas maquinas con el TMS? a donde quieres llegar ... eh? :mrgreen:

Por cierto, te interesa probar algunos modos extraños?
WYZPlayer

DREAM OVER
INSERT COIN
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

WYZ escribió:Pero me surge la duda... McLeod, teniendo una base como el Sam Coupé, con mejores capacidades gráficas ( y de ampliación) para que un híbrido?
Cuando diseñé esta interface, no tenía a mano ningún Sam Coupé. Ahora sí. Mi idea no es crear un híbrido, aunque se le pueda considerar así. Mi principal objetivo es tener una plataforma que conozco (Spectrum), ampliada para empezar a dar pasitos hacia la programación en MSX. O dicho de otra forma, tener algo que sirva de paso intermedio entre un Spectrum y un MSX a la hora de crear juegos. Por supuesto existen emuladores muy potentes de MSX, y también es cierto que hoy todo dios trabaja en un cómodo editor de assembler en el PC y ejecuta en un emulador, pero en mi caso particular, tengo mis propias herramientas para trabajar en assmebler, para Spectrum, y mis propios cacharros para cargar de forma instantánea programas en un Spectrum real, así que ¿por qué no aprovechar toda esa infraestructura para hacer aplicaciones que puedan funcionar en otras arquitecturas?
Otra razón: los juegos de MSX que jamás se convirtieron a Spectrum, tener la oportunidad de disfrutar de ellos.
La última razón de hacer esto es: porque puede hacerse.
WYZ escribió:Y aun mas, ¿porque solo mencionas que el MSX y el spectrum tienen algo en común en el tema del hilo? ¿es que no hay mas maquinas con el TMS? a donde quieres llegar ... eh? :mrgreen:
Pues no sé en qué estarás pensando... la verdad. Lo que digo en el hilo es que ahora el Spectrum y el MSX tienen ALGO MAS en común (de lo que tenían antes). Y lo que tenían antes de esto, en común, era: el Z80A a una velocidad casi idéntica, y el chip de sonido. Habrá más máquinas con el TMS, vale, pero es que esta interface de video esrá diseñada para Spectrum, por eso son los dos micros que relaciono en el título del post.
WYZ escribió:Por cierto, te interesa probar algunos modos extraños?
Por supuesto, mientras sean modos que puedan usarse en un TMS9929, que es el chip que lleva la interface :)
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
na_th_an
256 bits
256 bits
Mensajes: 11874
Registrado: 22 Abr 2005 13:25
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por na_th_an »

Si te interesa seguir "hibridando" (interesantísimo, nunca había pensado en las múltiples posibilidades que esto ofrece), hay otras máquinas muy parecidas a un MSX1: La Coleco o la genial SG-1000 de SEGA. ¿Les has echado un vistazo? Y ya tirando del chip superior de los MSX2, tenemos la apetitosa Master System... Ya por soñar ;)
Avatar de Usuario
mcleod_ideafix
16 bits
16 bits
Mensajes: 85
Registrado: 05 Mar 2008 19:46
Ubicación: Sevilla
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por mcleod_ideafix »

na_th_an escribió:hay otras máquinas muy parecidas a un MSX1: La Coleco o la genial SG-1000 de SEGA. ¿Les has echado un vistazo? Y ya tirando del chip superior de los MSX2, tenemos la apetitosa Master System... Ya por soñar ;)
Lo de "hibridar" tiene sentido cuando tienes software con qué probar el engendro que has creado. En el caso de la Coleco y la Master System, se puede aprovechar el código de gestión de video, pero no el de sonido. No tienen el mismo chip de sonido que el MSX (y el Spectrum). Además de ello, me da a mi que no tienen tanto software "homebrew" como tiene el MSX, o tanta documentación. Por ponerte un ejemplo: la conversión de algunos de los ejemplos del artículo no hubiera sido posible, o me hubiera costado en el mejor de los casos mucho tiempo, si no llega a existir el proyecto C-BIOS, que ofrece una versión open-source de las rutinas de la BIOS del MSX.

De hecho, esta es también la razón por la que he comenzado el proyecto usando un TMS9929 en lugar de un V9958. Aunque tengo un montón de V9958's, su salida en RGB es más asequible para ser convertida o vista en una TV estándar, y es más fácil conseguir memoria compatible con el V9958 que para el TMS9929, no es tan fácil encontrar código fuente de juegos con qué probarla. Código fuente existe, sí, pero para el caso de MSX-2, lo que he encontrado son programas en los que no sólamente se hace uso de la VDU y el sonido, sino que también usan la unidad de disco y las capacidades avanzadas de mapeado de memoria, lo que convierte una conversión de un título de MSX-2 a híbrido Spectrum-MSX2 en algo que requiere más esfuerzo. Si me voy a otras plataformas como la Master System, donde no se van a tener llamadas a disco, me encontraré en el mejor de los casos, con que no puedo usar el sonido, por no ser los chips compatibles. Eso sin contar que no sé si habrá la suficiente documentación de los puertos de la Master System o de la BIOS que tenga, que me permita reprogramar las partes no compatibles del juego.

En MSX-1 tengo no tantos juegos, o no tan espectaculares como los de otras plataformas, pero a cambio tengo:

- Un número de periféricos (puertos de E/S) acotado. No me tengo que preocupar del video (salvo en casos excepcionales de temporización de los OUT's y eso). Para el sonido, sólo me tengo que preocupar de cambiar los puertos A0, A1, A2 por los correspondientes en el Spectrum. Dado que el MSX-1 no lleva unidad de disco de serie, practicamente ningún juego de esa plataforma lo usa, con lo que no he de preocuparme por ello.
Eso me deja con la única preocupación de controlar el teclado o el joystick. Si el juego usa la BIOS para estos menesteres, ni tan siquiera de eso he de preocuparme, ya que gracias a la C-BIOS, tengo una implementación de las rutinas necesarias que usan los periféricos equivalentes en el Spectrum. Un ejemplo: la función RDSTK (creo que se escribe así) tiene un parámetro que indica qué stick ha de leerlse: 0 para los cursores del teclado, 1 para el joystick del pueto 1, 2 para el joystick del puerto 2. Pues bien, en la versión de esa rutina para el Spectrum lo que hago es asignar el stick 0 a la combinación QAOPM, el stick 1 al puerto 1 del Interface II, y el stick 2 al puerto 2 del Interface II.

- El MSX-1 tiene muchos juegos en cartucho, ocupando la gran mayoría de ellos 32K o menos, y 32K es una cantidad de memoria que puede manejarse con mucha comodidad en un Spectrum. No he de preocuparme por código que mapea o desmapea memoria. Incluso en el caso en que tenga un juego del que no poseo el código fuente, desensamblar un binario de 8K o 16K (o incluso uno de 32K) produce un listado en ensamblador manejable dentro de unos límites razonables (habida cuenta de que bastante de esa memoria no es código sino datos)

- El MSX-1 tiene una arquitectura similar a la del Spectrum para el manejo de interrupciones: los juegos sólo usan la interrupción de la VDU, y no usan timers ni otros periféricos para los cuáles no haya equivalente en el Spectrum. Otros ordenadores pueden tener más periféricos que sean fuente de interrupciones: timers, etc. que habría que añadir por hard al Spectrum.
No hay virginidad que aguante tres martinis.
Imagen
Avatar de Usuario
capzo
16 bits
16 bits
Mensajes: 155
Registrado: 10 Nov 2007 20:19

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por capzo »

mcleod_ideafix escribió: La última razón de hacer esto es: porque puede hacerse.
Me parece la mejor razón, la idea es muy interesante y estoy seguro que en unos meses incluso saldran cosas que nos sorprenderan, a raiz de esto.
Animo con el proyecto.
DaDMaN
128 bits
128 bits
Mensajes: 1636
Registrado: 14 Mar 2006 00:29
Ubicación: Palma de Mallorca
Contactar:

Re: El Spectrum y el MSX ahora tienen algo más en común...

Mensaje por DaDMaN »

Bueno... menuda pasada... Con lo que me gusta a mí lo de trastear :D

¿Puedo ponerme en contacto contigo? Más que nada, porque yo ando con algo parecido y tal vez te interese saberlo y adaptarlo al spectrum (yo tengo un amstrad :P). Pero vamos... que de híbridos va el tema :D

No lo comento por aquí porque, hasta que no esté funcionando, no quiero dar "esperanzas".

Salu2!
GRAFISTA CEZ - TEAM

ImagenImagen

GRAFISTA CEZ - TEAM
Responder