Routines |
Prev: BA49 | Up: Map | Next: BE53 |
BA5C | LD IX,$5E66 | Set IX to the base address for enemy configuration | ||
BA60 | LD A,($A092) | Set B to the max number of enemies in the current room | ||
BA63 | LD B,A | |||
BA64 | PUSH BC | Save BC | ||
BA65 | LD A,(IX+$0C) | Check enemy status | ||
BA68 | OR A | Enemy is dead? | ||
BA69 | JP Z,$BB69 | Jump if so | ||
BA6C | LD A,(IX+$09) | check enemy type | ||
BA6F | AND $7F | |||
BA71 | OR A | Enemy is FOOT MAN? | ||
BA72 | JP NZ,$BAD0 | Jump forward if not | ||
Enemy is FOOT MAN
|
||||
BA75 | LD HL,$7F72 | Set HL to address pointer for FOOT MAN graphic data | ||
BA78 | LD A,(IX+$03) | Check jumping state for FOOT MAN | ||
BA7B | OR A | is jumping? | ||
BA7C | JP NZ,$BA86 | Jump if so? | ||
BA7F | LD A,(IX+$06) | Check falling state for FOOT MAN | ||
BA82 | OR A | is falling? | ||
BA83 | JP Z,$BA89 | Jump if not | ||
BA86 | LD HL,$6018 | Point HL to address pointer to graphic data for FOOTMAN falling or jumping | ||
BA89 | LD (IX+$16),L | Set address for enemy graphic data | ||
BA8C | LD (IX+$17),H | |||
BA8F | LD A,(IX+$12) | FOOTMAN walker is crouched? | ||
BA92 | CP $02 | |||
BA94 | JP Z,$BAD0 | Jump forward and no fire? | ||
BA97 | BIT 7,(IX+$09) | Check type of FOOT MAN | ||
BA9B | JP Z,$BAA9 | Jump if FOOT MAN Walking | ||
FOOT MAN is crouched and check if will fire the weapon
|
||||
BA9E | CALL $A375 | Computes random number on A | ||
BAA1 | CP $F0 | no fire weapon if random number is < $F0 | ||
BAA3 | JP C,$BAD0 | |||
BAA6 | JP $BAB1 | Jump to fire weapon | ||
FOOT MAN is walking and check if will fire the weapon
|
||||
BAA9 | CALL $A375 | Computes random number on A | ||
BAAC | CP $FE | no fire weapon if random number is < $FE | ||
BAAE | JP C,$BAD0 | |||
FOOT MAN fire the weapon
|
||||
BAB1 | CALL $B570 | Play enemy weapon sound | ||
BAB4 | LD A,(IX+$00) | Set x-position of enemy in A093 | ||
BAB7 | LD ($A093),A | |||
BABA | XOR A | Set A054 to the type of projectile for the enemy | ||
BABB | LD ($A054),A | |||
BABE | LD A,$0E | Set A to the increment of y-position for the projectile of FOOT MAN walking | ||
BAC0 | BIT 7,(IX+$09) | is FOOT MAN walking? | ||
BAC4 | JP Z,$BAC9 | Jump if so | ||
BAC7 | LD A,$11 | Set A to the increment of y-position for the projectile of FOOT MAN crouched | ||
BAC9 | CALL $B58E | Create a new laser projectile for FOOT MAN | ||
BACC | LD (IY+$05),$00 | Set y-delta of projectile to $00 | ||
Prepares to draw the enemy
|
||||
BAD0 | LD A,(IX+$00) | Set A0AF to the x-position of the enemy | ||
BAD3 | LD ($A0AF),A | |||
BAD6 | LD A,(IX+$01) | Set A0B0 to the y-position of the enemy | ||
BAD9 | LD ($A0B0),A | |||
BADC | LD A,(IX+$0E) | Set A0B1 to the width (in bytes) of the enemy sprite | ||
BADF | LD ($A0B1),A | |||
BAE2 | LD A,(IX+$0F) | Set A0B2 to the height (in pixels) of the enemy sprite | ||
BAE5 | LD ($A0B2),A | |||
BAE8 | LD A,(IX+$09) | Set A033 to the enemy type | ||
BAEB | LD ($A033),A | |||
BAEE | LD L,(IX+$04) | Set #$A034 to the graphic data address for the enemy (static - not animated) | ||
BAF1 | LD H,(IX+$05) | |||
BAF4 | LD ($A034),HL | |||
BAF7 | LD L,(IX+$0A) | Set HL to address pointer of base address for animated sprite | ||
BAFA | LD H,(IX+$0B) | |||
BAFD | LD E,(IX+$16) | Set DE to address pointer for animation offset based on previous address | ||
BB00 | LD D,(IX+$17) | |||
BB03 | LD A,(IX+$09) | Set A to enemy type | ||
BB06 | AND $7F | is enemy type $01 - STOMPER or $08 - SCANNER set A to enemy direction to $00 (right) and jump to draw the enemy | ||
BB08 | CP $01 | |||
BB0A | JP Z,$BB12 | |||
BB0D | CP $08 | |||
BB0F | JP NZ,$BB16 | |||
BB12 | XOR A | |||
BB13 | JP $BB19 | |||
BB16 | LD A,(IX+$02) | Set A to enemy direction | ||
BB19 | CALL $B258 | Draw enemy | ||
BB1C | CALL $C5B6 | Handle FOOT MAN walking/crouch state change | ||
BB1F | CALL $C577 | Handle FOOT MAN walking/stand-by state change | ||
BB22 | LD A,(IX+$09) | Enemy destroyed? | ||
BB25 | CP $FF | |||
BB27 | JP Z,$BD6B | Handle explosion | ||
BB2A | CP $06 | Foot Man is dying? | ||
BB2C | JP Z,$BD44 | Handle dying Foot Man 6 | ||
BB2F | CP $05 | is front train? | ||
BB31 | JP Z,$BC0F | check rear train for shot | ||
BB34 | CP $04 | is rear train? | ||
BB36 | JP Z,$BC30 | check front train for shot | ||
This entry point is used by the routine at BD44.
|
||||
BB39 | LD A,(IX+$09) | Object type is bubble? | ||
BB3C | CP $FE | |||
BB3E | CALL Z,$BED3 | Handle bubble bouncing and burst | ||
BB41 | LD A,(IX+$09) | Check object type | ||
BB44 | AND $7F | |||
BB46 | CP $09 | is swing gun? | ||
BB48 | JP Z,$BCDD | Handle swing gun | ||
BB4B | CP $0A | is shooter? | ||
BB4D | JP Z,$BC92 | Handle shooter | ||
BB50 | CP $0B | is launcher? | ||
BB52 | JP Z,$BC65 | Handle launcher | ||
BB55 | CP $10 | is boss? | ||
BB57 | JP Z,$BB74 | Handle boss | ||
BB5A | CALL $C620 | Handler for enemies going up: SCANNER, POD, MINE LAYER and FOOTMAN Jumping | ||
BB5D | CALL $C6C2 | Handler for enemies going down: SCANNER and FOOTMAN falling | ||
BB60 | CALL $C72B | Obtain the tile type address pointer under the entity | ||
BB63 | CALL $BFEF | Handle lateral movement for FOOTMAN, STOMPER, MINE, SCANNER, POD, MINE LAYER and BLOB | ||
This entry point is used by the routine at BCDD.
|
||||
BB66 | CALL $D215 | Handle collision detection of enemy with Rex and projectiles | ||
Prepare to process the next enemy
|
||||
BB69 | LD DE,$0018 | Point IX to the next enemy configuration | ||
BB6C | ADD IX,DE | |||
BB6E | POP BC | Restore BC | ||
BB6F | DEC B | Decrement enemy counter | ||
BB70 | JP NZ,$BA64 | If there are enemies on the room go back and draw them | ||
BB73 | RET | Return if not | ||
Handle boss
|
||||
BB74 | LD A,(IX+$01) | Set A to y-pixel-position | ||
BB77 | CP $90 | is y-pixel-position greater than $90? | ||
BB79 | JP NC,$BBDB | Jump if so | ||
BB7C | LD A,(IX+$11) | Set A to Boss direction | ||
BB7F | OR A | is boss moving down? | ||
BB80 | JP NZ,$BBA5 | Jump if so and try to shot lasers | ||
BB83 | LD A,(IX+$13) | Set A to boss prepared to release a mine | ||
BB86 | OR A | is boss prepared to release a mine? | ||
BB87 | JP NZ,$BBA5 | Jump if not and try to shot lasers | ||
try to release a mine
|
||||
BB8A | CALL $A375 | Set A a pseudo-random number | ||
BB8D | CP $F0 | is pseudo-random number less than $F0? | ||
BB8F | JP C,$BBA5 | Jump if so | ||
BB92 | LD A,(IX+$00) | Set into A093 the x-pixel-position of the mine | ||
BB95 | ADD A,$08 | |||
BB97 | LD ($A093),A | |||
BB9A | LD A,(IX+$01) | Set into A095 the y-pixel-poistion of the mine | ||
BB9D | ADD A,$30 | |||
BB9F | LD ($A095),A | |||
BBA2 | CALL $C1F4 | Configure a mine | ||
try to shot lasers
|
||||
BBA5 | LD A,R | Set A a pseudo-random number from 0 to F | ||
BBA7 | AND $0F | |||
BBA9 | OR A | is random number 0? | ||
BBAA | JP NZ,$BBDB | Jump if not | ||
BBAD | LD HL,$BE53 | Set HL to the base address for y-pixel-offset of laser positions for boss healed | ||
BBB0 | LD A,(IX+$12) | Set A to the boss state | ||
BBB3 | CP $01 | is boss wounded? | ||
BBB5 | JP NZ,$BBBB | Jump if not? | ||
BBB8 | LD HL,$BE56 | Set HL to the base address for y-pixel-offset of laser positions for boss wounded | ||
create new laser
|
||||
BBBB | PUSH HL | Save HL | ||
BBBC | CALL $B570 | Play weapon sound | ||
BBBF | POP HL | Restore HL | ||
BBC0 | LD A,(IX+$00) | Set A093 the x-pixel-position of the laser | ||
BBC3 | ADD A,$20 | |||
BBC5 | LD ($A093),A | |||
BBC8 | LD A,(HL) | Set A to the y-pixel-offset of the laser | ||
BBC9 | CP $FF | is end marker? | ||
BBCB | JP Z,$BBDB | Jump is so | ||
BBCE | PUSH HL | Save HL | ||
BBCF | CALL $B58E | Draw/create projectile | ||
BBD2 | POP HL | Restore HL | ||
BBD3 | INC HL | Increment address for laser y-pixel-offset | ||
BBD4 | LD (IY+$0B),$00 | Set the weapon type to projectile configuration buffer | ||
BBD8 | JP $BBBB | Jump back and create new laser | ||
move boss
|
||||
BBDB | LD A,(IX+$11) | is Boss moving up? | ||
BBDE | OR A | |||
BBDF | JP Z,$BBE5 | Jump to move up | ||
BBE2 | JP $BBFA | Jump to move down | ||
move boss up
|
||||
BBE5 | LD A,(IX+$01) | Set the new y-pixel-position of Boss based on Boss speed | ||
BBE8 | SUB (IX+$12) | |||
BBEB | LD (IX+$01),A | |||
BBEE | CP $40 | is y-pixel-position greater than $40? | ||
BBF0 | JP NC,$BB66 | Jump back and handle another enemy | ||
BBF3 | LD (IX+$11),$01 | Set boss to move down | ||
BBF7 | JP $BB66 | Jump back and handle another enemy | ||
move boss down
|
||||
BBFA | LD A,(IX+$01) | Set the new y-pixel-position of Boss based on Boss speed | ||
BBFD | ADD A,(IX+$12) | |||
BC00 | LD (IX+$01),A | |||
BC03 | CP $78 | is y-pixel-position less than $78? | ||
BC05 | JP C,$BB66 | Jump back and handle another enemy | ||
BC08 | LD (IX+$11),$00 | Set boss to move up | ||
BC0C | JP $BB66 | Jump back and handle another enemy | ||
check front train for shot
|
||||
BC0F | CALL $A375 | Set A to pseudo random number | ||
BC12 | CP $F0 | is random number less than $F0? | ||
BC14 | JP C,$BB39 | Jump back and continue to process another enemy if it is | ||
BC17 | CALL $B570 | Play laser sound | ||
BC1A | LD A,(IX+$00) | Set A093 to x-position of enemy | ||
BC1D | LD ($A093),A | |||
BC20 | XOR A | Set projectile type to $0 | ||
BC21 | LD ($A054),A | |||
BC24 | LD A,$0F | Set y-position-increment | ||
BC26 | CALL $B58E | Create a new laser | ||
BC29 | LD (IY+$05),$00 | Set y-delta for projectile to 0 | ||
BC2D | JP $BB39 | Jump back and continue to process another enemy | ||
check rear train for shot
|
||||
BC30 | CALL $A375 | Set A to pseudo random number | ||
BC33 | CP $F0 | is random number less than $F0? | ||
BC35 | JP C,$BB39 | Jump back and continue to process another enemy if it is | ||
BC38 | CALL $B570 | Play laser sound | ||
BC3B | LD (IX+$02),$00 | Set sprite to no reverse temp. | ||
BC3F | LD A,(IX+$00) | Set A093 to x-position of enemy | ||
BC42 | LD ($A093),A | |||
BC45 | XOR A | Set projectile type to $0 | ||
BC46 | LD ($A054),A | |||
BC49 | LD A,$0E | Set y-position-increment | ||
BC4B | CALL $B58E | Create a new laser | ||
BC4E | LD (IY+$05),$00 | Set y-delta for projectile to 0 | ||
BC52 | CALL $B570 | Play laser sound | ||
BC55 | LD A,$10 | Set y-position-increment | ||
BC57 | CALL $B58E | Create a new laser | ||
BC5A | LD (IY+$05),$00 | Set y-delta for projectile to 0 | ||
BC5E | LD (IX+$02),$01 | Set normal reverse for rear train | ||
BC62 | JP $BB39 | Jump back and continue to process another enemy | ||
handle launcher
|
||||
BC65 | CALL $A388 | Set A a pseudo random number | ||
BC68 | CP $64 | is random number less than $64? | ||
BC6A | JP C,$BB66 | Jump back and process another enemy | ||
BC6D | DEC (IX+$11) | Decrement launch counter | ||
BC70 | JP NZ,$BB66 | Jump back and process another enemy if counter ahs not reached 0 | ||
BC73 | LD A,(IX+$12) | Reset launch counter | ||
BC76 | LD (IX+$11),A | |||
BC79 | CALL $B570 | Play weapon sound | ||
BC7C | LD A,(IX+$00) | Set A093 the x-pixel-position of projectile | ||
BC7F | LD ($A093),A | |||
BC82 | LD A,$08 | Set A to the y-pixel-position increment | ||
BC84 | CALL $B58E | Draw/create projectile | ||
BC87 | LD (IY+$0B),$87 | Set type of projectile | ||
BC8B | LD (IY+$0C),$00 | Set projectile trajectory counter | ||
BC8F | JP $BB66 | Jump back and process another enemy | ||
handle shooter
|
||||
BC92 | CALL $A375 | Set A a pseudo random number | ||
BC95 | CP $64 | is random number less than $64? | ||
BC97 | JP C,$BB66 | Jump back and process another enemy | ||
BC9A | DEC (IX+$11) | Decrement shot counter | ||
BC9D | JP NZ,$BB66 | Jump back and process another enemy if counter ahs not reached 0 | ||
BCA0 | LD A,(IX+$12) | Reset shot counter | ||
BCA3 | LD (IX+$11),A | |||
BCA6 | CALL $B570 | Play weapon sound | ||
BCA9 | XOR A | Shot laser right direction | ||
BCAA | LD ($A097),A | |||
BCAD | LD A,(IX+$00) | Set A the x-pixel-position for laser | ||
BCB0 | CALL $BCC6 | Configure laser in right direction | ||
BCB3 | CALL $B570 | Play weapon sound | ||
BCB6 | LD A,$01 | Shot laser left direction | ||
BCB8 | LD ($A097),A | |||
BCBB | LD A,(IX+$00) | Set A the x-pixel-position for laser | ||
BCBE | SUB $08 | |||
BCC0 | CALL $BCC6 | Configure laser in left direction | ||
BCC3 | JP $BB66 | Jump back and process another enemy | ||
Configure laser for SHOOTER
|
||||
BCC6 | LD ($A093),A | Set A093 the x-pixel-position for laser | ||
BCC9 | LD A,$0F | Set A099 the increment y-pixel-position | ||
BCCB | LD ($A099),A | |||
BCCE | LD A,(IX+$01) | Set A095 the y-pixel-position for laser | ||
BCD1 | LD ($A095),A | |||
BCD4 | XOR A | Set wepaon type to 0 (laser) | ||
BCD5 | CALL $B5C1 | Draw/Create laser | ||
BCD8 | LD (IY+$05),$00 | Set y-delta of laser to 0 | ||
BCDC | RET | |||
Handle swing gun
|
||||
BCDD | LD E,(IX+$11) | Set DE swing gun orientation | ||
BCE0 | LD D,$00 | |||
BCE2 | LD HL,$BECB | Set HL to graphic data address based on swing gun orientation | ||
BCE5 | ADD HL,DE | |||
BCE6 | LD E,(HL) | |||
BCE7 | LD D,$00 | |||
BCE9 | LD HL,$8EAA | |||
BCEC | ADD HL,DE | |||
BCED | LD (IX+$04),L | Save this address to enemy configuration | ||
BCF0 | LD (IX+$05),H | |||
BCF3 | LD A,(IX+$12) | Set A to the type of swing gun | ||
BCF6 | OR A | is mobile gun? | ||
BCF7 | JP Z,$BD02 | Jump if so | ||
BCFA | CALL $A375 | Set A a pseudo random number | ||
BCFD | CP $14 | is number less than $14 | ||
BCFF | JP NC,$BD2A | Jump if not | ||
fire gun
|
||||
BD02 | LD A,$04 | Set A054 the type of shot | ||
BD04 | LD ($A054),A | |||
BD07 | CALL $B570 | Play weapon sound | ||
BD0A | LD A,(IX+$11) | Check swing gun orientation | ||
BD0D | OR A | is 0? | ||
BD0E | CALL Z,$BE5B | Configure projectile for swing gun left orientation. | ||
BD11 | CP $01 | is 1? | ||
BD13 | CALL Z,$BE75 | Configure projectile for swing gun left bottom orientation. | ||
BD16 | CP $03 | is 3? | ||
BD18 | CALL Z,$BE9B | Configure projectile for swing gun right bottom orientation. | ||
BD1B | CP $04 | is 4? | ||
BD1D | CALL Z,$BEB3 | Configure projectile for swing gun right orientation. | ||
BD20 | CP $05 | is 5? | ||
BD22 | CALL Z,$BE9B | Configure projectile for swing gun right bottom orientation. | ||
BD25 | CP $07 | is 7? | ||
BD27 | CALL Z,$BE75 | Configure projectile for swing gun left bottom orientation. | ||
check gun orientation
|
||||
BD2A | LD A,(IX+$12) | Set A to the type of swing gun | ||
BD2D | OR A | is mobile gun? | ||
BD2E | JP NZ,$BB66 | Jump back and process next enemy if fixed gun | ||
BD31 | LD A,(IX+$11) | Increment orientation of gun | ||
BD34 | INC A | |||
BD35 | LD (IX+$11),A | |||
BD38 | CP $08 | orientation is 8? | ||
BD3A | JP NZ,$BB66 | Jump back and process next enemy if not | ||
BD3D | LD (IX+$11),$00 | Reset orientation | ||
BD41 | JP $BB66 | Jump back and process next enemy | ||
Handle Foot Man dying 6
|
||||
BD44 | LD A,(IX+$11) | Set A to state change counter | ||
BD47 | CP $04 | counter is 4? | ||
BD49 | JP NZ,$BD5E | Jump if not | ||
BD4C | LD HL,$AE85 | Set address for animation offsets of dying foot man | ||
BD4F | LD (IX+$0A),L | |||
BD52 | LD (IX+$0B),H | |||
BD55 | LD HL,$8692 | Set graphic data for dying Foot man 7 | ||
BD58 | LD (IX+$16),L | |||
BD5B | LD (IX+$17),H | |||
BD5E | DEC (IX+$11) | Decrement state change counter | ||
BD61 | JP NZ,$BB39 | If not zero jump back and continue to process other enemies | ||
BD64 | LD (IX+$09),$07 | Set enemy type to FOOT MAN dying 7 | ||
BD68 | JP $BB39 | Jump back and continue to process other enemies | ||
Handle explosion and configure gift: bubble, smartbomb or question
Handle debris expansion
|
||||
BD6B | LD HL,$AA0E | Set HL to the offset of positions for debris 1 | ||
BD6E | CALL $BF66 | Handle debris movement and draw it | ||
BD71 | LD HL,$AA1E | Set HL to the offset of positions for debris 2 | ||
BD74 | CALL $BF66 | Handle debris movement and draw it | ||
BD77 | LD HL,$AA2E | Set HL to the offset of positions for debris 3 | ||
BD7A | CALL $BF66 | Handle debris movement and draw it | ||
BD7D | LD HL,$AA3E | Set HL to the offset of positions for debris 4 | ||
BD80 | CALL $BF66 | Handle debris movement and draw it | ||
BD83 | LD HL,$AA4E | Set HL to the offset of positions for debris 5 | ||
BD86 | CALL $BF66 | Handle debris movement and draw it | ||
BD89 | LD HL,$AA5E | Set HL to the offset of positions for debris 6 | ||
BD8C | CALL $BF66 | Handle debris movement and draw it | ||
BD8F | INC (IX+$03) | Increment explosion debris counter | ||
Draw central explosion
|
||||
BD92 | LD A,(IX+$00) | Set A0AF the x-pixel-position of the explosion | ||
BD95 | LD ($A0AF),A | |||
BD98 | LD A,(IX+$01) | Set A0AF the x-pixel-position of the explosion | ||
BD9B | LD ($A0B0),A | |||
BD9E | CALL $CF9B | Draw random attribute color for explosion | ||
BDA1 | LD L,(IX+$04) | Increment the graphic data address for the explosion | ||
BDA4 | LD H,(IX+$05) | |||
BDA7 | LD DE,$0048 | |||
BDAA | ADD HL,DE | |||
BDAB | LD (IX+$04),L | |||
BDAE | LD (IX+$05),H | |||
BDB1 | DEC (IX+$0D) | Decrement explosion counter | ||
BDB4 | JP NZ,$BB69 | Jump to the next enemy configuration if not zero Explosion has ended, configure gift: bubble, smartbomb or question | ||
BDB7 | LD HL,($A093) | Set HL to the address into the attribute file for the explosion | ||
BDBA | LD DE,($A095) | Set DE to the address into the attribute buffer for the explosion | ||
BDBE | CALL $CF6E | Reset attribute color when explosion ended | ||
BDC1 | LD A,(IX+$00) | x-pixel-position of sprite is less than 24? | ||
BDC4 | CP $18 | |||
BDC6 | JP C,$BE2E | Jump if so | ||
BDC9 | LD (IX+$09),$FE | Set Enemy configuration to energy bubble | ||
BDCD | LD (IX+$0F),$10 | Set sprite height | ||
BDD1 | LD (IX+$0E),$02 | Set sprite width | ||
BDD5 | LD A,(IX+$01) | Add 8 pixels to y-pixel-position | ||
BDD8 | ADD A,$08 | |||
BDDA | LD (IX+$01),A | |||
configure big bubble
|
||||
BDDD | LD (IX+$03),$00 | Reset configuration | ||
BDE1 | LD (IX+$06),$00 | Reset configuration | ||
BDE5 | LD (IX+$11),$64 | Set bubble counter to $64 | ||
BDE9 | LD (IX+$10),$00 | Reset configuration | ||
BDED | LD HL,$86F2 | Set HL to graphic data address for big bubble | ||
BDF0 | LD (IX+$12),L | Set graphic data address for bubble | ||
BDF3 | LD (IX+$13),H | |||
BDF6 | LD (IX+$04),L | |||
BDF9 | LD (IX+$05),H | |||
BDFC | LD A,(IX+$15) | Check bubble type | ||
BDFF | CP $FF | No bubble? | ||
BE01 | JP Z,$BE2E | Jump if so | ||
BE04 | CALL $A375 | Set A to a pseudo-random number | ||
BE07 | CP $03 | is less than 3? | ||
BE09 | JP C,$BE35 | you are lucky, you got an smartbomb | ||
BE0C | CP $06 | is less than 6? | ||
BE0E | JP C,$BE3F | you are lucky, you got a question mark (random gift) | ||
BE11 | LD A,(IX+$15) | is bubble type big? | ||
BE14 | OR A | |||
BE15 | JP NZ,$BB69 | Jump if so and process next obejct | ||
configure small bubble
|
||||
BE18 | LD HL,$87B2 | Set HL to graphic data for small bubble | ||
BE1B | LD (IX+$12),L | Set graphic data for the bubble | ||
BE1E | LD (IX+$13),H | |||
BE21 | LD (IX+$11),$8C | Set bubble counter to $8C | ||
BE25 | LD (IX+$04),L | Set graphic data for the bubble | ||
BE28 | LD (IX+$05),H | |||
BE2B | JP $BB69 | Jump to the next enemy configuration | ||
configure no bubble
|
||||
BE2E | LD (IX+$0C),$00 | Set object live/visibility to dead/not visible | ||
BE32 | JP $BB69 | Jump to the next enemy configuration | ||
configure smartbomb
|
||||
BE35 | LD (IX+$09),$FD | Set object type to smartbomb | ||
BE39 | LD HL,$8CEA | Set graphic data for smartbomb | ||
BE3C | JP $BE46 | Jump forward | ||
configure question
|
||||
BE3F | LD (IX+$09),$FC | Set object type to question | ||
BE43 | LD HL,$8D0A | Set graphic data for question | ||
BE46 | LD (IX+$04),L | Copy address to object configuration | ||
BE49 | LD (IX+$05),H | |||
BE4C | LD (IX+$02),$01 | Set sprite to reverse | ||
BE50 | JP $BB69 | Jump to the next enemy configuration |
Prev: BA49 | Up: Map | Next: BE53 |