![]() |
Routines |
| Prev: 43257 | Up: Map | Next: 43297 |
|
Used by the routines at ShowTitleMenu and ScrollMessage.
Scrolls a rectangular area of the screen one pixel to the left, and increases the scroll counter at ScrollCounter.
|
||||||||||||
| ScrollAreaLeft | 43266 | CALL GetScreenAddress | Convert the pixel position into a screen address. | |||||||||
| 43269 | LD A,B | Fetch the width. | ||||||||||
| 43270 | LD (43276),A | Store it in the operand of the instruction at 43275. | ||||||||||
| ScrollAreaLeft_Line | 43273 | PUSH HL | Save the address of the right end of the line. | |||||||||
| 43274 | XOR A | Clear the carry flag. | ||||||||||
| 43275 | LD B,0 | Set the number of bytes in the line (this is patched at 43276). | ||||||||||
| ScrollAreaLeft_Byte | 43277 | RL (HL) | Rotate the byte left through the carry flag. | |||||||||
| 43279 | DEC L | Move onto the next byte to the left. | ||||||||||
| 43280 | DJNZ ScrollAreaLeft_Byte | Jump back until the line has been done. | ||||||||||
| 43282 | POP HL | Restore the address of the right end of the line. | ||||||||||
| 43283 | CALL MoveUpALine | Move up a pixel line. | ||||||||||
| 43286 | DEC C | Decrease the number of lines by one. | ||||||||||
| 43287 | JR NZ,ScrollAreaLeft_Line | Jump back until all of the lines have been done. | ||||||||||
| 43289 | LD A,(43297) | Fetch the scroll counter. | ||||||||||
| 43292 | INC A | Add one. | ||||||||||
| 43293 | LD (43297),A | Store it. | ||||||||||
| 43296 | RET | Return. | ||||||||||
| Prev: 43257 | Up: Map | Next: 43297 |