Files
ddidderr 8b99e9607c feat(reconstruction): complete binary-backed C recovery
Replace the partial mechanics transcriptions with a separate, readable C11
reconstruction of the complete Win16 image while preserving the original raw
Ghidra export as immutable evidence. Cover all ordinary and overlapping entry
points, Borland runtime behavior, Win16 imports, segmented data, callbacks,
resources, indirect control flow, physics, rendering, persistence, and
startup/shutdown lifecycles.

Add deterministic extraction and audit tooling plus address-linked ledgers for
functions, imports, DGROUP ranges and objects, relocations, resources, and
callbacks. The final gate records zero raw, partial, restored, unknown,
blocked, or unclassified required units. Keep the semantic-fidelity boundary
explicit: the portable C is not claimed to reproduce a byte-identical Borland
NE build.

Add strict focused harnesses for every reconstructed C unit, exact resource
round-trip checks, and a 16-bit Borland Real48 reference probe. No Rust source
or Cargo metadata is changed in this phase.

Test Plan:
- `bash original/tools/test_reconstructed_c.sh` -- passed
- `bash original/tools/probe_real48_reference.sh` -- passed bit-for-bit
- `python3 original/tools/audit_reconstruction.py --require-complete` -- passed
- `git diff --cached --check` -- passed
- `git diff HEAD -- '*.rs' Cargo.toml Cargo.lock` -- empty
2026-08-23 16:41:17 +02:00

81 KiB

