Gameplay
editThe lips do not drop bombs, and die in one shot. The fuzzballs also die in one shot. I can verify this is the case for the Apple II version, and you can see video of the Atari version on youtube.
The ship merge only happens if your score is over 1,000, and looks like it can only happen once:
13b0: a5 90 CheckDoubleShip lda did_multi_ship ;have we done the multi-ship grab yet?
13b2: d0 06 bne L13BA ;yes, don't do it again
13b4: a5 b0 lda cur_score_hi ;check the current score
13b6: c9 0f cmp #$0f ;at least 1000?
13b8: b0 01 bcs L13BB ;yes, do the multi-ship thing
13ba: 60 L13BA rts
13bb: 20 e0 0c L13BB jsr MultiShipGrab
13be: a9 ff lda #$ff
13c0: 85 90 sta did_multi_ship
13c2: 60 rts
Fadden0 (talk) 06:01, 1 November 2019 (UTC)
The fuzzball movement looks like a bug. They're supposed to bounce up and down, but when moving to the right the "move up" code actually calls "move down" instead, so the fuzzball moves horizontally and kills you every time.
1b20: a5 c3 MoveAlienDownSeek lda alien_col
1b22: c5 f9 cmp ship_pos_coarse ;are we lined up on the ship?
1b24: f0 09 beq :move_down ;yes, just move down
1b26: 90 05 bcc :move_right ;we're to the left, move right
1b28: c6 c3 dec alien_col ;we're to the right, move left
1b2a: 4c 2f 1b jmp :move_down
1b2d: e6 c3 :move_right inc alien_col
1b2f: 20 58 19 :move_down jsr MoveAlienDown
1b32: 60 rts
1b40: a5 c3 MoveAlienUpSeek lda alien_col
1b42: c5 f9 cmp ship_pos_coarse
1b44: f0 09 beq :move_up
1b46: 90 05 bcc :move_right
1b48: c6 c3 dec alien_col
1b4a: 4c 2f 1b jmp :move_down ;BUG - should be move_up
1b4d: e6 c3 :move_right inc alien_col
1b4f: 20 78 19 :move_up jsr MoveAlienUp
1b52: 60 rts
The bug can be fixed with 1B4B:4F. (To experiment, disable ship collision detection with 1B90:60.)
The full disassembly can be found here: https://6502disassembly.com/a2-space-eggs/