Prev: B77E Up: Map Next: B91F
B77F: Routine at B77F
Used by the routine at B6FD.
B77F LD A,($B77E) Jump to B7AA if *B77E is not equal to FF.
B782 CP $FF
B784 JR NZ,$B7AA
B786 LD HL,($B6D6) HL=*B6D6.
B789 LD A,L Return if HL is zero.
B78A OR H
B78B RET Z
B78C XOR A Write 00 to *B77E.
B78D LD ($B77E),A
B790 PUSH HL IX=HL (using the stack).
B791 POP IX
B793 LD L,(IX-$02) L=*IX-02.
B796 LD H,(IX-$01) H=*IX-01.
B799 LD ($B6D6),HL Write HL to *B6D6.
B79C LD L,(IX+$00) L=*IX+00.
B79F LD H,(IX+$01) H=*IX+01.
B7A2 CALL $A1C7 Call A1C7.
B7A5 INC HL Increment HL by two.
B7A6 INC HL
B7A7 PUSH HL IX=HL (using the stack).
B7A8 POP IX
B7AA LD A,(IX+$00) A=*IX+00.
B7AD INC IX Increment IX by one.
B7AF BIT 7,A Jump to B7CD if bit 7 of A is not set.
B7B1 JR Z,$B7CD
B7B3 LD D,A D=A.
B7B4 LD E,(IX+$00) E=*IX+00.
B7B7 INC IX Increment IX by one.
B7B9 AND %01110000 Keep only bits 4-6.
B7BB CP $60 Jump to B7C6 if A is equal to 60.
B7BD JR Z,$B7C6
B7BF CP $30 Jump to B7C6 if A is equal to 30.
B7C1 JR Z,$B7C6
B7C3 CP $20 Return if A is not equal to 20.
B7C5 RET NZ
B7C6 LD A,$FF Write FF to *B77E.
B7C8 LD ($B77E),A
B7CB AND A Set flags.
B7CC RET Return.
B7CD CP $20 Jump to B7F7 if A is less than 20.
B7CF JR C,$B7F7
B7D1 CP $60 Jump to B7DD if A is less than 60.
B7D3 JR C,$B7DD
B7D5 CALL GetCommonWord Call GetCommonWord.
B7D8 OR %00000001 Set bit 0.
B7DA LD A,$00 A=00.
B7DC RET Return.
B7DD AND %00011111 Keep only bits 0-4.
B7DF INC A Increment A by one.
B7E0 LD B,A B=A.
B7E1 PUSH IX HL=IX (using the stack).
B7E3 POP HL
B7E4 INC HL Increment HL by one.
B7E5 LD C,$00 C=00.
B7E7 CALL $A990 Call A990.
B7EA DJNZ $B7E7 Decrease counter by one and loop back to B7E7 until counter is zero.
B7EC PUSH HL IX=HL (using the stack).
B7ED POP IX
B7EF LD A,C A=C.
B7F0 AND A Jump to B7AA if HL is not equal to A.
B7F1 JR NZ,$B7AA
B7F3 DEC IX Decrease IX by one.
B7F5 JR $B7AA Jump to B7AA.
B7F7 CP $02
B7F9 JR NZ,$B807
B7FB LD E,(IX+$00)
B7FE LD D,(IX+$01)
B801 ADD IX,DE
B803 DEC IX
B805 JR $B7AA
B807 CP $0B
B809 JR NZ,$B834
B80B LD E,(IX+$00)
B80E LD D,(IX+$01)
B811 PUSH IX
B813 POP HL
B814 LD A,$02
B816 CALL $A11C
B819 LD (IX+$00),L
B81C LD (IX+$01),H
B81F PUSH HL
B820 LD HL,($B6D6)
B823 LD ($B6D6),IX
B827 LD (IX-$02),L
B82A LD (IX-$01),H
B82D POP HL
B82E ADD HL,DE
B82F PUSH HL
B830 POP IX
B832 JR $B803
B834 CP $1D
B836 JP C,$B7AA
B839 JP $B786
This entry point is used by the routines at B54A, B6DA and B6F0.
B83C POP IX
B83E LD B,$03
B840 LD E,(HL)
B841 INC HL
B842 LD D,(HL)
B843 INC HL
B844 PUSH DE
B845 DJNZ $B840
B847 POP HL
B848 EX (SP),HL
B849 PUSH HL
B84A JP (IX)
B84C LD HL,($B18A)
B84F PUSH HL
B850 LD HL,($B188)
B853 PUSH HL
B854 LD HL,($B186)
B857 PUSH HL
B858 LD HL,($B18C)
B85B PUSH HL
B85C LD HL,$686A
B85F CALL $A59F
B862 RET
B863 JP $C929
B866 NOP
B867 NOP
B868 NOP
B869 NOP
This entry point is used by the routine at DC6C.
B86A PUSH AF
B86B LD IX,$9FEE
B86F CALL $A0F7
B872 JR Z,$B8A8
B874 LD C,(IX+$00)
B877 LD B,(IX+$01)
B87A LD ($B868),BC
B87E LD L,(IX-$02)
B881 LD H,(IX-$01)
B884 LD ($9FEC),HL
B887 CALL $A1C7
B88A POP AF
B88B PUSH AF
B88C AND A
B88D JR Z,$B894
B88F CALL $B8AA
B892 JR Z,$B8A8
B894 LD BC,($B868)
B898 LD ($A02B),BC
B89C CALL $AE7F
B89F CP $C0
B8A1 JR NZ,$B89C
B8A3 LD HL,($A029)
B8A6 LD (HL),$90
B8A8 POP AF
B8A9 RET
B8AA LD HL,($B868)
B8AD LD ($A02B),HL
B8B0 XOR A
B8B1 LD ($A024),A
B8B4 LD HL,($9FF0)
B8B7 PUSH HL
B8B8 LD HL,$0000
B8BB LD ($9FF0),HL
B8BE CALL $AAB2
B8C1 JR Z,$B8C7
B8C3 CP $02
B8C5 JR NZ,$B904
B8C7 LD HL,($A02B)
B8CA LD A,(HL)
B8CB AND $F0
B8CD CP $C0
B8CF JR NZ,$B8BE
B8D1 LD (HL),$90
B8D3 LD A,$08
B8D5 CALL $A11C
B8D8 LD HL,($9FEE)
B8DB LD ($9FEE),IX
B8DF LD (IX-$02),L
B8E2 LD (IX-$01),H
B8E5 LD HL,($9FF0)
B8E8 LD (IX+$05),L
B8EB LD (IX+$06),H
B8EE POP HL
B8EF LD ($9FF0),HL
B8F2 XOR A
B8F3 LD (IX+$01),A
B8F6 LD A,($A034)
B8F9 LD (IX+$00),A
B8FC LD A,($A024)
B8FF LD (IX+$07),A
B902 XOR A
B903 RET
B904 PUSH AF
B905 CALL $D87D
B908 POP AF
B909 POP HL
B90A LD ($9FF0),HL
B90D RET
This entry point is used by the routine at B936.
B90E CALL $B91F
B911 LD ($B866),IX
B915 LD E,(IX+$05)
B918 LD D,(IX+$06)
B91B PUSH DE
B91C POP IY
B91E RET
Prev: B77E Up: Map Next: B91F