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

Si por algo se caracteriza el Spectrum es por su gran variedad de periféricos (clásicos y modernos)

Moderador: Sir Cilve Sinclair

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Sab Oct 11, 2008 7:55 am

... 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
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
decicoder
Jack The Nipper
Mensajes: 176
Registrado: Jue Jul 19, 2007 10:37 am

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

Mensaje por decicoder » Sab Oct 11, 2008 8:52 am

Por fin se hace público este pedazo proyecto. Enhorabuena.
¿Habrá videos demostrativos?
xor a
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Sab Oct 11, 2008 4:05 pm

Por supuesto, es que aún no los he pasado a la web :)
Web: ZX Projects | Twitter: @zxprojects

curioso1100
Herbert
Mensajes: 60
Registrado: Mar May 08, 2007 8:41 am

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

Mensaje por curioso1100 » Sab Oct 11, 2008 7:33 pm

Pues una vez más me quito el sombrero ante ti ;-)

Pedazo de montaje, además de curioso y original como pocos. Seguro que el año que viene en Imaginática tendremos ocasión de verlo "de verdad".

Enhorabuena.

Un saludo.

PD: leer el artículo completo en tu web cuesta mucho -hay que ir adelante y atrás varias veces para conseguirlo-... imagino que cuando se publique en Magazine ZX será bastante más sencillo

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Sab Oct 11, 2008 7:46 pm

curioso1100 escribió:PD: leer el artículo completo en tu web cuesta mucho -hay que ir adelante y atrás varias veces para conseguirlo-... imagino que cuando se publique en Magazine ZX será bastante más sencillo

Bueno, resulta que al final no se publica en Magazine ZX, y es por eso por lo que he adelantado la publicación en mi web. De todas formas, tienes razón en que es engorroso leerlo por secciones. Dado que tengo el texto original, lo "maquetaré" en un PDF que dejaré en la web.
Me alegro que te guste :) No sé si lo presentaré en Imaginática... es que tú sabes que Imaginática no es una feria retro, y me da la impresión de que este montaje no podría apreciarse en toda su extensión, dado que el público que asiste, en la mayoría de los casos, no sabe siquiera qué es un Spectrum o un MSX.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Sab Oct 11, 2008 7:50 pm

decicoder escribió:Por fin se hace público este pedazo proyecto. Enhorabuena.
¿Habrá videos demostrativos?


Acabo de colgar dos de ellos que hice cuando terminé el montaje. No son nada espectaculares, pero al menos se ve que el invento es real y no un "fake" :D Es que ten en cuenta que, salvo la demo "Farting Fish", y la carga del Game Over II, el resto de ejemplos que he podido portar no son precisamente un espectáculo de colores, o de sprites moviéndose aquí y allá.

A ver si pincho de nuevo el Spectrum (que en el hueco de mi mesa donde pongo los retrocacharros hay ahora un Amiga 500, punto de partida para mi nuevo friki-interface) y hago un video del Farting Fish, corriendo en un Spectrum 128K "heatsink" ;)
Web: ZX Projects | Twitter: @zxprojects

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

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

Mensaje por Gandulf » Sab Oct 11, 2008 7:56 pm

Bueno, te he contestado en las news. Me ha encantado tu proyecto, y me gustaría que prepararas un PDF, tal y como comentas, a modo de artículo y contándonos un poco cómo surgió la idea y qué posibilidades le ves.

Un saludo y enhorabuena de nuevo.
Un saludo,

Gandulf

curioso1100
Herbert
Mensajes: 60
Registrado: Mar May 08, 2007 8:41 am

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

Mensaje por curioso1100 » Sab Oct 11, 2008 8:36 pm

el público que asiste, en la mayoría de los casos, no sabe siquiera qué es un Spectrum o un MSX.


pues tienes razón... pero pobre de ellos, ¡qué pena me dan!, no saben lo que se perdieron y lo que aún se pierden :twisted:

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Dom Oct 12, 2008 12:12 am

Gandulf escribió:Bueno, te he contestado en las news. Me ha encantado tu proyecto, y me gustaría que prepararas un PDF, tal y como comentas, a modo de artículo y contándonos un poco cómo surgió la idea y qué posibilidades le ves.

Gracias! El PDF con el artículo completo ya está disponible para descarga desde la página principal de zxprojects (ahora por fin sin ningún pop-up inoportuno, o al menos eso espero). También hay una reseña sobre cómo comenzó este invento, incluyendo los enlaces a los posts donde comencé a preguntar sobre la programación del chip de video del MSX... ;)
Web: ZX Projects | Twitter: @zxprojects

