![]() |
Routines |
25026 | LD B,8 | 8 columns will be scrolled on |
25028 | PUSH BC | Save the column counter |
25029 | LD HL,22529 | First shift the attributes one place to the left |
25032 | LD DE,22528 | |
25035 | LD BC,671 | |
25038 | LDIR | |
25040 | CALL 63553 | Scroll the display file one character square to the left |
25043 | INC A | Adjust the leftmost column of the play area now on screen (held at 32767) |
25044 | LD (32767),A | |
25047 | LD HL,5151 | H=20 (bottom row of screen), L=31 (column at far right) |
25050 | PUSH HL | |
25051 | CALL 24684 | Print the play area character square at row H, column L=31 |
25054 | POP HL | |
25055 | DEC H | Next row up |
25056 | JP P,25050 | Jump back until all 21 squares in the column have been printed |
25059 | POP BC | Restore the column counter to B |
25060 | DJNZ 25028 | Jump back until 8 columns have been scrolled on |
25062 | LD A,(32767) | A=leftmost column of play area on screen |
25065 | LD B,5 | 5 little boys, starting with 193=little boy no. 4 |
25067 | LD H,193 | |
25069 | CP 120 | 120: Is the skool gate in the middle of the screen? |
25071 | JR Z,25134 | Jump if so (to consider teleporting little boys 4-8) |
25073 | CP 80 | 80: Is the boys' skool door in the middle of the screen? |
25075 | RET NZ | Return if not |
25076 | LD H,190 | 190=little boy no. 1 |
25078 | JR 25132 | Consider teleporting little boys 1-3 |