Prev: AECF Up: Map Next: AFC1
AEEF: Game Play Start
Used by the routine at GamePlayEntry.
GamePlay_Start AEEF CALL StoreEntity Call StoreEntity.
AEF2 CALL $A18C Call A18C.
Is Sabreman yellow?
AEF5 LD A,(IX+$05) A=IX+05 (entity colour).
AEF8 CP $46 If the colour is 46 jump to HandlerYellowOrchid.
AEFA JR Z,HandlerYellowOrchid
AEFC CALL HandlerOrchidTimer Call HandlerOrchidTimer.
AEFF LD A,$10 Write 10 to 96AD.
AF01 LD ($96AD),A
AF04 LD A,(IX+$02)
AF07 AND A
AF08 JP NZ,$A985
AF0B LD DE,$0000 DE=0000.
AF0E CALL HandlerControls Call HandlerControls.
Is Sabreman magenta?
AF11 LD A,(IX+$05) A=IX+05 (entity colour).
AF14 CP $43 If the colour is not 43 jump to GamePlay_Controls.
AF16 JR NZ,GamePlay_Controls
Handles reversing the controls as a result of the magenta orchid.
AF18 LD A,C A=C.
AF19 XOR %00001111
AF1B LD C,A C=A.
This entry point is used by the routine at AE34.
GamePlay_Controls AF1C LD A,C A=C.
AF1D LD ($96AC),A Write A to 96AC.
AF20 LD A,E A=E.
AF21 LD B,$07 B=07.
AF23 BIT 1,C
AF25 JR Z,GamePlay_Start_0
AF27 ADD A,B
GamePlay_Start_0 AF28 BIT 0,C
AF2A JR Z,GamePlay_Start_1
AF2C SUB B
GamePlay_Start_1 AF2D LD E,A
AF2E LD A,D
AF2F BIT 3,C
AF31 JR Z,GamePlay_Start_2
AF33 ADD A,B
GamePlay_Start_2 AF34 BIT 2,C
AF36 JR Z,GamePlay_Start_3
AF38 SUB B
GamePlay_Start_3 AF39 LD D,A
AF3A CALL GamePlay_Start_7 Call GamePlay_Start_7.
AF3D CALL $AFE8 Call AFE8.
AF40 LD BC,$160E BC=160E.
AF43 CALL $B81C Call B81C.
AF46 CALL $B053 Call B053.
AF49 CALL $AAED Call AAED.
AF4C LD (IX+$03),E
AF4F LD (IX+$04),D
AF52 CALL NZ,$BF4B
Is Sabreman white?
AF55 LD A,(IX+$05) A=IX+05 (entity colour).
AF58 CP $47 If the colour is not 47 jump to GamePlay_Start_4.
AF5A JR NZ,GamePlay_Start_4
AF5C LD A,($96AC)
AF5F BIT 4,A
AF61 JR Z,GamePlay_Start_4
AF63 CALL $ADBF Call ADBF.
GamePlay_Start_4 AF66 LD A,(IX+$06)
AF69 LD B,$01 B=01.
AF6B CALL $B047 Call B047.
AF6E LD (IX+$06),A
AF71 LD A,(IX+$07)
AF74 CALL $B047 Call B047.
AF77 LD (IX+$07),A
This entry point is used by the routine at HandlerYellowOrchid_StandUp.
GamePlay_Start_5 AF7A CALL DisplayEntity Call DisplayEntity.
AF7D LD A,($96B0) A=OrchidEffectTimer.
AF80 AND A If A is zero, jump to BB24.
AF81 JP Z,$BB24
AF84 CP $2F Is A 2F?
AF86 JP NC,$BB24
AF89 AND %00001111 Keep only bits 0-3.
AF8B CP $08
AF8D JR NC,GamePlay_Start_6
AF8F AND %00000111 Keep only bits 0-2.
AF91 CALL Z,$BEC6
AF94 LD A,(IX+$05)
AF97 PUSH AF
AF98 LD (IX+$05),$47 Set IX+05 (entity colour) to 47 (white).
AF9C CALL $BB24 Call BB24.
AF9F POP AF
AFA0 LD (IX+$05),A
AFA3 RET Return.
GamePlay_Start_6 AFA4 AND %00000111 Keep only bits 0-2.
AFA6 CALL Z,$BEC6
AFA9 JP $BB24 Jump to BB24.
GamePlay_Start_7 AFAC LD A,E
AFAD ADD A,(IX+$06)
AFB0 CALL $AFC1 Call AFC1.
AFB3 LD (IX+$06),A
AFB6 LD A,D
AFB7 ADD A,(IX+$07)
AFBA CALL $AFC1 Call AFC1.
AFBD LD (IX+$07),A
AFC0 RET Return.
Prev: AECF Up: Map Next: AFC1