![]() |
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 |