Prev: 94B6 Up: Map Next: 957D
94F5: Randomise Doors
Used by the routine at StartGame.
RandomiseDoors 94F5 LD A,($5E12)
94F8 LD L,A
94F9 LD A,($5C78)
94FC AND $0F
94FE OR $10
9500 LD H,A
9501 EXX
9502 LD HL,$EEE0
9505 LD DE,$EEE8
9508 LD BC,$0010
RandomiseDoors_0 950B EXX
950C LD A,(HL)
950D INC HL
950E EXX
950F CP $70
9511 JR NC,RandomiseDoors_1
9513 LD A,(DE)
9514 CP (HL)
9515 JR NZ,RandomiseDoors_1
9517 CP $01
9519 JR Z,RandomiseDoors_3
951B CP $02
951D JR Z,RandomiseDoors_5
RandomiseDoors_1 951F ADD HL,BC
This entry point is used by the routine at PlaceKeyPieces.
RandomiseDoors_2 9520 EX DE,HL
9521 ADD HL,BC
9522 RET C
9523 EX DE,HL
9524 JR RandomiseDoors_0
RandomiseDoors_3 9526 LD A,$22
RandomiseDoors_4 9528 LD (DE),A
9529 LD (HL),A
952A PUSH DE
952B INC DE
952C INC DE
952D INC DE
952E INC DE
952F INC DE
9530 LD A,(DE)
9531 OR $08
9533 LD (DE),A
9534 POP DE
9535 PUSH HL
9536 INC HL
9537 INC HL
9538 INC HL
9539 INC HL
953A INC HL
953B LD A,(HL)
953C OR $08
953E LD (HL),A
953F POP HL
9540 JR RandomiseDoors_1
RandomiseDoors_5 9542 LD A,$20
9544 JR RandomiseDoors_4
This entry point is used by the routine at HandlerDoorClosed.
RandomiseDoors_6 9546 LD A,(IX+$00)
9549 AND $01
954B JR Z,RandomiseDoors_8
This entry point is used by the routines at HandlerRoomItem, HandlerClock and HandlerDoorACGExit.
RandomiseDoors_7 954D LD A,(IX+$05)
9550 AND $F7
9552 LD (IX+$05),A
9555 PUSH IX
9557 CALL HandlerCaveDoorLocked_5
955A LD A,(IX+$05)
955D AND $F7
955F LD (IX+$05),A
9562 POP IX
9564 RET
This entry point is used by the routines at HandlerRoomItem, HandlerClock and HandlerDoorACGExit.
RandomiseDoors_8 9565 LD A,(IX+$05)
9568 OR $08
956A LD (IX+$05),A
956D PUSH IX
956F CALL HandlerCaveDoorLocked_5
9572 LD A,(IX+$05)
9575 OR $08
9577 LD (IX+$05),A
957A POP IX
957C RET
Prev: 94B6 Up: Map Next: 957D