![]() |
Routines |
Prev: 43012 | Up: Map | Next: 43071 |
|
||||||||
Compare against the colour version PrintColourCharacter and the clone of it at GoldfishGame_PrintColourUDG.
|
||||||||
PrintUDG | 43031 | EXX | Switch to the shadow registers. | |||||
43032 | LD E,A | DE'=A*8. | ||||||
43033 | LD D,0 | |||||||
43035 | SLA E | |||||||
43037 | RL D | |||||||
43039 | SLA E | |||||||
43041 | RL D | |||||||
43043 | SLA E | |||||||
43045 | RL D | |||||||
43047 | LD HL,(23606) | HL'=*CHARS+DE'. | ||||||
43050 | ADD HL,DE | |||||||
43051 | LD DE,(23684) | Increment *DF_CC by one. | ||||||
43055 | INC DE | |||||||
43056 | LD (23684),DE | |||||||
43060 | 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.
|
||||||||
43061 | LD B,8 | B'=8 (byte counter). | ||||||
PrintUDG_Loop | 43063 | LD A,(HL) | A=*HL'. | |||||
43064 | LD (DE),A | Write A to *DE'. | ||||||
43065 | INC HL | Increment HL' by one. | ||||||
43066 | INC D | Increment D' by one. | ||||||
43067 | DJNZ PrintUDG_Loop | Decrease counter by one and loop back to PrintUDG_Loop until counter is zero. | ||||||
43069 | EXX | Switch back to the normal registers. | ||||||
43070 | RET | Return. |
Prev: 43012 | Up: Map | Next: 43071 |