|  | Routines | 
| Prev: F3AC | Up: Map | Next: F801 | 
| 
Used by the routine at Controls_CheckLeftUp.
 | ||||
| F43E | LD A,(HL) | A=*HL. | ||
| F43F | LD HL,$E260 | HL=E260. | ||
| F442 | LD B,$00 | B=00. | ||
| F444 | LD C,A | C=A. | ||
| F445 | ADD HL,BC | HL+=BC. | ||
| F446 | LD A,(HL) | A=*HL. | ||
| F447 | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F44A | CP $00 | Jump to E352 if A is equal to 00. | ||
| F44C | JP Z,$E352 | |||
| F44F | LD ($E2C7),A | Write A to *Item_ID. | ||
| F452 | LD A,($D832) | Jump to F45E if *D832 is equal to 03. | ||
| F455 | CP $03 | |||
| F457 | JR Z,$F45E | |||
| F459 | LD A,$01 | Write 01 to *D832. | ||
| F45B | LD ($D832),A | |||
| F45E | LD A,($D834) | Compare *PlayerCursor_TileID with 09. | ||
| F461 | CP $09 | |||
| F463 | LD A,($E5B2) | A=*Data_Control. | ||
| F466 | JP Z,$F801 | Jump to F801 if *PlayerCursor_TileID is equal to 09. | ||
| F469 | CP $11 | Jump to F528 if *PlayerCursor_TileID is not equal to 11. | ||
| F46B | JP NZ,$F528 | |||
| 
This entry point is used by the routine at F801.
 | ||||
