- Connection: drop the hardwired COM12; replicate vRIO's endpoint picker —
a combo of pipe:vplasma (the DOSBox-X namedpipe backend) + the COM ports,
with Rescan and Open/Close. Nothing opens automatically; baud straps drive
a COM open.
- Demo (jumper 6) now runs the REAL firmware demonstration, not the vPLASMA
self-test. The 10 demo screens are extracted verbatim from the ROM demo
pointer table ($8000) into PlasmaFirmwareDemo.cs and looped through the
parser. Added ESC I / ESC i (draw/display page select) as 1-operand
commands — consumed but not acted on in the single-page model — so the
demo's page commands don't desync the stream.
- Orientation (jumper 4 / PD5) polarity fixed: unstrapped = horizontal
128x32 (the normal cockpit setup, now the default), installed = vertical.
Verified: 29 unit tests pass (2 new: demo replay, page-select operand); the
real demo screens render with the correct text/positioning/fonts, and the
picker lists pipe:vplasma + COM ports with no auto-open.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Both now do what the firmware does, at the device level so the shared
PlasmaCanvas (and vRIO's embedded glass) are untouched:
- Jumper 4 → display orientation. VPlasmaDevice gains a PlasmaOrientation
property; in Vertical the logical space is 32x128 and every dot is rotated
onto the physical 128x32 glass via a new Plot() helper that all drawing
(text, cursor, ESC P graphics, ESC Q/R bounds) now goes through. Jumper 4
installed = horizontal (the normal cockpit setup, default), removed =
vertical. Changing it re-inits the panel, like the boot strap read.
- Jumper 5 → ShowTestPattern(): lights every dot (the power-on dead-dot
check the firmware runs at $B888). Removing the jumper clears it.
The config panel wires both up and shows the live orientation in the
counters. 27 unit tests pass (3 new: vertical rotation mapping, orientation
re-init, test pattern), including the unchanged horizontal path.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Remove the COM12 auto-open and its retry timer; the serial link is now
opened manually via an "Open/Close COM12" button in the config panel.
The named-pipe transport still serves automatically. Baud straps reopen
only if already open.
- Decode the three previously-unknown JP1 config jumpers from the firmware
(boot config routine at $9190) and relabel them:
* Jumper 3 (PA3): sets flag $B7.2, driving hardware output PA5 to a
fixed level (a board config line).
* Jumper 4 (PD5): display orientation — installed = horizontal 128x32,
removed = vertical 32x128 (the demo's "HORIZONTAL OR VERTICAL").
* Jumper 5 (PD4): power-on display/pixel test pattern ($B888).
PlasmaNew/README.md's JP1 table now carries the full firmware-backed decode.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Replaces the guessed font/cursor model with what the firmware dump proved:
- The 8 real Babcock ROM fonts, extracted from tms27pc512.BIN into
PlasmaFonts.cs (6x8, 6x10, 7x10, 12x16, 12x20). Drops the public-domain
5x7 stand-in and PlasmaFont.cs.
- Pixel-addressed cursor with the real positioning commands: ESC Q (row Y,
0-31) and ESC R (column X, 0-127), matching the firmware's range checks.
Cursor motion (BS/HT/LF/VT/CR) now moves by font pixels, not cells.
- ESC K selects fonts 0-7 (out-of-range ignored, per firmware); ESC H
attributes are the low 4 bits (half/underline/reverse/flash).
Deferred (documented in FIRMWARE.md): the 10 double-buffered pages
(ESC I/i) and vector-graphics primitives (ESC A-F); vPLASMA keeps a
single-page model for now.
Verified: 24 unit tests pass; the three self-test pages render the real
glyphs (big font 4 banner, full charset in font 0, graphics). Next: begin
the modern-parts hardware replica, with this as the reference firmware.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the dumped U3 EPROM image (tms27pc512.BIN) and the analysis it enabled.
Findings (FIRMWARE.md):
- Memory map: code+data at CPU $8000-$FFFF (EPROM upper 32KB, 1:1); lower
half unused. Valid HC11 vectors; SCI rx ISR at $B85C fills a ring buffer,
main-loop parser dispatches.
- Full command set recovered from the two jump tables: 58 ESC commands
($98AC) + control chars ($994C). Decoded semantics for @/G/H/K/L (confirm
earlier guesses) plus NEW commands: Q=set-row, R=set-col, I=draw-page,
i=display-page (10-page double-buffering), A-F=vector graphics, X/Y=pen.
- 8 fonts at $BC03 (6x8, 6x10, 7x10, 12x16, 12x20); glyph bitmaps in ROM
(~$C000-$DFFF, exact base TBD).
- Built-in demo enabled by jumper 6 (confirms the JP1 map).
Tooling: hc11dis.py, a purpose-built 68HC11 disassembler (the toolchain has
no m68hc11 target), with the analysis reproducible from the addresses noted.
The firmware is now the authoritative command spec, superseding the need for
the Babcock programming manual. Feeds both vPLASMA and the replica firmware.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The cockpit PCs are now Win x64, so the replica needs no real RS-232 — a
native-USB MCU presenting as a USB CDC virtual COM port is transparent to
the host (opens COMx, can't tell it isn't a UART). Records the consequences
(baud cosmetic, timing instant, pin the COM number, LEDs need their own
power) and marks the hardware/protocol thread parked until the U3 EPROM
firmware dump (or Babcock programming manual) is in hand.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Historical reference for recreating the cockpit plasma display in hardware.
The original Babcock plasma panels are failing; the end goal is a drop-in
replica — a modern microcontroller driving a 128x32 LED array that reads the
same RS-232 serial bus and speaks the same command protocol as the original
PD01D221. vPLASMA (the C# app) is the executable spec and test oracle for
that firmware.
Contents:
- PD01D221.pdf — Babcock datasheet (doc 9200-0109 Rev A)
- Board photos: controller overview, Cherry silkscreen, EPROM/SRAM, JP1
- README.md — full investigation: hardware ID (stock Babcock PD01D221,
Cherry PCB 4317-C), chip inventory, recovered ESC command protocol, the
JP1 config-jumper map (MODA/MODB hardwired to expanded mode), and the
firmware-dump plan.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>