Prev: F7EE Up: Map Next: F854
F83C: Draw Intro Sprites
Used by the routine at F4EC.
Iterates over the 18 three-byte entries in the sprite table at F558 (Y pixel row at +00 X byte column at +01 attribute byte at +02), calling XorBlitSprite once per entry to draw each sprite in its initial position. Called once during attract-mode setup at F4EC before the animation loop begins.
DrawIntroSprites F83C LD B,$18 B=18 (loop counter: 24 sprite entries).
F83E LD HL,$F558 HL=F558 (attribute byte position of the first entry).
DrawIntroSprites_Loop F841 LD A,(HL) A=attribute byte from the current entry.
F842 EXX Switch to the shadow registers.
F843 LD E,A E=attribute byte (passed to XorBlitSprite as the draw-mode attribute).
F844 EXX Switch back to the normal registers.
F845 PUSH BC Stash BC and HL on the stack.
F846 PUSH HL
F847 DEC HL Back HL two bytes to the Y pixel row (start of entry).
F848 DEC HL
F849 CALL XorBlitSprite Call XorBlitSprite to draw the sprite at the position held in the current entry.
F84C POP HL Restore HL and BC from the stack.
F84D POP BC
F84E INC HL Advance HL by three to the attribute byte of the next entry.
F84F INC HL
F850 INC HL
F851 DJNZ DrawIntroSprites_Loop Decrease counter and loop back to DrawIntroSprites_Loop.
F853 RET Return.
Prev: F7EE Up: Map Next: F854