| Hunchback | Routines |
| Prev: 6120 | Up: Map | Next: 619A |
|
Used by the routine at 60D2.
|
||||
| 6127 | CALL $8DCC | Show the high score table. | ||
| 612A | LD HL,$1770 | Change the pause time at 670D to be longer. | ||
| 612D | LD ($670D),HL | |||
| 6130 | CALL $0DAF | Clear the screen. | ||
| 6133 | CALL $61A6 | Set up the level data. | ||
| 6136 | CALL $62FD | Start the level. | ||
| 6139 | LD B,$96 | Loop 96 times. | ||
| 613B | PUSH BC | Remember BC. | ||
| 613C | CALL $6715 | Move objects across the screen. | ||
| 613F | CALL $6715 | |||
| 6142 | CALL $6715 | |||
| 6145 | CALL $6BC4 | |||
| 6148 | CALL $6BC4 | |||
| 614B | CALL $6C3C | |||
| 614E | CALL $6C3C | |||
| 6151 | CALL $6C3C | |||
| 6154 | CALL $6CA1 | |||
| 6157 | CALL $6CA1 | |||
| 615A | CALL $7222 | |||
| 615D | LD A,($60B1) | Does this room have a pit? | ||
| 6160 | CP $00 | Jump forward if not. | ||
| 6162 | JR Z,$6167 | |||
| 6164 | CALL $B98C | Otherwise update the rope / pit. | ||
| 6167 | LD A,($60B0) | Does this room have soldiers? | ||
| 616A | CP $00 | Update them if so. | ||
| 616C | CALL NZ,$6B47 | |||
| 616F | CALL $670C | Pause. | ||
| 6172 | CALL $028E | Get a keypress in A. | ||
| 6175 | LD A,E | |||
| 6176 | CP $FF | Was any key pressed? | ||
| 6178 | JP NZ,$619A | Loop back round if not. | ||
| 617B | CALL $6D5B | Update the knight. | ||
| 617E | LD A,($60CD) | Should the knight be updated? | ||
| 6181 | CP $01 | |||
| 6183 | CALL Z,$6ED7 | Do the update if so? | ||
| 6186 | LD A,($60A0) | Is this the last level? | ||
| 6189 | CP $0F | |||
| 618B | CALL Z,$6EA9 | Draw Esmerelda if it is. | ||
| 618E | POP BC | Restore BC. | ||
| 618F | DJNZ $613B | Loop back if there's more on this level to show. | ||
| 6191 | LD HL,$60A0 | Move forward a level. | ||
| 6194 | INC (HL) | |||
| 6195 | CALL $696E | Reset all the flags for a new level. | ||
| 6198 | JR $612A | Loop back to demo a new level. | ||
| Prev: 6120 | Up: Map | Next: 619A |