Download ColecoVision Coding Guide

Transcript
;
PUT_VRAM_:
push
af
cp
000H
jr
nz,ELSEZZ
ld
a,(MUX_SPRITES)
cp
001H
jr
nz,ELSEZZ
pop
af
push
hl
ld
hl,(LOCAL_SPR_TABLE)
ld
a,e
sla
a
sla
a
ld
e,a
add
hl,de
ex
de,hl
push
iy
pop
bc
ld
a,c
sla
a
sla
a
ld
c,a
pop
hl
ldir
jr
END_IFZZ
;
ELSEZZ:
pop
af
call
SET_COUNT
call
VRAM_WRITE
END_IFZZ:
ret
;
; PROCEDURE INIT_SPR_ORDERQ (SPRITE_COUNT:BYTE)
;
INIT_SPR_P:
dw
00001H
dw
00001H
;
INIT_SPR_ORDERQ:
ld
bc,INIT_SPR_P
ld
de,PARAM_AREA
call
PARAM_
ld
a,(PARAM_AREA)
;
; INIT_SPR_ORDER_
; Desc.: Initializes the sprite display order list in RAM
;
to default order (0..31)
; Input: Number of sprites to order in A
;
INIT_SPR_ORDER_:
ld
b,a
xor
a
ld
hl,(SPRITE_ORDER)
INIT_SPR10:
ld
(hl),a
inc
hl
inc
a
cp
b
jr
nz,INIT_SPR10
ret
;
162