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 |