Prev: 37444 Up: Map Next: 37859
37458: Handler: Cave Door Locked
HandlerCaveDoorLocked 37458 CALL HandlerRoomItem_1
37461 JP NC,HandlerRoomItem
37464 LD A,1
37466 JR HandlerDoorLocked_0
37468 LD B,D
37469 LD B,H
37470 LD B,L
37471 LD B,(HL)
This entry point is used by the routines at HandlerDoorClosed and HandlerDoorLocked.
HandlerCaveDoorLocked_0 37472 PUSH IX
37474 POP HL
37475 LD (HL),A
37476 EX AF,AF'
37477 LD A,L
37478 XOR 8
37480 LD L,A
37481 EX AF,AF'
37482 LD (HL),A
37483 RET
This entry point is used by the routines at HandlerRoomItem and SetEntityAttributes.
HandlerCaveDoorLocked_1 37484 ADD A,L
37485 LD L,A
37486 LD A,H
37487 ADC A,0
37489 LD H,A
37490 RET
This entry point is used by the routines at HandlerBatlet and HandlerRoomItem.
HandlerCaveDoorLocked_2 37491 LD B,3
37493 LD HL,24114
HandlerCaveDoorLocked_3 37496 LD A,(HL)
37497 CP E
37498 INC HL
37499 JR NZ,HandlerCaveDoorLocked_4
37501 LD A,(HL)
37502 CP D
37503 RET Z
HandlerCaveDoorLocked_4 37504 INC HL
37505 INC HL
37506 INC HL
37507 DJNZ HandlerCaveDoorLocked_3
37509 RET
This entry point is used by the routines at ApplyMovement and RandomiseDoors.
HandlerCaveDoorLocked_5 37510 PUSH IX
37512 POP HL
37513 LD A,L
37514 XOR 8
37516 LD L,A
37517 PUSH HL
37518 POP IX
37520 RET
This entry point is used by the routine at DrawRoom.
HandlerCaveDoorLocked_6 37521 LD IX,60048
HandlerCaveDoorLocked_7 37525 LD A,(IX+0)
37528 AND A
37529 JR Z,HandlerCaveDoorLocked_8
37531 LD A,(60049)
37534 CP (IX+1)
37537 JR NZ,HandlerCaveDoorLocked_8
37539 CALL DrawEntity
HandlerCaveDoorLocked_8 37542 LD DE,8
37545 ADD IX,DE
37547 PUSH IX
37549 POP HL
37550 LD DE,61024
37553 AND A
37554 SBC HL,DE
37556 JR C,HandlerCaveDoorLocked_7
HandlerCaveDoorLocked_9 37558 LD A,(IX+0)
37561 AND A
37562 JR Z,HandlerCaveDoorLocked_10
37564 LD A,(60049)
37567 CP (IX+1)
37570 JR NZ,HandlerCaveDoorLocked_10
37572 CALL DrawEntity
HandlerCaveDoorLocked_10 37575 LD DE,16
37578 ADD IX,DE
37580 PUSH IX
37582 POP HL
37583 LD DE,61152
37586 AND A
37587 SBC HL,DE
37589 JR C,HandlerCaveDoorLocked_9
37591 RET
HandlerCaveDoorLocked_11 37592 LD A,(24095)
37595 AND 253
37597 LD (24095),A
This entry point is used by the routines at HandlerFoodItem, 38313 and GameComplete.
HandlerCaveDoorLocked_12 37600 LD A,16
This entry point is used by the routine at HandlerFoodItem.
HandlerCaveDoorLocked_13 37602 LD (24081),A
37605 LD A,(IX+3)
37608 AND 7
37610 LD A,2
37612 JR Z,HandlerCaveDoorLocked_14
37614 INC A
HandlerCaveDoorLocked_14 37615 LD (24080),A
37618 JP SetEntityAttributes_0
37621 CALL StoreEntity
37624 LD A,(24096)
37627 AND A
37628 JR Z,HandlerCaveDoorLocked_11
37630 LD A,(24095)
37633 AND 3
37635 JR NZ,HandlerCaveDoorLocked_12
37637 LD A,(60048)
37640 DEC A
37641 CP 48
37643 JR NC,HandlerCaveDoorLocked_12
37645 CALL ApplyMovement_25
37648 JR NC,HandlerCaveDoorLocked_12
37650 LD A,(24095)
37653 OR 3
37655 LD (24095),A
37658 CALL HandlerCaveDoorLocked_17
37661 CALL HandlerCaveDoorLocked_16
37664 CALL HandlerCaveDoorLocked_15
37667 JP DrawInventory
HandlerCaveDoorLocked_15 37670 LD HL,24112
37673 PUSH IX
37675 POP DE
37676 LD (HL),E
37677 INC HL
37678 LD (HL),D
37679 INC HL
37680 LD A,(IX+0)
37683 LD (HL),A
37684 INC HL
37685 LD A,(IX+5)
37688 LD (HL),A
37689 CALL RemoveEntity
37692 LD A,(24090)
37695 LD (IX+5),A
37698 CALL SetEntityAttributes_0
37701 LD (IX+0),0
37705 JP SoundsInventory
This entry point is used by the routine at HandlerBlank.
HandlerCaveDoorLocked_16 37708 LD HL,24119
37711 LD DE,24123
37714 LD BC,8
37717 LDDR
37719 RET
This entry point is used by the routine at HandlerBlank.
HandlerCaveDoorLocked_17 37720 LD HL,24120
37723 LD E,(HL)
37724 INC HL
37725 LD D,(HL)
37726 INC HL
37727 LD A,D
37728 OR E
37729 RET Z
37730 PUSH DE
37731 LD A,(HL)
37732 INC HL
37733 LD (DE),A
37734 INC DE
37735 LD A,(60049)
37738 LD (DE),A
37739 INC DE
37740 LD A,128
37742 LD (DE),A
37743 INC DE
37744 LD A,(60051)
37747 LD (DE),A
37748 INC DE
37749 LD A,(60052)
37752 LD (DE),A
37753 INC DE
37754 LD A,(HL)
37755 LD (DE),A
37756 POP DE
37757 CALL SoundsDrop
37760 PUSH IX
37762 PUSH DE
37763 POP IX
37765 CALL DrawEntity
37768 POP IX
37770 RET
This entry point is used by the routine at DrawRoom.
HandlerCaveDoorLocked_18 37771 LD A,126
37773 OUT (253),A
37775 IN A,(254)
37777 CPL
37778 AND 2
37780 LD (24096),A
37783 RET
HandlerCaveDoorLocked_19 37784 LD A,239
37786 OUT (253),A
37788 IN A,(254)
37790 LD C,A
37791 AND 8
37793 LD E,A
37794 LD A,C
37795 RRCA
37796 RRCA
37797 AND 69
37799 OR E
37800 LD E,A
37801 RRCA
37802 RRCA
37803 AND 16
37805 OR E
37806 AND 31
37808 LD E,A
37809 LD A,247
37811 OUT (253),A
37813 IN A,(254)
37815 RRA
37816 RRA
37817 RRA
37818 AND 2
37820 OR E
37821 RET
This entry point is used by the routines at HandlerWizard, ControlPlayer, HandlerSerf and HandlerKnight.
HandlerCaveDoorLocked_20 37822 LD A,(24064)
37825 AND 6
37827 JR Z,HandlerCaveDoorLocked_21
37829 CP 4
37831 JR Z,HandlerCaveDoorLocked_19
37833 IN A,(31)
37835 CPL
37836 RET
HandlerCaveDoorLocked_21 37837 LD A,251
37839 OUT (253),A
37841 IN A,(254)
37843 LD C,A
37844 RRA
37845 AND 1
37847 LD E,A
37848 LD A,C
37849 RLA
37850 AND 2
37852 OR E
37853 LD E,A
37854 LD A,C
37855 AND 28
37857 OR E
37858 RET
Prev: 37444 Up: Map Next: 37859