1startendstatusobject_idobject_namec_typeinitializationevidencenotes
21028:03111028:0311verifiedalignment_0311g_alignment_0311const uint8_tStatic zero byte between independently terminated high-score strings.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte string-table alignment/reserve.
31028:03351028:0335verifiedalignment_0335g_alignment_0335const uint8_tStatic zero byte between independently terminated high-score strings.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte string-table alignment/reserve.
41028:03951028:0395verifiedalignment_0395g_alignment_0395const uint8_tStatic zero byte between the HighScore title and version-error text.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte string-table alignment/reserve.
51028:04591028:0459verifiedalignment_0459g_alignment_0459const uint8_tStatic zero separator between WAV and pal resource-type strings.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte resource-string separator.
61028:05611028:0561verifiedalignment_0561g_alignment_0561const uint8_tStatic zero before the packed WNDCLASS16 object.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte WNDCLASS alignment.
71028:05851028:0585verifiedalignment_0585g_alignment_0585const uint8_tStatic zero between TPWinCrt class name and HWND state.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte runtime-state alignment.
81028:066b1028:066bverifiedalignment_066bg_alignment_066bconst uint8_tStatic zero between dialog template byte and thunk selector.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte ObjectWindows alignment.
91028:068b1028:068bverifiedalignment_068bg_alignment_068bconst uint8_tStatic zero between thunk opcode template and TurboWindow class string.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte ObjectWindows separator.
101028:06f31028:06f3verifiedalignment_06f3g_alignment_06f3const uint8_tStatic zero between focus marker and heap-reserve size.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte runtime alignment.
111028:06fb1028:06fbverifiedalignment_06fbg_alignment_06fbconst uint8_tStatic zero between heap-reserve flags and WinMain instance words.Exact binary byte; zero readers, writers, and relocations; complete verified referring-function closureExplicit one-byte startup-state alignment.
121028:076c1028:07beverifiedreserved_runtime_to_game_stateg_reserved_runtime_to_game_stateuint8_t[83]Zero-fill gap between the 36-byte application object and Windows-version/game-state globals.Complete reference, relocation, and defined-data inventories contain no address in the range; complete verified referring-function closureExplicit unreferenced runtime/game-state reserve; all 83 bytes remain zero in-image.
131028:07c31028:07c3verifiedalignment_07c3g_alignment_07c3uint8_tZero-fill byte between Windows-version dword and palette-update state.Complete zero-reader/zero-writer/zero-relocation inventory; complete verified referring-function closureExplicit one-byte game-state alignment.
141028:43351028:43bdverifiedreserved_asset_to_wave_stateg_reserved_asset_to_wave_stateuint8_t[137]Zero-fill gap between bitmap-handle tables and WAVEOUTCAPS16.Complete reference, relocation, and defined-data inventories contain no address in the range; complete verified referring-function closureExplicit unreferenced asset/sound reserve; all 137 bytes remain zero in-image.
151028:47851028:4789verifiedmultimedia_state_alignmentg_multimedia_state_alignmentuint8_t[5]Zero-fill gap between multimedia initialized byte and stored Windows version.Complete zero-reader/zero-writer/zero-relocation inventory; complete verified referring-function closureExplicit five-byte multimedia state alignment/reserve.
161028:486c1028:486cverifiedmultimedia_path_separator_486cg_multimedia_path_separator_486cuint8_tZero-fill byte between 200-byte system-directory buffer and CTL3D full-path buffer.Complete zero-reader/zero-writer/zero-relocation inventory; complete verified referring-function closureExplicit one-byte path-buffer separator.
171028:4a6d1028:4a6dverifiedtpwincrt_separator_4a6dg_tpwincrt_separator_4a6duint8_tZero-fill byte between CTL3DV2 full-path buffer and TPWinCrt title.Complete zero-reader/zero-writer/zero-relocation inventory; complete verified referring-function closureExplicit one-byte unit-state separator.
181028:4b381028:4d37verifiedtpwincrt_reserved_tailg_tpwincrt_reserved_tailuint8_t[512]Zero-fill tail after the 64-byte TPWinCrt input queue and before Borland heap request state.Complete reference, relocation, and defined-data inventories contain no address in the range; complete verified referring-function closureExplicit unreferenced TPWinCrt/unit reserve; all 512 bytes remain zero in-image.
191028:00001028:000fverifiedcompiler_data_prefixg_compiler_data_prefixconst uint8_t[16]Static exact bytes 00 00 00 00 05 00 followed by ten zero bytes; no relocation or direct reference.Binary bytes plus complete zero-reader/zero-writer inventory; complete verified referring-function closureExplicit compiler/module data prefix retained byte-for-byte; no semantic consumer exists in the image.
201028:006c1028:009dverifiedmain_window_dynamic_dispatchg_main_window_dynamic_dispatchconst uint8_t[50]Static 22-byte Borland dynamic-message descriptor followed by seven relocated far entry points.Exact bytes and relocations at 0082..009a to entry ordinals 8..14; all targets and dispatcher verified; complete verified referring-function closureComplete main-window dynamic dispatch descriptor, preserved separately from the VMT at 009e.
211028:009e1028:00edverifiedmain_window_vmtg_main_window_vmtconst uint8_t[80]Static TWindow-derived VMT header plus eighteen relocated far methods.Constructor uses VMT 009e; exact relocations 00a6..00ea; all method targets/window paths verified; complete verified referring-function closureExact main game-window VMT extent from size/header through final virtual slot.
221028:00ee1028:010dverifiedhighscore_dynamic_dispatchg_highscore_dynamic_dispatchconst uint8_t[32]Static 16-byte Borland dynamic-message descriptor followed by four relocated far entry points.Exact bytes and relocations 00fe..010a to entry ordinals 20..23; high-score window behavior verified; complete verified referring-function closureComplete dynamic dispatch descriptor paired with the verified high-score VMT at 010e.
231028:015e1028:017dverifiedfull_child_dynamic_dispatchg_full_child_dynamic_dispatchconst uint8_t[32]Static 16-byte Borland dynamic-message descriptor followed by four relocated far entry points.Exact bytes and relocations 016e..017a to entry ordinals 29..32; full-child handlers verified; complete verified referring-function closureComplete dynamic dispatch descriptor for the full-size child/help window class.
241028:017e1028:01cdverifiedfull_child_window_vmtg_full_child_window_vmtconst uint8_t[80]Static TWindow-derived VMT header plus eighteen relocated far methods.Constructors use VMT 017e; exact relocations 0186..01ca; all window targets verified; complete verified referring-function closureExact full-child/help window VMT from object size/header through final paint/message slot.
251028:01ce1028:0221verifiedtext_dialog_vmtg_text_dialog_vmtconst uint8_t[84]Static dialog-derived VMT header plus nineteen relocated far methods.High-score editor constructs VMT 01ce; exact relocations 01d6..021e; dialog lifecycle verified; complete verified referring-function closureExact modal text-dialog VMT including dialog-specific terminal slots 225 and 226.
261028:04701028:0521verifiedctl3d_procedure_name_tableg_ctl3d_procedure_name_tableconst uint8_t[178]Eleven adjacent NUL-terminated CTL3D export names in exact GetProcAddress order.Binary string units; verified 1010:01c2 loader resolves slots zero through ten and tests assert every name; complete verified referring-function closureExact symbol table from CTL3DAUTOSUBCLASS through CTL3DUNREGISTER; variable-length packed strings total 178 bytes.
271028:05221028:0537verifiedctl3d_library_namesg_ctl3d_library_namesconst char[2][11]Adjacent NUL-terminated strings CTL3D.DLL and CTL3DV2.DLL.Binary bytes and verified modern/legacy CTL3D search/load paths; complete verified referring-function closureExact primary and fallback helper DLL names, including both terminators.
281028:05c01028:05cbverifiedsystem_timer_vmtg_system_timer_vmtconst uint8_t[12]Static six-byte object descriptor plus relocated destructor entry at 05c8.Setup constructs VMT 05c0; relocation to entry ordinal 129; verified SystemTimer lifecycle/tests; complete verified referring-function closureExact six-byte timer object size, negative size/header fields, and destructor virtual slot.
291028:060a1028:064dverifiedobject_windows_application_dispatchg_object_windows_application_dispatchconst uint8_t[68]Static 28-byte application dispatch descriptor followed by ten relocated far handlers.Exact bytes and relocations 0626..064a to entry ordinals 178,179,181..188; application dispatch/tests verified; complete verified referring-function closureComplete ObjectWindows application dynamic table retained with every target address-backed.
301028:065a1028:0665verifiedobject_windows_default_proceduresg_object_windows_default_proceduresconst Win16FarPtr[3]Loader-relocated USER procedure pointers for ordinals 107, 447, and 308.NE relocations 136..138 and verified ObjectWindows default window/MDI procedure forwarding; complete verified referring-function closureExact three far import slots used as framework default procedure identities.
311028:06c51028:06f1verifiedborland_unit_descriptor_tableg_borland_unit_descriptor_tableconst uint8_t[45]Static Borland unit descriptor bytes followed by six relocated far initialization/finalization entries.Exact bytes and relocations 06da..06ee to entry ordinals 227..232; complete verified startup/ExitProc chain; complete verified referring-function closureExact compiler-generated unit lifecycle table; all six targets and ordering are represented.
321028:07db1028:07e2verifiedpredicted_ball_position_millig_predicted_ball_position_milliint32_t[2]Zero-fill; each physics substep publishes current position plus velocity as predicted X/Y before broadphase.Complete verified readers/writers 1000:c79c and 1000:9b69; reconstructed/tdkpin_physics.c and focused physics tests; complete verified referring-function closureExact X then Y signed dword extent, write order, trigger rewrite, and bounds use are fully represented.
331028:08691028:086averifiedunused_setup_word_0869g_unused_setup_word_0869uint16_tZero-fill and explicitly written zero by game setup; never read anywhere in the complete reference inventory.Sole write 1000:03ff in verified setup and zero-reader proof; complete verified referring-function closureExplicit retained word is initialized state, not silently omitted padding; it has no in-image consumer.
341028:08711028:0872verifiedphysics_substeps_per_tickg_physics_substeps_per_tickuint16_tConfigured from the clamped speed setting and snapshotted by physics before the one-based substep loop.Verified setup speed table and 1000:c79c loop; game-setup and physics tests; complete verified referring-function closureExact unsigned zero-through-configured substep semantics and zero-substep rendering behavior are fully represented.
351028:4d381028:4d39verifiedborland_heap_request_bytesg_borland_heap_request_bytesuint16_tZero-fill; 1020:01ca stores the current allocation request before local/global attempts and reuses it across HeapError retries.Complete sole-function references; verified borland_try_get_mem source and heap core/path tests; complete verified referring-function closureExact retry-stable uint16 request size, local/global threshold comparisons, and HeapError callback argument are fully represented.
361028:07ca1028:07caverifiedclaw_animation_activeg_claw_animation_activeuint8_tZero-fill; setup clears it, collision logic arms it, and the timer clears it after the claw returns to frame ten with the primary bank selected.Complete references; full timer state machine in reconstructed/tdkpin_timer_tick.c and test_timer_tick.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
371028:07e31028:07eaverifiedball_slot_x_positions_millig_ball_slot_x_positions_milliint32_t[2]Zero-fill; indexed save/load transfers active ball X for slots zero and one.Verified 1000:c36b/c426 stride plus full timer promotion/copy paths; gameplay-helper and timer tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
381028:07eb1028:07f2verifiedball_slot_y_positions_millig_ball_slot_y_positions_milliint32_t[2]Zero-fill; indexed save/load transfers active ball Y for slots zero and one.Verified 1000:c36b/c426 stride plus full timer promotion/copy paths; focused tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
391028:08031028:080averifiedball_slot_auxiliary_stateg_ball_slot_auxiliary_stateint32_t[2]Zero-fill; indexed save/load mirrors receiver +0bca for slots zero and one.Verified 1000:c36b/c426 and full timer slot promotion; focused tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
401028:080b1028:0816verifiedball_slot_real48_stateg_ball_slot_real48_stateBorlandReal48[2]Zero-fill; indexed save/load mirrors receiver +0bce..0bd3 for slots zero and one.Verified six-byte stride in 1000:c36b/c426 and full timer promotion; focused tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
411028:086d1028:086everifiedclaw_current_frameg_claw_current_frameuint16_tSetup initializes ten; timer steps it toward the target and selects release state 1..9/18 or rest state ten.Complete setup/timer references, exact claw table and test_timer_tick.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
421028:086f1028:0870verifiedclaw_target_frameg_claw_target_frameuint16_tSetup initializes ten; collision logic selects a target and timer resets it to ten after releasing a ball.Complete references and full timer claw state machine; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
431028:08731028:0873verifiedclaw_alternate_bankg_claw_alternate_bankuint8_tZero-fill; passed as the claw atlas bank while moving and cleared on release completion.Complete references, verified claw renderer and full timer tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
441028:08761028:0879verifiedtimer_tick_counterg_timer_tick_counteruint32_tZero-fill; incremented after timer guards, drives intro quotient/remainder schedules, and resets when a new game is initialized.Setup and full 1000:eab1 disassembly/source; test_timer_tick.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
451028:087a1028:087dverifiedintro_marquee_counterg_intro_marquee_counteruint32_tZero-fill; increments on each six-tick intro marquee redraw and selects phase modulo 49.Setup and full timer GDI path; test_timer_tick.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
461028:07c51028:07c5verifiedcollision_refresh_pendingg_collision_refresh_pendinguint8_tZero-fill; setup clears it, adding a player sets it, and the next timer pass refreshes all 175 collision records before clearing it.Writes at 1000:03e0/6959/eb2c and timer read at 1000:eb0b; exact add-player branch in reconstructed/tdkpin_key_input.c and reconstructed/tests/test_key_release.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
471028:07cf1028:07cfverifieddebug_keys_enabledg_debug_keys_enableduint8_tZero-fill and explicitly cleared on setup entry; no in-image writer enables it.Complete reference inventory: verified setup 1000:0270 and both debug branches in verified 1000:638e; reconstructed/tests/test_game_setup.c and test_key_release.c; complete verified referring-function closureNonzero, possible only through external mutation, enables F2 target-rotation reset and F7 ball-position restore; normal execution leaves both paths dormant.
481028:07f31028:07faverifiedball_slot_velocity_x_millig_ball_slot_velocity_x_milliint32_t[2]Zero-fill; indexed ball-slot save/load stores horizontal velocity for slots zero and one.Verified 1000:c36b/c426 slot stride and verified 1000:638e nudge updates; timer slot-one-to-zero transfer at 1000:f24d; gameplay-helper and key-release tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
491028:07fb1028:0802verifiedball_slot_velocity_y_millig_ball_slot_velocity_y_milliint32_t[2]Zero-fill; indexed ball-slot save/load stores vertical velocity for slots zero and one.Verified 1000:c36b/c426 slot stride, verified 1000:638e launch publication and space-nudge updates, timer slot-one-to-zero transfer at 1000:f25b; focused tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
501028:02601028:02a9verifiedsetup_low_memory_textg_setup_low_memory_textconst char[74]Static NUL-terminated German insufficient-memory message.Binary bytes and sole verified MessageBox path in 1000:0270; reconstructed/tests/test_game_setup.c; complete verified referring-function closureExact owner-zero low-memory text shown before window Close and RuntimeExit(0).
511028:02aa1028:02c2verifiedsetup_dialog_captiong_setup_dialog_captionconst char[25]Static NUL-terminated "TDK Pinball Machine 1.00".Binary bytes and both verified setup MessageBox paths; reconstructed/tests/test_game_setup.c; complete verified referring-function closureExact shared setup error caption.
521028:02c31028:02c6verifiedsetup_ini_suffixg_setup_ini_suffixconst char[4]Static NUL-terminated "INI".Binary bytes and verified parameter-string/extension replacement path in 1000:0270; complete verified referring-function closureExact suffix appended after the executable-name dot.
531028:02c71028:02cfverifiedsetup_ini_sectiong_setup_ini_sectionconst char[9]Static NUL-terminated "Settings".Binary bytes and both verified GetPrivateProfileInt call sites; complete verified referring-function closureExact INI section shared by Language and Speed.
541028:02d01028:02d8verifiedsetup_ini_language_keyg_setup_ini_language_keyconst char[9]Static NUL-terminated "Language".Binary bytes and verified default/clamp path in 1000:0270; complete verified referring-function closureReturns 1..5; out-of-range values become one.
551028:02d91028:02deverifiedsetup_ini_speed_keyg_setup_ini_speed_keyconst char[6]Static NUL-terminated "Speed".Binary bytes and verified default/clamp/timer mapping in 1000:0270; complete verified referring-function closureReturns 1..5; out-of-range values become three.
561028:02df1028:02f3verifiedsetup_no_timer_textg_setup_no_timer_textconst char[21]Static "No timer available!" followed by two NUL bytes.Binary bytes and sole verified timer-construction failure MessageBox path; complete verified referring-function closureExact HWND-owned error followed directly by RuntimeExit(0), without window Close.
571028:03061028:0310verifiedhelp_window_titleg_help_window_titleconst char[11]Static NUL-terminated "HelpScreen".Binary bytes and sole verified full-child constructor use in 1000:6bf8; reconstructed/tests/test_key_input.c; complete verified referring-function closureExact title of the F1-created help window.
581028:00101028:0013verifiedhighscore_xor_keyg_highscore_xor_keyconst uint32_tStatic bytes 49 57 49 4b, interpreted little-endian as 0x4b495749.Binary bytes; complete reader inventory 1000:a8ea/a99c; reconstructed/tdkpin_highscores.c; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact dword XOR key applied symmetrically to all ten serialized score values.
591028:00141028:0023verifiedhighscore_file_headerg_highscore_file_headerconst uint8_t[16]Static bytes "TDK Highscores" followed by two NUL bytes.Binary bytes; complete save/write and load/ShortString-compare paths 1000:a8ea/a99c; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact 16-byte authentication header; both NUL bytes participate in comparison and serialization.
601028:010e1028:015dverifiedhighscore_window_vmtg_highscore_window_vmtTdkpinHighscoreWindowVmtStatic 0x45/-0x45 header, zero reserved dword, and eighteen loader-relocated far methods.Binary bytes; relocations 6:46-63; all method targets including paint 1000:5c13 verified; reconstructed/tdkpin_highscores.h; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact 80-byte TWindow-derived VMT from destructor +08 through paint +4c, with every slot named and address-backed.
611028:02f41028:02ffverifiedhighscore_headingg_highscore_headingconst char[12]Static NUL-terminated "HIGH SCORES".Binary bytes; heading TextOut in verified 1000:5c13; reconstructed/tests/test_highscores.c; complete verified referring-function closureThe terminal NUL at 02ff is also deliberately addressed as the empty rank-10 prefix.
621028:03001028:0305verifiedhighscore_rank_affixesg_highscore_rank_affixesconst char[2][3]Static consecutive C strings " " and ". ".Binary bytes; rank construction in verified 1000:5c13; reconstructed/tests/test_highscores.c; complete verified referring-function closureTwo leading spaces align ranks 1..9 with rank 10; dot-space follows every formatted rank.
631028:03121028:031fverifiedhighscore_save_file_nameg_highscore_save_file_nameconst char[14]Static "HiScores.Dat" followed by two NUL bytes.Binary bytes; sole _lcreat argument at 1000:a8ee-a8f5; reconstructed/tests/test_highscores.c; complete verified referring-function closureFirst NUL terminates the KERNEL filename; the adjacent second NUL is retained in the exact object extent.
641028:03201028:032cverifiedhighscore_load_file_nameg_highscore_load_file_nameconst char[13]Static NUL-terminated "HiScores.Dat".Binary bytes; both _lopen mode call sites at 1000:a9a4-a9c0; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact shared filename for the mode-0 and mode-0x40 open attempts.
651028:032d1028:0334verifiedhighscore_default_nameg_highscore_default_nameconst char[8]Static NUL-terminated "No Name".Binary bytes; ten exact far-strcpy destinations in default path 1000:aaa2-ab33; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact fallback name copied independently into every 22-byte name slot.
661028:03361028:0348verifiedhighscore_edit_initial_nameg_highscore_edit_initial_nameconst char[19]Static NUL-terminated "TDK Pinball Player".Binary bytes; sole selected-slot far-strcpy in verified 1000:ab3c; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact initial editable name installed before the modal text dialog.
671028:03491028:0372verifiedhighscore_edit_captiong_highscore_edit_captionconst char[42]Static NUL-terminated congratulations caption.Binary bytes; sole text-dialog caption argument in verified 1000:ab3c; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact caption "Congratulations! This is a Top Ten Score!".
681028:03731028:038averifiedhighscore_edit_labelg_highscore_edit_labelconst char[24]Static NUL-terminated input prompt.Binary bytes; sole text-dialog label argument in verified 1000:ab3c; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact prompt "Please input your name:".
691028:038b1028:0394verifiedhighscore_window_titleg_highscore_window_titleconst char[10]Static NUL-terminated "HighScore".Binary bytes; sole centered-child title argument in verified 1000:ab3c; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact title of the modeless high-score list window.
701028:07d21028:07d2verifiedhighscore_insert_indexg_highscore_insert_indexuint8_tZero-fill; set to the one-based inserted slot by 1000:abe5 and consumed by 1000:ab3c.Verified insert/show lifecycle and complete reference inventory; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
711028:07d31028:07daverifiedball_position_millig_ball_position_milliint32_t[2]Zero-fill; reset to 325000/413000 by verified 1000:9e85 and updated throughout physics/gameplay.Verified reset, pixel projection 1000:9bca, bounds/dynamic-record and ball-slot helpers; complete reference inventory; reconstructed/tests/test_ball_render.c and test_gameplay_helpers.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
721028:081f1028:0828verifiedplayer_marker_countsg_player_marker_countsint16_t[5]Zero-fill; indexed one-based by active player and initialized/updated by game-state paths.Verified six-marker projection in 1000:a604; complete indexed reference inventory; reconstructed/tests/test_gameplay_helpers.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
731028:08171028:081averifiedplayer_ready_flagsg_player_ready_flagsuint8_t[4]Zero-fill; each configured one-based player slot is set to one by 1000:a72c.Verified initialization and exact extent in 1000:a72c; reconstructed/tests/test_player_state.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
741028:081b1028:081everifiedplayer_item_group_flagsg_player_item_group_flagsuint8_t[4]Zero-fill; each configured one-based player slot is set to one after marker initialization.Verified initialization and exact extent in 1000:a72c; reconstructed/tests/test_player_state.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
751028:08291028:0838verifiedplayer_marker_score_thresholdsg_player_marker_score_thresholdsint32_t[4]Zero-fill then initialized by startup/game setup; read one-based by score-award level.Verified indexed comparison in 1000:bc36 and exact boundary against marker counts/levels; reconstructed/tests/test_scoring.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
761028:08391028:0848verifiedplayer_marker_levelsg_player_marker_levelsint32_t[4]Zero-fill; initialized to one for configured players and incremented when score thresholds are crossed.Verified initialization 1000:a72c and increment/limit logic 1000:bc36; player-state/scoring tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
771028:09921028:09a1verifiedplayer_secondary_scoresg_player_secondary_scoresint32_t[4]Zero-fill; reset for configured players and multiplied for active-player display.Verified reset 1000:a72c and active redraw 1000:acc2; reconstructed/tests/test_player_state.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
781028:09a21028:09a5verifiedplayer_score_multipliersg_player_score_multipliersuint8_t[4]Zero-fill; initialized to one and used as unsigned byte factors for secondary-score display.Verified reset 1000:a72c and multiply 1000:acc2; reconstructed/tests/test_player_state.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
791028:09a61028:09adverifiedplayer_sprite_indicesg_player_sprite_indicesuint16_t[4]Zero-fill; reset to zero and consumed as indices into the 400-series sprite bitmap array.Verified reset 1000:a72c and active-player composite 1000:acc2/0002; player-state/player-sprite tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
801028:08741028:0874verifiedscore_double_activeg_score_double_activeuint8_tZero-fill; cleared by player initialization, set by sprite effect 7, and doubles score deltas while nonzero.Verified lifecycle in 1000:a72c/bc36/c4e1; complete reference inventory; player-state/scoring tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
811028:08751028:0875verifiedspecial_respawn_activeg_special_respawn_activeuint8_tZero-fill; set only on the special collision-position respawn branch and cleared on normal ball end.Verified both writes in 1000:ae6e and complete reference inventory; reconstructed/tests/test_turn_state.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
821028:08551028:0858verifiedtarget_rotation_stateg_target_rotation_stateint32_tZero-fill; selects DAT600 frames 1..5 and the rotation/composite branch at values 6 and above.Verified full render/rotation consumer 1000:6f27 and complete reference inventory; reconstructed/tests/test_mechanism_render.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
831028:08511028:0854verifiedpanel_animation_frameg_panel_animation_frameint32_tZero-fill; drives the nine-phase 1..281 panel animation and entry-frame sound events.Verified complete render consumer 1000:7440 and reset writer 1000:9e85; full reference inventory; reconstructed/tests/test_panel_animation.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
841028:07c71028:07c7verifiedtarget_rotation_armedg_target_rotation_armeduint8_tZero-fill; event flag 0400 clears the rotation state and sets this byte only while both rotation bytes are zero.Verified gate/writer in 1000:b476 and complete reference inventory; reconstructed/tests/test_collision_events.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
851028:07c81028:07c8verifiedtarget_set_completeg_target_set_completeuint8_tZero-fill; set when all five target record words are nonzero and suppresses rearming while set.Verified writer 1000:9e85, gate 1000:b476, and complete reference inventory; ball-render/collision-event tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
861028:087e1028:08a5verifiedhighscore_scoresg_highscore_scoresint32_t[10]Zero-fill; loaded/defaulted by 1000:a99c, reordered by 1000:abe5, rendered by 1000:5c13, and XOR-serialized by 1000:a8ea.Complete verified reader/writer inventory across 1000:5c13/a8ea/a99c/abe5; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact ten signed dwords, one-based addressing, persistence, ordering, comparison, and decimal rendering are fully proven.
871028:08a61028:0981verifiedhighscore_namesg_highscore_nameschar[10][22]Zero-fill; directly read as 220 bytes or defaulted, shifted/edited by UI, rendered, and serialized.Complete verified lifecycle 1000:5c13/a8ea/a99c/ab3c/abe5; reconstructed/tests/test_highscores.c; complete verified referring-function closureExact ten 22-byte slots, short-read behavior, defaulting, shift/edit, C-string display truncation, and persistence layout are fully proven.
881028:00241028:006bverifiedtdkpin_application_vmtg_tdkpin_application_vmtstruct TdkpinApplicationVmtStatic eight-byte VMT header followed by sixteen relocated far methods.Binary hash b6da1047d807ee6b4c7ba9aac27c80fa2c968c483abb80385a33e79d28ebe717; relocations 6:3-16; all method targets and program-entry VMT calls verified.; complete verified referring-function closureSize 0x12, negative size 0xffee, reserved zero dword, destructor +08, Idle +0c, InitApplication +10, InitInstance +14, Setup +18, Run +1c, MessageLoop +20, PreProcess +24, dialog/accelerator/MDI +28/+2c/+30, MakeWindow +34, ExecDialog +38, ValidateWindow +3c, Error +40, CanClose +44.
891028:03961028:03c7verifiedtdkpin_version_error_texttdkpin_version_error_textconst char[50]Static NUL-terminated minimum-version message.Binary bytes and verified indirect MessageBox path in ne_program_entry.; complete verified referring-function closureExact text states that Windows 3.10 or higher is required.
901028:03c81028:03e0verifiedtdkpin_version_dialog_titletdkpin_version_dialog_titleconst char[25]Static NUL-terminated application caption.Binary bytes and verified minimum-version MessageBox arguments.; complete verified referring-function closureExact caption "TDK Pinball Machine 1.00".
911028:03e11028:03e9verifiedtdkpin_application_object_nametdkpin_application_object_nameconst char[9]Static bytes "Lbmpapp" followed by two NUL bytes.Binary bytes and verified object_windows_application_construct name argument.; complete verified referring-function closureExact ObjectWindows application object name extent.
921028:046a1028:046fverifiedmultimedia_path_environment_namemultimedia_path_environment_nameconst char[6]Static bytes "PATH" followed by two NUL bytes.Binary bytes and verified environment lookup in multimedia_locate_library.; complete verified referring-function closureExact DOS environment variable name used for final CTL3D search-list fallback.
931028:06f21028:06f2verifiedobject_windows_focus_event_markerg_object_windows_focus_event_markeruint8_tStatic value 1 and redundantly set to 1 by 1008:2c83.Complete reference inventory proves one writer and no readers; focused handler tests.; complete verified referring-function closureExact write-only marker with no inferred role beyond its observed store.
941028:06521028:0655verifiedwin16_create_dialog_paramg_win16_create_dialog_paramWin16FarPtrNE loader relocation to USER ordinal 241.Verified sole modeless call, bound-thunk callback ledger, and dialog tests.; complete verified referring-function closureExact far import pointer for CreateDialogParam16.
951028:06561028:0659verifiedwin16_dialog_box_paramg_win16_dialog_box_paramWin16FarPtrNE loader relocation to USER ordinal 239.Verified sole modal call, bound-thunk callback ledger, and dialog tests.; complete verified referring-function closureExact far import pointer for DialogBoxParam16.
961028:066a1028:066averifieddialog_alternate_templateg_dialog_alternate_templateuint8_tStatic zero with no in-image writer.Verified sole reader and both synthetic branch cases.; complete verified referring-function closureSelects integer dialog template 7f02 normally or 7f05 when externally nonzero.
971028:07481028:076bverifiedtdkpin_application_objectg_tdkpin_application_objectuint8_t[36]Zero-fill static storage constructed in-place with VMT offset 0x0024.Verified application constructor, VMT Run/destructor calls, static dispose mode zero, and program-entry tests.; complete verified referring-function closureExact process-lifetime ObjectWindows application instance.
981028:07bf1028:07c2verifiedtdkpin_windows_versiong_tdkpin_windows_versionuint32_tFull DX:AX return from GetVersion16.Verified 2.x, 3.9, 3.10, and 4.x branches and full-dword publication.; complete verified referring-function closureLow-byte major, next-byte minor; upper word retained but not used by threshold.
991028:07c91028:07c9verifiedgameplay_transition_pendingg_gameplay_transition_pendinguint8_tZero-fill; set by verified 1000:a70e and setup/input paths.Verified writer plus complete reference inventory.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1001028:07d01028:07d0verifiedplayer_countg_player_countuint8_tZero-fill; configured during setup and cleared by verified 1000:a70e.Verified clear and complete loop/reference evidence.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1011028:08491028:0850verifiedcollision_path_continuationg_collision_path_continuationint32_t[2]Zero-fill; updated after every accepted circle/segment and consumed by relative-mode records.Complete sole-function read/write inventory, exact 32-bit wrap, and branch tests.; complete verified referring-function closureX then Y continuation; circles retain point1 center, segments retain point2 endpoint.
1021028:09ae1028:4217verifiedcollision_records_1_174g_collision_records_1_174TdkpinCollisionRecord[174]Zero-fill; initialized by 174 indexed calls in the large setup routine.Verified 83-byte writer 1008:0138; OBJECTS.tsv live dump for IDs 1..174; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1031028:42181028:4262verifiedcollision_record_175_prefixg_collision_record_175_prefixuint8_t[75]Zero-fill; initialized as collision record 175.Verified writer 1008:0138 and OBJECTS.tsv row 175; final eight bytes are separately shared with word-quad storage at 4263..426a.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1041028:03ea1028:0441verifiedsound_resource_byte_countsg_sound_resource_byte_countsuint32_t[22]Static little-endian RIFF byte lengths for resource numbers 2001..2022; six absent resource IDs have zero entries.Binary bytes 1028:03ea-0441; WAV payload lengths in assets/decoded/audio; indexed reads at 1008:1038-1048 and 113f-114d; reconstructed/tdkpin_data.c; reconstructed/tests/test_sound.c; complete verified referring-function closureExact 22-entry table and one-based address arithmetic are represented; play sound number zero deliberately reaches the preceding dword exactly as the binary does.
1051028:04421028:0445verifiedsound_ini_suffixsound_ini_suffixchar[4]Static NUL-terminated bytes "INI".Binary bytes; far strcat at 1008:1080-1090; reconstructed/tests/test_sound.c; complete verified referring-function closureReplaces the executable extension after the first dot found by the Borland ShortString Position call.
1061028:04461028:044everifiedsound_ini_sectionsound_ini_sectionchar[9]Static NUL-terminated bytes "Settings".Binary bytes; GetPrivateProfileInt16 call 1008:1095-10ac; reconstructed/tests/test_sound.c; complete verified referring-function closureExact INI section far pointer.
1071028:044f1028:0454verifiedsound_ini_keysound_ini_keychar[6]Static NUL-terminated bytes "Sound".Binary bytes; GetPrivateProfileInt16 call 1008:1095-10ac; reconstructed/tests/test_sound.c; complete verified referring-function closureExact sound-enable INI key with default value one.
1081028:04551028:0458verifiedwave_resource_typewave_resource_typechar[4]Static NUL-terminated bytes "WAV".Binary bytes; FindResource16 type argument at 1008:105c-1066; reconstructed/tests/test_sound.c; complete verified referring-function closureExact custom NE resource type used for resource numbers 2001..2022.
1091028:045a1028:045dverifiedpalette_resource_typepalette_resource_typechar[4]Static NUL-terminated bytes "pal".Binary bytes; verified FindResource16 type argument 1008:1337-1340; reconstructed/tests/test_palette.c; complete verified referring-function closureExact lowercase custom NE resource type used to load palette resource 999.
1101028:045e1028:0461verifiedbitmap_resource_typebitmap_resource_typechar[4]Static NUL-terminated bytes "DAT".Binary bytes; verified FindResource16 type argument 1008:14ae-14b7; reconstructed/tests/test_bitmap_loader.c; complete verified referring-function closureExact uppercase custom NE resource type for bitmap/DIB resources.
1111028:04621028:0469verifieddisplay_dc_driverdisplay_dc_driverchar[8]Static NUL-terminated bytes "Display".Binary bytes; sole CreateDC16 driver argument 1008:1537-154c; reconstructed/tests/test_bitmap_loader.c; complete verified referring-function closureExact display-driver name; device, output, and initialization-data pointers are all null.
1121028:07c61028:07c6verifiedgame_tiltedgame_tilteduint8_tZero-filled; reset during game/ball setup and set after the nudge threshold is exceeded.Verified sound-dispatch gate 1008:0002; complete reference inventory identifies readers in key, collision, timer, and gameplay paths plus writers 1000:638e and 1000:9e85.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1131028:05381028:053fverifiedtpwincrt_initial_placementg_tpwincrt_initial_placementINT16[4]Four static words 0x8000.Verified CreateWindow16 x/y/width/height arguments and lifecycle tests.; complete verified referring-function closureExact CW_USEDEFAULT placement tuple.
1141028:05401028:054bverifiedtpwincrt_text_geometryg_tpwincrt_text_geometrystruct TpWinCrtTextGeometryInitialized to 80 columns, 25 rows, and zero cursor/view origins.All readers/writers verified, including text output, line advance, create/destroy, paint, resize, caret, and circular addressing tests.; complete verified referring-function closureSix exact uint16 values: columns, rows, cursor column/row, and viewport column/row.
1151028:054c1028:054fverifiedtpwincrt_inactive_format_pointerg_tpwincrt_inactive_format_pointerWin16FarPtrRelocated pointer to 1028:0550.DGROUP relocation and verified 1008:24a5 wvsprintf call.; complete verified referring-function closureExact far pointer to the inactive-caption format.
1161028:05501028:055dverifiedtpwincrt_inactive_formatg_tpwincrt_inactive_formatconst char[14]Static bytes for "(Inactive %s)" plus NUL.Binary bytes and verified ExitProc formatting tests.; complete verified referring-function closureExact clean-shutdown caption template.
1171028:055e1028:055everifiedtpwincrt_auto_scrollg_tpwincrt_auto_scrolluint8_tStatic value 1.Verified final branch in 1008:1b11 and text-output tests.; complete verified referring-function closureKeeps the output cursor visible after each bulk write.
1181028:055f1028:055fverifiedtpwincrt_ctrl_z_is_eofg_tpwincrt_ctrl_z_is_eofuint8_tStatic value 0.Verified Ctrl-Z line-termination branch and focused tests.; complete verified referring-function closureOptional DOS EOF semantics for TPWinCrt line input.
1191028:05601028:0560verifiedtpwincrt_break_check_enabledg_tpwincrt_break_check_enableduint8_tStatic value 1; cleared by the clean shutdown ExitProc.All Ctrl-C/create readers and the ExitProc writer are verified.; complete verified referring-function closureExact active-runtime break-check lifecycle.
1201028:05621028:057bverifiedwndclass_tpwincrttpwincrt_window_classWNDCLASS16Static style/zero fields plus runtime hInstance/icon/cursor stores in 1008:2554.Wine 11.15 WNDCLASS16 layout; DGROUP relocation 0564 -> entry ordinal 119; relocation 0578 -> 1028:057c; assembly 1008:255e-2593.; complete verified referring-function closurestyle=CS_VREDRAW|CS_HREDRAW; wndproc=1008:2219; no class/window extra bytes; application icon and arrow cursor; background brush COLOR_WINDOW+1; no menu; class name TPWinCrt.
1211028:057c1028:0584verifiedtpwincrt_class_nametpwincrt_class_namechar[9]Static initialized bytes 54 50 57 69 6e 43 72 74 00.Relocation 1028:0578 -> 1028:057c; RegisterClass16 path 1008:2554.; complete verified referring-function closureNUL-terminated TPWinCrt class name used by the verified WNDCLASS16 object.
1221028:05861028:0587verifiedtpwincrt_window_handleg_tpwincrt_windowHWND16Static zero; assigned from every 1008:2219 callback entry.Store at 1008:2230-2233 and all TPWinCrt USER call sites.; complete verified referring-function closureProcess-wide TPWinCrt HWND used by painting, caret, scrolling, focus, and teardown paths.
1231028:05881028:0589verifiedtpwincrt_ring_row_origing_tpwincrt_ring_row_originuint16_tStatic zero; advanced/wrapped at bottom-row line advance.Verified circular addressing and scrolling tests.; complete verified referring-function closureExact circular physical-row origin.
1241028:058a1028:058bverifiedtpwincrt_input_countg_tpwincrt_input_countuint16_tStatic zero; incremented by WM_CHAR and decremented by blocking dequeue.Verified enqueue, poll, wait, dequeue, shift, and overflow paths.; complete verified referring-function closureExact signed-compared count for the 64-byte queue.
1251028:058c1028:058cverifiedtpwincrt_window_createdg_tpwincrt_window_createduint8_tStatic zero; set on create and cleared after destroy.Verified create/destroy and all lazy-window/scroll/shutdown gates.; complete verified referring-function closureExact process-wide live-window Boolean.
1261028:058d1028:058dverifiedtpwincrt_has_focusg_tpwincrt_has_focusuint8_tStatic zero; set/cleared only by verified 1008:21ba/21ce.Reads in verified caret and size paths; exact focus handlers at 1008:21ba and 21ce.; complete verified referring-function closureBoolean focus state with proven caret ordering.
1271028:058e1028:058everifiedtpwincrt_caret_enabledg_tpwincrt_caret_enableduint8_tStatic zero; set only across a blocking input wait.Verified read/wait/focus/resize caret lifecycle.; complete verified referring-function closureExact Boolean controlling focus-owned caret lifetime.
1281028:058f1028:058fverifiedtpwincrt_paint_message_activeg_tpwincrt_paint_message_activeuint8_tStatic zero; set only around WM_PAINT drawing.Branch in verified 1008:1779/17e2; stores in 1008:1dcc.; complete verified referring-function closureSelects matched BeginPaint16/EndPaint16 instead of GetDC16/ReleaseDC16.
1291028:05901028:05bfverifiedtpwincrt_key_bindingsg_tpwincrt_key_bindingsTpWinCrtKeyBinding[12]Static 48-byte table represented verbatim in reconstructed/tdkpin_data.c.Binary bytes 1028:0590-05bf; indexed loop disassembly 1008:2170-21b4.; complete verified referring-function closureOrdered bindings for Left/Right/Home/End/Up/Down/PageUp/PageDown with exact Ctrl requirement, horizontal/vertical axis, and Win16 scroll command.
1301028:05cc1028:0609verifiedobject_windows_base_message_tableg_object_windows_base_message_tableObjectWindowsMessageTable9Static parent/cache zero, count 9, ids 0115,0114,0111,0010,0002,0082,0006,0011,0014, and nine relocated far handlers.Binary bytes; relocations 1028:05e6-0606; verified resolver and focused message/command/scroll tests.; complete verified referring-function closureExact 62-byte mutable-cache table layout represented in C; all nine handler functions and every id-to-address mapping are now verified.
1311028:02221028:022bverifiedtdkpin_module_nametdkpin_module_namechar[10]Static NUL-terminated bytes "FLIPPER3D".Binary bytes; verified multimedia initialization call 1000:0100; path locator input tests.; complete verified referring-function closureExact module-name far argument used while locating CTL3D relative to the executable.
1321028:022c1028:0244verifiedtdkpin_application_titletdkpin_application_titlechar[25]Static NUL-terminated bytes "TDK Pinball Machine 1.00".Binary bytes; verified MainWindow constructor and second-instance MessageBox frames.; complete verified referring-function closureExact application/window title and refusal-dialog caption.
1331028:02451028:025fverifiedtdkpin_already_running_texttdkpin_already_running_textchar[27]Static OEM/ANSI bytes "Der Flipper läuft bereits!" plus NUL.Binary bytes; verified second-instance MessageBox frame 1000:0144-015f.; complete verified referring-function closureExact German already-running refusal text.
1341028:064e1028:0651verifiedobject_windows_applicationg_object_windows_applicationWin16FarPtrStatic null; published by verified 1018:1a61 after root construction.Write at 1018:1a93-1a99; reads in application/window routing across Code1, Code2, and Code4; constructor lifecycle tested.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1351028:066c1028:066dverifiedobject_windows_thunk_code_selectorg_object_windows_thunk_code_selectoruint16_tStatic zero; updated to each newly allocated thunk pool's executable selector.Disassembly 1018:01dc-02f9; reconstructed/tests/test_bound_thunks.c; complete verified referring-function closureStored in the next pool's header before replacement and used as the current pool selector lifecycle marker.
1361028:06661028:0669verifiedwin16_message_boxg_win16_message_boxWin16FarPtrNE loader relocation binds USER ordinal 1 at startup.Relocation record 139; all indirect readers inventoried; verified application-error call 1018:1f14 and focused test.; complete verified referring-function closureProcess-wide far import pointer for MessageBox16; argument semantics at the reconstructed ObjectWindows call site are exact.
1371028:066e1028:0671verifiedobject_windows_free_thunkg_object_windows_free_thunkWin16FarPtrStatic null; populated with 35 generated thunks per 256-byte pool.Disassembly 1018:01dc-0340; reconstructed/tests/test_bound_thunks.c; complete verified referring-function closureExact LIFO head across pool construction, allocation, release, and reallocation; each free thunk stores the previous far head at +3.
1381028:06721028:0675verifiedobject_windows_dispatch_procg_object_windows_dispatch_procWin16FarPtrStatic null; assigned the MakeProcInstance16 result by 1018:1a61 and consumed by new thunk pools.Verified constructor write, thunk-pool copy/use, destructor FreeProcInstance, and focused application/thunk tests.; complete verified referring-function closureShared procedure reached by every generated bound thunk; exact MakeProcInstance/FreeProcInstance ownership lifecycle is represented.
1391028:06761028:0679verifiedobject_windows_creating_objectg_object_windows_creating_objectWin16FarPtrPublished immediately before native creation and consumed by bootstrap WNDPROC 1018:018b.Verified writer 1018:134f, bootstrap reader/transition, exact extent, and creation tests.; complete verified referring-function closureExact temporary object handoff until HWND-to-object thunk binding completes.
1401028:067a1028:067dverifiedobject_windows_selector_propertyobject_windows_selector_property_namechar[4]Static initialized bytes 4f 57 31 00.TDKPIN.EXE data bytes; SetProp16 call at 1018:004a-0059.; complete verified referring-function closureNUL-terminated property name OW1; stores the bound object's selector.
1411028:067e1028:0681verifiedobject_windows_offset_propertyobject_windows_offset_property_namechar[4]Static initialized bytes 4f 57 32 00.TDKPIN.EXE data bytes; SetProp16 call at 1018:005a-0069.; complete verified referring-function closureNUL-terminated property name OW2; stores the bound object's offset.
1421028:06821028:0685verifiedobject_windows_message_hookg_object_windows_message_hookWin16FarPtrStatic null far pointer; the target image contains no writer.Complete Ghidra reference inventory: reads only at 1018:0127, 015f, and 08de; binary zero bytes; reconstructed/tests/test_message_dispatch.c; complete verified referring-function closureOptional generic ObjectWindows instrumentation hook. Normal TDKPIN execution always skips it because the selector word at 0684 remains zero; nonnull semantics are nevertheless reconstructed and branch-tested.
1431028:06861028:068averifiedobject_windows_thunk_templateobject_windows_thunk_templateuint8_t[5]Static bytes 5b 2e c4 1f ea copied to each generated code block at offset +2.Binary bytes; disassembly 1018:020e-0226; reconstructed/tests/test_bound_thunks.c; complete verified referring-function closurePOP BX; CS:LES BX,[BX]; JMP FAR immediate template: consumes the CALL return address, loads the embedded bound object, and jumps through the shared dispatch procedure appended at +7.
1441028:068c1028:0697verifiedobject_windows_turbo_window_class_nameobject_windows_turbo_window_class_namechar[12]Static NUL-terminated bytes "TurboWindow".Binary bytes; four TWindow-derived VMTs select 1018:0d6a at +0x2c; focused far-pointer test.; complete verified referring-function closureExact registered class-name provider for the shared ObjectWindows window implementation.
1451028:06981028:06b2verifiedobject_windows_error_formatobject_windows_error_formatchar[27]Static NUL-terminated bytes "Error code = %d. Continue?".Binary bytes and verified wvsprintf call at 1018:1f20-1f2c; reconstructed/tests/test_application_windows.c; complete verified referring-function closureSigned decimal application error prompt; the sole conversion consumes the caller's uint16 word as int16.
1461028:06b31028:06c4verifiedobject_windows_error_captionobject_windows_error_captionchar[18]Static NUL-terminated bytes "Application Error".Binary bytes and verified indirect MessageBox call at 1018:1f2f-1f3e.; complete verified referring-function closureExact caption for the ObjectWindows application error prompt.
1471028:06fc1028:06fdverifiedwin16_previous_instanceg_win16_previous_instanceHINSTANCE16Initialized from the hPrevInstance startup word by 1020:0002.Startup write in 1020:0002; first-instance branch in verified 1018:1a61; reconstructed/tests/test_application.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1481028:06fe1028:06ffverifiedwin16_instanceg_win16_instanceHINSTANCE16Initialized from the current Win16 task instance by 1020:0002.34 readers across resource/window/module paths; verified MakeProcInstance argument in 1018:1a61.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1491028:07001028:0701verifiedwin16_show_commandg_win16_show_commanduint16_tInitialized from DX by Win16 startup 1020:0002.Startup write at 1020:0015; read by verified application initialization 1018:1b57; reconstructed/tests/test_application.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1501028:07021028:0705verifiedborland_command_lineg_borland_command_lineWin16FarPtrInitialized exactly from startup ES:BX by verified 1020:0002.Verified startup capture and command-token scanner 1020:0871; reconstructed/tests/test_borland_startup.c; complete verified referring-function closureExact far pointer to the NUL-terminated DOS command tail, including independent selector and wrapping offset semantics.
1511028:07061028:0707verifiedborland_heap_segment_headg_borland_heap_segment_headuint16_tStatic zero; points to current selector in the circular local-heap segment ring.Reads/writes in 1020:0167, 0195, 023c, 026a, 02d7; reconstructed/tests/test_heap_core.c; reconstructed/tests/test_heap_paths.c; complete verified referring-function closureCircular insertion, successful-segment rotation, predecessor unlink, and final zeroing are represented and verified across one- and two-segment lifecycles.
1521028:07081028:0709verifiedborland_local_heap_limitg_borland_local_heap_limituint16_tStatic value 0x0400.Threshold branches in 1020:01ca; reconstructed/tests/test_heap_paths.c; complete verified referring-function closureBelow-threshold local-first and above-threshold global-first paths, including fallback, are represented and branch-tested.
1531028:070a1028:070bverifiedborland_heap_segment_bytesg_borland_heap_segment_bytesuint16_tStatic value 0x2000.Header/free-size construction and full-segment release tests.; complete verified referring-function closureExact 8-KiB local heap segment allocation size.
1541028:06f41028:06f5verifiedborland_heap_reserve_sizeg_borland_heap_reserve_bytesuint16_tStatic value 0x2000.Binary bytes and reads in 1008:2dff/2e22.; complete verified referring-function closureConfigured 8-KiB emergency heap reserve size.
1551028:06f61028:06f9verifiedborland_heap_reserveg_borland_heap_reserveWin16FarPtrStatic null; allocated by 2dff and cleared by 2e22.Verified null/allocation/free/clear lifecycle tests for 1008:2de0, 2dff, and 2e22.; complete verified referring-function closureEmergency allocation released on OOM so the allocator can retry; underlying allocator is tracked separately.
1561028:06fa1028:06faverifiedborland_heap_reserve_disabledg_borland_heap_reserve_disableduint8_tStatic zero.Branch in 1008:2e22 and writers in runtime setup/teardown.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1571028:070c1028:070dverifiedborland_global_alloc_flagsg_borland_global_alloc_flagsuint16_tStatic value 2.Push at 1020:0222 and verified GlobalAlloc16 argument test.; complete verified referring-function closureExact flags passed for Borland global heap blocks.
1581028:070e1028:0711verifiedborland_heap_error_handlerg_borland_heap_error_handlerWin16FarPtrSet by 1008:2e76 relocation to 1008:2e22.Verified NE-segment binding to selector:2e22; indirect call at 1020:020c-0210.; complete verified referring-function closureAllocator callback returns 0 stop, 1 no retry, or 2 retry after emergency-reserve release.
1591028:07121028:0715verifiedborland_exit_procg_borland_exit_procWin16FarPtrStatic zero; mutable ExitProc head.Reads/clears in 1020:00d2; writers throughout shutdown setup.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1601028:07161028:0717verifiedborland_exit_codeg_borland_exit_code_worduint16_tStatic zero; AX store on runtime-exit entry.Stores/reads in 1020:0061 and related runtime entries.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1611028:07181028:071bverifiedborland_error_locationg_borland_error_locationstruct BorlandErrorLocationStatic zero; cleared by Halt and populated by run-error paths.Reads/writes in 1020:0002, 005d, 0061, and runtime error helpers.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1621028:071c1028:071dverifiedborland_windows_modeg_borland_windows_modeuint16_tInitialized from startup ES by verified 1020:0002.Verified startup capture, termination consumer 1020:0061, and focused tests.; complete verified referring-function closureExact Win16 selector-valued mode word; nonzero selects ExitProc execution and GUI error reporting.
1631028:071e1028:071fverifiedborland_io_resultg_borland_io_result_Atomic uint16_tStatic zero; 1020:0388 uses one locked-equivalent XCHG read-and-clear.Atomic exchange in verified 1020:0388; reads/writes in runtime I/O and ExitProc paths.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1641028:07201028:0723verifiedborland_random_seedg_borland_random_seeduint32_tStatic zero; seeded from DOS time and advanced by the verified LCG.Reads/writes in 1020:14a4, 14c1, 14de, 1501, and 1539; multiplier 0x08088405 proved from assembly.; complete verified referring-function closureExact modulo-2^32 Borland RandSeed state, stored low word then high word.
1651028:07241028:0725verifiedborland_huge_pointer_incrementg_borland_huge_pointer_incrementuint16_tAssigned the relocated KERNEL ordinal 114 equate __AHINCR by verified startup.Relocation 5:4 at 1020:0051; Wine 11.15 __AHINCR=8; reconstructed/tests/test_borland_startup.c; complete verified referring-function closureExact selector increment used by Borland huge-pointer normalization; this import is runtime data, not a callable function.
1661028:07261028:0726verifiedborland_cpu_levelg_borland_cpu_leveluint8_tSet by verified startup from returned GetWinFlags AL.Verified startup branches and consumers 1020:08a9, 08e6, 098c, and 09af; arithmetic and startup tests.; complete verified referring-function closureExact levels 0 for 086/186, 1 for 286, and 2 for 386-plus instruction selection.
1671028:07271028:0727verifiedborland_file_modeg_borland_file_modeuint8_tStatic value 2.Binary byte; sole read by verified generic open entry 1020:06ab; focused DOS-open test.; complete verified referring-function closureExact DOS AH=3d access mode passed for nonempty generic-file names.
1681028:07281028:0747verifiedborland_runtime_error_textg_borland_runtime_error_textchar[32]Static string Runtime error 000 at 0000:0000. including NUL.TDKPIN.EXE bytes; fixed write endpoints 0739, 0741, 0746 in 1020:0061.; complete verified referring-function closureMutable decimal error-code and uppercase hexadecimal segment/offset fields are written backward into fixed placeholders before MessageBox16.
1691028:07c41028:07c4verifiedpalette_update_activeg_palette_update_activeuint8_tZero-filled; reset by variant A wParam zero and set before synchronous invalidate/update in both verified handlers.All palette-message readers/writers 1000:58e7,5956,59a0,5a37 are verified; palette message tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1701028:07cb1028:07cbverifiedscene_readyg_scene_readyuint8_tZero-filled; set to one after verified scene redraw, score/status update, and DC release in 1000:5390.Verified writer 1000:5390; asset-initializer tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1711028:07cc1028:07ccverifiedassets_pendingg_assets_pendinguint8_tSet during game initialization; nonzero selects the verified one-time asset-loading phase and is cleared at loading stage 34.Verified reader/clear in 1000:5390; asset-initializer tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1721028:07cd1028:07ceverifiedboard_indexg_board_indexuint16_tZero-filled; selects DAT resource 1000+value in verified 1000:6129.Verified setup reader; reconstructed/tests/test_board_overlay.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1731028:07d11028:07d1verifiedcurrent_playerg_current_playeruint8_tZero-filled; values 1..4 identify the active player and zero disables the status display.Verified gating/index use in 1008:0b9e; status tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1741028:08671028:0868verifiedoverlay_bitmapg_overlay_bitmapHBITMAP16Zero-filled; assigned by verified DAT loaders 1000:5be5/6129 and deleted by verified destructors 5ba6/60e7 without clearing the slot.Complete verified setup/destructor, 616e 640x460 drawing, and 5c13 high-score source-region lifecycle; overlay and high-score tests; complete verified referring-function closureExact global HBITMAP provenance, replacement, 32/204 high-score source, whole-overlay drawing, and ownership endpoints are fully proven.
1751028:085b1028:085cverifiedbackground_bitmapg_background_bitmapHBITMAP16Zero-filled; assigned DAT 998 by verified asset initialization and selected by all verified low-level background blits.Verified writer and readers 1008:07b6,0837,08bb,093f,0996/1000:5390; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1761028:085d1028:085everifiedbackground_overlay_bg_background_overlay_bHBITMAP16Zero-filled; assigned DAT 998 by verified asset initialization and consumed only by verified restore variant B.Complete writer/reader inventory 1000:5390 and 1008:08bb; asset/render tests.; complete verified referring-function closureExact overlay-B resource, publication, restore role, and DGROUP extent are fully proven.
1771028:085f1028:0860verifiedbackground_overlay_ag_background_overlay_aHBITMAP16Zero-filled; assigned DAT 997 by verified asset initialization and consumed only by verified restore variant A.Complete writer/reader inventory 1000:5390 and 1008:0837; asset/render tests.; complete verified referring-function closureExact overlay-A resource, publication, restore role, and DGROUP extent are fully proven.
1781028:08611028:0862verifieddigit_sprite_bitmapg_digit_sprite_bitmapHBITMAP16Zero-filled; assigned BITMAP resource 500 by verified asset initialization and consumed by verified score renderer.Complete writer/reader inventory 1000:5390 and 1008:0996; asset/score tests.; complete verified referring-function closureExact HBITMAP slot, resource ID, 16-pixel horizontal digit stride, and 28x16 SRCAND use are fully proven.
1791028:08591028:085averifieddat600_bitmapg_dat600_bitmapHBITMAP16Zero-filled; assigned DAT resource 600 at loading stage 33 by verified asset initialization.Complete verified load/render/delete lifecycle 1000:5390,6f27,7440,51f5; mechanism and panel-animation tests; complete verified referring-function closureExact DAT600 atlas provenance, 91-pixel target frames, panel-animation mask/image regions, publication, and ownership lifecycle are fully proven.
1801028:08631028:0864verifiedclaw_sprite_bitmapg_claw_sprite_bitmapHBITMAP16Zero-filled; assigned DAT resource 900 at loading stage 29 and deleted at asset shutdown.Complete writer/reader/deletion inventory 1000:5390,1008:0e08,1000:51f5; asset/claw/cleanup tests; complete verified referring-function closureExact resource, atlas geometry, frame mapping, publication, rendering, and ownership lifecycle are fully proven.
1811028:08651028:0866verifiedboard_decoration_bitmapg_board_decoration_bitmapHBITMAP16Zero-filled; assigned DAT resource 901 at loading stage 32 and deleted during asset shutdown without clearing the slot.Complete verified lifecycle 1000:5390,638e,6b37,51f5; asset, key-release, gameplay-helper, and cleanup tests; complete verified referring-function closureExact DAT901 provenance, launch-decoration and velocity-row atlas geometry, presentation, and ownership endpoint are fully proven.
1821028:086b1028:086cverifieddisplayed_status_levelg_displayed_status_leveluint16_tZero-filled; initialized/reset to 99 and assigned computed levels 0..4 by verified status renderer.All renderer reads/writes in 1008:0b9e verified; status tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1831028:09821028:0991verifiedplayer_scoresg_player_scoresint32_t[4]Zero-filled; initialized/reset by game setup and updated by scoring paths.Verified one-based reader 1008:0996; score-render tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1841028:431b1028:4322verifiedstatus_level_bitmapsg_status_level_bitmapsHBITMAP16[4]Zero-filled; DAT resources 701..704 are loaded one-based by verified asset initialization.Complete writer/reader/deletion inventory in 1000:5390,1008:0b9e,1000:51f5; asset/status/cleanup tests; complete verified referring-function closureExact four HBITMAP slots, resource mapping, threshold-level mapping, primary 146x142 blit use, and ownership lifecycle are fully proven.
1851028:430b1028:431averifiedsprite_bitmaps_400_407g_sprite_bitmaps_400_407HBITMAP16[8]Zero-filled; DAT resources 400..407 are loaded zero-based at stages 7..14 and deleted zero-based at shutdown.Verified writer/deletion and ID order; asset initializer/cleanup tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1861028:43231028:4334verifieditem_bitmaps_801_809g_item_bitmaps_801_809HBITMAP16[9]Zero-filled; DAT resources 801..809 are loaded and deleted one-based.Verified writer/deletion and ID order; asset initializer/cleanup tests; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1871028:42631028:430averifiedtdkpin_word_quadsg_tdkpin_word_quadsTdkpinWordQuad[21]Zero-filled table; setup 1000:0270 writes indices 1..20 through verified 1008:0787.Twenty direct calls with exact constants; byte-complete zero-fill range and writer tests.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1881028:43be1028:43edverifiedwave_output_capabilitieswave_output_capabilitiesWAVEOUTCAPS16Zero-filled 48-byte buffer populated by waveOutGetDevCaps for device zero.Windows 3.1 packed field offsets; call 1008:0fca-0fda; dwSupport read at 1008:0fe6-0ffe; strict size assertion and reconstructed/tests/test_sound.c; complete verified referring-function closureExact Win16 layout is wMid, wPid, 16-bit driver version, 32-byte name, formats, channels, and support; WAVECAPS_VOLUME is bit 4 at offset 44.
1891028:43ee1028:43efverifiedwave_output_device_countwave_output_device_countuint16_tZero-filled; assigned from waveOutGetNumDevs and reset on entry or capability-query failure.Complete verified lifecycle in 1008:0f2e,10e3,1131,118f and sound-toggle reader 1000:638e; reconstructed/tests/test_sound.c and test_key_release.c; complete verified referring-function closureThe word is the actual device count, not a Boolean initialized flag; nonzero permits keyboard re-enabling after sound has been disabled.
1901028:43f01028:43f1verifiedwave_output_device_idwave_output_device_iduint16_tStatic zero and never written in the image.Reads before the sole waveOutGetDevCaps and waveOutGetVolume calls at 1008:0fca and 1008:1008; reconstructed/tests/test_sound.c; complete verified referring-function closureSelects wave-output device zero for both capability and volume queries.
1911028:43f21028:43f2verifiedsound_enabledsound_enableduint8_tZero-filled; cleared on every sound initialization entry, set after successful capability/resource setup, and toggled by F12 only when a device exists.Complete verified readers/writers 1008:0002,0f2e,1131 and 1000:638e; sound and key-release tests; complete verified referring-function closureExact Boolean enable lifecycle, playback gates, disable behavior, and device-gated re-enable behavior are fully proven.
1921028:43f31028:43f3verifiedsound_playingsound_playinguint8_tZero-filled; cleared by initialization/unload and assigned from sndPlaySound's BOOL16 result.All reads/writes in verified 1008:0f2e, 10e3, 1131, and 118f; reconstructed/tests/test_sound.c; complete verified referring-function closureExact current-playing flag, including stop-without-clear behavior in 118f and failure-to-play clear in 1131.
1931028:43f41028:43f4verifiedsound_volume_stepsound_volume_stepuint8_tZero-filled; set to ff when volume control is unsupported, otherwise the left-channel high byte rounded down to a multiple of ten.Disassembly 1008:0fe6-102e; exact byte extraction/divide/multiply path; reconstructed/tests/test_sound.c; complete verified referring-function closureWritten during successful initialization and otherwise retained; no in-image reader exists.
1941028:43f51028:43f5verifiedsound_state_paddingsound_state_paddinguint8_tZero-filled and never referenced directly.Byte lies between the verified one-byte volume state and aligned far-pointer array; complete reference inventory contains no reader or writer.; complete verified referring-function closureExplicit alignment/padding byte retained so the first sound pointer begins at 43f6.
1951028:43f61028:444dverifiedsound_bufferssound_buffersWin16FarPtr[22]Zero-filled; sound setup stores locked global-memory blocks for resource numbers 2001..2022.All indexed accesses in verified 1008:0f2e, 10e3, and 1131; exact one-based addressing and focused lifecycle tests in reconstructed/tests/test_sound.c; complete verified referring-function closureExact 22 far-pointer slots, load overwrite behavior, inclusive release order, lack of pointer clearing, and play selection are represented.
1961028:444e1028:444fverifiedtdkpin_palette_handletdkpin_palette_handleHPALETTE16Zero-filled; assigned the CreatePalette16 result by verified 1008:11c5.Complete reader inventory spans rendering/window functions; verified writer and bitmap loader 1008:149d; reconstructed/tests/test_palette.c; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
1971028:44501028:474fverifiedtdkpin_palette_rgbtdkpin_palette_rgbuint8_t[256][3]Zero-filled then overwritten byte-for-byte from custom PAL resource 999 by verified 1008:1326.All consumers verified: LOGPALETTE RGB projection 1008:11c5 and BITMAPINFO BGR0 projection 1008:13a8; reconstructed/tests/test_palette.c; complete verified referring-function closureExact 768-byte RGB triplet table, resource provenance, copy extent, palette-entry projection, RGBQUAD channel reversal, and full read/write inventory are proven.
1981028:47501028:477bverifiedmultimedia_proceduresg_multimedia_proceduresWin16FarPtr[11]Static zero; populated in exact CTL3D name order by verified loader 1010:01c2.Verified load/use/legacy-slot-8/clear lifecycle and focused tests.; complete verified referring-function closureSlots are AutoSubclass, ColorChange, CtlColorEx, Enabled, DlgFramePaint, GetVer, Register, SubclassDlg, SubclassDlgEx, SubclassCtl, Unregister.
1991028:477c1028:477dverifiedmultimedia_versiong_multimedia_versionuint16_tStatic zero; assigned from CTL3DGETVER after successful registration.Verified loader version >=9 gate and version-8 cleanup test.; complete verified referring-function closureExact CTL3D compatibility version word.
2001028:477e1028:477everifiedmultimedia_auto_subclassedg_multimedia_auto_subclasseduint8_tStatic zero; set from CTL3DAUTOSUBCLASS only on modern/nonzero-request path.Verified modern success and legacy/disabled zero branches.; complete verified referring-function closureBoolean records whether process auto-subclassing succeeded.
2011028:477f1028:477fverifiedmultimedia_argument_2g_multimedia_argument_2uint8_tStored from loader second byte argument after full initialization.Disassembly 1010:0373; focused export/loader test.; complete verified referring-function closureExact parameter publication order is second argument first.
2021028:47801028:4780verifiedmultimedia_argument_1g_multimedia_argument_1uint8_tStored from loader first byte argument after full initialization.Disassembly 1010:0376; focused export/loader test.; complete verified referring-function closureExact parameter publication order is second argument then first.
2031028:47811028:4782verifiedmultimedia_moduleg_multimedia_moduleHINSTANCE16Static zero; assigned by LoadLibrary16 and retained after FreeLibrary16.Verified <32 error, modern/legacy load, failure unload, and explicit cleanup tests.; complete verified referring-function closureUnaligned module handle; values below 32 are Win16 load errors rather than unloadable handles.
2041028:47831028:4783verifiedmultimedia_pendingg_multimedia_pendinguint8_tStatic zero; cleared by unit startup and every exported initialization return.Verified stores in 1010:03af/0472 and multimedia tests.; complete verified referring-function closureExact transient pending byte; no reader exists in this image.
2051028:47841028:4784verifiedmultimedia_initializedg_multimedia_initializeduint8_tStatic zero; set only after Register, GetVer >=9, and Enabled all succeed; cleared by cleanup.Complete verified loader/finalizer/unload lifecycle and branch tests.; complete verified referring-function closureGates every dynamic helper use with exact boolean semantics.
2061028:478a1028:478bverifiedmultimedia_windows_versiong_multimedia_windows_versionuint16_tLow word returned by GetVersion16 during unit startup.Verified 3.0/3.10/4.0 major-minor branches and startup tests.; complete verified referring-function closureLow-byte major, high-byte minor; upper GetVersion word is discarded.
2071028:478c1028:478cverifiedmultimedia_legacy_windowsg_multimedia_legacy_windowsuint8_tSet exactly for Windows 3.0 through 3.9.Verified writer and all loader branch consumers.; complete verified referring-function closureSelects path probing, legacy procedure policy, and AutoSubclass suppression.
2081028:478d1028:47a1verifiedmultimedia_library_pathg_multimedia_library_pathchar[21]Zero-fill; populated with CTL3DV2.DLL or CTL3D.DLL according to exact existence policy.Verified unit writer, loader readers, all selection branches, and tests.; complete verified referring-function closureExact 21-byte NUL-terminated selected DLL basename/path buffer.
2091028:47a21028:47a3verifiedmultimedia_system_directory_lengthg_multimedia_system_directory_lengthuint16_tReturn from GetSystemDirectory16 with maximum 200.Verified zero/nonzero path-probe gate and tests.; complete verified referring-function closureExact length for adjacent system-directory buffer.
2101028:47a41028:486bverifiedmultimedia_system_directoryg_multimedia_system_directorychar[200]Zero-fill; populated by GetSystemDirectory16 during unit startup.Verified two ShortString path constructions and maximum size.; complete verified referring-function closureExact transient NUL-terminated system directory buffer.
2111028:486d1028:496cverifiedmultimedia_ctl3d_full_pathg_multimedia_ctl3d_full_pathuint8_t[256]Constructed as system directory + "\\" + CTL3D.DLL.Verified ShortString helpers, file probe, and startup tests.; complete verified referring-function closureExact Pascal ShortString classic DLL full path.
2121028:496d1028:4a6cverifiedmultimedia_ctl3dv2_full_pathg_multimedia_ctl3dv2_full_pathuint8_t[256]Constructed as system directory + "\\" + CTL3DV2.DLL.Verified ShortString helpers, preferred file probe, and startup tests.; complete verified referring-function closureExact Pascal ShortString V2 DLL full path.
2131028:4a6e1028:4abdverifiedtpwincrt_window_titleg_tpwincrt_window_titlechar[80]Zero-fill; populated with the module filename and converted in-place OEM to ANSI.Verified unit initialization, CreateWindow title, ExitProc formatting, and lifecycle tests.; complete verified referring-function closureExact TPWinCrt application caption buffer.
2141028:4abe1028:4ac1verifiedtpwincrt_saved_exit_procg_tpwincrt_saved_exit_procWin16FarPtrZero-fill; receives the prior Borland ExitProc.Verified predecessor save/restore ordering and lifecycle tests.; complete verified referring-function closureExact mutable ExitProc chain link.
2151028:4ac21028:4ac5verifiedtpwincrt_screen_bufferg_tpwincrt_screen_bufferWin16FarPtrStatic zero; allocated on WM_CREATE and released on WM_DESTROY.Verified allocation/fill, circular readers, free/clear lifecycle, and tests.; complete verified referring-function closureExact far pointer to columns*rows character cells.
2161028:4ac61028:4ad3verifiedtpwincrt_view_metricsg_tpwincrt_view_metricsstruct TpWinCrtViewMetricsStatic zero; populated from client size/font metrics.All arithmetic, caret, paint, scroll, size, and initialization paths are verified.; complete verified referring-function closureSeven exact uint16 fields: visible dimensions, max origins, character dimensions, and caret y offset.
2171028:4ad41028:4ad5verifiedtpwincrt_paint_dcg_tpwincrt_paint_dcHDC16Static zero; assigned by GetDC16 or BeginPaint16.Verified 1008:1779/17e2 and paint/render consumers.; complete verified referring-function closureExact object boundary, type, initialization, and full in-image reader/writer lifecycle are verified.
2181028:4ad61028:4af5verifiedtpwincrt_paint_structg_tpwincrt_paintPAINTSTRUCT16Zero-filled persistent structure populated by BeginPaint16.Wine 11.15 PAINTSTRUCT16 layout; fixed pointer in 1008:1779/17e2; rcPaint reads in verified 1008:1dcc.; complete verified referring-function closureExact HDC, erase flag, RECT16, restore/update flags, and 16 reserved bytes; extent ends immediately before saved font at 4af6.
2191028:4af61028:4af7verifiedtpwincrt_previous_fontg_tpwincrt_previous_fontHGDIOBJ16Static zero; receives SelectObject16 result.Verified paired stores/reads in 1008:1779 and 17e2.; complete verified referring-function closureStock-font replacement is restored exactly before releasing the drawing context.
2201028:4af81028:4b37verifiedtpwincrt_input_bufferg_tpwincrt_input_bufferuint8_t[64]Zero-filled DGROUP storage.Verified append, signed-capacity suppression, blocking dequeue, overlapping shift, line editing, and focused tests.; complete verified referring-function closureExact fixed 64-byte FIFO input queue.