--- En hispamsx(_en_)yahoogroups(_punto_)com, "Eduardo Robsy Petrus"
<robsypetrus@h...> =
escribió:
Hola. A alguien se le ocurre una rutina más rápida para copiar datos de l=
a
RAM a la VRAM en bloques de 8 bytes en un MSX1 (TMS9918 o asÃ)???
Si lo que quieres es velocidad yo creo que ésta es la mejor manera, a costa=
de sacrificar algo de memoria:
; Parametros:
; HL: dirección de origen (RAM)
; DE: dirección de destino (VRAM)
RAM2VRAM:
ld a,e ;4
di ;4
out (99h),a ;11
ld a,d ;4
or 40h ;4
out (99h),a ;7
ld c,98h ;7
ld (pila), sp ;20
ld sp, nuevapila ;10
LOOP:
outi ;16x8
outi
outi
outi
outi
outi
outi
outi
ret ;5
nuevapila:
ds LOOP, bloques
dw VUELVE
pila:
dw 0
VUELVE:
ld sp, (pila) ;20
ei ;4
ret ;5
Consume más espacio, pero es algo más rápida. No se si he puesto bien los t=
iempos...
Si se van a transferir del orden de 800 bytes lo óptimo serÃa hacerlo en bl=
oques de 32 bytes para que ocupe menos espacio.
Saludos.