Routines
 Prev: 59572 Up: Map Next: 59632
59575: Scroll the screen down 6 rows
 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 Next: 59632