![]() |
Routines |
| Prev: D234 | Up: Map | Next: D3F5 |
|
Used by the routine at StartGame.
|
||||
| D2DE | LD DE,$0780 | Write 0780 to *D5AA. | ||
| D2E1 | LD ($D5AA),DE | |||
| D2E5 | LD DE,$0AF0 | Write 0AF0 to *D5AC. | ||
| D2E8 | LD ($D5AC),DE | |||
| D2EC | CALL $EFBB | Call EFBB. | ||
| D2EF | LD A,($D550) | Jump to D313 if *D550 is equal to 09. | ||
| D2F2 | CP $09 | |||
| D2F4 | JR Z,$D313 | |||
| D2F6 | LD A,($D551) | Jump to D313 if *D551 is not equal to 00. | ||
| D2F9 | CP $00 | |||
| D2FB | JR NZ,$D313 | |||
| D2FD | PUSH BC | Stash BC on the stack. | ||
| D2FE | LD A,($D54C) | Write *D54C to *D548. | ||
| D301 | LD ($D548),A | |||
| D304 | LD A,($D54D) | Write *D54D to *D549. | ||
| D307 | LD ($D549),A | |||
| D30A | CALL Display_PlayerCursor | Call Display_PlayerCursor. | ||
| D30D | LD HL,$D555 | HL=D555. | ||
| D310 | RES 0,(HL) | Reset bit 0 of *HL. | ||
| D312 | POP BC | Restore BC from the stack. | ||
| D313 | BIT 4,B | Test bit 4 of B. | ||
| D315 | JP Z,StartGame_0 | Jump to StartGame_0 if A is equal to 00. | ||
| D318 | PUSH BC | Stash BC on the stack. | ||
| D319 | CALL $D8CA | Call D8CA. | ||
| D31C | CALL $E80B | Call E80B. | ||
| D31F | LD HL,$D556 | HL=D556. | ||
| D322 | BIT 6,(HL) | Test bit 6 of *HL. | ||
| D324 | CALL NZ,$EF66 | Call EF66 if A is not equal to 0. | ||
| D327 | LD HL,$D556 | HL=D556. | ||
| D32A | SET 0,(HL) | Set bit 0 of *HL. | ||
| D32C | POP BC | Restore BC from the stack. | ||
| D32D | BIT 3,B | Test bit 3 of B. | ||
| D32F | JR Z,$D350 | Jump to D350 if A is equal to 00. | ||
| D331 | CALL $D609 | Call D609. | ||
| D334 | LD A,($E568) | A=*E568. | ||
| D337 | DEC A | Decrease A by one. | ||
| D338 | LD B,A | B=A. | ||
| D339 | LD A,($E569) | A=*E569. | ||
| D33C | DEC A | Decrease A by one. | ||
| D33D | LD C,A | C=A. | ||
| D33E | LD DE,$D587 | DE=D587. | ||
| D341 | LD A,$04 | A=04. | ||
| D343 | LD IX,$D556 | IX=D556. | ||
| D347 | RES 1,(IX+$00) | Reset bit 1 of *IX+00. | ||
| D34B | CALL $D939 | Call D939. | ||
| D34E | JR $D36B | Jump to D36B. | ||
| D350 | LD IX,$D556 | IX=D556. | ||
| D354 | BIT 2,(IX+$00) | Test bit 2 of *IX+00. | ||
| D358 | JR Z,$D399 | Jump to D399 if A is equal to 04. | ||
| D35A | LD DE,$0510 | Write 0510 to *D5AA. | ||
| D35D | LD ($D5AA),DE | |||
| D361 | LD DE,$0AB0 | Write 0AB0 to *D5AC. | ||
| D364 | LD ($D5AC),DE | |||
| D368 | CALL $D609 | Call D609. | ||
| D36B | LD A,$05 | A=05. | ||
| D36D | LD C,$82 | C=82. | ||
| D36F | PUSH BC | Stash BC on the stack. | ||
| D370 | LD D,$05 | D=05. | ||
| D372 | OUT ($FE),A | Set border to the colour held by A. | ||
| D374 | XOR %00010000 | Flip bit 4. | ||
| D376 | LD E,C | E=C. | ||
| D377 | DEC E | Decrease E by one. | ||
| D378 | JR NZ,$D377 | Jump to D377 if E is not equal to 05. | ||
| D37A | DEC D | Decrease D by one. | ||
| D37B | JR NZ,$D372 | Jump to D372 if D is not equal to 05. | ||
| D37D | DEC C | Decrease C by one. | ||
| D37E | JR NZ,$D370 | Jump to D370 if C is not equal to 05. | ||
| D380 | POP BC | Restore BC from the stack. | ||
| D381 | LD D,$05 | D=05. | ||
| D383 | LD A,$05 | A=05. | ||
| D385 | OUT ($FE),A | Set border to the colour held by A. | ||
| D387 | XOR %00010000 | Flip bit 4. | ||
| D389 | LD E,C | E=C. | ||
| D38A | DEC E | Decrease E by one. | ||
| D38B | JR NZ,$D38A | Jump to D38A if E is not equal to 05. | ||
| D38D | DEC D | Decrease D by one. | ||
| D38E | JR NZ,$D385 | Jump to D385 if D is not equal to 05. | ||
| D390 | INC C | Increment C by one. | ||
| D391 | LD A,$82 | A=82. | ||
| D393 | CP C | Compare A with C. | ||
| D394 | JR NZ,$D381 | Jump to D381 if A is not equal to C. | ||
| D396 | CALL $D8CA | Call D8CA. | ||
| D399 | LD IX,$D556 | IX=D556. | ||
| D39D | BIT 3,(IX+$00) | Test bit 3 of *IX+00. | ||
| D3A1 | JP Z,StartGame_0 | Jump to StartGame_0 if A is equal to C. | ||
| D3A4 | CALL $E7E5 | Call E7E5. | ||
| D3A7 | CALL $E580 | Call E580. | ||
|
This entry point is used by the routine at E901.
|
||||
| D3AA | LD A,($D54A) | Write *D54A to *E568. | ||
| D3AD | LD ($E568),A | |||
| D3B0 | LD A,($D54B) | Write *D54B to *E569. | ||
| D3B3 | LD ($E569),A | |||
| D3B6 | LD A,($D550) | Jump to D3E2 if *D550 is not equal to 09. | ||
| D3B9 | CP $09 | |||
| D3BB | JR NZ,$D3E2 | |||
| D3BD | LD A,($E568) | A=*E568. | ||
| D3C0 | LD ($E56D),A | Write A to *E56D. | ||
| D3C3 | INC A | Increment A by one. | ||
| D3C4 | LD ($E56E),A | Write A to *E56E. | ||
| D3C7 | LD A,($E569) | A=*E569. | ||
| D3CA | LD ($E56F),A | Write A to *E56F. | ||
| D3CD | INC A | Increment A by one. | ||
| D3CE | LD ($E570),A | Write A to *E570. | ||
| D3D1 | CALL $E7E5 | Call E7E5. | ||
| D3D4 | LD A,$2F | A=2F. | ||
| D3D6 | CALL ColouriseHome | Call ColouriseHome. | ||
| D3D9 | CALL $E7B0 | Call E7B0. | ||
| D3DC | HALT | Halt operation (suspend CPU until the next interrupt). | ||
| D3DD | CALL $E5D7 | Call E5D7. | ||
| D3E0 | JR $D3EB | Jump to D3EB. | ||
| D3E2 | CALL Remove_PlayerCursor | Call Remove_PlayerCursor. | ||
| D3E5 | CALL $E7E5 | Call E7E5. | ||
| D3E8 | CALL $E580 | Call E580. | ||
| D3EB | LD HL,$D521 | HL=D521. | ||
| D3EE | LD B,$08 | B=08. | ||
| D3F0 | DI | Disable interrupts. | ||
| D3F1 | CALL $EB8C | Call EB8C. | ||
| D3F4 | EI | Enable interrupts. | ||
| Prev: D234 | Up: Map | Next: D3F5 |