# king_kong_le 0.97 - worked out by the app from the ports of The Beatles 1.29, Deadpool LE 1.14, Deadpool Pro 1.16, Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02, TMNT Pro 1.59. # Emulator-proven 2026-09-24 by a full build check (modes/gamecheck.sh play full, item 162): the # runtime hooked the game, 36 of its 55 shots came from their switches, a drain ended each ball, and # the 6 events below fired where their names say (a tilted ball, three balls to the game's end). # Shots no press made (their switch is left out of the check, or needs two): Shot 0x20, Shot 0x40, Shot 0x80, Shot 0x100, Shot 0x400, Shot 0x10000, Shot 0x20000, Shot 0x40000, Shot 0x100000, Shot 0x1000000, Shot 0x1000000000, Shot 0x20000000000, Shot 0x40000000000, Shot 0x80000000000, Shot 0x200000000000, Shot 0x4000000000000, Shot 0x8000000000000, Shot 0x10000000000000, Shot 0x40000000000000. # program sha1 034964e23f5e94a4f48e0f1e0a448834c4c4cc9c, portgen revision 3, 7 reference port(s) of framework generation B. # 36 shot(s) the app could not name are named after the switch that made them in the check. # Callouts heard in the emulator 2026-09-24 (item 163): countdown, time_up. game king_kong_le version 0.97 # ---- functions: site
---- # tick: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site tick 0x00470704 0xe92d4038 0xe3a00037 # shot_dispatch: located (loose) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site shot_dispatch 0x0013fc38 0xe92d41f0 0xe24dd008 # ball_end: located (strict) [Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16] site ball_end 0x00144cd4 0xe92d40f8 0xe30f6d10 # sound_lookup: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site sound_lookup 0x003609a8 0xe92d4038 0xe1a05000 # score_add: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site score_add 0x00533edc 0xe30817fe 0xe340108b # callout: through the handler of hook 0x95, as in the reference [The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site callout 0x002c7220 0xe92d4010 0xe303e900 # callout_nth: located (loose) [The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site callout_nth 0x002c73d4 0xe92d4010 0xe303e900 # light_run: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] site light_run 0x002a24d4 0xeafffd83 0xe92d40f0 # lamp_group: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site lamp_group 0x00459a58 0xe92d4038 0xe1a04000 # show_priority: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site show_priority 0x00522950 0xe30b3c8c 0xe340308e # award_screen: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site award_screen 0x0051720c 0xe92d4070 0xe24dd008 # string_new: PLT stub for _ZNSsC1EPKcRKSaIcE [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site string_new 0x000169c8 0xe28fc607 0xe28ccaf6 # dynamic_cast: PLT stub for __dynamic_cast [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site dynamic_cast 0x000163bc 0xe28fc607 0xe28ccaf6 # resource_get: placed through 3 callers, e.g. the bl at 0x406098 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site resource_get 0x005caeb8 0xe92d43f0 0xe1a04000 # find_node: placed through 3 callers, e.g. the bl at 0x20940 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02] site find_node 0x006574ec 0xe92d4070 0xe24dd008 # find_text: placed through 3 callers, e.g. the bl at 0x210b4 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] site find_text 0x00656f88 0xe92d4070 0xe24dd008 # set_text: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site set_text 0x0063acb4 0xe92d47f0 0xe1a06000 # clip_play: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] site clip_play 0x0007c8b4 0xe92d43f0 0xe24dd014 # clip_stop: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] site clip_stop 0x0007cb14 0xe92d4008 0xebfffeea # video_player: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] site video_player 0x0007c6a4 0xe92d4010 0xe3004c8c # video_surface: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] site video_surface 0x0007c6c8 0xe92d4070 0xe3005c8c # surface_state: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site surface_state 0x0064a218 0xe5900550 0xe2800008 # player_advance: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site player_advance 0x00517604 0xe2501000 0x012fff1e # display_draw: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] site display_draw 0x00537284 0xe3520001 0x812fff1e # sound_play: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] site sound_play 0x002c7220 0xe92d4010 0xe303e900 # sound_nth: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] site sound_nth 0x002c73d4 0xe92d4010 0xe303e900 # sound_active: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] site sound_active 0x002c7994 0xe59f3034 0xe2831e62 # sound_stop: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] site sound_stop 0x002c7aec 0xe92d40f8 0xe1a06000 # sound_worker: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] site sound_worker 0x002c680c 0xe92d4ff0 0xe2507000 # site stock_any_running NOT PLACED: absent in the target (the function changed); no caller could be lined up; 10 of its cmode_manager's virtuals start as the reference's does # site stock_battle_running NOT PLACED: absent in the target (the function changed); no caller could be lined up; 10 of its cmode_manager's virtuals start as the reference's does # stock_multiball_running: placed through 2 callers, e.g. the bl at 0x13864c [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site stock_multiball_running 0x0013fe2c 0xe92d40f8 0xe3036590 # hook_dispatch: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Deadpool LE 1.14] site hook_dispatch 0x0048eed0 0xe35000cf 0xe92d4038 # site skill_shot_award NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference skill_shot_award calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # candidate: the reference skill_shot_award calls 0x2b3614, which is 0x3e19dc in the target - prove what it does before using it # site mball_start NOT PLACED: absent in the target (the function changed); only 1 caller lined up # candidate: the reference mball_start calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # candidate: the reference mball_start calls 0x3f33e0, which is 0x51f33c in the target - prove what it does before using it # mball_stop: located (loose) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site mball_stop 0x00147ae8 0xe92d4010 0xe1a04000 # site roster_start NOT PLACED: absent in the target (the function changed); no caller could be lined up # site roster_done NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference roster_done calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site roster_city_done NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference roster_city_done calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # display_effect_start: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site display_effect_start 0x005f51a4 0xe92d47f0 0xe2516000 # display_effect_next: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site display_effect_next 0x005f5588 0xe3043f90 0xe3403093 # display_priority_now: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site display_priority_now 0x005f5a1c 0xe5d0000e 0xe12fff1e # layered_priority: located (loose) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site layered_priority 0x00044160 0xe92d4008 0xe5903068 # site layered_waiter NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference layered_waiter calls 0x379f0c, which is 0x4bf3f0 in the target - prove what it does before using it # candidate: the reference layered_waiter calls 0x3d10c, which is 0x44330 in the target - prove what it does before using it # candidate: the reference layered_waiter calls 0x3cfcc, which is 0x44160 in the target - prove what it does before using it # stock_rule_get: located (loose) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site stock_rule_get 0x0013fd10 0xe3510021 0xe92d4008 # site caward_add NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference caward_add calls 0x2b2720, which is 0x534044 in the target - prove what it does before using it # candidate: the reference caward_add calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site caward_build NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference caward_build calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site caward_add_scaled NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference caward_add_scaled calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # candidate: the reference caward_add_scaled calls 0x2b2720, which is 0x534044 in the target - prove what it does before using it # show_start: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site show_start 0x005226f0 0xe92d47f0 0xe2508000 # game_event: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site game_event 0x00512c5c 0xe92d47f0 0xe1a09000 # event_post_replacing: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site event_post_replacing 0x0051f33c 0xe92d4070 0xe1a05001 # event_cancel: located (strict) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] site event_cancel 0x0051f2ac 0xe92d40f8 0xe30b6c88 # site ebirah_refill_counts NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference ebirah_refill_counts calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site ebirah_stage_done NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference ebirah_stage_done calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # candidate: the reference ebirah_stage_done calls 0x3f33e0, which is 0x51f33c in the target - prove what it does before using it # site ebirah_award_screen NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference ebirah_award_screen calls 0x405908, which is 0x51720c in the target - prove what it does before using it # candidate: the reference ebirah_award_screen calls 0x1f34d4, which is 0x5226f0 in the target - prove what it does before using it # candidate: the reference ebirah_award_screen calls 0x43d2ac, which is 0x2c7220 in the target - prove what it does before using it # site ebirah_final_mask NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference ebirah_final_mask calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site tank_maser_phase NOT PLACED: absent in the target (the function changed); only 1 caller lined up # candidate: the reference tank_maser_phase calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site tank_positions_or NOT PLACED: absent in the target (the function changed); no caller could be lined up # site tank_pick_record NOT PLACED: absent in the target (the function changed); no caller could be lined up # site tank_path_index NOT PLACED: absent in the target (the function changed); no caller could be lined up # site tank_seed_wave NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference tank_seed_wave calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # candidate: the reference tank_seed_wave calls 0x2f790, which is 0x39d9c in the target - prove what it does before using it # site tank_destroy NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference tank_destroy calls 0x3387f0, which is 0x371414 in the target - prove what it does before using it # site tank_advance NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference tank_advance calls 0x5cf000, which is 0x69d960 in the target - prove what it does before using it # site tank_award_screen_kill NOT PLACED: absent in the target (the function changed); no caller could be lined up # candidate: the reference tank_award_screen_kill calls 0x109144, which is 0x210c28 in the target - prove what it does before using it # candidate: the reference tank_award_screen_kill calls 0x405908, which is 0x51720c in the target - prove what it does before using it # candidate: the reference tank_award_screen_kill calls 0x43d2ac, which is 0x2c7220 in the target - prove what it does before using it # switch_hit: located (strict) [The Beatles 1.29] site switch_hit 0x0057ba64 0xe2503000 0x012fff1e # switch_hit2: located (strict) [The Beatles 1.29] site switch_hit2 0x0057bb04 0xe92d4010 0xe2504000 # switch_edge: the framework's per-switch call in its switch drain (generation B: r0 = the switch # id, called for every edge after the new level is stored) [portswitch.switch_source on this build] site switch_edge 0x0055fa04 0xe304337c 0xe3403093 # switch_drain: the drain itself, never hooked: an edge counts only when switch_edge is called from it site switch_drain 0x005606e4 0xe92d4ff0 0xe30e9c70 # ---- globals: data
---- # cur_player: derived from 2 places, e.g. 0x338790+0x60 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool Pro 1.16, TMNT Pro 1.59] data cur_player 0x00819088 # scores: derived from 2 places, e.g. 0x2b2524+0x8 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data scores 0x008ec3a0 # mode_mask: derived from 2 places, e.g. 0x1c420+0xf8 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data mode_mask 0x008b87fe # switch_records: the switch drain's per-switch records [portswitch.switch_source on this build] data switch_records 0x008ecc78 # switch_count: [portswitch.switch_source on this build] data switch_count 0x0093437c # event_head: derived from 2 places, e.g. 0x52d08+0x30 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data event_head 0x008ebc88 # event_current: derived from 2 places, e.g. 0x4bc4c+0x4 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data event_current 0x008ebc8c # resource_manager: a base 0x7f51d0 + field 0x80; the base derived from 2 places, e.g. 0x406020+0x54 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data resource_manager 0x008ea738 # typeinfo_resource: derived from 2 places, e.g. 0x2075c+0x54 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data typeinfo_resource 0x006f49c8 # typeinfo_scene_player: derived from 2 places, e.g. 0x2075c+0x58 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data typeinfo_scene_player 0x0078cb94 # display_holder: derived from 2 places, e.g. 0x404620+0x28 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data display_holder 0x008ea6b8 # data message_count NOT PLACED: left off - another title's layout # data message_remap NOT PLACED: left off - another title's layout # data message_table NOT PLACED: left off - another title's layout # award_screen_arg: derived from 2 places, e.g. 0x3d564+0x8 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] data award_screen_arg 0x0080fa70 # sound_channels: derived from 2 places, e.g. 0x43c3fc+0x50 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] data sound_channels 0x008b3a0c # sound_queue: derived from 2 places, e.g. 0x43d304+0xc [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] data sound_queue 0x008b4280 # data city_variants NOT PLACED: no code that loads it could be lined up # sound_requests: derived from 2 places, e.g. 0x43c898+0x34 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] data sound_requests 0x00887764 # sound_request_count: derived from 2 places, e.g. 0x43c898+0x14 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] data sound_request_count 0x006f0468 # stock_mode_manager: derived from 2 places, e.g. 0x5652c+0xc [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] data stock_mode_manager 0x008a05d0 # data rule_battle NOT PLACED: only 1 place lined up (0x89b618 via 0x16518c+0x1c); 2 needed # data roster_screen_table NOT PLACED: no code that loads it could be lined up # rule_cities: derived from 2 places, e.g. 0x3c92c+0x10 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] data rule_cities 0x008a0970 # display_effects: derived from 1 places, e.g. 0x4394d4+0xa4; ONE place is enough here: the runtime uses it only when the manager it points at holds award_screen_arg's table (disp_manager), so a wrong one holds nothing [Godzilla Premium/LE 1.16, Godzilla Pro 1.15] data display_effects 0x00934f90 # data layered_displays NOT PLACED: no code that loads it could be lined up # lamp_layers: derived from 2 places, e.g. 0x3a6010+0x8 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] data lamp_layers 0x009329a8 # light_count: derived from 2 places, e.g. 0x1c8c10+0x4 [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29] data light_count 0x008c9c54 # data ebirah_stage_awards NOT PLACED: no code that loads it could be lined up # data ebirah_lamp_table NOT PLACED: no code that loads it could be lined up # data tank_path NOT PLACED: no code that loads it could be lined up # data tank_spot_list NOT PLACED: no code that loads it could be lined up # data score_mult NOT PLACED: no code that loads it could be lined up # ---- scenes ---- # scene hud: COPIED, unverified (no code that loads it could be lined up; the target program names the same id) [Jaws LE 1.02] scene hud 9d57875196c613785a1eee010c55223a0f1aa821 # scene video_bank: derived: the target code loads it (derived from 1 places, e.g. 0x526d4+0x4) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, The Beatles 1.29, Jaws LE 1.02, Deadpool LE 1.14, Deadpool Pro 1.16, TMNT Pro 1.59] scene video_bank 60ed7e5036b8ce09d35a3e101ea6fc1380b37d97 # scene attract: derived: the target code loads it (derived from 1 places, e.g. 0x2075c+0x28) [Godzilla Premium/LE 1.16, Godzilla Pro 1.15, Jaws LE 1.02] scene attract 394c4a037fb26e12f536c42b2677bfed831f5c98 # ---- values: COPIED from the references (framework offsets), unverified; the switch_* and ball_end_event values read from this build's own framework code ---- # switch_*: the switch record's layout, read off this build's own drain by portswitch.switch_source value switch_drain_size 384 value switch_record_size 32 value switch_level_at 24 value switch_desc_via 8 value switch_flags_at 26 value switch_polarity_at 28 value mode_mask_busy 0x210 value surface_playing 2 value clip_layer 0 value event_next 0x84 value event_flags 0x2 value event_show_flag 0x20 value event_show_id 0x96 value scene_player_scene 0x10 value node_visible_vfn 0xa8 value sound_channel_count 8 value sound_channel_size 196 value sound_channel_request 184 value sound_channel_voices 188 value sound_channel_bus 189 value sound_channel_voice_ptrs 92 value sound_voice_volume 48 value stock_slot_shot 42 value stock_slot_active 18 value stock_slot_lit 25 value stock_field 0x18 value stock_slot_start 11 value stock_slot_end 10 value stock_slot_stop 11 value stock_slot_running 12 value stock_slot_shot_entry 15 value stock_slot_mask 45 value stock_running_at 0x1b # + player: running byte value stock_level_at 0x3c # + 4 * player: starts this game value stock_award_at 0x50 # the rule's caward* (caward_add's first argument) value ebirah_rule 12 value ebirah_spin_left_at 0x8c # + 4 * player, spins left on the Left spinner (15 at a refill) value ebirah_spin_top_at 0x9c # Top spinner (40) value ebirah_spin_shield_at 0xac # Shield ramp spinner (15) value ebirah_stage_count_at 0xbc # + 4 * player: stages done (the 2-stage RuleCities/RuleAllies mark reads it) value ebirah_stage_index_at 0xd0 # which of 5M / 10M / 15M is next (START resets it) value ebirah_kotm_at 0xd4 # byte: King of the Monsters runs (awards go to rule 20) value ebirah_spin_left_bit 0x200 # the raw shot bits the handler tests (each spinner's middle bit) value ebirah_spin_top_bit 0x2000 value ebirah_final_shot 0x40 # the Pop bumper: the final blow (or bit 42, unnamed) value ebirah_final_mask_lo 0x40 # the field once every counter is 0 (0x814cc writes 0x400_00000040) value ebirah_final_mask_hi 0x400 value ebirah_reminder_event 0x14e value ebirah_stage_award_count 3 value ebirah_stage_msg 0xce3 # award screen messages 0xce3 / 0xce4 / 0xce5 (left / top / shield), 0xce6 the final blow value ebirah_stage_lamp_left 0x71 # 113 LEFT SPINNER, the lamp the stage screen names value ebirah_stage_lamp_top 0x96 # 150 TOP SPINNER value ebirah_stage_lamp_shield 0x7a # 122 ATTACK MECHA (the shield ramp spinner's insert) value ebirah_lamp_entries 6 value tank_rule 4 value tank_records_at 0x68 # a std::vector (begin, end) of tank records value tank_record_size 40 value tank_record_active_at 0 value tank_record_pos_at 8 # u64: the tank's position (a path mask) value tank_record_prev_at 0x10 # u64: where it was before the last step (a grace window for the handler) value tank_record_dest_at 0x18 # u64: its destination (the Godzilla target 0x80000) value tank_record_value_at 0x20 # u64: what destroying it pays (2,500,000 - 500,000 a step, floor 1,500,000) value tank_level_at 0x70 # + 4 * player value tank_value_at 0x80 # + 8 * player, u64: this player's tank value (+150,000 a kill) value tank_destroyed_at 0xa8 # u32: tanks destroyed this wave (4/5/6/7/8 by level light the Maser) value tank_multiplier_at 0xac # the Maser multiplier (3 a wave, -1 per tank that reaches the target) value tank_maser_hits_at 0xb0 # + 4 * (player - 1) value tank_path_entries 6 value tank_path_entry_size 16 # ---- shots: read from the build's own cshot objects (55 single-bit shots from 56 cshot objects (u64 mask at +8, lamp at +0x10)), named after their inserts; prove them with the shot census ---- shot 0x1 X1 shot 0x2 Left slingshot shot 0x4 Right slingshot shot 0x8 Left inlane-inner shot 0x10 Left inlane-outer shot 0x20 Shot 0x20 shot 0x40 Shot 0x40 shot 0x80 Shot 0x80 shot 0x100 Shot 0x100 shot 0x200 Right inlane shot 0x400 Shot 0x400 shot 0x800 4 Bank drop 1-top shot 0x1000 4 Bank drop 2 shot 0x2000 4 Bank drop 3 shot 0x4000 4 Bank drop 4-bot shot 0x8000 4 Bank drop 4-bot 2 shot 0x10000 Shot 0x10000 shot 0x20000 Shot 0x20000 shot 0x40000 Shot 0x40000 shot 0x80000 Left orbit spinner opto shot 0x100000 Shot 0x100000 shot 0x200000 Left orbit spinner opto 2 shot 0x400000 Left orbit spinner opto 3 shot 0x800000 Right spinner opto shot 0x1000000 Shot 0x1000000 shot 0x2000000 Right spinner opto 2 shot 0x4000000 Right spinner opto 3 shot 0x8000000 River exit shot 0x10000000 Pit target-bot shot 0x20000000 Pit target-mid shot 0x40000000 Pit target-top shot 0x80000000 X1 2 shot 0x100000000 Powerup target shot 0x200000000 X2 shot 0x400000000 X3 shot 0x800000000 X4 shot 0x1000000000 Shot 0x1000000000 shot 0x2000000000 Left ramp made opto shot 0x4000000000 Train enter opto shot 0x8000000000 Biplane ramp made opto shot 0x10000000000 Train lock opto shot 0x20000000000 Shot 0x20000000000 shot 0x40000000000 Shot 0x40000000000 shot 0x80000000000 Shot 0x80000000000 shot 0x100000000000 Kick target shot 0x200000000000 Shot 0x200000000000 shot 0x400000000000 2.42 Million bananas shot 0x800000000000 Gong hit opto shot 0x1000000000000 U-turn rollover shot 0x2000000000000 Kong cave made shot 0x4000000000000 Shot 0x4000000000000 shot 0x8000000000000 Shot 0x8000000000000 shot 0x10000000000000 Shot 0x10000000000000 shot 0x20000000000000 River enter shot 0x40000000000000 Shot 0x40000000000000 # ---- events: COPIED, unverified - prove them with event_probe.c (MODE_SDK.md, Events) ---- # ---- events: the framework's event bus, each seen firing in the emulator 2026-09-24 ---- event game_start 0x4d event ball_start 0x25 event ball_end 0x34 event bonus_end 0x28 event tilt_warning 0xc8 event tilt 0xc6 # ---- callouts, heard in the emulator 2026-09-24 (item 163): the runtime's callout / callout_nth # sites played each id and the game's audio was transcribed: countdown 668 (clips 1-5 said "ONE", "TOO", "THREE", "Four.", "Five"); time_up 670 ("TIME'S UP!") callout countdown 668 callout time_up 670 # ---- clip v2 (item 164): the video bank scene's VideoSurface, played on the surface itself - the # game draws it. The typed find is find_node + 0x2f4 and the surface's functions sit at Godzilla LE's # distances from surface_state; each prologue equals Godzilla LE's. A clip was seen on the glass in # the emulator 2026-09-25 (item 164). site surface_find 0x006577e0 0xe92d4070 0xe24dd008 site surface_set_video 0x0064eec4 0xe5d030d4 0xe92d4ff0 site surface_play 0x0064ccd0 0xe5d030d4 0xe92d43f0 site surface_stop 0x0064c480 0xe5d030d4 0xe92d40f0 # Insider Connected score gate (item 166): the request header constructor (the endpoint in r1) and the # message-begin thunk every sender calls next; the runtime refuses the score reports there # (MODE_SDK.md, "Insider Connected: no score leaves a machine that carries modes") site agent_header 0x006a4530 0xe92d40f8 0xe2505000 site agent_begin 0x006aee9c 0xe590c004 0xe1a00001 # ---- examples a template mode can use on this game ---- text example_start_shot Pit target-bot # ---- named inserts (item 164): framework lamp layers, derived from this build's program # the slot layout and fade: Godzilla's, checked in the emulator (item 164) value lamp_slot_size 40 value lamp_slot_level 2 value lamp_slot_alpha 3 value lamp_slot_fade 8 value lamp_slot_used 36 value lamp_group_prio 4 value lamp_group_next 20 value lamp_fade 3 # ---- lamps: lamp - read by lamp_map.py ---- # 205 inserts on the TestMode/Rodeo_LE_Service_Playfield_Wireframe_300dpi_cropped picture; light table 0x872acc, device table 0x877f54, lamp table 0x830128 (315 lamps) # shot masks: read from 55 cshot objects built by 0x266294 lamp 9 0x80 CLIFFHANGER # lamp 6, I/O group 7 index 24, at 58,446 lamp 10 0 LEFT RETURN 2 # lamp 7, I/O group 7 index 8, at 66,547 lamp 11 0 LEFT RETURN 2X # lamp 8, I/O group 7 index 9, at 76,553 lamp 12 0 LEFT RETURN 1 # lamp 9, I/O group 7 index 10, at 86,561 lamp 13 0 RIGHT RETURN 1 # lamp 10, I/O group 7 index 11, at 218,561 lamp 14 0 RIGHT RETURN 2X # lamp 11, I/O group 7 index 12, at 228,553 lamp 15 0 RIGHT RETURN 2 # lamp 12, I/O group 7 index 13, at 238,547 lamp 16 0 SHOOT AGAIN # lamp 13, I/O group 7 index 15, at 154,600 lamp 17 0 EIGHTH WONDER # lamp 14, I/O group 7 index 14, at 154,534 lamp 18 0 KONG MULTIBALL # lamp 15, I/O group 7 index 16, at 130,481 lamp 19 0 TREX DEFEATED # lamp 16, I/O group 7 index 17, at 127,506 lamp 20 0 BIPLANES DESTROYED # lamp 17, I/O group 7 index 18, at 123,530 lamp 21 0 CLIMB COMPLETE # lamp 18, I/O group 7 index 19, at 177,481 lamp 22 0 ISLAND SCENES # lamp 19, I/O group 7 index 20, at 180,506 lamp 23 0 SPIDER PIT CLEARED # lamp 20, I/O group 7 index 21, at 184,530 lamp 24 0 (K)ING KONG # lamp 21, I/O group 7 index 39, at 95,470 lamp 25 0 K(I)NG KONG # lamp 22, I/O group 7 index 38, at 107,455 lamp 26 0 KI(N)G KONG # lamp 23, I/O group 7 index 37, at 122,445 lamp 27 0 KIN(G) KONG # lamp 24, I/O group 7 index 36, at 139,439 lamp 28 0 KING (K)ONG # lamp 25, I/O group 7 index 34, at 167,439 lamp 29 0 KING K(O)NG # lamp 26, I/O group 7 index 33, at 185,445 lamp 30 0 KING KO(N)G # lamp 27, I/O group 7 index 32, at 200,455 lamp 31 0 KING KON(G) # lamp 28, I/O group 7 index 31, at 212,470 lamp 32 0 BASH GONG W/LIT # lamp 29, I/O group 7 index 35, at 154,453 lamp 33 0 GIANT SPIDER # lamp 30, I/O group 7 index 71, at 109,431 lamp 34 0 OCTOPUS INSECT # lamp 31, I/O group 7 index 70, at 117,418 lamp 35 0 2 LEGGED LIZARD # lamp 32, I/O group 7 index 66, at 119,403 lamp 36 0 THE PIT! # lamp 33, I/O group 7 index 61, at 122,386 lamp 37,38,39 0x12000000000000 KONG CAVE # lamp 34, I/O group 7 index 25, at 227,427 lamp 40 0 KONG CAVE MYSTERY # lamp 35, I/O group 7 index 28, at 243,404 lamp 41 0 EXTRA BALL # lamp 36, I/O group 7 index 30, at 256,383 lamp 42 0 100FT # lamp 37, I/O group 7 index 69, at 137,416 lamp 43 0 200FT # lamp 38, I/O group 7 index 68, at 154,416 lamp 44 0 300FT # lamp 39, I/O group 7 index 67, at 170,415 lamp 45 0 400FT # lamp 40, I/O group 7 index 65, at 136,400 lamp 46 0 500FT # lamp 41, I/O group 7 index 64, at 154,400 lamp 47 0 600FT # lamp 42, I/O group 7 index 63, at 172,400 lamp 48 0 700FT # lamp 43, I/O group 7 index 60, at 145,382 lamp 49 0 800FT # lamp 44, I/O group 7 index 59, at 162,382 lamp 50 0 900FT # lamp 45, I/O group 7 index 57, at 144,363 lamp 51 0 1000FT # lamp 46, I/O group 7 index 56, at 163,363 lamp 52 0 1100FT # lamp 47, I/O group 7 index 46, at 142,344 lamp 53 0 1200FT # lamp 48, I/O group 7 index 45, at 164,344 lamp 54 0 BUILDING ROOF # lamp 49, I/O group 7 index 42, at 153,326 lamp 55 0 1250FT # lamp 50, I/O group 8 index 24, at 153,300 lamp 56 0 BIPLANE 1 # lamp 51, I/O group 7 index 62, at 189,398 lamp 57 0 BIPLANE 2 # lamp 52, I/O group 7 index 58, at 180,379 lamp 58 0 BIPLANE 3 # lamp 53, I/O group 7 index 55, at 181,360 lamp 59 0 BIPLANE 4 # lamp 54, I/O group 7 index 44, at 182,341 lamp 60 0 ATTACK # lamp 55, I/O group 7 index 41, at 171,323 lamp 61 0x70000 SWEEP BONUS # lamp 56, I/O group 7 index 43, at 119,340 lamp 62 0x100000000 POWERUP # lamp 57, I/O group 7 index 40, at 138,314 lamp 63 0 LIGHT LOCK # lamp 58, I/O group 7 index 47, at 58,266 lamp 64 0 LIGHT COMBOS # lamp 59, I/O group 7 index 48, at 68,287 lamp 65 0 LIGHT JACKPOT # lamp 60, I/O group 7 index 49, at 80,310 lamp 66 0x800 4 BANK DROP 1- TOP # lamp 61, I/O group 7 index 53, at 73,256 lamp 67 0x1000 4 BANK DROP 2 # lamp 62, I/O group 7 index 52, at 80,272 lamp 68 0x2000 4 BANK DROP 3 # lamp 63, I/O group 7 index 51, at 88,286 lamp 69 0x4000 4 BANK DROP 4- BOT # lamp 64, I/O group 7 index 50, at 97,302 lamp 70 0 LOG BRIDGE # lamp 65, I/O group 8 index 12, at 30,232 lamp 71 0x1000000000 ISLAND TREASURE # lamp 66, I/O group 8 index 13, at 50,243 lamp 72,73,74 0x60000000000 LEFT ORBIT # lamp 67, I/O group 8 index 8, at 38,187 lamp 75 0 LEFT ORBIT CLIMB # lamp 68, I/O group 8 index 11, at 42,205 lamp 76 0x80000000 X1 # lamp 69, I/O group 8 index 18, at 59,190 lamp 77,78,79 0x2000000000 LEFT RAMP # lamp 70, I/O group 8 index 15, at 71,198 lamp 80 0 LEFT RAMP CLIMB # lamp 71, I/O group 8 index 14, at 70,216 lamp 81 0x400000000000 2.42 MILLION BANANAS # lamp 72, I/O group 8 index 42, at 212,104 lamp 82,83,84 0x8000000000 BIPLANE # lamp 73, I/O group 8 index 32, at 163,280 lamp 85 0 BIPLANE CLIMB # lamp 74, I/O group 8 index 31, at 78,289 lamp 86,87,88 0x1000000000000 U-TURN # lamp 75, I/O group 8 index 36, at 172,262 lamp 89 0 U-TURN CLIMB # lamp 76, I/O group 8 index 35, at 184,273 lamp 90,91,92 0x4000000000 CENTER RAMP # lamp 77, I/O group 8 index 52, at 153,216 lamp 93 0 CENTER RAMP CLIMB # lamp 78, I/O group 8 index 55, at 153,236 lamp 94 0x200000000 X2 # lamp 79, I/O group 8 index 50, at 175,215 lamp 95,96,97 0x80000000000 CENTER LANE # lamp 80, I/O group 8 index 46, at 189,204 lamp 98 0 CENTER LANE CLIMB # lamp 81, I/O group 8 index 45, at 189,221 lamp 99 0 LOST TEMPLE # lamp 82, I/O group 8 index 44, at 189,245 lamp 100 0x400000000 X3 # lamp 83, I/O group 8 index 59, at 230,275 lamp 101 0 ISLAND SCENE # lamp 84, I/O group 8 index 57, at 222,261 lamp 102 0 BANG GONG # lamp 85, I/O group 8 index 58, at 219,274 lamp 103,104,105 0x4800000000000 KONG GONG # lamp 86, I/O group 8 index 60, at 213,297 lamp 106 0x800000000 X4 # lamp 87, I/O group 8 index 63, at 236,293 lamp 107 0 NYC EVENT # lamp 88, I/O group 8 index 71, at 267,244 lamp 108 0 ISLAND LOCK # lamp 89, I/O group 8 index 70, at 262,260 lamp 109,110,111 0x8300000000000 RIGHT ORBIT # lamp 90, I/O group 8 index 67, at 255,284 lamp 112 0 RIGHT ORBIT CLIMB # lamp 91, I/O group 8 index 64, at 250,302 lamp 113 0 LEFT RAMP BB # lamp 92, I/O group 8 index 21, at 60,174 lamp 114 0 BIPLANE BB SUPER JACKPOT # lamp 93, I/O group 8 index 20, at 165,80 lamp 115 0 BIPLANE BB ADVANCE BIPLANE # lamp 94, I/O group 8 index 19, at 145,80 lamp 116 0 TRAIN LOCK 3 # lamp 95, I/O group 8 index 25, at 152,128 lamp 117 0 TRAIN LOCK 2 # lamp 96, I/O group 8 index 26, at 152,146 lamp 118 0 TRAIN LOCK 1 # lamp 97, I/O group 8 index 27, at 152,164 lamp 119 0 GONG LEFT # lamp 98, I/O group 8 index 3, at 206,253 lamp 120 0 GONG RIGHT # lamp 99, I/O group 8 index 4, at 243,257 lamp 122 0 BOTTOM GI-WHT # lamp 101, I/O group 7 index 0, at 0,0 lamp 123 0 ARCH GI-WHT # lamp 102, I/O group 7 index 1, at 0,0 lamp 124 0 TOP GI-WHT # lamp 103, I/O group 8 index 0, at 0,0 lamp 126 0x2 LOWER LEFT SPOT # lamp 105, I/O group 7 index 22, at 98,506 lamp 127 0x4 LOWER RIGHT SPOT # lamp 106, I/O group 7 index 23, at 208,506 lamp 128 0 TEMPLE FLASH # lamp 107, I/O group 8 index 40, at 39,294 lamp 129 0x70000000 PIT FLASH # lamp 108, I/O group 8 index 41, at 70,354 lamp 130 0x780000 LEFT SPINNER FLASH # lamp 109, I/O group 8 index 22, at 39,146 lamp 131 0x7800000 RIGHT SPINNER FLASH # lamp 110, I/O group 8 index 49, at 189,177 lamp 132 0 GONG FLASH # lamp 111, I/O group 8 index 56, at 230,228 lamp 133 0 KONG CAVE FLASHER # lamp 112, I/O group 8 index 39, at 281,371 lamp 136 0 TRAIN FLASH # lamp 115, I/O group 8 index 65, at 221,261 lamp 138 0 RIVER FLASH TOP # lamp 117, I/O group 8 index 5, at 25,353 lamp 139 0 RIVER FLASH MID # lamp 118, I/O group 8 index 6, at 25,366 lamp 140 0 RIVER FLASH BOT # lamp 119, I/O group 8 index 7, at 25,381 lamp 438,439,440 0 EXPRESSIVE LIGHTING 1 # lamp 143, I/O group 1 index 1, at 7,539 lamp 441,442,443 0 EXPRESSIVE LIGHTING 2 # lamp 144, I/O group 1 index 4, at 7,519 lamp 444,445,446 0 EXPRESSIVE LIGHTING 3 # lamp 145, I/O group 1 index 7, at 7,500 lamp 447,448,449 0 EXPRESSIVE LIGHTING 4 # lamp 146, I/O group 1 index 10, at 7,480 lamp 450,451,452 0 EXPRESSIVE LIGHTING 5 # lamp 147, I/O group 1 index 13, at 7,461 lamp 453,454,455 0 EXPRESSIVE LIGHTING 6 # lamp 148, I/O group 1 index 16, at 7,441 lamp 456,457,458 0 EXPRESSIVE LIGHTING 7 # lamp 149, I/O group 1 index 19, at 7,422 lamp 459,460,461 0 EXPRESSIVE LIGHTING 8 # lamp 150, I/O group 1 index 22, at 7,402 lamp 462,463,464 0 EXPRESSIVE LIGHTING 9 # lamp 151, I/O group 1 index 25, at 7,383 lamp 465,466,467 0 EXPRESSIVE LIGHTING 10 # lamp 152, I/O group 1 index 28, at 7,364 lamp 468,469,470 0 EXPRESSIVE LIGHTING 11 # lamp 153, I/O group 1 index 31, at 7,344 lamp 471,472,473 0 EXPRESSIVE LIGHTING 12 # lamp 154, I/O group 1 index 34, at 7,325 lamp 474,475,476 0 EXPRESSIVE LIGHTING 13 # lamp 155, I/O group 1 index 37, at 7,305 lamp 477,478,479 0 EXPRESSIVE LIGHTING 14 # lamp 156, I/O group 1 index 40, at 7,286 lamp 480,481,482 0 EXPRESSIVE LIGHTING 15 # lamp 157, I/O group 1 index 43, at 7,266 lamp 483,484,485 0 EXPRESSIVE LIGHTING 16 # lamp 158, I/O group 1 index 46, at 7,247 lamp 486,487,488 0 EXPRESSIVE LIGHTING 17 # lamp 159, I/O group 1 index 49, at 7,228 lamp 489,490,491 0 EXPRESSIVE LIGHTING 18 # lamp 160, I/O group 1 index 52, at 7,208 lamp 492,493,494 0 EXPRESSIVE LIGHTING 19 # lamp 161, I/O group 1 index 55, at 7,189 lamp 495,496,497 0 EXPRESSIVE LIGHTING 20 # lamp 162, I/O group 1 index 58, at 7,169 lamp 498,499,500 0 EXPRESSIVE LIGHTING 21 # lamp 163, I/O group 1 index 61, at 7,150 lamp 501,502,503 0 EXPRESSIVE LIGHTING 22 # lamp 164, I/O group 1 index 64, at 7,130 lamp 504,505,506 0 EXPRESSIVE LIGHTING 23 # lamp 165, I/O group 1 index 67, at 7,111 lamp 507,508,509 0 EXPRESSIVE LIGHTING 24 # lamp 166, I/O group 1 index 70, at 7,92 lamp 510,511,512 0 EXPRESSIVE LIGHTING 25 # lamp 167, I/O group 1 index 73, at 7,539 lamp 513,514,515 0 EXPRESSIVE LIGHTING 26 # lamp 168, I/O group 1 index 76, at 7,519 lamp 516,517,518 0 EXPRESSIVE LIGHTING 27 # lamp 169, I/O group 1 index 79, at 7,500 lamp 519,520,521 0 EXPRESSIVE LIGHTING 28 # lamp 170, I/O group 1 index 82, at 7,480 lamp 522,523,524 0 EXPRESSIVE LIGHTING 29 # lamp 171, I/O group 1 index 85, at 7,461 lamp 525,526,527 0 EXPRESSIVE LIGHTING 30 # lamp 172, I/O group 1 index 88, at 7,441 lamp 528,529,530 0 EXPRESSIVE LIGHTING 31 # lamp 173, I/O group 1 index 91, at 7,422 lamp 531,532,533 0 EXPRESSIVE LIGHTING 32 # lamp 174, I/O group 1 index 94, at 7,402 lamp 534,535,536 0 EXPRESSIVE LIGHTING 33 # lamp 175, I/O group 1 index 97, at 7,383 lamp 537,538,539 0 EXPRESSIVE LIGHTING 34 # lamp 176, I/O group 1 index 100, at 7,364 lamp 540,541,542 0 EXPRESSIVE LIGHTING 35 # lamp 177, I/O group 1 index 103, at 7,344 lamp 543,544,545 0 EXPRESSIVE LIGHTING 36 # lamp 178, I/O group 1 index 106, at 7,325 lamp 546,547,548 0 EXPRESSIVE LIGHTING 37 # lamp 179, I/O group 1 index 109, at 7,305 lamp 549,550,551 0 EXPRESSIVE LIGHTING 38 # lamp 180, I/O group 1 index 112, at 7,286 lamp 552,553,554 0 EXPRESSIVE LIGHTING 39 # lamp 181, I/O group 1 index 115, at 7,266 lamp 555,556,557 0 EXPRESSIVE LIGHTING 40 # lamp 182, I/O group 1 index 118, at 7,247 lamp 558,559,560 0 EXPRESSIVE LIGHTING 41 # lamp 183, I/O group 1 index 121, at 7,228 lamp 561,562,563 0 EXPRESSIVE LIGHTING 42 # lamp 184, I/O group 1 index 124, at 7,208 lamp 564,565,566 0 EXPRESSIVE LIGHTING 43 # lamp 185, I/O group 1 index 127, at 7,189 lamp 567,568,569 0 EXPRESSIVE LIGHTING 44 # lamp 186, I/O group 1 index 130, at 7,169 lamp 570,571,572 0 EXPRESSIVE LIGHTING 45 # lamp 187, I/O group 1 index 133, at 7,150 lamp 573,574,575 0 EXPRESSIVE LIGHTING 46 # lamp 188, I/O group 1 index 136, at 7,130 lamp 576,577,578 0 EXPRESSIVE LIGHTING 47 # lamp 189, I/O group 1 index 139, at 7,111 lamp 579,580,581 0 EXPRESSIVE LIGHTING 48 # lamp 190, I/O group 1 index 142, at 7,92 lamp 582,583,584 0 EXPRESSIVE LIGHTING 49 # lamp 191, I/O group 1 index 145, at 305,539 lamp 585,586,587 0 EXPRESSIVE LIGHTING 50 # lamp 192, I/O group 1 index 148, at 305,519 lamp 588,589,590 0 EXPRESSIVE LIGHTING 51 # lamp 193, I/O group 1 index 151, at 305,500 lamp 591,592,593 0 EXPRESSIVE LIGHTING 52 # lamp 194, I/O group 1 index 154, at 305,480 lamp 594,595,596 0 EXPRESSIVE LIGHTING 53 # lamp 195, I/O group 1 index 157, at 305,461 lamp 597,598,599 0 EXPRESSIVE LIGHTING 54 # lamp 196, I/O group 1 index 160, at 305,441 lamp 600,601,602 0 EXPRESSIVE LIGHTING 55 # lamp 197, I/O group 1 index 163, at 305,422 lamp 603,604,605 0 EXPRESSIVE LIGHTING 56 # lamp 198, I/O group 1 index 166, at 305,402 lamp 606,607,608 0 EXPRESSIVE LIGHTING 57 # lamp 199, I/O group 1 index 169, at 305,383 lamp 609,610,611 0 EXPRESSIVE LIGHTING 58 # lamp 200, I/O group 1 index 172, at 305,364 lamp 612,613,614 0 EXPRESSIVE LIGHTING 59 # lamp 201, I/O group 1 index 175, at 305,344 lamp 615,616,617 0 EXPRESSIVE LIGHTING 60 # lamp 202, I/O group 1 index 178, at 305,325 lamp 618,619,620 0 EXPRESSIVE LIGHTING 61 # lamp 203, I/O group 1 index 181, at 305,305 lamp 621,622,623 0 EXPRESSIVE LIGHTING 62 # lamp 204, I/O group 1 index 184, at 305,286 lamp 624,625,626 0 EXPRESSIVE LIGHTING 63 # lamp 205, I/O group 1 index 187, at 305,266 lamp 627,628,629 0 EXPRESSIVE LIGHTING 64 # lamp 206, I/O group 1 index 190, at 305,247 lamp 630,631,632 0 EXPRESSIVE LIGHTING 65 # lamp 207, I/O group 1 index 193, at 305,228 lamp 633,634,635 0 EXPRESSIVE LIGHTING 66 # lamp 208, I/O group 1 index 196, at 305,208 lamp 636,637,638 0 EXPRESSIVE LIGHTING 67 # lamp 209, I/O group 1 index 199, at 305,189 lamp 639,640,641 0 EXPRESSIVE LIGHTING 68 # lamp 210, I/O group 1 index 202, at 305,169 lamp 642,643,644 0 EXPRESSIVE LIGHTING 69 # lamp 211, I/O group 1 index 205, at 305,150 lamp 645,646,647 0 EXPRESSIVE LIGHTING 70 # lamp 212, I/O group 1 index 208, at 305,130 lamp 648,649,650 0 EXPRESSIVE LIGHTING 71 # lamp 213, I/O group 1 index 211, at 305,111 lamp 651,652,653 0 EXPRESSIVE LIGHTING 72 # lamp 214, I/O group 1 index 214, at 305,92 lamp 654,655,656 0 EXPRESSIVE LIGHTING 73 # lamp 215, I/O group 1 index 217, at 305,539 lamp 657,658,659 0 EXPRESSIVE LIGHTING 74 # lamp 216, I/O group 1 index 220, at 305,519 lamp 660,661,662 0 EXPRESSIVE LIGHTING 75 # lamp 217, I/O group 1 index 223, at 305,500 lamp 663,664,665 0 EXPRESSIVE LIGHTING 76 # lamp 218, I/O group 1 index 226, at 305,480 lamp 666,667,668 0 EXPRESSIVE LIGHTING 77 # lamp 219, I/O group 1 index 229, at 305,461 lamp 669,670,671 0 EXPRESSIVE LIGHTING 78 # lamp 220, I/O group 1 index 232, at 305,441 lamp 672,673,674 0 EXPRESSIVE LIGHTING 79 # lamp 221, I/O group 1 index 235, at 305,422 lamp 675,676,677 0 EXPRESSIVE LIGHTING 80 # lamp 222, I/O group 1 index 238, at 305,402 lamp 678,679,680 0 EXPRESSIVE LIGHTING 81 # lamp 223, I/O group 1 index 241, at 305,383 lamp 681,682,683 0 EXPRESSIVE LIGHTING 82 # lamp 224, I/O group 1 index 244, at 305,364 lamp 684,685,686 0 EXPRESSIVE LIGHTING 83 # lamp 225, I/O group 1 index 247, at 305,344 lamp 687,688,689 0 EXPRESSIVE LIGHTING 84 # lamp 226, I/O group 1 index 250, at 305,325 lamp 690,691,692 0 EXPRESSIVE LIGHTING 85 # lamp 227, I/O group 1 index 253, at 305,305 lamp 693,694,695 0 EXPRESSIVE LIGHTING 86 # lamp 228, I/O group 1 index 256, at 305,286 lamp 696,697,698 0 EXPRESSIVE LIGHTING 87 # lamp 229, I/O group 1 index 259, at 305,266 lamp 699,700,701 0 EXPRESSIVE LIGHTING 88 # lamp 230, I/O group 1 index 262, at 305,247 lamp 702,703,704 0 EXPRESSIVE LIGHTING 89 # lamp 231, I/O group 1 index 265, at 305,228 lamp 705,706,707 0 EXPRESSIVE LIGHTING 90 # lamp 232, I/O group 1 index 268, at 305,208 lamp 708,709,710 0 EXPRESSIVE LIGHTING 91 # lamp 233, I/O group 1 index 271, at 305,189 lamp 711,712,713 0 EXPRESSIVE LIGHTING 92 # lamp 234, I/O group 1 index 274, at 305,169 lamp 714,715,716 0 EXPRESSIVE LIGHTING 93 # lamp 235, I/O group 1 index 277, at 305,150 lamp 717,718,719 0 EXPRESSIVE LIGHTING 94 # lamp 236, I/O group 1 index 280, at 305,130 lamp 720,721,722 0 EXPRESSIVE LIGHTING 95 # lamp 237, I/O group 1 index 283, at 305,111 lamp 723,724,725 0 EXPRESSIVE LIGHTING 96 # lamp 238, I/O group 1 index 286, at 305,92 # ---- the game's own modes (item 164): its mode TABLE, walked by the runtime (MODE_SDK.md "The game's own # modes"): the array the get-mode-by-id accessor reads, the cmode class's ACTIVE slot (Godzilla's 14, found # by its body), START (active - 6), the typeinfos that tell a cmode and a multiball (cmode_mball) apart data stock_mode_table 0x008a6898 value stock_mode_count 34 data typeinfo_cmode 0x00724964 data typeinfo_cmode_mball 0x0073535c data typeinfo_vmi 0x00720da8 # ---- the framework's count of the balls in play (The Beatles 1.29 0x1fd194, found here by its code, # 20/20 words alike); two or more is a multiball (the stack section) and a multiball of the mode's own # watches it (item 167) site balls_in_play 0x00599fa0 0xe92d4010 0xe3014f98 # ---- a multiball of the mode's own (item 167): the framework's start-a-multiball (The Beatles 1.29 # 0x1fd310, found here by its code, 24/24 words alike): serve balls until r0 are in play, r1 0, r2 the # ball save in ticks (62 a second), r3 0xbb as this build's own multiballs pass it, two zero words on the # stack. pm_multiball_start / pm_multiball_add; a mode file's `multiball` line; the tab's Multiball. site multiball_serve 0x0059a11c 0xe92d41f0 0xe308e7fe # EMU 2026-09-26 (mb_batch.sh): served 3 on a mode file's start, both jackpot shots paid, add-a-ball to 4, drains 4-3-2-1, END (one ball left). PROVEN. # PAD-363: the game's own modes a mode of ours may keep from starting (game_mode_blocks.py, from the # game program: each mode's start = its vtable + 8 + 4 * the title's start slot). Never a multiball. # left out: 1 Kong Multiball (multiball), 2 The Pit Multiball Giant Spider (multiball), 3 The Pit Multiball Octopus Insect (multiball), 4 The Pit Multiball Two Legged Lizard (multiball), 10 Island Lock Victory Challenge (multiball), 11 Trex Battle (multiball), 12 Trex Boss Battle (multiball), 13 Spider Queen (multiball), 14 Lost Temple Multiball (multiball), 15 Eighth Wonder (multiball), 33 Golden Gary (multiball) site block_start_5 0x00103a90 0xe92d4ff0 0xe24dd014 data block_obj_5 0x008a6ff0 text block_name_5 Island Scene Escape the Swamp site block_start_6 0x0010dda0 0xe92d4ff0 0xe24dd00c data block_obj_6 0x008a70d0 text block_name_6 Island Scene Save Ann site block_start_7 0x000fa34c 0xe92d4ff0 0xe24dd014 data block_obj_7 0x008a7190 text block_name_7 Island Scene Cross the Chasm site block_start_8 0x00115778 0xe92d4ff0 0xe24dd01c data block_obj_8 0x008a7260 text block_name_8 Island Scene Pterodactyl Attack site block_start_9 0x0011dd2c 0xe92d4ff0 0xe24dd014 data block_obj_9 0x008a7350 text block_name_9 Island Scene Stegosaurus Encounter site block_start_16 0x0010732c 0xe5901000 0xe3a02ce1 data block_obj_16 0x008a7428 text block_name_16 Island Scene Save Ann Hurry Up site block_start_17 0x000c2e60 0xe5901000 0xe3a02000 data block_obj_17 0x008a74d8 text block_name_17 Crash the Gate Hurry Up site block_start_18 0x000b9a2c 0xe92d4ff0 0xe24dd01c data block_obj_18 0x008a79f8 text block_name_18 Biplane Attack site block_start_19 0x000d1a70 0xe92d4ff0 0xe24dd01c data block_obj_19 0x008a7af0 text block_name_19 Deadeye site block_start_20 0x00147bc4 0xe5903000 0xe3a01000 data block_obj_20 0x008a7bd0 text block_name_20 Nyc Event Manhattan Rampage site block_start_21 0x00147bc4 0xe5903000 0xe3a01000 data block_obj_21 0x008a7d38 text block_name_21 Nyc Event Stage Fright site block_start_22 0x00147bc4 0xe5903000 0xe3a01000 data block_obj_22 0x008a7e18 text block_name_22 Nyc Event Window Shopping site block_start_23 0x0016b030 0xe92d4ff0 0xe24dd01c data block_obj_23 0x008a7f20 text block_name_23 Rapids site block_start_24 0x0017a990 0xe92d4ff0 0xe24dd014 data block_obj_24 0x008a7ff0 text block_name_24 Super Cave Target site block_start_25 0x000c797c 0xe92d4ff0 0xe24dd01c data block_obj_25 0x008a8080 text block_name_25 Crash the Gate site block_start_26 0x000bf608 0xe92d4ff0 0xe24dd014 data block_obj_26 0x008a8120 text block_name_26 Cliffhanger site block_start_27 0x00127aec 0xe92d4ff0 0xe24dd01c data block_obj_27 0x008a81c8 text block_name_27 King Kombos site block_start_28 0x00180a50 0xe92d4ff0 0xe24dd01c data block_obj_28 0x008a83f0 text block_name_28 Super Kombos site block_start_29 0x001892dc 0xe92d4ff0 0xe24dd014 data block_obj_29 0x008a8618 text block_name_29 Super Rapids site block_start_30 0x0019081c 0xe92d4ff0 0xe24dd014 data block_obj_30 0x008a86c8 text block_name_30 Super Spinners site block_start_31 0x001bf4a8 0xe92d4ff0 0xe24dd014 data block_obj_31 0x008a8768 text block_name_31 Treasure Hunt site block_start_32 0x00198578 0xe92d4ff0 0xe24dd014 data block_obj_32 0x008a8840 text block_name_32 Terror on the Tower # ---- held coils (PAD-381's runtime; PAD-394): King Kong's ControlCoil objects a mode may hold, the way the # Godzilla Premium's magnets and bridge are held (MODE_SDK.md "Held coils"). King Kong's ControlCoil is # Godzilla's: its take/give (+44 the controlling process), and the vtable slots the runtime calls - v[29] pulse # power, v[30] pulse ms, v[31] hold power, v[36], v[40] disabled, v[54..58] - are the same functions at the # same slots (two more virtuals at the end, 61). The framework calls drafted from Godzilla Pro 1.16 by # port_tool.py (strict); each getter found by its class's vtable (the function-static object the ControlCoil # constructor builds, its device the constructor's r1) and checked by the tests. magnet_proc: no process call # of this program names 13185..13188. site coil_fire 0x004b0498 0xe3500000 0xe52de004 site adjustment 0x003e19dc 0xe92d40f0 0xe2504000 site proc_exists 0x0051f65c 0xe30b2c88 0xe340208e site proc_create 0x0051f02c 0xe30bcc88 0xe340c08e site proc_sleep 0x0051f15c 0xe30b3c88 0xe340308e site coil_take 0x0005e18c 0xe92d40f8 0xe30b7c8c site coil_give 0x0005e250 0xe3510000 0xe92d4038 value magnet_proc 13185 # spider_magnet = SpiderMagnet (its powers from adjustments 370..; the spider's magnet), log_diverter = # LogDiverter, ramp_diverter = CenterRampDiverter. Never here: the TrainLock post (it holds locked balls), # the VUKs, the trough, flippers, slingshots and pops. text held_coils spider_magnet log_diverter ramp_diverter site spider_magnet_get 0x0007b2bc 0xe92d40f0 0xe3004a2c value spider_magnet_dev 10 text spider_magnet_label spider magnet site log_diverter_get 0x00076f14 0xe92d40f0 0xe30045f0 value log_diverter_dev 13 text log_diverter_label log diverter site ramp_diverter_get 0x002a5348 0xe92d4070 0xe3034160 value ramp_diverter_dev 15 text ramp_diverter_label center ramp diverter # PAD-398: every rule of the game's that reads shots (game_mode_blocks.read_rules, from the game # program): while a mode of ours runs, each sees none of its shots unless the mode keeps it (no # block_rule_lo/hi lines: every bit); the battle rule is block_battle_shots. `text block_rule_name_` # is what the Modes tab lists. site block_rule_0 0x001dc8e4 0xe92d4ff0 0xe24dd03c # RuleBananaCombos::v[27] text block_rule_name_0 Banana Combos site block_rule_1 0x001e24cc 0xe92d4ff0 0xe24dd01c # RuleBiplaneRamp::v[27] text block_rule_name_1 Biplane Ramp site block_rule_2 0x001ea22c 0xe92d40f0 0xe24dd00c # RuleBuildingClimb::v[27] text block_rule_name_2 Building Climb site block_rule_3 0x001ee9f4 0xe92d47f0 0xe1a06002 # RuleDeadeye::v[27] text block_rule_name_3 Deadeye site block_rule_4 0x001f70e0 0xe92d4ff0 0xe24dd014 # RuleDropTargets::v[27] text block_rule_name_4 Drop Targets site block_rule_5 0x00202748 0xe92d41f0 0xe1a05000 # RuleIslandScenes::v[27] text block_rule_name_5 Island Scenes site block_rule_6 0x0020b010 0xe92d4ff8 0xe1a06002 # RuleKongLetters::v[27] text block_rule_name_6 Kong Letters site block_rule_7 0x00210e38 0xe92d4ff8 0xe1a04002 # RuleKongLocks::v[27] text block_rule_name_7 Kong Locks site block_rule_8 0x002153d8 0xe30113b8 0xe340108a # RuleLeapOfFaith::v[27] text block_rule_name_8 Leap of Faith site block_rule_9 0x002174c0 0xe92d4038 0xe3a000a6 # RuleLogBridge::v[27] text block_rule_name_9 Log Bridge site block_rule_10 0x0021fc5c 0xe92d47f0 0xe2037010 # RuleLostTemple::v[27] text block_rule_name_10 Lost Temple site block_rule_11 0x00226428 0xe2033601 0xe3a02000 # RuleMapSegments::v[27] text block_rule_name_11 Map Segments site block_rule_12 0x0022a424 0xe2033901 0xe3a02000 # RuleMillionBananas::v[27] text block_rule_name_12 Million Bananas site block_rule_13 0x0022fb58 0xe92d4030 0xe2024102 # RuleMultipliers::v[27] text block_rule_name_13 Multipliers site block_rule_14 0x00235bec 0xe92d4070 0xe1a04002 # RuleMystery::v[27] text block_rule_name_14 Mystery site block_rule_15 0x002384c0 0xe92d4370 0xe1a04002 # RuleRicochet::v[27] text block_rule_name_15 Ricochet site block_rule_16 0x0023ee10 0xe92d4ff0 0xe24dd00c # RuleRiver::v[27] text block_rule_name_16 River site block_rule_17 0x00244f3c 0xe92d40f8 0xe1a05003 # RuleSkillShot::v[27] text block_rule_name_17 Skill Shot site block_rule_18 0x0024cf94 0xe92d4ff0 0xe24dd01c # RuleTheCliffs::v[27] text block_rule_name_18 The Cliffs site block_rule_19 0x002528c8 0xe92d4ff0 0xe1a08002 # RuleThePit::v[27] text block_rule_name_19 The Pit site block_rule_20 0x0026d838 0xe2022001 0xe3a03000 # UIBonusScreen::v[27] text block_rule_name_20 UI Bonus Screen # ---- PAD-420: the scoop (a mode holds a ball there; the kick-out stays the game's). The process # calls, the scoop's handler and its slot as the mechanisms helper placed them; seen holding in the # emulator (see SCOOP_PROVEN) site scoop_handler 0x000acea0 0xe30837fe 0xe2401002 data scoop_slot 0x008566d0 value scoop_event 2 # ---- PAD-420: the game's own clean-up of a show's lamp groups (pad_mode_runtime.c show_exit_hook): the # game's "free every lamp group this process owns" (its process exit calls it for a show it started # itself), and where a process record keeps its exit hooks ({fn, arg} pairs). Found by shows/procexit.py. site lamp_free_owner 0x0059e78c 0xe92d4010 0xe1a04000 value proc_exit_hooks 0x120 value proc_exit_slots 4 # ---- PAD-420: the game's own light shows (pad_mode_runtime.c "the game's own light shows", PAD-411's # route): each a process body of the game's that lights lamps, played as process show_proc (an id the game # never uses), its lamp groups freed as it ends (lamp_free_owner). Every candidate was played in the emulator # with the lamp groups the show process owned recorded, and on the light-language builds the light runner's # commands (shows/scan_job3.sh, scanlog3.so); each is named from what it did - its colours (the RGB inserts its # groups lit, or the commands' --red/--green/--blue), on/off toggling (a strobe), in-between levels (a fade), # lights coming on in turn (a chase), how many lights next to the build's biggest show (wide: 80% or more, # small: 25% or fewer) - and how long it ran (shows/finalname.py; on Godzilla LE's ten it gives PAD-411's # kinds). None reaches the game's sound, score, coil, award, clip or event calls (shows/showsafe.py), and none # is one the game crashed after in the scan. show_kind: flashy (a mode's start), subdued (its end), accent (a # moment). value show_proc 13201 site show_1 0x0004be64 0xe92d4010 0xeb135ab8 # 480 lights in its lamp groups, 5 light-runner commands, no colour given, 4.4 s text show_name_1 Wide strobe text show_kind_1 flashy value show_secs_1 4 site show_2 0x000a5e54 0xe92d4070 0xeb11f2bc # 228 lights in its lamp groups, 0 light-runner commands, no colour given, 4.8 s text show_name_2 Chase text show_kind_2 flashy value show_secs_2 5 site show_3 0x000c2590 0xe92d4ff0 0xe24dd03c # 220 lights in its lamp groups, 0 light-runner commands, red, 2.8 s text show_name_3 Red strobe text show_kind_3 flashy value show_secs_3 3 site show_4 0x0028fa68 0xe92d4ff0 0xe30b4c8c # 216 lights in its lamp groups, 4 light-runner commands, no colour given, 11.7 s text show_name_4 Strobe text show_kind_4 flashy value show_secs_4 8 site show_5 0x0028ee04 0xe92d4ff0 0xe30b4c8c # 168 lights in its lamp groups, 6 light-runner commands, no colour given, 11.5 s text show_name_5 Fast strobe text show_kind_5 flashy value show_secs_5 8 site show_6 0x000a5b5c 0xe92d4070 0xeb11f37a # 117 lights in its lamp groups, 0 light-runner commands, white, 2.8 s text show_name_6 Small white glow text show_kind_6 flashy value show_secs_6 3 site show_7 0x000f2f60 0xe92d4038 0xeb10be79 # 484 lights in its lamp groups, 88 light-runner commands, yellow, white, 4.0 s text show_name_7 Wide yellow and white fade text show_kind_7 subdued value show_secs_7 4 site show_8 0x001d2aac 0xe92d4070 0xeb0d3fa6 # 476 lights in its lamp groups, 50 light-runner commands, red, white, 6.1 s text show_name_8 Wide red and white fade text show_kind_8 subdued value show_secs_8 6 site show_9 0x001c7718 0xe92d4070 0xeb0d6c8b # 476 lights in its lamp groups, 50 light-runner commands, blue, white, 6.1 s text show_name_9 Wide blue and white fade text show_kind_9 subdued value show_secs_9 6 site show_10 0x00137b48 0xe92d4010 0xeb0fab7f # 348 lights in its lamp groups, 8 light-runner commands, magenta, 3.5 s text show_name_10 Magenta fade text show_kind_10 subdued value show_secs_10 4 site show_11 0x0028cba0 0xe92d4010 0xeb0a5769 # 494 lights in its lamp groups, 5 light-runner commands, green, white, 1.5 s text show_name_11 Wide green and white fade text show_kind_11 accent value show_secs_11 1 site show_12 0x0028ccac 0xe92d4038 0xeb0a5726 # 490 lights in its lamp groups, 0 light-runner commands, blue, white, 1.7 s text show_name_12 Wide blue and white strobe text show_kind_12 accent value show_secs_12 2 # ---- PAD-474: the shaker motor, read by shaker_lines.py from the game's own shake routine ---------- # shake(ms, strength 0..3 (powers 51/36/31/23 /255), force): adjustment 347 (AD_SHAKER_MOTOR), drive 7; 8 constant calls site shake 0x00264f04 0xe92d40f0 0xe1a04000 site shake_stop 0x00264fb8 0xe52de004 0xe24dd00c site drive_left 0x004b03ec 0xe3500000 0xe92d4038 value shake_adj 347 value shake_drive 7 text shake_max_ms 500 0 1500 200 text shake_setting_ms 0 100 334 500 5000 text shake_tap 0:100:0 text shake_short 0:200:0 text shake_medium 0:334:0 text shake_long 0:1500:2 # ---- PAD-473: the game's own mini-wizards (MODE_SDK.md "The game's own mini-wizards on the other titles"): each one's # mode object, started by its own START (v[11]) as the game's rules start it and asked its ACTIVE (v[18]); # the names and what earns each are the game's rulesheet's, the objects this build's own (stock_scan_cpp). data wizard_obj_1 0x008a8080 # cmode_crash_the_gate text wizard_name_1 Crash the Gate text wizard_film_1 all five island scenes data wizard_obj_2 0x008a7640 # cmode_trex_battle, a multiball text wizard_name_2 T-Rex Battle text wizard_film_2 KING KONG spelled data wizard_obj_3 0x008a7738 # cmode_trex_boss_battle, a multiball text wizard_name_3 T-Rex Boss Battle text wizard_film_3 KING KONG spelled again # ---- switches: the buttons, on bits the game's shot dispatch never sends (MODE_SDK.md, Buttons). # The switch drain's edge logger (site switch_edge) arms only when the port has switch lines; these # four also become named shots for the modes. Every edge of every switch lands in /dump/switch.log. switch 34 0x1000000000000000 LOCKDOWN BUTTON switch 36 0x2000000000000000 START BUTTON switch 62 0x4000000000000000 RIGHT FLIPPER BUTTON switch 63 0x8000000000000000 LEFT FLIPPER BUTTON