3.-Sólo apto para freaks: rutina de copia super-rápida para
psicópatas y
demosceners.
no se si ha sido lo de freak, psicopata o demoscener, pero ha activado
mi interrupcion de atencion XD apunto apunto....
El truco está en que la instrucción OTIR es MUY LENTA y hace muchas
comparaciones que son innecesarias. Crearemos una nueva versión, más
rígida,
que ocupa mucha más memoria, pero que se acerca mucho más al límite
teórico
de transferencia:
RUTINA_RAPIDA:
; Parámetros: HL- origen de datos en RAM
DE - destino de datos en
C - número de bloques de 256 bytes a copiar
; Vamos allá. El principio es idéntico
DI
LD A,E
OUT [99h],A
LD A,D
OR 40h
OUT [99h],A
; Hacemos algún apaño
LD E,C
LD C,98h
; Empezamos el proceso de copia
BUCLE:
OUTI
OUTI
OUTI
..... (habría que repetir esta misma instrucción 256 veces seguidas!)
DEC E
JR NZ,BUCLE
; Ya está
EI
RET
...
...
Bueno, actuamlente ya uso algo parecido... de 8 en 8 para llenar
patterns de bloque en bloque...
A todos, un saludo. NapalMSX, con esta sabiduría concentrada pueden
hacerse
demos que se muevan bastante bien en MSX...
pozí :)
Eduardo Robsy
_________________________________________________________________
¿Dónde se esconden l@s solter@s? Encuentra miles de perfiles en MSN
Amor &
Amistad. http://match.msn.es/