|
1 | 1 | # Joypad Tester — 3DO — Changelog |
2 | 2 |
|
3 | | -## v0.1.0 — 2026-05-12 |
| 3 | +## v1.0.0 — 2026-05-14 |
4 | 4 |
|
5 | | -First release. Bring-up of the 3DO controller test ROM via the |
6 | | -trapexit/3do-devkit toolchain. |
| 5 | +First production release. The earlier v0.1.0 was a single-pad |
| 6 | +`DoControlPad` polling bring-up; v1.0.0 rewrites the data path to |
| 7 | +talk to the Portfolio event broker directly and detects / renders |
| 8 | +every PBUS device class on the daisy chain. |
7 | 9 |
|
8 | 10 | ### Highlights |
9 | 11 |
|
10 | | -- Live P1 button readout: raw 32-bit `DoControlPad` bitfield rendered |
11 | | - on screen, plus per-button labels for the 11 standard 3DO inputs |
12 | | - (D-pad, A/B/C, Start, Stop, L/R shifts). |
13 | | -- Two-pad slot reserved in the polling code (`InitControlPad (2)`) — |
14 | | - P2 hex is shown alongside P1; full P2 button-grid display comes |
15 | | - next. |
| 12 | +- Per-class renderers, one row per detected pod: |
| 13 | + - `PAD` (0x80) — D-pad, A/B/C, X, P (Start), L/R Shift |
| 14 | + - `MOUSE` (0x49) — X / Y delta, L / M / R |
| 15 | + - `STICK` (0x01) — H / V / D analog + hat + 8 face/shift buttons |
| 16 | + - `GUN` (0x4D) — timing counter, line pulse, trigger |
| 17 | + - `ARCADE` (0xC0) — P1/P2 Coin/Start + Service |
| 18 | + - `KEYB` (0x02 / 0x4B) — 256-bit key matrix + a terminal-style |
| 19 | + typed-text row with blinking cursor and backspace |
| 20 | + - any other class → row labelled with the raw `0xNN` byte |
| 21 | +- Custom event broker daemon built from the full |
| 22 | + [trapexit/portfolio_os](https://github.com/trapexit/portfolio_os) |
| 23 | + source. The stripped daemon in the devkit returns |
| 24 | + `ER_NotSupported` for everything past `EB_Configure` / |
| 25 | + `EB_EventRecord`, which kills non-pad enumeration. Our build |
| 26 | + links every driverlet (pad, mouse, stick, lightgun, glasses, |
| 27 | + keyboard) statically into the broker. |
| 28 | +- `SillyPadDriver.c` written from scratch — no public `CPORTC0.ROM` |
| 29 | + ever shipped (Orbatak baked its 0xC0 driver into the game binary). |
| 30 | + Decodes both the PBUS-spec bit layout and the SNES23DO firmware's |
| 31 | + variant. |
| 32 | +- `KeyboardDriver.c` completed from the public stub in |
| 33 | + portfolio_os. Implements the PS/2 Set 2 byte-stream decoder, |
| 34 | + populates `ked_KeyMatrix[8]`, emits all four `EVENTNUM_Keyboard*` |
| 35 | + events. PR open upstream. |
| 36 | +- Bouncing-logo screensaver after 30 s idle. Cycling-colour |
| 37 | + silhouette on black background via an uncoded 16 bpp cel with |
| 38 | + pixel-buffer colour mutation per frame. |
16 | 39 |
|
17 | | -Full feature breakdown + build / loading instructions in |
18 | | -[`3do/README.md`](https://github.com/joypad-ai/joypad-tester/blob/main/3do/README.md). |
| 40 | +## v0.1.0 — 2026-05-12 (never tagged) |
| 41 | + |
| 42 | +Scaffold release. Single-pad `DoControlPad` polling, raw 32-bit |
| 43 | +bitfield render. Superseded by v1.0.0. |
0 commit comments