| F46E | INC HL | Increment HL by one. | ||
| F46F | LD A,(HL) | Jump to F477 if *HL is not equal to 00. | ||
| F470 | CP $00 | |||
| F472 | JR NZ,$F477 | |||
| F474 | INC B | Increment B by one. | ||
| F475 | JR $F46E | Jump to F46E. | ||
| F477 | CALL $F130 | Call F130. | ||
| F47A | CALL $F255 | Call F255. | ||
| F47D | PUSH BC | Stash BC and HL on the stack. | ||
| F47E | PUSH HL | |||
| F47F | CALL $D99B | Call D99B. | ||
| F482 | CALL $E2FD | Call E2FD. | ||
| F485 | CALL MoveTile_Right | Call MoveTile_Right. | ||
| F488 | CALL $D9BE | Call D9BE. | ||
| F48B | POP HL | Restore HL and BC from the stack. | ||
| F48C | POP BC | |||
| F48D | DEC HL | Decrease HL by one. | ||
| F48E | CALL $E2F1 | Call E2F1. | ||
| F491 | LD A,($D832) | Return if *D832 is equal to 02. | ||
| F494 | CP $02 | |||
| F496 | RET Z | |||
| F497 | BIT 5,B | Test bit 5 of B. | ||
| F499 | JR Z,$F4B7 | Jump to F4B7 if A is zero. | ||
| F49B | LD A,$00 | Write 00 to *D832. | ||
| F49D | LD ($D832),A | |||
| F4A0 | LD A,($E75E) | A=*Tile_Vertical_Position. | ||
| F4A3 | CP $0F | Return if *Tile_Vertical_Position is greater than or equal to 0F. | ||
| F4A5 | RET P | |||
| F4A6 | ADD A,$04 | A+=04. | ||
| F4A8 | LD ($D82D),A | Write A to *DestinationCursor_X_Position. | ||
| F4AB | INC HL | Increment HL by one. | ||
| F4AC | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F4AF | LD A,(HL) | Write *HL to *Item_ID. | ||
| F4B0 | LD ($E2C7),A | |||
| F4B3 | LD B,$00 | B=00. | ||
| F4B5 | JR $F46E | Jump to F46E. | ||
| F4B7 | LD A,($D832) | Jump to F4C5 if *D832 is not equal to 00. | ||
| F4BA | CP $00 | |||
| F4BC | JR NZ,$F4C5 | |||
| F4BE | PUSH BC | Stash BC and HL on the stack. | ||
| F4BF | PUSH HL | |||
| F4C0 | CALL $F5FB | Call F5FB. | ||
| F4C3 | POP HL | Restore HL and BC from the stack. | ||
| F4C4 | POP BC | |||
| F4C5 | LD A,($D832) | A=*D832. | ||
| F4C8 | CP $02 | Return if A is equal to 02. | ||
| F4CA | RET Z | |||
| F4CB | CP $03 | Jump to F4D4 if A is equal to 03. | ||
| F4CD | JR Z,$F4D4 | |||
| F4CF | LD A,$01 | Write 01 to *D832. | ||
| F4D1 | LD ($D832),A | |||
| F4D4 | BIT 6,B | Test bit 6 of B. | ||
| F4D6 | JR NZ,$F4E0 | Jump to F4E0 if A is not zero. | ||
| F4D8 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F4DB | CP $03 | |||
| F4DD | RET Z | |||
| F4DE | JR $F4A0 | Jump to F4A0. | ||
| F4E0 | LD A,($E761) | C=*Tile_SpacesToMove. | ||
| F4E3 | LD C,A | |||
| F4E4 | LD A,($D82D) | A=*DestinationCursor_X_Position. | ||
| F4E7 | ADD A,C | A+=C. | ||
| F4E8 | LD ($D82D),A | Write A to *DestinationCursor_X_Position. | ||
| F4EB | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F4EE | CALL Sound_TileMoving | Call Sound_TileMoving. | ||
| F4F1 | LD A,($D832) | Jump to F4FD if *D832 is equal to 03. | ||
| F4F4 | CP $03 | |||
| F4F6 | JR Z,$F4FD | |||
| F4F8 | LD A,$02 | Write 02 to *D832. | ||
| F4FA | LD ($D832),A | |||
| F4FD | CALL $F52D | Call F52D. | ||
| F500 | PUSH BC | Stash BC and HL on the stack. | ||
| F501 | PUSH HL | |||
| F502 | CALL $F510 | Call F510. | ||
| F505 | POP HL | Restore HL and BC from the stack. | ||
| F506 | POP BC | |||
| F507 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F50A | CP $03 | |||
| F50C | RET Z | |||
| F50D | JP $F586 | Jump to F586. | ||
| F510 | LD A,($D82D) | A=*DestinationCursor_X_Position. | ||
| F513 | ADD A,$03 | A+=03. | ||
| F515 | RLCA | RLCA. | ||
| F516 | RLCA | |||
| F517 | RLCA | |||
| F518 | DEC A | Decrease A by one. | ||
| F519 | LD H,A | H=A. | ||
| F51A | LD A,($D82C) | A=*DestinationCursor_Y_Position. | ||
| F51D | INC A | Increment A by one. | ||
| F51E | RLCA | RLCA. | ||
| F51F | RLCA | |||
| F520 | RLCA | |||
| F521 | LD IX,$E17A | IX=E17A. | ||
| F525 | JP $E0E2 | Jump to E0E2. | ||
| F528 | CP $12 | Jump to F611 if A is not equal to 12. | ||
| F52A | JP NZ,$F611 | |||
| F52D | DEC HL | Decrease HL by one. | ||
| F52E | LD A,(HL) | Jump to F536 if *HL is not equal to 00. | ||
| F52F | CP $00 | |||
| F531 | JR NZ,$F536 | |||
| F533 | INC B | Increment B by one. | ||
| F534 | JR $F52D | Jump to F52D. | ||
| F536 | CALL $F130 | Call F130. | ||
| F539 | CALL $F255 | Call F255. | ||
| F53C | PUSH BC | Stash BC and HL on the stack. | ||
| F53D | PUSH HL | |||
| F53E | CALL $D99B | Call D99B. | ||
| F541 | CALL $E2FD | Call E2FD. | ||
| F544 | CALL MoveTile_Left | Call MoveTile_Left. | ||
| F547 | CALL $D9BE | Call D9BE. | ||
| F54A | POP HL | Restore HL and BC from the stack. | ||
| F54B | POP BC | |||
| F54C | BIT 7,B | Test bit 7 of B. | ||
| F54E | JR Z,$F578 | Jump to F578 if B is zero. | ||
| F550 | LD A,($E761) | A=*Tile_SpacesToMove. | ||
| F553 | PUSH AF | Stash AF on the stack. | ||
| F554 | CALL $E2DA | Call E2DA. | ||
| F557 | CALL $D99B | Call D99B. | ||
| F55A | PUSH BC | Stash BC on the stack. | ||
| F55B | LD A,$02 | Write 02 to *Tile_Vertical_Position. | ||
| F55D | LD ($E75E),A | |||
| F560 | CALL MoveTile_Left | Call MoveTile_Left. | ||
| F563 | POP BC | Restore BC from the stack. | ||
| F564 | DJNZ $F55A | Decrease counter by one and loop back to F55A until counter is zero. | ||
| F566 | POP AF | Restore AF from the stack. | ||
| F567 | ADD A,$03 | A+=03. | ||
| F569 | LD ($E761),A | Write A to *Tile_SpacesToMove. | ||
| F56C | LD A,($D832) | A=*D832. | ||
| F56F | CP $01 | Return if A is equal to 01. | ||
| F571 | RET Z | |||
| F572 | CP $03 | Return if A is equal to 03. | ||
| F574 | RET Z | |||
| F575 | JP $F510 | Jump to F510. | ||
| F578 | INC HL | Increment HL by one. | ||
| F579 | CALL $E2F1 | Call E2F1. | ||
| F57C | LD A,($D832) | Return if *D832 is equal to 02. | ||
| F57F | CP $02 | |||
| F581 | RET Z | |||
| F582 | BIT 5,B | Test bit 5 of B. | ||
| F584 | JR Z,$F5A2 | Jump to F5A2 if A is zero. | ||
| F586 | LD A,$00 | Write 00 to *D832. | ||
| F588 | LD ($D832),A | |||
| F58B | LD A,($E75E) | A=*Tile_Vertical_Position. | ||
| F58E | CP $06 | Return if A is lower than 06 (unsigned comparison). | ||
| F590 | RET M | |||
| F591 | SUB $04 | A-=04. | ||
| F593 | LD ($D82D),A | Write A to *DestinationCursor_X_Position. | ||
| F596 | DEC HL | Decrease HL by one. | ||
| F597 | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F59A | LD A,(HL) | Write *HL to *Item_ID. | ||
| F59B | LD ($E2C7),A | |||
| F59E | LD B,$00 | B=00. | ||
| F5A0 | JR $F52D | Jump to F52D. | ||
| F5A2 | LD A,($D832) | Jump to F5B0 if *D832 is not equal to 00. | ||
| F5A5 | CP $00 | |||
| F5A7 | JR NZ,$F5B0 | |||
| F5A9 | PUSH BC | Stash BC and HL on the stack. | ||
| F5AA | PUSH HL | |||
| F5AB | CALL $F510 | Call F510. | ||
| F5AE | POP HL | Restore HL and BC from the stack. | ||
| F5AF | POP BC | |||
| F5B0 | LD A,($D832) | A=*D832. | ||
| F5B3 | CP $02 | Return if A is equal to 02. | ||
| F5B5 | RET Z | |||
| F5B6 | CP $03 | Jump to F5BF if A is equal to 03. | ||
| F5B8 | JR Z,$F5BF | |||
| F5BA | LD A,$01 | Write 01 to *D832. | ||
| F5BC | LD ($D832),A | |||
| F5BF | BIT 6,B | Test bit 6 of B. | ||
| F5C1 | JR NZ,$F5CB | Jump to F5CB if A is not zero. | ||
| F5C3 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F5C6 | CP $03 | |||
| F5C8 | RET Z | |||
| F5C9 | JR $F58B | Jump to F58B. | ||
| F5CB | LD A,($E761) | C=*Tile_SpacesToMove. | ||
| F5CE | LD C,A | |||
| F5CF | LD A,($D82D) | A=*DestinationCursor_X_Position. | ||
| F5D2 | SUB C | A-=C. | ||
| F5D3 | LD ($D82D),A | Write A to *DestinationCursor_X_Position. | ||
| F5D6 | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F5D9 | CALL Sound_TileMoving | Call Sound_TileMoving. | ||
| F5DC | LD A,($D832) | Jump to F5E8 if *D832 is equal to 03. | ||
| F5DF | CP $03 | |||
| F5E1 | JR Z,$F5E8 | |||
| F5E3 | LD A,$02 | Write 02 to *D832. | ||
| F5E5 | LD ($D832),A | |||
| F5E8 | CALL $F46E | Call F46E. | ||
| F5EB | PUSH BC | Stash BC and HL on the stack. | ||
| F5EC | PUSH HL | |||
| F5ED | CALL $F5FB | Call F5FB. | ||
| F5F0 | POP HL | Restore HL and BC from the stack. | ||
| F5F1 | POP BC | |||
| F5F2 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F5F5 | CP $03 | |||
| F5F7 | RET Z | |||
| F5F8 | JP $F49B | Jump to F49B. | ||
| F5FB | LD A,($D82D) | A=*DestinationCursor_X_Position. | ||
| F5FE | DEC A | Decrease A by one. | ||
| F5FF | RLCA | RLCA. | ||
| F600 | RLCA | |||
| F601 | RLCA | |||
| F602 | LD H,A | H=A. | ||
| F603 | LD A,($D82C) | A=*DestinationCursor_Y_Position. | ||
| F606 | INC A | Increment A by one. | ||
| F607 | RLCA | RLCA. | ||
| F608 | RLCA | |||
| F609 | RLCA | |||
| F60A | LD IX,$E16E | IX=E16E. | ||
| F60E | JP $E0E2 | Jump to E0E2. | ||
| F611 | LD DE,$0007 | DE=0007. | ||
| F614 | CP $14 | Jump to F70B if A is not equal to 14. | ||
| F616 | JP NZ,$F70B | |||
| F619 | ADD HL,DE | HL+=DE. | ||
| F61A | LD A,(HL) | Jump to F622 if *HL is not equal to 00. | ||
| F61B | CP $00 | |||
| F61D | JR NZ,$F622 | |||
| F61F | INC B | Increment B by one. | ||
| F620 | JR $F619 | Jump to F619. | ||
| F622 | CALL $F130 | Call F130. | ||
| F625 | CALL $F255 | Call F255. | ||
| F628 | PUSH BC | Stash BC and HL on the stack. | ||
| F629 | PUSH HL | |||
| F62A | CALL $D99B | Call D99B. | ||
| F62D | CALL $E2FD | Call E2FD. | ||
| F630 | CALL MoveTile_Down | Call MoveTile_Down. | ||
| F633 | CALL $D9BE | Call D9BE. | ||
| F636 | POP HL | Restore HL and BC from the stack. | ||
| F637 | POP BC | |||
| F638 | BIT 7,B | Test bit 7 of B. | ||
| F63A | JR Z,$F664 | Jump to F664 if B is zero. | ||
| F63C | LD A,($E761) | A=*Tile_SpacesToMove. | ||
| F63F | PUSH AF | Stash AF on the stack. | ||
| F640 | CALL $E2DA | Call E2DA. | ||
| F643 | CALL $D99B | Call D99B. | ||
| F646 | PUSH BC | Stash BC on the stack. | ||
| F647 | LD A,$12 | Write 12 to *Tile_Horizontal_Position. | ||
| F649 | LD ($E75D),A | |||
| F64C | CALL MoveTile_Down | Call MoveTile_Down. | ||
| F64F | POP BC | Restore BC from the stack. | ||
| F650 | DJNZ $F646 | Decrease counter by one and loop back to F646 until counter is zero. | ||
| F652 | POP AF | Restore AF from the stack. | ||
| F653 | ADD A,$03 | A+=03. | ||
| F655 | LD ($E761),A | Write A to *Tile_SpacesToMove. | ||
| F658 | LD A,($D832) | A=*D832. | ||
| F65B | CP $01 | Return if A is equal to 01. | ||
| F65D | RET Z | |||
| F65E | CP $03 | Return if A is equal to 03. | ||
| F660 | RET Z | |||
| F661 | JP $F7EB | Jump to F7EB. | ||
| F664 | LD DE,$0007 | HL-=0007. | ||
| F667 | AND A | |||
| F668 | SBC HL,DE | |||
| F66A | CALL $E2F1 | Call E2F1. | ||
| F66D | LD A,($D832) | Return if *D832 is equal to 02. | ||
| F670 | CP $02 | |||
| F672 | RET Z | |||
| F673 | BIT 5,B | Test bit 5 of B. | ||
| F675 | JR Z,$F696 | Jump to F696 if A is zero. | ||
| F677 | LD A,$00 | Write 00 to *D832. | ||
| F679 | LD ($D832),A | |||
| F67C | LD A,($E75D) | A=*Tile_Horizontal_Position. | ||
| F67F | CP $0F | Compare A with 0F. | ||
| F681 | RET P | Return P. | ||
| F682 | ADD A,$04 | A+=04. | ||
| F684 | LD ($D82C),A | Write A to *DestinationCursor_Y_Position. | ||
| F687 | LD DE,$0007 | HL+=0007. | ||
| F68A | ADD HL,DE | |||
| F68B | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F68E | LD A,(HL) | Write *HL to *Item_ID. | ||
| F68F | LD ($E2C7),A | |||
| F692 | LD B,$00 | B=00. | ||
| F694 | JR $F619 | Jump to F619. | ||
| F696 | LD A,($D832) | Jump to F6A4 if *D832 is not equal to 00. | ||
| F699 | CP $00 | |||
| F69B | JR NZ,$F6A4 | |||
| F69D | PUSH BC | Stash BC and HL on the stack. | ||
| F69E | PUSH HL | |||
| F69F | CALL $F7EB | Call F7EB. | ||
| F6A2 | POP HL | Restore HL and BC from the stack. | ||
| F6A3 | POP BC | |||
| F6A4 | LD A,($D832) | A=*D832. | ||
| F6A7 | CP $02 | Return if A is equal to 02. | ||
| F6A9 | RET Z | |||
| F6AA | CP $03 | Jump to F6B3 if A is equal to 03. | ||
| F6AC | JR Z,$F6B3 | |||
| F6AE | LD A,$01 | Write 01 to *D832. | ||
| F6B0 | LD ($D832),A | |||
| F6B3 | BIT 6,B | Test bit 6 of B. | ||
| F6B5 | JR NZ,$F6BF | Jump to F6BF if A is not zero. | ||
| F6B7 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F6BA | CP $03 | |||
| F6BC | RET Z | |||
| F6BD | JR $F67C | Jump to F67C. | ||
| F6BF | LD A,($E761) | C=*Tile_SpacesToMove. | ||
| F6C2 | LD C,A | |||
| F6C3 | LD A,($D82C) | A=*DestinationCursor_Y_Position. | ||
| F6C6 | ADD A,C | A+=C. | ||
| F6C7 | LD ($D82C),A | Write A to *DestinationCursor_Y_Position. | ||
| F6CA | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F6CD | CALL Sound_TileMoving | Call Sound_TileMoving. | ||
| F6D0 | LD A,($D832) | Jump to F6DC if *D832 is equal to 03. | ||
| F6D3 | CP $03 | |||
| F6D5 | JR Z,$F6DC | |||
| F6D7 | LD A,$02 | Write 02 to *D832. | ||
| F6D9 | LD ($D832),A | |||
| F6DC | LD DE,$0007 | DE=0007. | ||
| F6DF | AND A | Set flags. | ||
| F6E0 | CALL $F711 | Call F711. | ||
| F6E3 | PUSH BC | Stash BC and HL on the stack. | ||
| F6E4 | PUSH HL | |||
| F6E5 | CALL $F6F3 | Call F6F3. | ||
| F6E8 | POP HL | Restore HL and BC from the stack. | ||
| F6E9 | POP BC | |||
| F6EA | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F6ED | CP $03 | |||
| F6EF | RET Z | |||
| F6F0 | JP $F76E | Jump to F76E. | ||
| F6F3 | LD A,($D82D) | A=*DestinationCursor_X_Position. | ||
| F6F6 | INC A | Increment A by one. | ||
| F6F7 | RLCA | RLCA. | ||
| F6F8 | RLCA | |||
| F6F9 | RLCA | |||
| F6FA | LD H,A | H=A. | ||
| F6FB | LD A,($D82C) | A=*DestinationCursor_Y_Position. | ||
| F6FE | ADD A,$03 | A+=03. | ||
| F700 | RLCA | RLCA. | ||
| F701 | RLCA | |||
| F702 | RLCA | |||
| F703 | DEC A | Decrease A by one. | ||
| F704 | LD IX,$E192 | IX=E192. | ||
| F708 | JP $E0E2 | Jump to E0E2. | ||
| F70B | CP $18 | Compare A with 18. | ||
| F70D | JP NZ,Handler_Bombs_5 | Jump to Handler_Bombs_5 if A is not zero. | ||
| F710 | AND A | Set flags. | ||
| F711 | SBC HL,DE | HL-=DE (with carry). | ||
| F713 | LD A,(HL) | A=*HL. | ||
| F714 | CP $00 | Compare A with 00. | ||
| F716 | JR NZ,$F71B | Jump to F71B if A is not zero. | ||
| F718 | INC B | Increment B by one. | ||
| F719 | JR $F711 | Jump to F711. | ||
| F71B | CALL $F130 | Call F130. | ||
| F71E | CALL $F255 | Call F255. | ||
| F721 | PUSH BC | Stash BC and HL on the stack. | ||
| F722 | PUSH HL | |||
| F723 | CALL $D99B | Call D99B. | ||
| F726 | CALL $E2FD | Call E2FD. | ||
| F729 | CALL MoveTile_Up | Call MoveTile_Up. | ||
| F72C | CALL $D9BE | Call D9BE. | ||
| F72F | POP HL | Restore HL and BC from the stack. | ||
| F730 | POP BC | |||
| F731 | BIT 7,B | Test bit 7 of B. | ||
| F733 | JR Z,$F75D | Jump to F75D if B is zero. | ||
| F735 | LD A,($E761) | A=*Tile_SpacesToMove. | ||
| F738 | PUSH AF | Stash AF on the stack. | ||
| F739 | CALL $E2DA | Call E2DA. | ||
| F73C | CALL $D99B | Call D99B. | ||
| F73F | PUSH BC | Stash BC on the stack. | ||
| F740 | LD A,$02 | Write 02 to *Tile_Horizontal_Position. | ||
| F742 | LD ($E75D),A | |||
| F745 | CALL MoveTile_Up | Call MoveTile_Up. | ||
| F748 | POP BC | Restore BC from the stack. | ||
| F749 | DJNZ $F73F | Decrease counter by one and loop back to F73F until counter is zero. | ||
| F74B | POP AF | Restore AF from the stack. | ||
| F74C | ADD A,$03 | A+=03. | ||
| F74E | LD ($E761),A | Write A to *Tile_SpacesToMove. | ||
| F751 | LD A,($D832) | Return if *D832 is either 01 or 03. | ||
| F754 | CP $01 | |||
| F756 | RET Z | |||
| F757 | CP $03 | |||
| F759 | RET Z | |||
| F75A | JP $F6F3 | Jump to F6F3. | ||
| F75D | LD DE,$0007 | HL+=0007. | ||
| F760 | ADD HL,DE | |||
| F761 | CALL $E2F1 | Call E2F1. | ||
| F764 | LD A,($D832) | Return if *D832 is equal to 02. | ||
| F767 | CP $02 | |||
| F769 | RET Z | |||
| F76A | BIT 5,B | Test bit 5 of B. | ||
| F76C | JR Z,$F78F | Jump to F78F if A is zero. | ||
| F76E | LD A,$00 | Write 00 to *D832. | ||
| F770 | LD ($D832),A | |||
| F773 | LD A,($E75D) | A=*Tile_Horizontal_Position. | ||
| F776 | CP $05 | Return if A is lower than 05 (unsigned comparison). | ||
| F778 | RET M | |||
| F779 | SUB $04 | A-=04. | ||
| F77B | LD ($D82C),A | Write A to *DestinationCursor_Y_Position. | ||
| F77E | LD DE,$0007 | HL-=0007 (with carry). | ||
| F781 | AND A | |||
| F782 | SBC HL,DE | |||
| F784 | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F787 | LD A,(HL) | Write *HL to *Item_ID. | ||
| F788 | LD ($E2C7),A | |||
| F78B | LD B,$00 | B=00. | ||
| F78D | JR $F711 | Jump to F711. | ||
| F78F | LD A,($D832) | Jump to F79D if *D832 is not equal to 00. | ||
| F792 | CP $00 | |||
| F794 | JR NZ,$F79D | |||
| F796 | PUSH BC | Stash BC and HL on the stack. | ||
| F797 | PUSH HL | |||
| F798 | CALL $F6F3 | Call F6F3. | ||
| F79B | POP HL | Restore HL and BC from the stack. | ||
| F79C | POP BC | |||
| F79D | LD A,($D832) | Return if *D832 is equal to 02. | ||
| F7A0 | CP $02 | |||
| F7A2 | RET Z | |||
| F7A3 | CP $03 | Jump to F7AC if *D832 is equal to 03. | ||
| F7A5 | JR Z,$F7AC | |||
| F7A7 | LD A,$01 | Write 01 to *D832. | ||
| F7A9 | LD ($D832),A | |||
| F7AC | BIT 6,B | Test bit 6 of B. | ||
| F7AE | JR NZ,$F7B8 | Jump to F7B8 if A is not zero. | ||
| F7B0 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F7B3 | CP $03 | |||
| F7B5 | RET Z | |||
| F7B6 | JR $F773 | Jump to F773. | ||
| F7B8 | LD A,($E761) | C=*Tile_SpacesToMove. | ||
| F7BB | LD C,A | |||
| F7BC | LD A,($D82C) | A=*DestinationCursor_Y_Position. | ||
| F7BF | SUB C | A-=C. | ||
| F7C0 | LD ($D82C),A | Write A to *DestinationCursor_Y_Position. | ||
| F7C3 | LD ($E5B0),HL | Write HL to *E5B0. | ||
| F7C6 | CALL Sound_TileMoving | Call Sound_TileMoving. | ||
| F7C9 | LD A,($D832) | Jump to F7D5 if *D832 is equal to 03. | ||
| F7CC | CP $03 | |||
| F7CE | JR Z,$F7D5 | |||
| F7D0 | LD A,$02 | Write 02 to *D832. | ||
| F7D2 | LD ($D832),A | |||
| F7D5 | LD DE,$0007 | DE=0007. | ||
| F7D8 | CALL $F619 | Call F619. | ||
| F7DB | PUSH BC | Stash BC and HL on the stack. | ||
| F7DC | PUSH HL | |||
| F7DD | CALL $F7EB | Call F7EB. | ||
| F7E0 | POP HL | Restore HL and BC from the stack. | ||
| F7E1 | POP BC | |||
| F7E2 | LD A,($D832) | Return if *D832 is equal to 03. | ||
| F7E5 | CP $03 | |||
| F7E7 | RET Z | |||
| F7E8 | JP $F677 | Jump to F677. | ||
| F7EB | LD A,($D82D) | A=*DestinationCursor_X_Position. | ||
| F7EE | INC A | Increment A by one. | ||
| F7EF | RLCA | RLCA. | ||
| F7F0 | RLCA | |||
| F7F1 | RLCA | |||
| F7F2 | LD H,A | H=A. | ||
| F7F3 | LD A,($D82C) | A=*DestinationCursor_Y_Position. | ||
| F7F6 | DEC A | Decrease A by one. | ||
| F7F7 | RLCA | RLCA. | ||
| F7F8 | RLCA | |||
| F7F9 | RLCA | |||
| F7FA | LD IX,$E186 | IX=E186. | ||
| F7FE | JP $E0E2 | Jump to E0E2. | ||
| Prev: F3AC | Up: Map | Next: F801 |