Routines |
Prev: 61B4 | Up: Map | Next: 61F8 |
61C2 | LD B,$08 | 8 columns will be scrolled on | ||
61C4 | PUSH BC | Save the column counter | ||
61C5 | LD HL,$5801 | First shift the attributes one place to the left | ||
61C8 | LD DE,$5800 | |||
61CB | LD BC,$029F | |||
61CE | LDIR | |||
61D0 | CALL $F841 | Scroll the display file one character square to the left | ||
61D3 | INC A | Adjust the leftmost column of the play area now on screen (held at 7FFF) | ||
61D4 | LD ($7FFF),A | |||
61D7 | LD HL,$141F | H=20 (bottom row of the screen), L=31 (column at the far right) | ||
61DA | PUSH HL | |||
61DB | CALL $606C | Print the play area character square at row H, column L=31 | ||
61DE | POP HL | |||
61DF | DEC H | Next row up | ||
61E0 | JP P,$61DA | Jump back until all 21 squares in the column have been printed | ||
61E3 | POP BC | Restore the column counter to B | ||
61E4 | DJNZ $61C4 | Jump back until 8 columns have been scrolled on | ||
The screen has been scrolled left 8 columns. Check whether any of the minor characters may be teleported without us noticing.
|
||||
61E6 | LD A,($7FFF) | A=leftmost column of the play area on screen | ||
61E9 | LD B,$05 | 5 little boys, starting with 0xC1=little boy no. 4 | ||
61EB | LD H,$C1 | |||
61ED | CP $78 | Is the skool gate in the middle of the screen? | ||
61EF | JR Z,$622E | Jump if so (to consider teleporting little boys 4-8) | ||
61F1 | CP $50 | Is the boys' skool door in the middle of the screen? | ||
61F3 | RET NZ | Return if not | ||
61F4 | LD H,$BE | 0xBE=little boy no. 1 | ||
61F6 | JR $622C | Consider teleporting little boys 1-3 |
Prev: 61B4 | Up: Map | Next: 61F8 |