Prev: 96EC Up: Map Next: 9BA2
98D2: Set Key Positions
Used by the routine at StartGame.
SetKeyPositions 98D2 LD A,($5C78)
98D5 LD HL,$990C
98D8 CALL SetKeyPositions_0
98DB LD ($603E),A
98DE LD A,($5C78)
98E1 LD C,A
98E2 LD A,($5E12)
98E5 ADD A,C
98E6 LD HL,$9914
98E9 CALL SetKeyPositions_0
98EC LD ($6046),A
98EF LD ($640E),A
98F2 LD A,($5C79)
98F5 LD C,A
98F6 LD A,($5E13)
98F9 ADD A,C
98FA LD HL,$991C
98FD CALL SetKeyPositions_0
9900 LD ($604E),A
9903 RET
SetKeyPositions_0 9904 AND $07
9906 LD C,A
9907 LD B,$00
9909 ADD HL,BC
990A LD A,(HL)
990B RET
990C DEC B
990D LD B,$07
990F LD L,L
9910 DEC H
9911 INC H
9912 INC HL
9913 LD ($1317),HL
9916 ADD HL,BC
9917 DEC C
9918 ADC A,C
9919 ADD A,A
991A ADD A,B
991B ADD A,L
991C LD D,E
991D ADC A,A
991E LD B,C
991F SUB H
9920 INC SP
9921 SUB C
9922 ADD HL,SP
9923 LD C,H
This entry point is used by the routine at DrawRoom.
SetKeyPositions_1 9924 LD A,($5E12)
9927 LD C,A
9928 LD A,($5E13)
992B AND $01
992D OR C
992E RET NZ
992F LD HL,($5E55)
9932 LD DE,$0008
9935 ADD HL,DE
9936 LD ($5E55),HL
9939 PUSH HL
993A POP IX
993C LD DE,$EDD8
993F AND A
9940 SBC HL,DE
9942 JR NC,SetKeyPositions_2
9944 LD A,($EA91)
9947 CP (IX+$01)
994A RET Z
994B LD A,(IX+$00)
994E AND A
994F RET NZ
9950 LD A,($5C78)
9953 AND $07
9955 ADD A,$50
9957 LD (IX+$00),A
995A RET
SetKeyPositions_2 995B LD HL,$EB58
995E LD ($5E55),HL
9961 RET
This entry point is used by the routine at HandlerRoomItem.
SetKeyPositions_3 9962 LD HL,$9970
SetKeyPositions_4 9965 PUSH BC
9966 LD A,B
9967 RLCA
9968 RLCA
9969 RLCA
996A AND $07
996C LD C,A
996D JP ProcessAction_2
9970 RET
9971 SBC A,C
9972 PUSH HL
9973 SBC A,C
9974 LD A,(BC)
9975 SBC A,D
9976 LD D,B
9977 SBC A,D
9978 RES 3,D
997A RST $28
997B SBC A,D
997C INC D
997D SBC A,E
997E LD E,L
997F SBC A,E
This entry point is used by the routine at HandlerRoomItem.
SetKeyPositions_5 9980 LD HL,$9985
9983 JR SetKeyPositions_4
9985 DEC H
9986 SBC A,L
9987 LD B,A
9988 SBC A,L
9989 LD L,A
998A SBC A,L
998B AND B
998C SBC A,L
998D ADC A,$9D
998F RET M
9990 SBC A,L
9991 LD HL,$559E
9994 SBC A,(HL)
SetKeyPositions_6 9995 LD HL,$A600
9998 DEC C
9999 LD B,$00
999B SLA C
999D RL B
999F ADD HL,BC
99A0 LD A,(HL)
99A1 INC HL
99A2 LD H,(HL)
99A3 LD L,A
99A4 EX DE,HL
99A5 CALL ScreenAddress
99A8 LD A,(DE)
99A9 LD B,A
99AA INC DE
99AB LD A,(DE)
99AC LD C,A
99AD INC DE
99AE RET
This entry point is used by the routines at 9D25, 9D47, 9D6F, 9DA0, 9DCE, 9DF8, 9E21 and 9E55.
SetKeyPositions_7 99AF LD HL,$A64E
99B2 DEC C
99B3 LD B,$00
99B5 SLA C
99B7 RL B
99B9 ADD HL,BC
99BA LD A,(HL)
99BB INC HL
99BC LD H,(HL)
99BD LD L,A
99BE EX DE,HL
99BF CALL AttributeAddress
99C2 LD A,(DE)
99C3 LD B,A
99C4 INC DE
99C5 LD A,(DE)
99C6 LD C,A
99C7 INC DE
99C8 RET
99C9 POP BC
99CA CALL GetBlendInstruction
99CD LD ($99D7),A
99D0 CALL SetKeyPositions_6
SetKeyPositions_8 99D3 PUSH BC
99D4 PUSH HL
SetKeyPositions_9 99D5 LD A,(DE)
99D6 INC DE
99D7 NOP
99D8 LD (HL),A
99D9 INC L
99DA DJNZ SetKeyPositions_9
99DC POP HL
99DD CALL $9F03
99E0 POP BC
99E1 DEC C
99E2 JR NZ,SetKeyPositions_8
99E4 RET
99E5 POP BC
99E6 CALL GetBlendInstruction
99E9 LD ($99F9),A
99EC CALL SetKeyPositions_6
SetKeyPositions_10 99EF PUSH BC
99F0 PUSH HL
99F1 CALL SetKeyPositions_20
SetKeyPositions_11 99F4 DEC DE
99F5 LD A,(DE)
99F6 CALL SetKeyPositions_18
99F9 NOP
99FA LD (HL),A
99FB INC L
99FC DJNZ SetKeyPositions_11
99FE POP HL
99FF CALL $9F03
9A02 POP BC
9A03 CALL SetKeyPositions_20
9A06 DEC C
9A07 JR NZ,SetKeyPositions_10
9A09 RET
9A0A POP BC
9A0B CALL GetBlendInstruction
9A0E LD ($9A36),A
9A11 CALL SetKeyPositions_6
9A14 LD A,B
9A15 EXX
9A16 LD L,$01
9A18 LD B,A
9A19 EXX
9A1A CALL SetKeyPositions_20
9A1D DEC DE
SetKeyPositions_12 9A1E PUSH BC
9A1F PUSH DE
9A20 PUSH HL
SetKeyPositions_13 9A21 LD A,(DE)
9A22 EXX
9A23 AND L
9A24 JR Z,SetKeyPositions_14
9A26 SCF
SetKeyPositions_14 9A27 RL H
9A29 EXX
9A2A CALL SetKeyPositions_20
9A2D DEC C
9A2E LD A,C
9A2F AND $07
9A31 JR NZ,SetKeyPositions_13
9A33 EXX
9A34 LD A,H
9A35 EXX
9A36 NOP
9A37 LD (HL),A
9A38 INC L
9A39 LD A,C
9A3A AND A
9A3B JR NZ,SetKeyPositions_13
9A3D POP HL
9A3E CALL $9F03
9A41 POP DE
9A42 POP BC
9A43 EXX
9A44 RLC L
9A46 EXX
9A47 JR NC,SetKeyPositions_12
9A49 EXX
9A4A DEC B
9A4B EXX
9A4C RET Z
9A4D DEC DE
9A4E JR SetKeyPositions_12
9A50 POP BC
9A51 CALL GetBlendInstruction
9A54 LD ($9A78),A
9A57 CALL SetKeyPositions_6
9A5A LD A,B
9A5B EXX
9A5C LD B,A
9A5D LD L,$80
9A5F EXX
SetKeyPositions_15 9A60 PUSH BC
9A61 PUSH DE
9A62 PUSH HL
SetKeyPositions_16 9A63 LD A,(DE)
9A64 EXX
9A65 AND L
9A66 JR Z,SetKeyPositions_17
9A68 SCF
SetKeyPositions_17 9A69 RL H
9A6B EXX
9A6C CALL SetKeyPositions_20
9A6F DEC C
9A70 LD A,C
9A71 AND $07
9A73 JR NZ,SetKeyPositions_16
9A75 EXX
9A76 LD A,H
9A77 EXX
9A78 NOP
9A79 LD (HL),A
9A7A INC L
9A7B LD A,C
9A7C AND A
9A7D JR NZ,SetKeyPositions_16
9A7F POP HL
9A80 CALL $9F03
9A83 POP DE
9A84 POP BC
9A85 EXX
9A86 RRC L
9A88 EXX
9A89 JR NC,SetKeyPositions_15
9A8B EXX
9A8C DEC B
9A8D EXX
9A8E RET Z
9A8F INC DE
9A90 JR SetKeyPositions_15
SetKeyPositions_18 9A92 PUSH BC
9A93 LD B,$08
SetKeyPositions_19 9A95 RLA
9A96 RR C
9A98 DJNZ SetKeyPositions_19
9A9A LD A,C
9A9B POP BC
9A9C RET
This entry point is used by the routines at 9D47, 9D6F, 9DA0, 9DF8 and 9E21.
SetKeyPositions_20 9A9D LD A,B
9A9E ADD A,E
9A9F LD E,A
9AA0 LD A,D
9AA1 ADC A,$00
9AA3 LD D,A
9AA4 RET
This entry point is used by the routines at 9DCE, 9E21 and 9E55.
SetKeyPositions_21 9AA5 LD A,E
9AA6 SUB B
9AA7 LD E,A
9AA8 LD A,D
9AA9 SBC A,$00
9AAB LD D,A
9AAC RET
This entry point is used by the routine at DrawChicken.
SetKeyPositions_22 9AAD LD HL,$0000
9AB0 LD B,$08
SetKeyPositions_23 9AB2 ADD HL,HL
9AB3 RLCA
9AB4 JR NC,SetKeyPositions_24
9AB6 ADD HL,DE
SetKeyPositions_24 9AB7 DJNZ SetKeyPositions_23
9AB9 RET
This entry point is used by the routines at 9DCE, 9DF8, 9E21 and 9E55.
SetKeyPositions_25 9ABA PUSH HL
9ABB PUSH DE
9ABC LD A,B
9ABD LD E,C
9ABE DEC E
9ABF LD D,$00
9AC1 PUSH BC
9AC2 CALL SetKeyPositions_22
9AC5 POP BC
9AC6 POP DE
9AC7 ADD HL,DE
9AC8 EX DE,HL
9AC9 POP HL
9ACA RET
9ACB POP BC
9ACC CALL GetBlendInstruction
9ACF LD ($9ADD),A
9AD2 CALL SetKeyPositions_6
9AD5 CALL SetKeyPositions_25
SetKeyPositions_26 9AD8 PUSH BC
9AD9 PUSH DE
9ADA PUSH HL
SetKeyPositions_27 9ADB LD A,(DE)
9ADC INC DE
9ADD NOP
9ADE LD (HL),A
9ADF INC L
9AE0 DJNZ SetKeyPositions_27
9AE2 POP HL
9AE3 CALL $9F03
9AE6 POP DE
9AE7 POP BC
9AE8 CALL SetKeyPositions_21
9AEB DEC C
9AEC JR NZ,SetKeyPositions_26
9AEE RET
9AEF POP BC
9AF0 CALL GetBlendInstruction
9AF3 LD ($9B06),A
9AF6 CALL SetKeyPositions_6
9AF9 CALL SetKeyPositions_25
9AFC CALL SetKeyPositions_20
SetKeyPositions_28 9AFF PUSH BC
9B00 PUSH HL
SetKeyPositions_29 9B01 DEC DE
9B02 LD A,(DE)
9B03 CALL SetKeyPositions_18
9B06 NOP
9B07 LD (HL),A
9B08 INC L
9B09 DJNZ SetKeyPositions_29
9B0B POP HL
9B0C CALL $9F03
9B0F POP BC
9B10 DEC C
9B11 JR NZ,SetKeyPositions_28
9B13 RET
9B14 POP BC
9B15 CALL GetBlendInstruction
9B18 LD ($9B43),A
9B1B CALL SetKeyPositions_6
9B1E LD A,B
9B1F EXX
9B20 LD B,A
9B21 LD L,$01
9B23 EXX
9B24 CALL SetKeyPositions_20
9B27 DEC DE
9B28 CALL SetKeyPositions_25
SetKeyPositions_30 9B2B PUSH BC
9B2C PUSH DE
9B2D PUSH HL
SetKeyPositions_31 9B2E LD A,(DE)
9B2F EXX
9B30 AND L
9B31 JR Z,SetKeyPositions_32
9B33 SCF
SetKeyPositions_32 9B34 RL H
9B36 EXX
9B37 CALL SetKeyPositions_21
9B3A DEC C
9B3B LD A,C
9B3C AND $07
9B3E JR NZ,SetKeyPositions_31
9B40 EXX
9B41 LD A,H
9B42 EXX
9B43 NOP
9B44 LD (HL),A
9B45 INC L
9B46 LD A,C
9B47 AND A
9B48 JR NZ,SetKeyPositions_31
9B4A POP HL
9B4B CALL $9F03
9B4E POP DE
9B4F POP BC
9B50 EXX
9B51 RLC L
9B53 EXX
9B54 JR NC,SetKeyPositions_30
9B56 EXX
9B57 DEC B
9B58 EXX
9B59 RET Z
9B5A DEC DE
9B5B JR SetKeyPositions_30
9B5D POP BC
9B5E CALL GetBlendInstruction
9B61 LD ($9B88),A
9B64 CALL SetKeyPositions_6
9B67 LD A,B
9B68 EXX
9B69 LD B,A
9B6A LD L,$80
9B6C EXX
9B6D CALL SetKeyPositions_25
SetKeyPositions_33 9B70 PUSH BC
9B71 PUSH DE
9B72 PUSH HL
SetKeyPositions_34 9B73 LD A,(DE)
9B74 EXX
9B75 AND L
9B76 JR Z,SetKeyPositions_35
9B78 SCF
SetKeyPositions_35 9B79 RL H
9B7B EXX
9B7C CALL SetKeyPositions_21
9B7F DEC C
9B80 LD A,C
9B81 AND $07
9B83 JR NZ,SetKeyPositions_34
9B85 EXX
9B86 LD A,H
9B87 EXX
9B88 NOP
9B89 LD (HL),A
9B8A INC L
9B8B LD A,C
9B8C AND A
9B8D JR NZ,SetKeyPositions_34
9B8F POP HL
9B90 CALL $9F03
9B93 POP DE
9B94 POP BC
9B95 EXX
9B96 RRC L
9B98 EXX
9B99 JR NC,SetKeyPositions_33
9B9B EXX
9B9C DEC B
9B9D EXX
9B9E RET Z
9B9F INC DE
9BA0 JR SetKeyPositions_33
Prev: 96EC Up: Map Next: 9BA2