![]() |
Routines |
| Prev: A804 | Up: Map | Next: A83F |
|
Used by the routines at PrintSpriteTiles and DrawRoom.
Prints one UDG at the current screen position, without writing an attribute. The colour versions are PrintColourCharacter and GoldfishGame_PrintColourUDG.
|
||||||||
|
Point HL' at this character's pixels and DE' at the current screen cell.
|
||||||||
| PrintUDG | A817 | EXX | Switch to the shadow registers. | |||||
| A818 | LD E,A | DE'=the character code*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) | Advance *DF_CC and leave DE' on the cell just claimed. | ||||||
| A82F | INC DE | |||||||
| A830 | LD ($5C84),DE | |||||||
| A834 | DEC DE | |||||||
|
Copy the eight pixel rows into the screen buffer.
|
||||||||
| A835 | LD B,$08 | B'=08. | ||||||
| PrintUDG_Loop | A837 | LD A,(HL) | Copy one pixel row and move down one screen line. | |||||
| A838 | LD (DE),A | |||||||
| A839 | INC HL | |||||||
| A83A | INC D | |||||||
| A83B | DJNZ PrintUDG_Loop | Decrease the row counter and loop back to PrintUDG_Loop until all 08 rows are written. | ||||||
| A83D | EXX | Switch back to the normal registers. | ||||||
| A83E | RET | Return. | ||||||
| Prev: A804 | Up: Map | Next: A83F |