Prev: 6F3C Up: Map Next: 7024
6FAC: Routine at 6FAC
Used by the routine at 6F3C.
6FAC INC HL
This entry point is used by the routine at 6F3C.
6FAD INC HL
6FAE INC HL
6FAF DJNZ $6F84
6FB1 POP DE
6FB2 LD HL,$5E50 HL=Object_1_State.
6FB5 LD B,$07 B=07.
6FB7 XOR A Write 00 to 5E22.
6FB8 LD ($5E22),A
This entry point is used by the routine at 7024.
6FBB LD A,(HL)
6FBC AND A
6FBD JR NZ,$7024
6FBF INC HL
6FC0 INC HL
This entry point is used by the routine at 6F3C.
6FC1 LD (HL),D
6FC2 DEC HL
6FC3 LD (HL),E
6FC4 DEC HL
6FC5 LD A,($5E1E) A=5E1E.
6FC8 OR %10000000 Set bit 7.
6FCA LD (HL),A Write this back to HL.
6FCB PUSH HL IX=HL (using the stack to do so).
6FCC POP IX
6FCE LD A,($5E1F) A=ActiveObject.
6FD1 CP $20 If this is a cup (ActiveObject is 20) then jump to 6FDA.
6FD3 JR Z,$6FDA
6FD5 AND %01111111 Keep only bits 0-6.
6FD7 CALL DisplayPlaceName Call DisplayPlaceName.
6FDA CALL ActorEraseMovedSprite Call ActorEraseMovedSprite.
6FDD LD L,(IX+$01) L=
6FE0 LD H,(IX+$02) H=
6FE3 LD A,($5E42) D=5E42.
6FE6 LD D,A
6FE7 CALL ColouriseSprite_0 Call ColouriseSprite_0.
6FEA LD A,($5E17) Return if too far from Player_X (i.e. more than 0A pixels).
6FED CP $0A
6FEF RET NC
6FF0 LD A,($5E18) Return if too far from Player_Y (i.e. more than 0A pixels).
6FF3 CP $0A
6FF5 RET NC
6FF6 LD A,($5E1F) A=ActiveObject.
6FF9 CP $20 If this is a cup (ActiveObject is 20) then jump to 702A.
6FFB JR Z,$702A
6FFD BIT 6,A If this is a place name then jump to 7038.
6FFF JR Z,$7038
7001 LD C,A
7002 LD A,($5E4F) A=5E4F.
7005 CP C
7006 JR Z,$7012
7008 LD A,C
7009 LD ($5E4F),A
Add 0050 points to the score.
700C LD BC,$0050 BC=0050.
700F CALL AddPointsToScore Call AddPointsToScore.
7012 LD HL,$C0FF Write C0FF to Fuel_LSB.
7015 LD ($5E0A),HL
7018 LD A,($5E46) A=SoundCounter.
701B AND %01111111 Keep only bits 0-6.
701D RET NZ
701E LD A,$07 Write 07 to SoundCounter.
7020 LD ($5E46),A
7023 RET Return.
Prev: 6F3C Up: Map Next: 7024