Code: Select all
DrawWater:
move #$2700,sr
tst.w (f_hbla_pal).w ; is palette set to change?
beq.s @nochg ; if not, branch
move.w #0,(f_hbla_pal).w
lea ($C00000).l,a1
lea (v_waterpal).w,a0 ; get palette from RAM
move.l #$C0000000,4(a1) ; set VDP to CRAM write
move.l (a0)+,(a1) ; move palette to CRAM
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.l (a0)+,(a1)
move.w #$8A00+223,4(a1) ; reset HBlank register
@nochg:
What should I take care of, while working with CRAM on HBlank?