New layout mode showing every cockpit display as its own desktop window -- the two MFD heads split into their individual color wires, which is what the pentapus cable does on the real pod: - wins 5-9 = the five mono MFDs (win5 LL = HEAD A red, win6 LR = HEAD A green, win7 UL = HEAD B red, win8 UC = HEAD B green, win9 UR = HEAD B blue), each decoding framebuffer bits 8-15 through its head's palette and rendering its single wire as green-phosphor brightness (G=v, R=B=v/8). - Radar (win0) rotated 90 degrees clockwise and shown portrait 480x640 -- the pod's radar CRT is mounted sideways -- centered between the two lower MFDs. - All displays at native size: MFDs 640x480, uppers at (20,20)/(680,20)/(1340,20), lowers at (20,560)/(1340,560) aligned under the outer uppers; radar at (760,560); Division main 800x600 at (2020,20). - The DOSBox SDL main screen is auto-parked centered under the Division window (one-shot EnumWindows by title + SetWindowPos). - Geometry overridable per window via VPX_WIN<g>/VPX_MAIN as usual; win<g>.bmp dumps cover g=5-9, radar dumps rotated as displayed. VPX_COCKPIT takes precedence if both modes are set; cockpit and debug layouts unchanged (regression-checked). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
VPX device — DOSBox-X integration
Our original source for the emulated Division VPX link adapter. Kept here under
version control because the DOSBox-X source tree itself
(emulator/src/, ~490 MB) is git-ignored.
vpxlog.cpp— Phase 1 logging device. Impersonates the INMOS C012 link adapter at I/O base0x150, answers status reads so the game keeps transmitting, and logs every access to$VPXLOG. (Phase 2 will grow this into a responding transputer-monitor + i860-loader + frame-stream renderer, or fork into a separatevpx.cpp.)
Applying to a DOSBox-X source checkout
Tested against DOSBox-X v2026.06.02, MSYS2 mingw64.
- Copy the device in:
cp emulator/vpx-device/vpxlog.cpp emulator/src/src/hardware/vpxlog.cpp - Add it to the hardware build — in
src/src/hardware/Makefile.am, appendvpxlog.cpptolibhardware_a_SOURCES(we inserted it afterglide.cpp). - Call the init — in
src/src/gui/sdlmain.cpp, declarevoid VPXLOG_Init();next to the other*_Init()prototypes and callVPXLOG_Init();right afterGLIDE_Init();in the machine bring-up sequence. - Build:
Output:
cd emulator/src ./build-mingw-sdl2 --enable-debug=heavysrc/src/dosbox-x.exe.
Running
set VPXLOG=C:\VWE\TeslaRel410\emulator\vpxlog.txt
emulator\src\src\dosbox-x.exe -conf emulator\capture.conf
python emulator\analyze_capture.py
With VPXLOG unset the device is inert and the build behaves like stock
DOSBox-X.