![]() |
Routines |
Prev: CB41 | Up: Map | Next: CD44 |
|
||||||||||
CB77 | LD A,(IY+$00) | Set A to the type of static enemy (with reverse bit) | ||||||||
This entry point is used by the routine at CA69.
|
||||||||||
CB7A | LD (IX+$0E),$03 | Initialize the width of the sprite (in bytes) to $03 | ||||||||
CB7E | LD (IX+$0F),$10 | Initialize the height of the sprite (in pixels) to $10 | ||||||||
CB82 | LD (IX+$10),$02 | Initialize speed to $02 | ||||||||
CB86 | LD (IX+$15),$00 | Initialize bubble energy to $00 | ||||||||
CB8A | AND $7F | Set to 0 the reverse bit of the type of enemy | ||||||||
CB8C | LD (IX+$09),A | Initialize the enemy type | ||||||||
CB8F | OR A | enemy type = $00? | ||||||||
CB90 | CALL Z,$CC05 | Configure FOOT MAN | ||||||||
CB93 | CP $01 | enemy type = $01? | ||||||||
CB95 | CALL Z,$CC40 | Configure CATERPILLAR | ||||||||
CB98 | CP $02 | enemy type = $02? | ||||||||
CB9A | CALL Z,$CC75 | Configure DROP | ||||||||
CB9D | CP $03 | enemy type = $03? | ||||||||
CB9F | CALL Z,$CC53 | Configure BRAIN | ||||||||
CBA2 | CP $04 | enemy type = $04? | ||||||||
CBA4 | CALL Z,$CC9D | Configure PINE | ||||||||
CBA7 | CP $05 | enemy type = $05? | ||||||||
CBA9 | CALL Z,$CCF3 | Configure PLANT | ||||||||
CBAC | CP $09 | enemy type = $09? | ||||||||
CBAE | CALL Z,$CCD1 | Configure BULB | ||||||||
CBB1 | CP $06 | enemy type = $06? | ||||||||
CBB3 | CALL Z,$CC18 | Confgiure FOOT MAN CROUCHED | ||||||||
CBB6 | CP $0E | enemy type = $0E? | ||||||||
CBB8 | CALL Z,$CD15 | Configure TRIANGLE | ||||||||
CBBB | CP $7C | enemy type = $7C? | ||||||||
CBBD | CALL Z,$CCBF | Configure QUESTION | ||||||||
CBC0 | LD (IX+$16),E | Save address for graphic data of animated sprite | ||||||||
CBC3 | LD (IX+$17),D | |||||||||
CBC6 | LD (IX+$0A),L | Save address for animation offset | ||||||||
CBC9 | LD (IX+$0B),H | |||||||||
CBCC | LD A,(IY+$01) | Set A to the x-position of sprite | ||||||||
CBCF | LD (IX+$00),A | Save x-position into enemy configuration buffer | ||||||||
CBD2 | LD A,(IY+$02) | Set A to the y-position of sprite | ||||||||
CBD5 | SLA A | Copy bits 7-3 to the y-position for the enemy configuration buffer | ||||||||
CBD7 | SLA A | |||||||||
CBD9 | SLA A | |||||||||
CBDB | LD (IX+$01),A | |||||||||
CBDE | LD A,(IY+$00) | If bit 7 of enemy type is set then set the reverse sprite indicator in enemy configuration buffer | ||||||||
CBE1 | AND $80 | |||||||||
CBE3 | SRL A | |||||||||
CBE5 | SRL A | |||||||||
CBE7 | SRL A | |||||||||
CBE9 | SRL A | |||||||||
CBEB | SRL A | |||||||||
CBED | SRL A | |||||||||
CBEF | SRL A | |||||||||
CBF1 | LD (IX+$02),A | |||||||||
CBF4 | LD (IX+$03),$00 | Reset FOOT MAN jumping or explosion debris expansion counter | ||||||||
CBF8 | LD (IX+$06),$00 | Reset FOOT MAN falling | ||||||||
CBFC | LD (IX+$0C),$01 | Set sprite active (alive) | ||||||||
CC00 | LD (IX+$0D),$00 | Reset explosion counter | ||||||||
CC04 | RET | |||||||||
Configure FOOT MAN
|
||||||||||
CC05 | LD HL,$AF52 | Set HL to the offset animation table | ||||||||
CC08 | LD (IX+$11),$00 | Set state counter to $00 | ||||||||
CC0C | LD (IX+$12),$00 | Set FOOT MAN walking | ||||||||
CC10 | LD (IX+$14),$02 | Set health to $02 | ||||||||
CC14 | LD DE,$8198 | Set DE to the graphics data for the enemy | ||||||||
CC17 | RET | |||||||||
Configure FOOT MAN CROUCHED
|
||||||||||
CC18 | LD HL,$8318 | Set address of graphic data for crouched FOOT MAN | ||||||||
CC1B | LD (IX+$04),L | |||||||||
CC1E | LD (IX+$05),H | |||||||||
CC21 | LD (IX+$11),$C8 | Set state counter to fixed FOOT MAN crouched | ||||||||
CC25 | LD (IX+$12),$01 | Set FOOT MAN crouched | ||||||||
CC29 | LD (IX+$10),$00 | Set enemy stopped | ||||||||
CC2D | LD (IX+$0E),$02 | Set width of the sprite (in bytes) | ||||||||
CC31 | LD (IX+$09),$80 | Set graphic data from static sprite & enemy type FOOT MAN | ||||||||
CC35 | LD (IX+$14),$02 | Set health | ||||||||
CC39 | LD HL,$AF52 | Set HL to the offset animation table | ||||||||
CC3C | LD DE,$8198 | Set DE to the graphics data for the enemy | ||||||||
CC3F | RET | |||||||||
Configure CATERPILLAR
|
||||||||||
CC40 | LD (IX+$10),$02 | Set enemy speed | ||||||||
CC44 | LD (IX+$14),$0A | Set health to $0A | ||||||||
CC48 | LD (IX+$15),$01 | Set big energy bubble | ||||||||
CC4C | LD HL,$AF52 | Set HL to the offset animation table | ||||||||
CC4F | LD DE,$8F00 | Set DE to the graphics data for the enemy | ||||||||
CC52 | RET | |||||||||
Configure BRAIN
|
||||||||||
CC53 | LD (IX+$14),$02 | Set health to $02 | ||||||||
CC57 | LD (IX+$15),$01 | Set big energy bubble | ||||||||
CC5B | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CC5F | LD (IX+$11),$00 | Set wound state | ||||||||
CC63 | LD HL,$8BE0 | Set address of graphic data for BRAIN | ||||||||
CC66 | LD (IX+$04),L | |||||||||
CC69 | LD (IX+$05),H | |||||||||
CC6C | LD (IX+$12),$05 | Set recover counter | ||||||||
CC70 | SET 7,(IX+$09) | Set graphics data from static sprite | ||||||||
CC74 | RET | |||||||||
Configure DROP
|
||||||||||
CC75 | LD (IX+$14),$02 | Set health to $02 | ||||||||
CC79 | LD (IX+$15),$01 | Set big energy bubble | ||||||||
CC7D | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CC81 | LD HL,$8D20 | Set address of graphic data for DROP | ||||||||
CC84 | LD (IX+$04),L | |||||||||
CC87 | LD (IX+$05),H | |||||||||
CC8A | LD (IX+$11),$00 | Set enemy state to stand-by in ceil | ||||||||
CC8E | CALL $A530 | Set status change counter a random number between 100 and 227 | ||||||||
CC91 | AND $7F | |||||||||
CC93 | ADD A,$64 | |||||||||
CC95 | LD (IX+$12),A | |||||||||
CC98 | LD (IX+$09),$82 | Set graphics data from static sprite | ||||||||
CC9C | RET | |||||||||
Configure PINE
|
||||||||||
CC9D | LD (IX+$14),$08 | Set health to $08 | ||||||||
CCA1 | LD (IX+$15),$01 | Set big energy bubble | ||||||||
CCA5 | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CCA9 | LD HL,$8FC0 | Set address of graphic data for PINE | ||||||||
CCAC | LD (IX+$04),L | |||||||||
CCAF | LD (IX+$05),H | |||||||||
CCB2 | LD (IX+$11),$00 | Set movement downwards | ||||||||
CCB6 | LD (IX+$12),$00 | Set animation state to stand-by | ||||||||
CCBA | SET 7,(IX+$09) | Set graphics data from static sprite | ||||||||
CCBE | RET | |||||||||
Configure QUESTION
|
||||||||||
CCBF | LD HL,$8BC0 | Set address of graphic data for QUESTION | ||||||||
CCC2 | LD (IX+$04),L | |||||||||
CCC5 | LD (IX+$05),H | |||||||||
CCC8 | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CCCC | SET 7,(IX+$09) | Set graphics data from static sprite | ||||||||
CCD0 | RET | |||||||||
Configure BULB
|
||||||||||
CCD1 | LD HL,$9040 | Set address of graphic data for BULB | ||||||||
CCD4 | LD (IX+$04),L | |||||||||
CCD7 | LD (IX+$05),H | |||||||||
CCDA | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CCDE | LD (IX+$14),$0E | Set health to $0E | ||||||||
CCE2 | LD (IX+$11),$00 | Set state to stand-by | ||||||||
CCE6 | LD (IX+$15),$01 | Set big energy bubble | ||||||||
CCEA | LD (IX+$12),$05 | Set state change counter | ||||||||
CCEE | SET 7,(IX+$09) | Set graphics data from static sprite | ||||||||
CCF2 | RET | |||||||||
Configure PLANT
|
||||||||||
CCF3 | LD HL,$8E20 | Set address of graphic data for PLANT | ||||||||
CCF6 | LD (IX+$04),L | |||||||||
CCF9 | LD (IX+$05),H | |||||||||
CCFC | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CD00 | LD (IX+$14),$0C | Set health to $0C | ||||||||
CD04 | LD (IX+$11),$00 | Set enemy state to stand-by | ||||||||
CD08 | LD (IX+$15),$01 | Set big energy bubble | ||||||||
CD0C | LD (IX+$12),$05 | Set state change counter | ||||||||
CD10 | SET 7,(IX+$09) | Set graphics data from static sprite | ||||||||
CD14 | RET | |||||||||
Configure TRIANGLE
|
||||||||||
CD15 | LD (IX+$14),$02 | Set health to $02 | ||||||||
CD19 | LD (IX+$06),$00 | |||||||||
CD1D | LD (IX+$0E),$02 | Set sprite width to 2 bytes | ||||||||
CD21 | LD (IX+$0F),$08 | Set sprite height to 8 pixels | ||||||||
CD25 | LD (IX+$10),$01 | Set enemy speed to 1 | ||||||||
CD29 | LD (IX+$04),$00 | Reset x-delta and y-delta for enemy movement | ||||||||
CD2D | LD (IX+$05),$00 | |||||||||
CD31 | LD (IX+$11),$10 | Set state change counter | ||||||||
CD35 | LD (IX+$12),$00 | Set to not change movement | ||||||||
CD39 | LD (IX+$15),$FF | Set no bubble bonus | ||||||||
CD3D | LD HL,$AF6A | Set HL to the offset animation table | ||||||||
CD40 | LD DE,$9100 | Set graphic data for sprite | ||||||||
CD43 | RET |
Prev: CB41 | Up: Map | Next: CD44 |