ZXevious
Jack The Nipper
Mensajes: 101
Registrado: Vie Abr 11, 2008 5:37 pm

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

Mensaje por ZXevious » Dom Oct 12, 2008 12:49 pm

Eres un crack!!!! ¡Enhorabuena!

Un saludo.

jltursan
rst 0
Mensajes: 7
Registrado: Dom Oct 12, 2008 5:40 pm

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

Mensaje por jltursan » Dom Oct 12, 2008 6:06 pm

No he podido resistirlo, me he registrado para darte la enhorabuena por la finalización de tu proyecto, es uno de los trabajos más elaborados que he visto jamás :)
Cuenta conmigo para lo que puedas necesitar en lo que respecta a convertir el "Caverns of Titan". Sería genial verlo correr en mi Spectrum :wink:
Y ya que sacamos el tema, ¿sería posible desarrollar un prototipo en el que no hubiese que modificar internamente el Spectrum?, en caso afirmativo, ¿habría posibilidad de que se comercializara de alguna manera?.

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

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

Mensaje por mcleod_ideafix » Dom Oct 12, 2008 6:47 pm

Hola! La verdad, todo un honor tenerte por aquí!! Me alegro que te haya gustado el artículo! :)

Sobre el Caverns of Titan: me encantan los juegos de plataformas, y la suavidad de movimientos que tiene, junto con el colorido, han hecho que sea uno de mis favoritos :)

Respondiendo a tus preguntas:

- El único tipo de Spectrum con el que funciona este invento, sin necesidad de modificación ninguna es el Spectrum 48K, ya que es el único que permite la inhabilitación de la ULA, y eso es necesario ya que, como sabes mejor que nadie, el acceso a uno de los puertos de la VDU es por un puerto par, el 98h, y eso entra en conflicto con la ULA. Por eso tengo que deshabilitarla durante el acceso a ese puerto.
Lo malo es que el modelo de 48K no tiene soporte de sonido por el AY-8912, así que habría que ponerlo aparte. Una versión anterior de la placa para esta interface contemplaba la posibilidad de usar un chip de estos, además usado en los mismos puertos que el MSX: A0h, A1h y A2h.
Se podría reprogramar la GAL20V8 del prototipo para que no usara puertos pares, pero eso significaría perder parte de la "compatibilidad" con MSX. De esa forma, funcionaría sin modificaciones también en un Spectrum 128K "heatsink" (y posiblemente en el +2 gris). El "heatsink" es el que he usado para las pruebas. Creo que es el más compatible de todos (una vez hecha la modificación interna de Yarek Adamski, lo es más aún).
El peor parado en esta historia es el +2A/+3, ya que no permiten de fábrica ni deshabilitar la ULA ni tomar el control de las interrupciones. Habría que hacer modificaciones internas para ambos casos. Una lástima :(

- Sobre sacar una versión comercializable: pues todo depende de que se puedan encontrar chips de video fácilmente y a un precio razonable. En este sentido, creo que tendría más exito una versión de esta interface con el V9958, ya que éste puede usar memoria DRAM con el bus de datos bidireccional, cosa que no puede hacer el TMS9929. Además, este chip saca señal en RGB, con lo que puede alimentarse un monitor RGB, una TV con euroconector RGB, un monitor Amstrad, un Commodore 1084S, etc... El prototipo que tengo usa un TMS9929A, que saca video por componentes, o video compuesto en blanco y negro, así que a no ser que tengas una VGA-Box o algo que permita entrada por componentes, no podrías disfrutarlo en color.
No sé cuán sencillo sería encontrar los AY-8912 hoy día, pero podría añadirse como un chip "opcional" para mejorar aún más la compatibildad con MSX.

Sobre lo que necesito del Caverns of Titan: pues hombre... ¡el código fuente! :D. Me comentaste que querías "adecentarlo" antes de dejarlo a disposición pública. Me gustaría saber, no obstante, si lo recuerdas:
- Usas la BIOS en ese juego?
- Si usas la BIOS... ¿recuerdas qué rutinas son las que usas?
- Usas directamente alguna variable del sistema? (si usas la BIOS, indirectamente las estás usando, claro está, pero... tú mismo lees o escribes alguna?)
- Aparte del video, sonido, teclado/joystick, usas algún periférico más del MSX?
- Dado el código fuente, ¿podría "relocalizarse" el ejecutable (que no esté almacenado a partir de la posición 4000h, sino por ejemplo, en la 8000h)?

Gracias!!!
Web: ZX Projects | Twitter: @zxprojects

utopian
Manic Miner
Mensajes: 219
Registrado: Jue May 10, 2007 2:28 pm

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

Mensaje por utopian » Lun Oct 13, 2008 11:17 am

Buenas...

Aparte de felicitarte otra vez, como ya hice por el foro de CEZ, tengo un par de ideas, que suelto por aquí porque parece ser el principal hilo de discusión:

- El tema de los puertos del VDP es un problema, especialmente pensando en dar soporte a modelos más allá del 48k. Hay un detallín a tener en cuenta, y es que en el MSX1 los puertos 98h y 99h son un estándar "de facto", pero no son 100% obligatorios, al menos si la memoria no me falla. Por lo tanto, podrías tener el VDP en dos puertos impares (97h y 99h, p.e.) y sería más o menos válido 8). Mi voto sería por tener un jumper al estilo del DivIDE, con una opción para puertos estándar y sólo 48k (o 128k con modificación), y otro con puertos no estándar, que funcione en modelos de 128k sin modificación. Lo de los +2a y +3 va a ser más difícil, así que... la vida es dura.

