HispaMSX

Re: [hispamsx] Screen 2 y 4

2000-11-14 11:07:52
On Tue, 14 Nov 2000, Antoni Burguera Burguera wrote:

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.

RG8SAV = *00F7h-8*? No deberia ser 0FFE7h-8? :)

La macro es correcta, pero yo prefiero hacer el 'ld (RGxSAV+reg),a' desde
fuera de la macro, porque hay ocasiones en las que no te interesa guardar
el contenido del registro en la RAM, ya sea por velocidad (dentro de un
bucle o en una interrupcion), o porque no te interesa para nada leer luego
esos valores (al escribir en los registros de comandos del VDP, por
ejemplo).

Saludos,

--
ag0ny(_en_)ag0ny(_punto_)com - http://www.aamsx.org


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