HispaMSX

Re: [hispamsx] Screen 2 y 4

2000-11-14 07:59:21
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."
---


<Anterior en la conversación] Conversación actual [Siguiente en la conversación>