lunes, 19 de octubre de 2015

VDP-9978


Esta semana ya he hecho las primeras pruebas con la evolución del "chip" de Yamaha VDP9958. He puesto "chip", entre comillas, ya que este chip no existe. Se quedó en concepto histórico. Así que he me he inventado una evolución lógica (según mi propio punto de vista e interpretación) manteniendo el 100% de compatibilidad con su antecesor. NOTA: Es un "chip" emulado. Metido en el core de emulación del sistema. No existe en FPGA ni similar.

Entre las cosas que tendrá este chip inventado y emulado para este proyecto, avanzo:

- 4Mb de VRAM y así tener muchas páginas de video en todos los modos gráficos.
- Paleta de colores de 256 colores de un total de 16 Millones + Alpha (32 bits)
- SCREEN 9 - 256x212 - 8 bits (256 colors)
- SCREEN 13 - 512x212 - 8 bits (256 colors)
- TEXT 3 - 80x24 Full color text.

Una pantalla del MSXDOS funcionando ya con TXT3:


El modo permite configurar para cada carácter el foreground y el background de una paleta de 16 colores. En vez de usar el blinking, se usan colores. Así que las direcciones y el espacio usado de VRAM del modo TEXT3 son las mismas que las del TEXT2.

Y luego, un SCREEN 9 (debatiendo si será 9 o 13, puesto que el 9 se usa en ciertos MSXBASIC Koreanos), que ocupa la misma VRAM que un SCREEN 8 pero permite unos gráficos muy majos:


Además, de que con 4Mb de VRAM, pues tienes 64 páginas de memoria para este modo. Y las copias VRAM-VRAM como van igual que un rayo. Puedes montar sprites y gráficos todos con bitmaps sin problemas. Estoy mirando un modo de tener OVERLAYS de páginas para poder hacer parallax y otros efectos, a ver que se puede hacer. Es obligatorio para mí, mantener la lógica compatible de los V9938 y V9958. Al V9978 se accede con los mismos puertos.



10 comentarios:

  1. que cosa más wapa..
    tienes pensado que el modo 9 tenga modo de paleta? osea 256 colores con atributos de color?
    has pensado en un sc7 con 64 colores de paleta?, menos colores pero con una paleta digamos de 16k colores... sería un modo muiy interesante..

    ResponderEliminar
  2. El SCREEN9 cada pixel es 1 byte. Ese byte es una entrada a una paleta de colores. En el VDP9938 y 9958, como sabes. La paleta de colores es de tan solo 16 entradas. Y además esta limitada a nivel de RGB. La paleta del VDP9978 tiene los límites de los 32bits, vamos, colores a tutiplein! Así que son 256 colores de un paletón. Realmente, con ese modo salen el resto. Porque si quieres usar menos colores, solo has de hacerlo. Lo bueno de esto, es que no corrompes la forma de trabajar con el VDP, es clavada a como lo hacen sus hermanos menores. Hasta el VDPEngine es compatible en ese sentido. Es primordial que el VDP no haga cosas raras. Porque aunque ahora el concepto sea emulado, el tema o la gracia, sería poder llegar a implantarlo en una FPGA a partir de los planos del 9958.

    ResponderEliminar
    Respuestas
    1. te amo tio.. te amo..
      el sc13 (hd+256col) supongo que consumirá más memoria no?

      Eliminar
    2. jajajaja ... sois grandes :) .. por los comentarios lo digo :) ... si claro, un SC13 ocupa el doble que un SC9 .. pero vamos, con 4 Mb .. son como 32 páginas si no recuerdo mal.

      Eliminar
  3. Respuestas
    1. Que remedio . .cualquiera para esto ya! jajajajaj Gracias!!

      Eliminar
  4. Gracias por tu desarrollo, Alberto.
    ¿Este "virtual" 9978 sería compatible con el Soft escrito para el 9990? Creo que incluir 9990 serviría como reconocimiento a los coders que curraron algo para v9990...
    Saludos, eres grande man!!

    ResponderEliminar
    Respuestas
    1. De hecho, el soft escrito, a ver .. por partes ... por un lado .. en la máquina virtualizadora se tiene intención de integrar un V9990. Porque este chip es especialito. No tiene nada que ver ni con el 9938 ni con el 9958 ni lo tiene con mi propuesta de 9978. Pero si se quiere poder tener soporte por compatibilidad con todo lo MSX. Además, del mismo modo, que podrás conectar un GFX9000 al MSX3 y enchufarlo por su salida de video a donde sea.
      Luego, el MSXBASIC5, el nuevo, que está hecho desde cero, este tiene comandos nuevos. Y entre ellos, tiene comandos especiales para hacer cosas nuevas y especiales similares a las extensiones basic que se ofrecían para el GFX9000. ¿Contesto a tu pregunta? y lo más importante, te quedas más tranquilo? :)

      Eliminar
  5. ¡¡Si señor!! tranquilo me deja. Siempre me fié de su sapiencia :-)
    *Ná, es que el nuevo GnG de ASM, de momento sólo para 9990, promete cantidad (y calidad)

    *Por otro lado respecto al Audio. Gracias por el soporte FM.

    ¿Qué te parecen los avances de MSX-Audio BIOS v1.3 http://frs.badcoffee.info/tools.html y un posible SCC-BASIC http://www.tni.nl/projects.html
    ¿Se podrían implantar en tu nuevo MSX-BASIC? Ya sé que hay que hablar con los autores y que soy un músico freak y nerd.

    * Y un último tema (espero no ser pesado, sorry!) MSX-VIEW vs SYMBOS, la competencia en GUI.
    Prodatron es fan de tu trabajo. ¿Este MSX3 de nueva hornada podrá rodar SymbOS sin volverse loco -el sistema y el humano- ?

    Muchas gracias por tu trabajo MSX y tus amables palabras.
    8bit forever!!

    ResponderEliminar
    Respuestas
    1. Me alegra reconfortar tu tranquilidad y agradecer tus comentarios.
      Respecto al AUDIO. Me parecen geniales los avances del MSXAudio BIOS. todo lo que sean mejoras en el mundo MSX, es maravilloso. Y respecto al SCCBASIC, claro que es posible. De hecho, también tenia previsto poder incluir otros chips con el nuevo BASIC.
      Y respecto al GUI. No es comparable, no por nada, porque no tiene nada que ver MSXVIEW con SYMBOS. Son dos cosas diferentes, cada una en su lugar. Dices que Prodatron es fan de mi trabajo? como sabes eso? jajaja yo si que soy fan del suyo! :) .. el SYMBOS es una joya, además que pude conocer el OS a bajo nivel hace unos años. Respecto a que pueda correr SYMBOS en el MSX3, sin duda, como cualquier otro software MSX que exista. Saludos!!

      Eliminar