![]() |
Routines |
| Prev: A804 | Up: Map | Next: A83F |
|
||||||||
|
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 |