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>