![]() |
Routines |
Prev: 59572 | Up: Map |
Used by the routine at 60539.
|
||||||||
59575 | LD HL,59372 | Set the instruction at 59371 to 'LD BC,32' | ||||||
59578 | LD (HL),32 | |||||||
59580 | LD L,239 | Set the instruction at 59374 to 'LDIR' | ||||||
59582 | LD (HL),176 | |||||||
59584 | LD B,6 | 6 rows will be scrolled on | ||||||
59586 | PUSH BC | Save the primary screen row counter | ||||||
This entry point is used by the routine at 64618.
|
||||||||
59587 | LD B,19 | There are 19 screen rows to move down | ||||||
59589 | LD DE,23136 | DE=destination attribute file address (bottom row) | ||||||
59592 | LD HL,23104 | HL=source attribute file address (second row from the bottom) | ||||||
59595 | PUSH BC | Save the secondary screen row counter | ||||||
59596 | PUSH HL | Save the source attribute file address | ||||||
59597 | PUSH DE | Save the destination attribute file address | ||||||
59598 | CALL 59368 | Move one screen row down | ||||||
59601 | POP HL | HL=source attribute file address | ||||||
59602 | LD BC,65504 | Point HL at the next row up in the attribute file | ||||||
59605 | ADD HL,BC | |||||||
59606 | EX DE,HL | Transfer this address to DE | ||||||
59607 | POP HL | HL=destination attribute file address | ||||||
59608 | ADD HL,BC | Point HL at the next row up in the attribute file | ||||||
59609 | POP BC | Restore the secondary screen row counter to B | ||||||
59610 | DJNZ 59595 | Jump back until all 19 screen rows have been moved down | ||||||
59612 | LD HL,32767 | 32767 holds the y-coordinate of the topmost row of the play area on screen | ||||||
59615 | DEC (HL) | Decrement this | ||||||
59616 | LD HL,31 | L=31 (rightmost screen column), H=0 (top row of the screen) | ||||||
59619 | PUSH HL | Save the screen coordinates briefly | ||||||
59620 | CALL 59148 | Print a tile at screen coordinates (L,0) | ||||||
59623 | POP HL | Restore the screen coordinates to HL | ||||||
59624 | DEC L | Have we printed every tile in the row yet? | ||||||
59625 | JP P,59619 | Jump back if not | ||||||
59628 | POP BC | Restore the primary screen row counter to B | ||||||
59629 | DJNZ 59586 | Jump back until 6 rows have been scrolled on | ||||||
59631 | RET |
Prev: 59572 | Up: Map |