Lo que he hecho de momento es una pequeña prueba con unos sprites cualquiera.
Ahora bien mirado no parece que este tan mal, pero mi pregunta es si es normal
la irregularidad en el parpadeo de los Sprite, o sea, que no me parece siempre la
misma frecuencia de parpadeo.
Pongo el ejemplo que he hecho , le hechais un ojo, plisss.
.bios
.page 1
.rom
CLIKSW EQU $F3DB
FORCLR EQU $F3E9
DI
IM 0
LD SP,$F380
INICIO: LD HL,FORCLR
LD [HL],$0F
INC HL
LD [HL],$01
INC HL
LD [HL],$01
XOR A
LD [CLIKSW],A
CALL INIGRP
CALL ERAFNK
LD BC,$E201
CALL WRTVDP
LD A,0
LD R,A
xor a
ld [sprite],a
LD HL,GHOST
LD DE,14336
LD BC,32
CALL LDIRVM
bucle: call retardo
ld a,[sprite]
dec a
jr z,dir5678
ld hl,buffer
LD DE,6912
LD BC,8*4
CALL LDIRVM
jr bucle
dir5678: ld hl,buffer+4*4
LD DE,6912
LD BC,8*4
CALL LDIRVM
jr bucle
retardo: halt
ld a,[sprite]
or a
jr z,ponera1
xor a
ld [sprite],a
ret
ponera1: inc a
ld [sprite],a
ret
buffer: db 100,10,0,2,100,30,0,4,100,50,0,6,100,70,0,7,100,90,0,9,100,110,0,10,100,130,0,13,100,150,0,15
copia_buffer: db 100,10,0,2,100,30,0,4,100,50,0,6,100,70,0,7,100,90,0,9,100,110,0,10,100,130,0,13,100,150,0,15
GHOST: db 000h,003h,00Fh,01Fh,027h,003h,003h,043h,067h,07Fh,07Fh,07Fh,07Fh,06Eh,046h,000h
db 000h,0C0h,0F0h,0F8h,09Ch,00Ch,00Ch,00Eh,09Eh,0FEh,0FEh,0FEh,0FEh,076h,062h,000h
.page 3
sprite: ds 1