Routines |
Prev: AECF | Up: Map | Next: AFC1 |
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 |