Prev: 730D Up: Map Next: 7390
7311: Routine at 7311
Used by the routine at 6C00.
7311 CALL $6B2D Call 6B2D.
This entry point is used by the routine at 76D7.
7314 CALL $716E Call 716E.
7317 LD HL,($7817) HL=*7817.
731A LD A,L A=L.
731B RLCA RLCA.
731C RLCA
731D RLCA
731E LD L,A L=A.
731F AND %00000111 Keep only bits 0-2.
7321 LD B,A B=A.
7322 LD A,L A=L.
7323 AND %11111000 Keep only bits 3-7.
7325 LD L,A L=A.
7326 LD A,($7819) A=*7819.
7329 ADD A,L A+=L.
732A LD L,A L=A.
732B LD A,H A=H.
732C LD H,$F8 H=F8.
732E LD DE,$0800 DE=0800.
7331 SUB $99 A-=99.
7333 ADD HL,DE HL+=DE.
7334 SUB $05 A-=05.
7336 JR NZ,$7333 Jump to 7333 if A is not zero.
7338 LD A,H A=H.
7339 ADD A,B A+=B.
733A LD H,A H=A.
733B PUSH HL Stash HL on the stack.
733C LD DE,$0008 DE=0008.
733F SBC HL,DE HL-=DE (with carry).
7341 EX DE,HL Exchange the DE and HL registers.
7342 LD HL,($7841) HL=*7841.
7345 SBC HL,DE HL-=DE (with carry).
7347 LD A,H Jump to 736C if H is not zero.
7348 AND A
7349 JR NZ,$736C
734B LD A,L A=L.
734C CP $50 Jump to 736C if A is higher than 50.
734E JR NC,$736C
7350 SUB $08 A-=08.
7352 SRA A
7354 LD C,$44 C=44.
7356 LD E,A E=A.
7357 LD D,$0B D=0B.
7359 LD A,$00 A=00.
735B ADC A,$00
735D CALL $76D7 Call 76D7.
7360 LD A,($7825) Jump to 736C if *7825 is not equal to 44.
7363 CP $44
7365 JR NZ,$736C
7367 LD A,$01 Write 01 to *7840.
7369 LD ($7840),A
736C POP HL Restore HL from the stack.
736D LD A,($7840) Return if *7840 is zero.
7370 AND A
7371 RET Z
7372 LD A,H Return if H is not zero.
7373 AND A
7374 RET NZ
7375 LD A,L Return if L is higher than 80.
7376 CP $80
7378 RET NC
7379 LD A,$80 A=80.
737B SUB L A-=L.
737C NOP No operation.
737D NOP
737E NOP
737F NOP
7380 NOP
7381 LD C,$47 C=47.
7383 LD D,$0B D=0B.
7385 SRA A
7387 LD E,A E=A.
7388 LD A,$40 A=40.
738A ADC A,$00
738C CALL $76D7 Call 76D7.
738F RET Return.
Prev: 730D Up: Map Next: 7390