vPLASMA (standalone): vRIO-style picker, real firmware demo, PD5 fix
- 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>
This commit is contained in:
@@ -63,6 +63,12 @@ public static class PlasmaProtocol
|
||||
// column (X, 0-127) — the exact range checks the firmware enforces.
|
||||
public const byte CmdSetRow = (byte)'Q';
|
||||
public const byte CmdSetColumn = (byte)'R';
|
||||
// Page select (the firmware's 10 double-buffered screens): ESC I picks the
|
||||
// draw page, ESC i the displayed page. vPLASMA models a single page, so
|
||||
// these are consumed (1 operand each) but not acted on — enough to replay
|
||||
// the built-in demo, which uses them heavily.
|
||||
public const byte CmdDrawPage = (byte)'I';
|
||||
public const byte CmdDisplayPage = (byte)'i';
|
||||
|
||||
/// <summary>Operand meaning "restore the default" for ESC K / ESC H.</summary>
|
||||
public const byte OperandDefault = 0xFF;
|
||||
|
||||
Reference in New Issue
Block a user