Prev: 38636 Up: Map Next: 39842
39122: Set Key Positions
Used by the routine at StartGame.
SetKeyPositions 39122 LD A,(23672)
39125 LD HL,39180
39128 CALL SetKeyPositions_0
39131 LD (24638),A
39134 LD A,(23672)
39137 LD C,A
39138 LD A,(24082)
39141 ADD A,C
39142 LD HL,39188
39145 CALL SetKeyPositions_0
39148 LD (24646),A
39151 LD (25614),A
39154 LD A,(23673)
39157 LD C,A
39158 LD A,(24083)
39161 ADD A,C
39162 LD HL,39196
39165 CALL SetKeyPositions_0
39168 LD (24654),A
39171 RET
SetKeyPositions_0 39172 AND 7
39174 LD C,A
39175 LD B,0
39177 ADD HL,BC
39178 LD A,(HL)
39179 RET
39180 DEC B
39181 LD B,7
39183 LD L,L
39184 DEC H
39185 INC H
39186 INC HL
39187 LD (4887),HL
39190 ADD HL,BC
39191 DEC C
39192 ADC A,C
39193 ADD A,A
39194 ADD A,B
39195 ADD A,L
39196 LD D,E
39197 ADC A,A
39198 LD B,C
39199 SUB H
39200 INC SP
39201 SUB C
39202 ADD HL,SP
39203 LD C,H
This entry point is used by the routine at DrawRoom.
SetKeyPositions_1 39204 LD A,(24082)
39207 LD C,A
39208 LD A,(24083)
39211 AND 1
39213 OR C
39214 RET NZ
39215 LD HL,(24149)
39218 LD DE,8
39221 ADD HL,DE
39222 LD (24149),HL
39225 PUSH HL
39226 POP IX
39228 LD DE,60888
39231 AND A
39232 SBC HL,DE
39234 JR NC,SetKeyPositions_2
39236 LD A,(60049)
39239 CP (IX+1)
39242 RET Z
39243 LD A,(IX+0)
39246 AND A
39247 RET NZ
39248 LD A,(23672)
39251 AND 7
39253 ADD A,80
39255 LD (IX+0),A
39258 RET
SetKeyPositions_2 39259 LD HL,60248
39262 LD (24149),HL
39265 RET
This entry point is used by the routine at HandlerRoomItem.
SetKeyPositions_3 39266 LD HL,39280
SetKeyPositions_4 39269 PUSH BC
39270 LD A,B
39271 RLCA
39272 RLCA
39273 RLCA
39274 AND 7
39276 LD C,A
39277 JP ProcessAction_2
39280 RET
39281 SBC A,C
39282 PUSH HL
39283 SBC A,C
39284 LD A,(BC)
39285 SBC A,D
39286 LD D,B
39287 SBC A,D
39288 RES 3,D
39290 RST 40
39291 SBC A,D
39292 INC D
39293 SBC A,E
39294 LD E,L
39295 SBC A,E
This entry point is used by the routine at HandlerRoomItem.
SetKeyPositions_5 39296 LD HL,39301
39299 JR SetKeyPositions_4
39301 DEC H
39302 SBC A,L
39303 LD B,A
39304 SBC A,L
39305 LD L,A
39306 SBC A,L
39307 AND B
39308 SBC A,L
39309 ADC A,157
39311 RET M
39312 SBC A,L
39313 LD HL,21918
39316 SBC A,(HL)
SetKeyPositions_6 39317 LD HL,42496
39320 DEC C
39321 LD B,0
39323 SLA C
39325 RL B
39327 ADD HL,BC
39328 LD A,(HL)
39329 INC HL
39330 LD H,(HL)
39331 LD L,A
39332 EX DE,HL
39333 CALL ScreenAddress
39336 LD A,(DE)
39337 LD B,A
39338 INC DE
39339 LD A,(DE)
39340 LD C,A
39341 INC DE
39342 RET
This entry point is used by the routines at 40229, 40263, 40303, 40352, 40398, 40440, 40481 and 40533.
SetKeyPositions_7 39343 LD HL,42574
39346 DEC C
39347 LD B,0
39349 SLA C
39351 RL B
39353 ADD HL,BC
39354 LD A,(HL)
39355 INC HL
39356 LD H,(HL)
39357 LD L,A
39358 EX DE,HL
39359 CALL AttributeAddress
39362 LD A,(DE)
39363 LD B,A
39364 INC DE
39365 LD A,(DE)
39366 LD C,A
39367 INC DE
39368 RET
39369 POP BC
39370 CALL GetBlendInstruction
39373 LD (39383),A
39376 CALL SetKeyPositions_6
SetKeyPositions_8 39379 PUSH BC
39380 PUSH HL
SetKeyPositions_9 39381 LD A,(DE)
39382 INC DE
39383 NOP
39384 LD (HL),A
39385 INC L
39386 DJNZ SetKeyPositions_9
39388 POP HL
39389 CALL 40707
39392 POP BC
39393 DEC C
39394 JR NZ,SetKeyPositions_8
39396 RET
39397 POP BC
39398 CALL GetBlendInstruction
39401 LD (39417),A
39404 CALL SetKeyPositions_6
SetKeyPositions_10 39407 PUSH BC
39408 PUSH HL
39409 CALL SetKeyPositions_20
SetKeyPositions_11 39412 DEC DE
39413 LD A,(DE)
39414 CALL SetKeyPositions_18
39417 NOP
39418 LD (HL),A
39419 INC L
39420 DJNZ SetKeyPositions_11
39422 POP HL
39423 CALL 40707
39426 POP BC
39427 CALL SetKeyPositions_20
39430 DEC C
39431 JR NZ,SetKeyPositions_10
39433 RET
39434 POP BC
39435 CALL GetBlendInstruction
39438 LD (39478),A
39441 CALL SetKeyPositions_6
39444 LD A,B
39445 EXX
39446 LD L,1
39448 LD B,A
39449 EXX
39450 CALL SetKeyPositions_20
39453 DEC DE
SetKeyPositions_12 39454 PUSH BC
39455 PUSH DE
39456 PUSH HL
SetKeyPositions_13 39457 LD A,(DE)
39458 EXX
39459 AND L
39460 JR Z,SetKeyPositions_14
39462 SCF
SetKeyPositions_14 39463 RL H
39465 EXX
39466 CALL SetKeyPositions_20
39469 DEC C
39470 LD A,C
39471 AND 7
39473 JR NZ,SetKeyPositions_13
39475 EXX
39476 LD A,H
39477 EXX
39478 NOP
39479 LD (HL),A
39480 INC L
39481 LD A,C
39482 AND A
39483 JR NZ,SetKeyPositions_13
39485 POP HL
39486 CALL 40707
39489 POP DE
39490 POP BC
39491 EXX
39492 RLC L
39494 EXX
39495 JR NC,SetKeyPositions_12
39497 EXX
39498 DEC B
39499 EXX
39500 RET Z
39501 DEC DE
39502 JR SetKeyPositions_12
39504 POP BC
39505 CALL GetBlendInstruction
39508 LD (39544),A
39511 CALL SetKeyPositions_6
39514 LD A,B
39515 EXX
39516 LD B,A
39517 LD L,128
39519 EXX
SetKeyPositions_15 39520 PUSH BC
39521 PUSH DE
39522 PUSH HL
SetKeyPositions_16 39523 LD A,(DE)
39524 EXX
39525 AND L
39526 JR Z,SetKeyPositions_17
39528 SCF
SetKeyPositions_17 39529 RL H
39531 EXX
39532 CALL SetKeyPositions_20
39535 DEC C
39536 LD A,C
39537 AND 7
39539 JR NZ,SetKeyPositions_16
39541 EXX
39542 LD A,H
39543 EXX
39544 NOP
39545 LD (HL),A
39546 INC L
39547 LD A,C
39548 AND A
39549 JR NZ,SetKeyPositions_16
39551 POP HL
39552 CALL 40707
39555 POP DE
39556 POP BC
39557 EXX
39558 RRC L
39560 EXX
39561 JR NC,SetKeyPositions_15
39563 EXX
39564 DEC B
39565 EXX
39566 RET Z
39567 INC DE
39568 JR SetKeyPositions_15
SetKeyPositions_18 39570 PUSH BC
39571 LD B,8
SetKeyPositions_19 39573 RLA
39574 RR C
39576 DJNZ SetKeyPositions_19
39578 LD A,C
39579 POP BC
39580 RET
This entry point is used by the routines at 40263, 40303, 40352, 40440 and 40481.
SetKeyPositions_20 39581 LD A,B
39582 ADD A,E
39583 LD E,A
39584 LD A,D
39585 ADC A,0
39587 LD D,A
39588 RET
This entry point is used by the routines at 40398, 40481 and 40533.
SetKeyPositions_21 39589 LD A,E
39590 SUB B
39591 LD E,A
39592 LD A,D
39593 SBC A,0
39595 LD D,A
39596 RET
This entry point is used by the routine at DrawChicken.
SetKeyPositions_22 39597 LD HL,0
39600 LD B,8
SetKeyPositions_23 39602 ADD HL,HL
39603 RLCA
39604 JR NC,SetKeyPositions_24
39606 ADD HL,DE
SetKeyPositions_24 39607 DJNZ SetKeyPositions_23
39609 RET
This entry point is used by the routines at 40398, 40440, 40481 and 40533.
SetKeyPositions_25 39610 PUSH HL
39611 PUSH DE
39612 LD A,B
39613 LD E,C
39614 DEC E
39615 LD D,0
39617 PUSH BC
39618 CALL SetKeyPositions_22
39621 POP BC
39622 POP DE
39623 ADD HL,DE
39624 EX DE,HL
39625 POP HL
39626 RET
39627 POP BC
39628 CALL GetBlendInstruction
39631 LD (39645),A
39634 CALL SetKeyPositions_6
39637 CALL SetKeyPositions_25
SetKeyPositions_26 39640 PUSH BC
39641 PUSH DE
39642 PUSH HL
SetKeyPositions_27 39643 LD A,(DE)
39644 INC DE
39645 NOP
39646 LD (HL),A
39647 INC L
39648 DJNZ SetKeyPositions_27
39650 POP HL
39651 CALL 40707
39654 POP DE
39655 POP BC
39656 CALL SetKeyPositions_21
39659 DEC C
39660 JR NZ,SetKeyPositions_26
39662 RET
39663 POP BC
39664 CALL GetBlendInstruction
39667 LD (39686),A
39670 CALL SetKeyPositions_6
39673 CALL SetKeyPositions_25
39676 CALL SetKeyPositions_20
SetKeyPositions_28 39679 PUSH BC
39680 PUSH HL
SetKeyPositions_29 39681 DEC DE
39682 LD A,(DE)
39683 CALL SetKeyPositions_18
39686 NOP
39687 LD (HL),A
39688 INC L
39689 DJNZ SetKeyPositions_29
39691 POP HL
39692 CALL 40707
39695 POP BC
39696 DEC C
39697 JR NZ,SetKeyPositions_28
39699 RET
39700 POP BC
39701 CALL GetBlendInstruction
39704 LD (39747),A
39707 CALL SetKeyPositions_6
39710 LD A,B
39711 EXX
39712 LD B,A
39713 LD L,1
39715 EXX
39716 CALL SetKeyPositions_20
39719 DEC DE
39720 CALL SetKeyPositions_25
SetKeyPositions_30 39723 PUSH BC
39724 PUSH DE
39725 PUSH HL
SetKeyPositions_31 39726 LD A,(DE)
39727 EXX
39728 AND L
39729 JR Z,SetKeyPositions_32
39731 SCF
SetKeyPositions_32 39732 RL H
39734 EXX
39735 CALL SetKeyPositions_21
39738 DEC C
39739 LD A,C
39740 AND 7
39742 JR NZ,SetKeyPositions_31
39744 EXX
39745 LD A,H
39746 EXX
39747 NOP
39748 LD (HL),A
39749 INC L
39750 LD A,C
39751 AND A
39752 JR NZ,SetKeyPositions_31
39754 POP HL
39755 CALL 40707
39758 POP DE
39759 POP BC
39760 EXX
39761 RLC L
39763 EXX
39764 JR NC,SetKeyPositions_30
39766 EXX
39767 DEC B
39768 EXX
39769 RET Z
39770 DEC DE
39771 JR SetKeyPositions_30
39773 POP BC
39774 CALL GetBlendInstruction
39777 LD (39816),A
39780 CALL SetKeyPositions_6
39783 LD A,B
39784 EXX
39785 LD B,A
39786 LD L,128
39788 EXX
39789 CALL SetKeyPositions_25
SetKeyPositions_33 39792 PUSH BC
39793 PUSH DE
39794 PUSH HL
SetKeyPositions_34 39795 LD A,(DE)
39796 EXX
39797 AND L
39798 JR Z,SetKeyPositions_35
39800 SCF
SetKeyPositions_35 39801 RL H
39803 EXX
39804 CALL SetKeyPositions_21
39807 DEC C
39808 LD A,C
39809 AND 7
39811 JR NZ,SetKeyPositions_34
39813 EXX
39814 LD A,H
39815 EXX
39816 NOP
39817 LD (HL),A
39818 INC L
39819 LD A,C
39820 AND A
39821 JR NZ,SetKeyPositions_34
39823 POP HL
39824 CALL 40707
39827 POP DE
39828 POP BC
39829 EXX
39830 RRC L
39832 EXX
39833 JR NC,SetKeyPositions_33
39835 EXX
39836 DEC B
39837 EXX
39838 RET Z
39839 INC DE
39840 JR SetKeyPositions_33
Prev: 38636 Up: Map Next: 39842