Files
tdkpin/original/SHARED_ENTRY_POINTS.tsv
T
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

1.8 KiB

1addresscontaining_functionstatusreconstructed_nameevidencenotes
21020:04a01020:049fverifiedborland_assign_text_shortbytes 1020:049f-04a1 decode as MOV DX,0xd233 at 049f and XOR DX,DX at 04a0; common body 04a2-04fbOverlapping Borland runtime entry for Pascal ShortString names; containing ledger row accounts for the shared executable body.
31020:06b41020:06abverifiedborland_create_generic_filebytes 1020:06ab-06b9 select AH=3d/global access and empty-name handle 0 at 06ab or AH=3c/attributes 0 and empty-name handle 1 at 06b4; common body 06ba-070fOverlapping Open/Create generic-file entry pair.
41020:07651020:0760verifiedborland_file_write_recordbytes 1020:0760-0769 select AH=3f/error 0x64 at 0760 or AH=40/error 0x65 at 0765; common body 076a-0795Overlapping single-record Read/Write entry pair.
51020:079b1020:0796verifiedborland_file_block_writebytes 1020:0796-079f select BL=3f/error 0x64 at 0796 or BL=40/error 0x65 at 079b; common body 07a0-07fdOverlapping BlockRead/BlockWrite entry pair.
61020:100f1020:1017verifiedborland_real48_truncate_to_i32bytes 1020:100f-1016 set CH=0, call conversion core 0f77, and RETF on success; bytes 101f-1024 are the Runtime Error 207 tail shared with Round entry 1017disassembleOnly evidence was previously structural; readable Trunc semantics, overflow candidate, and shared error tail are now explicitly represented and DOSBox-differentially tested.
71020:11301020:111dverifiedborland_real48_sinbytes 1020:111d-112f form the Cos-only pi/2-x prelude; 1130-1190 are a complete shared Sin body ending RETF; table 1191-11ba contains -1/15! through -1/3!Exact modulo-2pi, quadrant folding, odd polynomial, small-argument bypass, half-cycle sign, and independent Sin entry are represented and differentially tested against original-offset bytes.