Routines |
Prev: F64D | Up: Map | Next: F6FD |
Used by the routine at F7C7.
|
||||
F6A6 | DI | Turn off interrupts. | ||
F6A7 | LD IX,$F7D1 | Point IX at the data for disappearing walls at F7D1. | ||
F6AB | LD A,($9649) | Get the current room (9649). | ||
F6AE | CP $06 | Is it room 06? | ||
F6B0 | JR Z,$F6D0 | Yes, so jump forward. | ||
F6B2 | CP $0B | It is room 0B? | ||
F6B4 | JR Z,$F6DC | Yes, so jump forward. | ||
F6B6 | CP $0F | Is it room 0F? | ||
F6B8 | JR Z,$F6E8 | Yes, so jump forward. | ||
F6BA | CP $14 | Is it room 14? | ||
F6BC | JR NZ,$F6F4 | No, so jump forward. | ||
Handle wall in room 14.
|
||||
F6BE | LD C,$04 | |||
F6C0 | LD HL,$7718 | |||
F6C3 | BIT 2,(IX+$00) | |||
F6C7 | RET NZ | |||
Hide the wall if enough coal is collected.
|
||||
F6C8 | BIT 0,(IX+$00) | Is there a wall here? | ||
F6CC | CALL NZ,$F71A | Hide if it there is. | ||
F6CF | RET | |||
Handle wall in room 06.
|
||||
F6D0 | LD C,$07 | Set C to the length. | ||
F6D2 | LD HL,$9710 | Set HL to the position. | ||
F6D5 | BIT 5,(IX+$00) | Return if the wall shouldn't be opened yet. | ||
F6D9 | RET NZ | |||
F6DA | JR $F6C8 | Jump forward to open it. | ||
Handle wall in room 0B.
|
||||
F6DC | LD C,$05 | Set C to the length. | ||
F6DE | LD HL,$8F14 | Set HL to the position. | ||
F6E1 | BIT 4,(IX+$00) | Return if the wall shouldn't be opened yet. | ||
F6E5 | RET NZ | |||
F6E6 | JR $F6C8 | Jump forward to open it. | ||
Handle wall in room 0F.
|
||||
F6E8 | LD C,$05 | Set C to the length. | ||
F6EA | LD HL,$471F | Set HL to the position. | ||
F6ED | BIT 3,(IX+$00) | Return if the wall shouldn't be opened yet. | ||
F6F1 | RET NZ | |||
F6F2 | JR $F6C8 | Jump forward to open it. | ||
Handle any other room.
|
||||
F6F4 | LD A,(IX+$00) | Turn off bits 0, 1, 6 and 7 on the wall flags and return. | ||
F6F7 | AND $3C | |||
F6F9 | LD (IX+$00),A | |||
F6FC | RET |
Prev: F64D | Up: Map | Next: F6FD |