Hace tiempo que quería compartir un articulo llamado
Efectos en Screen que había publicado en la revista Programación Popular Nro 36 (el último número de esta revista). Lo único que encontré es la revista, ya que el cassette con el fuente y el programa objeto en assembler no lo encontré . Como la Talent MSX no la tengo mas desde el año 90 , use un emulador de MSX desde una página web ( webmsx.org ) y un ensamblador / desensamblador RSC 2.0 para tipear el fuente del código assembler.
Me encontré con la sorpresa que el fuente publicado estaba incompleto de algunas instrucciones (probablemente algún error de tipeo). Tuve que volver a estudiar el programa para poder solucionarlo por lo que ahora funciona.
Lo único que voy a necesitar es que alguien lo pruebe en una Talent MSX DPC-200. El original corre en esta máquina porque utiliza la memoria, el SLOT 1 de la página 1 para utilizar la función CALL desde el BASIC. En los emuladores por lo visto usan el SLOT 3 , pero igual desconfió del funcionamiento de este emulador.
Adjunto la tapa. contra tapa, el artículo y el fuente en el arhivo Revisata_PP36.rar
El archivo fuente corregido : EFECTOS_FUENTE.rar
El archivo objeto para la Talent DPC-200 . ES01.rar
El archivo objeto para otra MSX que tenga los 64Kb en el Slot 3 . ES01_3.rar
Forma de cargar el archivo : BLOAD"ES01",R solo para MSX Talent DPC-200 u otra MSX que tenga los 64Kb de memoria en el SLOT 1
y debería funcionar los siguientes comandos.
CALL INV // Invierte los colores de la pantalla
CALL CLS // Invierte los colores de los caracteres y desplaza los caracteres hacia la derecha, hasta que desaparecen
CALL TIPO // Hace mas grueso el trazo de la tipografía cada vez que se ejecuta esta función.
En caslo de cargar el programa y se cuelga la autoejecución (debido a que no tienen la memoria en el SLOT1), puede hacerlo en forma mas manual. Ejemplo
BLOAD"ES01" //Sin ,R
escribir las siguientes instrucciones
POKE &H90C7,0 // Para que retorne a Basic sin error por no ser llamado desde un comando CALL
DEF USR=&H904C
PRINT USR(0) // Invierte los colores de la pantalla
DEF USR=&H905C
PRINT USR(0) // Invierte los colores de los caracteres y desplaza los caracteres hacia la derecha, hasta que desaparecen
DEF USR=&H90A7
PRINT USR(0) // Hace mas grueso el trazo de la tipografía cada vez que se ejecuta esta función.
Estos efectos funcionan para las pantallas en modo 0 o 1 (SCREEN0 Y SCREEN1)