En principio el VDP se supone que se comporta exactamente igual
en todos los MSX (de la misma generación, claro está), pero, si no te
quieres pillar los dedos, puedes probar a leer la copia de los registros
del VDP en la RAM del sistema y con AND y/o OR trastear sólo los
registros que te convienen.
Después de lo que me comentó ag0ny, así es como voy a hacerlo.
Aunque esto es un arma de doble filo, puesto que estas copias de registros
sólo se actualizan cuando dichos registros son modificados usando las
rutinas del BIOS a tal efecto......
Por el momento, voy a usar una macro de este estilo:
WRVDPREG MACRO REGISTRO
OUT (VP1), A
IF REGISTRO AND 11111000B
LD (RG8SAV+REGISTRO), A
ELSE
LD (RG0SAV+REGISTRO), A
ENDIF
LD A, REGISTRO OR 080H
OUT (VP1), A
ENDM
Estooo... es correcta, no? Si el registro esta entre 0 y 7, REGISTRO AND
11111000 valdrá 0 y se optará por la segunda rama, y en caso contrario,
por la primera. Por supuesto, RG8SAV es 00F7H-8.
Hasta pronto.
--
Antoni Burguera i Burguera - burguera(_en_)mundivia(_punto_)es
Rol, fantasia i ciència ficció a 9D-La Novena Dimensió
http://www.novenadimensio.net
---
"No hi ha un perquè. Neteja la teva ment de preguntes. Llavors
comprendràs."
---