Routines |
Prev: E879 | Up: Map | Next: E8B4 |
Used by the routine at EC7B.
|
||||
E87C | LD HL,$E7EC | Set the instruction at E7EB to 'LD BC,$0020' | ||
E87F | LD (HL),$20 | |||
E881 | LD L,$EF | Set the instruction at E7EE to 'LDIR' | ||
E883 | LD (HL),$B0 | |||
E885 | LD B,$06 | 6 rows will be scrolled on | ||
E887 | PUSH BC | Save the primary screen row counter | ||
This entry point is used by the routine at FC6A.
|
||||
E888 | LD B,$13 | There are 19 screen rows to move up | ||
E88A | LD DE,$5800 | DE=destination attribute file address (top row) | ||
E88D | LD HL,$5820 | HL=source attribute file address (second row from the top) | ||
E890 | PUSH BC | Save the secondary screen row counter | ||
E891 | PUSH HL | Save the source attribute file address | ||
E892 | PUSH DE | Save the destination attribute file address | ||
E893 | CALL $E7E8 | Move one screen row up | ||
E896 | POP HL | HL=source attribute file address | ||
E897 | LD C,$20 | Point HL at the next row down in the attribute file | ||
E899 | ADD HL,BC | |||
E89A | EX DE,HL | Transfer this address to DE | ||
E89B | POP HL | HL=destination attribute file address | ||
E89C | ADD HL,BC | Point HL at the next row down in the attribute file | ||
E89D | POP BC | Restore the secondary screen row counter to B | ||
E89E | DJNZ $E890 | Jump back until all 19 screen rows have been moved up | ||
E8A0 | LD HL,$7FFF | 7FFF holds the y-coordinate of the topmost row of the play area on screen | ||
E8A3 | INC (HL) | Increment this | ||
E8A4 | LD HL,$131F | L=31 (rightmost screen column), H=19 (bottom row of the screen) | ||
E8A7 | PUSH HL | Save the screen coordinates briefly | ||
E8A8 | CALL $E70C | Print a tile at screen coordinates (L,19) | ||
E8AB | POP HL | Restore the screen coordinates to HL | ||
E8AC | DEC L | Have we printed every tile in the row yet? | ||
E8AD | JP P,$E8A7 | Jump back if not | ||
E8B0 | POP BC | Restore the primary screen row counter to B | ||
E8B1 | DJNZ $E887 | Jump back until 6 rows have been scrolled on | ||
E8B3 | RET |
Prev: E879 | Up: Map | Next: E8B4 |