![]() |
Routines |
Prev: E879 | Up: Map |
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 |