Prev: A804 Up: Map Next: A83F
A817: Print UDG
Used by the routines at A8AF and DrawRoom.
Input
A Sprite ID
Compare against the colour version PrintColourCharacter and the clone of it at GoldfishGame_PrintColourUDG.
PrintUDG A817 EXX Switch to the shadow registers.
A818 LD E,A DE'=A*08.
A819 LD D,$00
A81B SLA E
A81D RL D
A81F SLA E
A821 RL D
A823 SLA E
A825 RL D
A827 LD HL,($5C36) HL'=*CHARS+DE'.
A82A ADD HL,DE
A82B LD DE,($5C84) Increment *DF_CC by one.
A82F INC DE
A830 LD ($5C84),DE
A834 DEC DE Decrease DE' by one.
All character blocks are 1 x 8 bytes.
Copy the data from the current character set to the screen buffer.
A835 LD B,$08 B'=08 (byte counter).
PrintUDG_Loop A837 LD A,(HL) A=*HL'.
A838 LD (DE),A Write A to *DE'.
A839 INC HL Increment HL' by one.
A83A INC D Increment D' by one.
A83B DJNZ PrintUDG_Loop Decrease counter by one and loop back to PrintUDG_Loop until counter is zero.
A83D EXX Switch back to the normal registers.
A83E RET Return.
Prev: A804 Up: Map Next: A83F