8EEE: Room handler for the Castle combination lock room.
| Room_CastleLock |
8EEE |
LD HL,(Room_CurrentDataPtr) |
|
8EF1 |
LD DE,$0009 |
|
8EF4 |
ADD HL,DE |
|
8EF5 |
LD DE,(Room_CurrentInfoDataPtr) |
|
8EF9 |
LD IX,Combinator_Handler |
|
8EFD |
LD B,$03 |
| Room_CastleLock_0 |
8EFF |
PUSH BC |
|
8F00 |
INC DE |
|
8F01 |
LD A,(IX+$03) |
|
8F04 |
CP $0D |
|
8F06 |
JR NC,Room_CastleLock_1 |
|
8F08 |
LD A,(DE) |
|
8F09 |
AND A |
|
8F0A |
LD A,$00 |
|
8F0C |
JR NZ,Room_CastleLock_4 |
| Room_CastleLock_1 |
8F0E |
LD A,(IX+$03) |
|
8F11 |
INC A |
|
8F12 |
CP $14 |
|
8F14 |
JR C,Room_CastleLock_3 |
|
8F16 |
LD A,(HL) |
|
8F17 |
INC A |
|
8F18 |
CP $7B |
|
8F1A |
JR C,Room_CastleLock_2 |
|
8F1C |
LD A,$61 |
| Room_CastleLock_2 |
8F1E |
LD (HL),A |
|
8F1F |
XOR A |
|
8F20 |
LD (IX+$04),A |
|
8F23 |
JR Room_CastleLock_4 |
| Room_CastleLock_3 |
8F25 |
CP $11 |
|
8F27 |
JR C,Room_CastleLock_4 |
|
8F29 |
INC (IX+$04) |
|
8F2C |
INC (IX+$04) |
| Room_CastleLock_4 |
8F2F |
LD (IX+$03),A |
|
8F32 |
LD A,(HL) |
|
8F33 |
LD (IX+$00),A |
|
8F36 |
CALL char_BlitScrolledVert |
|
8F39 |
LD BC,$000C |
|
8F3C |
ADD IX,BC |
|
8F3E |
INC HL |
|
8F3F |
POP BC |
|
8F40 |
DJNZ Room_CastleLock_0 |
|
8F42 |
RET |