Prev: A01B Up: Map Next: A1FF
A18C: Routine at A18C
Used by the routines at PlayerMovement and GamePlay_Start.
A18C LD A,(IX+$01) A=IX+01 (current location).
A18F CP $88 If this is not location 88 (room 07) then jump to A19F.
A191 JR NZ,$A19F
A193 LD A,(IX+$04) A=IX+04 (sprite y co-ordinate).
A196 CP $80
A198 JR NC,$A19F
A19A INC SP
A19B INC SP
A19C JP GameComplete Jump to GameComplete.
A19F BIT 7,(IX+$0B)
A1A3 RET Z
A1A4 RES 7,(IX+$0B)
A1A8 JP $A207 Jump to A207.
A1AB LD A,($9703)
A1AE CP (IX+$01)
A1B1 RET NZ
A1B2 LD BC,$0C0C BC=0C0C.
A1B5 LD A,($9693) A=CounterLow.
A1B8 AND %00000001 Keep only bit 0.
A1BA JR NZ,$A1C7
A1BC LD A,(IX+$05) A=IX+05 (entity colour).
A1BF INC A
A1C0 AND %00000011 Keep only bits 0-1.
A1C2 OR %01000100 Set bits 2 and 6.
A1C4 LD (IX+$05),A Write A back to IX+05 (entity colour).
A1C7 CALL $AB01 Call AB01.
A1CA JP NC,$A31A
A1CD LD A,($970D)
A1D0 OR $80
A1D2 LD C,A
A1D3 LD A,(IX+$00)
A1D6 SUB $90
A1D8 JR Z,$A1F3
A1DA DEC A
A1DB JR Z,$A1F7
A1DD DEC A
A1DE JR Z,$A1FB
A1E0 SET 3,C
A1E2 LD A,C
A1E3 LD ($970D),A
A1E6 CALL DrawEntity Call DrawEntity.
A1E9 LD (IX+$00),$00 Write 00 to IX+00 (sprite reference).
Add 7500 points to the players score.
A1ED LD BC,$7500 BC=7500.
A1F0 JP AddPointsToScore Jump to AddPointsToScore.
A1F3 SET 0,C
A1F5 JR $A1E2
A1F7 SET 1,C
A1F9 JR $A1E2
A1FB SET 2,C
A1FD JR $A1E2
Prev: A01B Up: Map Next: A1FF