diff options
| author | 2026-01-28 14:10:19 +0100 | |
|---|---|---|
| committer | 2026-01-28 14:10:19 +0100 | |
| commit | 6cb0ec64ac8608c4bcf864807495f91c55db3653 (patch) | |
| tree | 50959ea697bf6ffcfd866d4eff5d0cb63f269c06 /src/emu/layout | |
| parent | 983cdc585d5cf16cf03ef9eda4b817be47ea9e7d (diff) | |
Miniforce and CPU1 (#14873)
* bus/vme/sys68k_cpu1: replace layout with tag-based screen references
* bus/vme/sys68k_cpu1: functional front panel matching real hardware
* bus/vme/sys68k_cpu1: add DB25 serial port connectors to front panel layout
* bus/vme/sys68k_cpu1: show connected device type on front panel connectors
* bus/vme/sys68k_cpu1: rename RS232 port tags to match front panel labels, wire up P5
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/emu/layout')
| -rw-r--r-- | src/emu/layout/sys68k_cpu1.lay | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/src/emu/layout/sys68k_cpu1.lay b/src/emu/layout/sys68k_cpu1.lay new file mode 100644 index 00000000000..1e5251fc51c --- /dev/null +++ b/src/emu/layout/sys68k_cpu1.lay @@ -0,0 +1,113 @@ +<?xml version="1.0"?> +<!-- +license:CC0-1.0 +copyright-holders:Joakim Larsson Edstrom + +Force Computers SYS68K/CPU-1 front panel layout +Matches real hardware: RESET and ABORT pushbuttons, HALT LED, P3/P4/P5 connectors +--> +<mamelayout version="2"> + + <!-- Background colors --> + <element name="panel_bg"> + <rect><color red="0.15" green="0.15" blue="0.15" /></rect> + </element> + <element name="silver"> + <rect><color red="0.75" green="0.75" blue="0.75" /></rect> + </element> + + <!-- LED element (red, active high) for HALT indicator --> + <element name="led_red" defstate="0"> + <disk state="0"><color red="0.2" green="0.05" blue="0.05" /></disk> + <disk state="1"><color red="1.0" green="0.0" blue="0.0" /></disk> + </element> + + <!-- Text labels (white on dark) --> + <element name="txt_sys68k"><text string="SYS68K"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_cpu1"><text string="CPU-1"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_reset"><text string="RESET"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_abort"><text string="ABORT"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_halt"><text string="HALT"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_p3"><text string="P3"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_p4"><text string="P4"><color red="0.9" green="0.9" blue="0.9" /></text></element> + <element name="txt_p5"><text string="P5"><color red="0.9" green="0.9" blue="0.9" /></text></element> + + <!-- DB25 serial port connector (vertical orientation, light housing) --> + <element name="db25"> + <rect><color red="0.70" green="0.70" blue="0.70" /></rect> + </element> + + <!-- Connection status indicator (0=none, 1=terminal, 2=null modem, 3=printer) --> + <element name="conn_status" defstate="0"> + <text state="0" string="--"><color red="0.0" green="0.0" blue="0.0" /></text> + <text state="1" string="TERMINAL"><color red="0.0" green="0.0" blue="0.0" /></text> + <text state="2" string="NULL MODEM"><color red="0.0" green="0.0" blue="0.0" /></text> + <text state="3" string="PRINTER"><color red="0.0" green="0.0" blue="0.0" /></text> + </element> + + <!-- Button elements (interactive) --> + <element name="btn_reset" defstate="0"> + <rect state="0"><color red="0.25" green="0.25" blue="0.25" /></rect> + <rect state="1"><color red="0.40" green="0.40" blue="0.40" /></rect> + </element> + <element name="btn_abort" defstate="0"> + <rect state="0"><color red="0.25" green="0.25" blue="0.25" /></rect> + <rect state="1"><color red="0.40" green="0.40" blue="0.40" /></rect> + </element> + + <!-- Front panel group (reusable across views) --> + <group name="panel"> + <!-- Dark panel background --> + <element ref="panel_bg"><bounds x="0" y="0" width="46" height="345" /></element> + <!-- Silver accent strip --> + <element ref="silver"><bounds x="46" y="0" width="2" height="345" /></element> + + <!-- Title --> + <element ref="txt_sys68k"><bounds x="3" y="5" width="40" height="12" /></element> + <element ref="txt_cpu1"><bounds x="3" y="18" width="40" height="12" /></element> + + <!-- RESET button (interactive) --> + <element ref="btn_reset" inputtag="PANEL" inputmask="0x01"><bounds x="8" y="42" width="30" height="16" /></element> + <element ref="txt_reset"><bounds x="8" y="44" width="30" height="12" /></element> + + <!-- ABORT button (interactive) --> + <element ref="btn_abort" inputtag="PANEL" inputmask="0x02"><bounds x="8" y="64" width="30" height="16" /></element> + <element ref="txt_abort"><bounds x="8" y="66" width="30" height="12" /></element> + + <!-- HALT LED --> + <element name="led_halt" ref="led_red"><bounds x="6" y="96" width="8" height="8" /></element> + <element ref="txt_halt"><bounds x="16" y="95" width="26" height="10" /></element> + + <!-- P3 serial port connector (Host) --> + <element ref="txt_p3"><bounds x="3" y="118" width="18" height="10" /></element> + <element ref="db25"><bounds x="10" y="130" width="22" height="50" /></element> + <element name="conn_p3" ref="conn_status"><bounds x="10" y="152" width="22" height="5" /></element> + + <!-- P4 serial port connector (Terminal) --> + <element ref="txt_p4"><bounds x="3" y="192" width="18" height="10" /></element> + <element ref="db25"><bounds x="10" y="204" width="22" height="50" /></element> + <element name="conn_p4" ref="conn_status"><bounds x="10" y="227" width="22" height="5" /></element> + + <!-- P5 serial port connector (Remote) --> + <element ref="txt_p5"><bounds x="3" y="268" width="18" height="10" /></element> + <element ref="db25"><bounds x="10" y="280" width="22" height="50" /></element> + <element name="conn_p5" ref="conn_status"><bounds x="10" y="303" width="22" height="5" /></element> + </group> + + <!-- Front Panel: standalone panel strip (always available) --> + <view name="Front Panel"> + <group ref="panel"><bounds x="0" y="0" width="48" height="345" /></group> + </view> + + <!-- Front Panel with Terminal: panel strip + terminal side by side (dropped if no terminal) --> + <view name="Front Panel with Terminal"> + <group ref="panel"><bounds x="0" y="0" width="48" height="345" /></group> + <screen tag="p4:terminal:terminal_screen"><bounds x="52" y="0" width="460" height="345" /></screen> + </view> + + <!-- Terminal view: just the terminal screen (dropped if no terminal attached) --> + <view name="Terminal"> + <screen tag="p4:terminal:terminal_screen"><bounds x="0" y="0" width="640" height="480" /></screen> + </view> + +</mamelayout> |
