Prev: 41308 Up: Map Next: 41856
41586: Routine at A272
Used by the routine at Messaging_YouWin.
41586 LD A,(46098) Jump to MainMenu if *46098 is not equal to 0.
41589 AND A
41590 JP NZ,MainMenu
41593 CALL Print_PlayArea Call Print_PlayArea.
41596 CALL DrawCurrentOpponent Call DrawCurrentOpponent.
41599 LD HL,513 Write 513 to *44893.
41602 LD (44893),HL
41605 LD A,(39607) Jump to 41627 if *39607 is zero.
41608 AND A
41609 JR Z,41627
41611 LD A,(39608) Jump to 41622 if *ActivePlayer is zero.
41614 AND A
41615 JR Z,41622
41617 LD HL,(39600) HL=*2UP_Total.
41620 JR 41630 Jump to 41630.
41622 LD HL,(39602) HL=*1UP_Total.
41625 JR 41630 Jump to 41630.
41627 LD HL,(39711) Write *Total to;
41630 LD (44873),HL
41633 LD (39731),HL
41636 CALL 44567 Call 44567.
41639 LD HL,1281 Write 1281 to *44893.
41642 LD (44893),HL
This entry point is used by the routine at 40258.
41645 LD HL,39606 HL=39606.
41648 LD A,(63521) A=*ControlByte.
41651 BIT 1,A Test bit 1 of A.
41653 JR Z,41657 Jump to 41657 if ?? is equal to A.
41655 LD (HL),1 Write 1 to *HL.
41657 BIT 0,A Test bit 0 of A.
41659 JR Z,41663 Jump to 41663 if ?? is equal to A.
41661 LD (HL),0 Write 0 to *HL.
41663 BIT 3,A Test bit 3 of A.
41665 JR Z,41669 Jump to 41669 if ?? is equal to A.
41667 LD (HL),3 Write 3 to *HL.
41669 BIT 2,A Test bit 2 of A.
41671 JR Z,41675 Jump to 41675 if ?? is equal to A.
41673 LD (HL),2 Write 2 to *HL.
41675 LD A,(39606) A=*39606.
41678 CP 1 Jump to 41688 if A is equal to 1.
41680 JR Z,41688
41682 CP 3 Jump to 41688 if A is equal to 3.
41684 JR Z,41688
41686 JR 41719 Jump to 41719.
41688 LD A,(39619) A=*FloatingHandCoordinates.
41691 CP 8 Jump to 41719 if A is equal to 8.
41693 JR Z,41719
41695 LD A,(39718) Write *39718 to *41705.
41698 LD (41705),A
41701 LD A,(39696) A=*39696.
41704 SUB 1 A-=1.
41706 CP 8 Jump to 41716 if A is less than 8.
41708 JR C,41716
41710 LD HL,39619 HL=FloatingHandCoordinates.
41713 DEC (HL) Decrease *HL by one.
41714 ADD A,8 A+=8.
41716 LD (39696),A Write A to *39696.
41719 LD A,(39606) A=*39606.
41722 CP 0 Jump to 41732 if A is equal to 0.
41724 JR Z,41732
41726 CP 2 Jump to 41732 if A is equal to 2.
41728 JR Z,41732
41730 JR 41763 Jump to 41763.
41732 LD A,(39619) Jump to 41763 if *FloatingHandCoordinates is equal to 29.
41735 CP 29
41737 JR Z,41763
41739 LD A,(39718) Write *39718 to *41749.
41742 LD (41749),A
41745 LD A,(39696) A=*39696.
41748 ADD A,1 A+=1.
41750 CP 8 Jump to 41760 if A is less than 8.
41752 JR C,41760
41754 SUB 8 A-=8.
41756 LD HL,39619 HL=FloatingHandCoordinates.
41759 INC (HL) Increment *HL by one.
41760 LD (39696),A Write A to *39696.
41763 LD A,(39606) A=*39606.
41766 CP 0 Jump to 41776 if A is equal to 0.
41768 JR Z,41776
41770 CP 3 Jump to 41776 if A is equal to 3.
41772 JR Z,41776
41774 JR 41806 Jump to 41806.
41776 LD A,(39620) Jump to 41806 if *39620 is zero.
41779 AND A
41780 JR Z,41806
41782 LD A,(39719) Write *39719 to *41792.
41785 LD (41792),A
41788 LD A,(39697) A=*39697.
41791 SUB 1 A-=1.
41793 CP 8 Jump to 41803 if A is less than 8.
41795 JR C,41803
41797 LD HL,39620 HL=39620.
41800 DEC (HL) Decrease *HL by one.
41801 ADD A,8 A+=8.
41803 LD (39697),A Write A to *39697.
41806 LD A,(39606) A=*39606.
41809 CP 1 Jump to 41819 if A is equal to 1.
41811 JR Z,41819
41813 CP 2 Jump to 41819 if A is equal to 2.
41815 JR Z,41819
41817 JR 41850 Jump to 41850.
41819 LD A,(39620) Jump to 41850 if *39620 is equal to 23.
41822 CP 23
41824 JR Z,41850
41826 LD A,(39719) Write *39719 to *41836.
41829 LD (41836),A
41832 LD A,(39697) A=*39697.
41835 ADD A,1 A+=1.
41837 CP 8 Jump to 41847 if A is less than 8.
41839 JR C,41847
41841 SUB 8 A-=8.
41843 LD HL,39620 HL=39620.
41846 INC (HL) Increment *HL by one.
41847 LD (39697),A Write A to *39697.
This entry point is used by the routine at 40258.
41850 CALL Handler_FloatingHand Call Handler_FloatingHand.
41853 JP 40275 Jump to 40275.
Prev: 41308 Up: Map Next: 41856