data/claims/galaga.yamlGalaga (Glenn Neidermeier's commented source)
Game: Galaga.
Galaga awards extra fighters at a first and a second score set by DIP switches, and with some settings again at every interval after the second, the interval being the second score: one setting gives 20,000, 70,000, and every 70,000 points. The three switches index one of two 8-entry tables, picked by bit 2 of the starting-fighter setting. In the first, five settings repeat, two award only the first two scores, and one awards none; in the second, every first score is 30,000, three settings repeat, four award at most the first two, and one awards none. The source reassembles MAME's galaga set, Namco rev. B. galaga/bonus-fighters
About: Galaga Extra life
Value
[ 20000, 70000, 70000 ]
galag/galagao_ASxxx/rom0/gg1-4.s#L1995-L2008; Bonus Ships Awarded (DSWB)
…
; 0x20 20-60-60 ON ON OFF 1
; 0x10 20-70-70 ON OFF ON 2
…
; 0x18 20-60 OFF OFF ON 6
; 0x38 30-80 OFF OFF OFF 7
; 0x00 None ON ON ON 0
; Bonus config displayed in following format:
; 1ST BONUS X0000 PTS
; 2ND BONUS XX0000 PTS
; AND EVERY XX0000 PTSGyaraga: commented and compilable Galaga source · galag/galagao_ASxxx/rom0/gg1-4.s#L2010-L2036l_38AB:
ld hl,#_sfr_dsw4 ; bonus levels
…
and #0x07
jp z,l_392D
ld c,a
ld a,(b_mchn_cfg_nships) ; Bonus levels depend upon number of fighters starting.
and #0x04 ; note: num_ships = mchn_cfg_nships + 1
add a,a
add a,c ; add dsw value
add a,a ; a:=a*2 ... use as offset into table
ld hl,#str_3AA4 ; bonus config data
…Gyaraga: commented and compilable Galaga source · galag/galagao_ASxxx/rom0/gg1-4.s#L2529-L2541str_3AA4:
.db 0xFF,0xFF ;; NO BONUS SHIPS GIVEN WITH THIS SETTING
.db 0x02,0x06
.db 0x02,0x07
.db 0x02,0x08
.db 0x03,0x0A
.db 0x03,0x0C
.db 0x02,0x06 + 0x80 ;; bit-7 means there's no 'and-every' bonus
.db 0x03,0x08 + 0x80 ;; bit-7 means there's no 'and-every' bonus
…
str_3AB4:
.db 0xFF,0xFF,0x03,0x0A,0x03,0x0C,0x03,0x0F,0x03,0x8A,0x03,0x8C,0x03,0x8F,0x03,0xFFGyaraga: commented and compilable Galaga source · galag/galagao_ASxxx/rom0/game_ctrl.s#L265-L267; if bit 7 is set, the third bonus award does not applyGyaraga: commented and compilable Galaga source · galag/galagao_ASxxx/rom0/game_ctrl.s#L1196-L1213; looks like a bonus may be awarded.
…
; actv_plyr_state[0x1E] += mchn_cfg_bonus[1]
…
; sound-fx count/enable registers, bonus ship awarded sound (set non-zero)
…
; new spare ship addedGyaraga: commented and compilable Galaga source · README.md#L16The following binary files (Namco rev. B):Checked by claude, 2026-10-25 — read the DSWB table comment, the table bytes at str_3AA4 and str_3AB4 (scores in units of 10,000, as the setup screen prints them before "0000 PTS"), and its loader at l_38AB (3 switch bits into an index of table 3AA4, two bytes into w_mchn_cfg_bonus), the bit-7 test in game_ctrl.s, and the award from "looks like a bonus may be awarded" through l_07BD, which adds the second byte to the player's next threshold once past itThe table's index also depends on the starting fighter count (b_mchn_cfg_nships): with bit 2 set the loader reads 16 bytes on, from the bytes the disassembly labels str_3AB4 and marks "???", where every setting but none starts at 30,000. The comment's rows match the first table. Which fighter counts set bit 2 rests on the loader's comment that the count is the setting plus 1.
Cited by: Extra life, Galaga
Every fourth stage of Galaga is a challenging stage: at each stage's start stg_init_splash adds 1 to the stage counter and stores (counter + 1) mod 4, and a 0 there marks a challenge, so the counter values 3, 7, 11, … bring one. galaga/challenging-stage
About: Galaga Bonus stage
Value: 4 stages between challenging stages
CodeGyaraga: commented and compilable Galaga source ·galag/galagao_ASxxx/rom0/task_man.s#L178-L202;; stg_splash_scrn()
…
;; Increments stage_ctr (and dedicated challenge stage %4 indicator)
…
; plyr_state_active.stage_ctr++
ld hl,#ds_plyr_actv +_b_stgctr ; ++
inc (hl)
…
; plyr_state_active.not_chllng_stg = *HL & 0x03 ... gives 0 for challenge stage
ld a,(hl)
inc a
and #0x03
…Gyaraga: commented and compilable Galaga source · galag/galagao_ASxxx/rom0/gg1-3.s#L1443; challenge stage e.g. 3,8,10 etc. 8 unique challenge stages.Checked by claude, 2026-10-21 — read stg_init_splash: the counter is incremented before the test, so a counter value n gives (n + 1) mod 4 = 0 for n = 3, 7, 11The comment at gg1-3.s L1443 lists "3,8,10", which disagrees with the arithmetic it sits beside; the code gives 3, 7, 11. If the counter is 0 before stage 1, as the comment's "3" suggests, the first challenging stage is stage 3; the cited lines don't show the counter's start.
Cited by: Bonus stage, Galaga