docs(badapple): record the r5.01 toolchain build result

This commit is contained in:
arti committed 2026-11-01 11:45:08 +02:00
1 parent a3cec55795
commit 2e3875da3b
2 files changed
+34

No files matched your search

+8
View File
@@ -91,6 +91,14 @@ The 1987 TI TMS34010 SDK runs under DOSBox. The C sources are K&R C: the
1987 compiler rejects ANSI prototypes and `const`. `.text` is linked at bit
`0x018C0000`, `.bss` at `0x01C00000`.
The 1990 **r5.01 OS/2** toolchain under `2ine-tms34010` also builds it (see
`tools/tms34010-sdk/2INE-501.md` for setup). Build `MAIN.C` without
`gspopt -O2`: the optimizer hoists the `CTRL_READY` polling load and the
payload waits forever at takeover. `MOVIE.C` is fine at `-O2`. The verified
r5.01 build is `.text` 3,168 bytes, entry `0x018C5C70`, and is MAME-exact at
frames 0 and 180. `gspac`/`gspcg` exit 139 at teardown but still write valid
files.
## Run in MAME (debugger path)
For a window, use `tools/run_mame_gui.sh` (above). For scripted/headless
+26
View File
@@ -89,6 +89,32 @@ bind: the marker shows `status=0x20` and no socket is open. The suspect is
size. The debugger path is the working demo. A fixed low-RAM staging receive
or raw-LANCE loader is the next step. This is the one delivery-path gap.
## r5.01 OS/2 compiler check (2026-11-01)
The 1990 TMS340 r5.01 ANSI C toolchain, run under the patched
`2ine-tms34010` fork, builds this demo. The pipeline was:
```
gspac -k MAIN.C MAIN.IF
gspcg -m MAIN.IF MAIN.ASM MAIN.TMP # no gspopt for MAIN.C
gspa MAIN.ASM
gspac/gspopt -O2/gspcg/gspa for MOVIE.C
gspa FILL.ASM
gspa ENTRY.ASM
gsplnk PLAYER.CMD # .text 018C0000h, .bss 01C00000h
```
Result: `.text` `0x6300` bits = **3,168 bytes**, entry **`0x018C5C70`**.
MAME frame 0 and frame 180 are **EXACT** with
`BA_PAYLOAD=PLAYER.bin BA_ENTRY=0x018C5C70`.
Caveat: `gspopt -O2` on `MAIN.C` hoists the `CTRL_READY` polling load and
the payload waits forever at takeover. `MOVIE.C` is fine at `-O2`; build
`MAIN.C` without `gspopt`, or add `volatile` to the polling reads. `gspac`
and `gspcg` exit 139 at teardown but still write valid output files.
`gspa` 5.01 accepted `entry.asm`/`fill.asm` (including `sp`); the `b15`
round-trip difference does not affect this demo.
## Regression
The no-env MAME baseline at 200 frames is unchanged: