Routines |
Prev: 53982 | Up: Map | Next: 54397 |
Used by the routine at DemoEntryPoint.
|
|||||
The game always starts with the cursor inside the home box.
This is position 2/ 2:
|
|||||
StartGame | 54261 | LD A,2 | Write 2 to: | ||
54263 | LD (54604),A | ||||
54266 | LD (54605),A | ||||
54269 | LD (54602),A | ||||
54272 | LD (54603),A | ||||
54275 | LD A,9 | Write 9 to *54608. | |||
54277 | LD (54608),A | ||||
54280 | LD HL,54595 | HL=Lives. | |||
54283 | DEC (HL) | Decrease *HL by one. | |||
54284 | JP Z,StartGame_2 | Jump to StartGame_2 until *HL is equal to 0. | |||
54287 | LD HL,54614 | HL=54614. | |||
54290 | LD (HL),0 | Write 0 to *HL. | |||
54292 | CALL 61243 | Call 61243. | |||
54295 | LD HL,(54670) | HL=*54670. | |||
54298 | LD (HL),45 | Write INK: CYAN, PAPER: CYAN to *HL. | |||
54300 | INC HL | Increment HL by one. | |||
54301 | LD (HL),45 | Write INK: CYAN, PAPER: CYAN to *HL. | |||
54303 | INC HL | Increment HL by one. | |||
54304 | LD (54670),HL | Write HL to *54670. | |||
54307 | LD DE,30 | HL+=0030. | |||
54310 | ADD HL,DE | ||||
54311 | LD (HL),45 | Write INK: CYAN, PAPER: CYAN to *HL. | |||
54313 | INC HL | Increment HL by one. | |||
54314 | LD (HL),45 | Write INK: CYAN, PAPER: CYAN to *HL. | |||
54316 | LD HL,54614 | HL=54614. | |||
54319 | SET 0,(HL) | Set bit 0 of *HL. | |||
This entry point is used by the routine at 53982.
|
|||||
StartGame_0 | 54321 | LD A,(54614) | A=*54614. | ||
54324 | AND %11110001 | Keep only bits 0, 4-7. | |||
54326 | LD (54614),A | Write A to *54614. | |||
54329 | LD A,(54604) | Write *54604 to *54600. | |||
54332 | LD (54600),A | ||||
54335 | LD A,(54605) | Write *54605to *54601. | |||
54338 | LD (54601),A | ||||
54341 | LD A,(54592) | Write *54592to *54606. | |||
54344 | LD (54606),A | ||||
54347 | LD A,(54609) | Jump to StartGame_1 if *54609 is not equal to 0. | |||
54350 | CP 0 | ||||
54352 | JR NZ,StartGame_1 | ||||
54354 | LD A,(54608) | Jump to StartGame_1 if *54608 is equal to 9. | |||
54357 | CP 9 | ||||
54359 | JR Z,StartGame_1 | ||||
54361 | CALL Display_PlayerCursor | Call Display_PlayerCursor. | |||
StartGame_1 | 54364 | CALL 55177 | Call 55177. | ||
54367 | JP 53982 | Jump to 53982. | |||
StartGame_2 | 54370 | LD HL,54613 | HL=54613. | ||
54373 | SET 7,(HL) | Set bit 7 of *HL. | |||
54375 | LD B,75 | B=75. | |||
StartGame_3 | 54377 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
54378 | DJNZ StartGame_3 | Decrease counter by one and loop back to StartGame_3 until counter is zero. | |||
54380 | DI | Disable interrupts. | |||
54381 | CALL 59649 | Call 59649. | |||
54384 | LD BC,0 | BC=0000. | |||
StartGame_4 | 54387 | DEC BC | Decrease BC by one. | ||
54388 | LD A,B | Jump to StartGame_4 until BC is equal to 0. | |||
54389 | OR C | ||||
54390 | JR NZ,StartGame_4 | ||||
54392 | POP IY | Restore IY from the stack. | |||
54394 | JP DemoEntryPoint_0 | Jump to DemoEntryPoint_0. |
Prev: 53982 | Up: Map | Next: 54397 |