![]() |
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 |