- Sigo dando mi voto por una versión comercializable. Si puedo elegir, preferiría usar el TMS9929, porque va a ser más complicado portar cosas con el V9958 (los juegos existentes usan muchas más cosas del MSX2).

- Por cierto, lo que comentaba del BeTiled! de MSX en el foro de CEZ era más un ofrecimiento que una petición... Quicir, que me puedo ofrecer a portarlo si tengo tiempo y un cacharro para probarlo ;). O a ayudarte en la conversión si prefieres hacerlo tú.

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

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

Mensaje por Gandulf » Lun Oct 13, 2008 12:45 pm

Con respecto a nuevo software de spectrum que use los modos de vídeo de MSX, o versiones de juegos ya existentes con mejoras gráficas, veo dos problemas:

- Rehacer los gráficos con más colores (por ejemplo yo sé hacer sprites para spectrum, pero nunca he realizado gráficos para MSX y no conozco bien la paleta, limitaciones, etc)
- Los juegos con scroll. Por ejemplo Ragnablock o Viaje Centro fases 4 y 5 tienen scroll vertical suave y no se puede hacer esto con el chip de video del MSX-1 (sin crear tiles predesplazados para cada tile, que no es viable por la memoria), tendría que hacerlo caracter a caracter, lo cual no hace viable la conversión directamente en la fase 5 del Viaje.

El nuevo juego (que estoy todavía mascando la idea) que haga seguro que tendrá scroll, casi con seguridad multidireccional, así que se complica hacer una versión para el sistema MSX. Habría que hacer uno específico de pantallas.

Creo que como dice Utopian, portar algunos de los juegos de CEZ sería más sencillo, porque son pantalla a pantalla, y porque además tienen experiencia en el tema gráfico de MSX.

Parece a priori más apetecible convertir títulos del MSX al speccy que hacer versiones mejoradas gráficamente en sentido inverso.
Un saludo,

Gandulf

utopian
Manic Miner
Mensajes: 219
Registrado: Jue May 10, 2007 2:28 pm

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

Mensaje por utopian » Lun Oct 13, 2008 2:03 pm

Hombre, como dice Gandulf hay cosas en concreto que al chip del MSX le van a costar (básicamente scrolls al pixel), pero a cambio ganas muchas cosas, como color y hasta 32 sprites por HW "de gratis".

Con lo del scroll poco hay que hacer, salvo los trucos que se hacen por ejemplo en el Malaika de MSX... pero a cambio hay muchos juegos que se podrían portar al híbrido: Castelvanias, Nemesis y demás shooters si se ignora el scroll al carácter, Penguin Adventure... El catálogo MSXero (y eso que no lo conozco mucho) tiene muchas cosas interesantes. E igualmente se le podría dar un baño de color a juegos de Spectrum. Me vienen a la cabeza los Filmation, en los que podríamos hacer las partes móviles a base de sprites y ganar color (a cambio de flickering, pero es otra historia), todos los juegos sin scroll...

Y bueno, si nos ponemos a hacer trucos inconfesables con el chip, podemos llegar a hacer cosas tan interesantes como la demo técnica de Ghosts 'n' Goblins que hay en los foros de Karoshi (http://www.bluemsx.com/demos/GnG_20070126.zip). Esta demo aprovecha algunos modos no documentados, y en teoría no compatibles con todos los clones del TMS9929. Y aquí podría estar el truco, si podemos asegurar que el interfaz de mcleod_ideafix usa una versión que soporte ese modo no documentado.

En fin, que aunque el chip no es una Geforce, se pueden hacer cosas muy divertidas con él... Ahora que lo pienso, en su día habría sido una idea genial el interfaz: añades un plus gráfico a tus juegos, consigues una protección anticopia durante un tiempo...

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados