summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-06-24 06:56:27 +1000
committer Vas Crabb <vas@vastheman.com>2022-06-24 07:05:48 +1000
commitaf97d42dd31cdd7da154108562bb9d08043757b5 (patch)
treecc73e8e44dd26fb21b9f648c83579ba1320a8179 /src/emu
parente50b51fe7810715e5002a0ab41bbe6dd1db5420d (diff)
bus/nubus: More Mac video card improvements.
Started implementing the Macintosh Display Card CRTC. It gives correct resolutions, although refresh rates are incorrect. Added machine configuration settings allowing several monitors to be selected. Implemented the Macintosh Display Card's packed RGB mode. The base/stride in RGB mode make more sense with this implemented. Cleaned up the code for the SuperMac Spectrum cards, and fixed the garbage at the bottom of the screen on the Spectrum/8. Put a layout with views for common monitor aspect ratios in a place where cards can use it. This is especially useful for the NuBus cards that can support portrait monitors.
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/layout/generic.h3
-rw-r--r--src/emu/layout/monitors.lay41
-rw-r--r--src/emu/rendlay.cpp3
3 files changed, 47 insertions, 0 deletions
diff --git a/src/emu/layout/generic.h b/src/emu/layout/generic.h
index 502e38e0765..4249c3ef68b 100644
--- a/src/emu/layout/generic.h
+++ b/src/emu/layout/generic.h
@@ -21,6 +21,9 @@
// no screens layouts
extern const internal_layout layout_noscreens; // for screenless systems
+// single screen layouts
+extern const internal_layout layout_monitors; // common monitor aspect ratios
+
// dual screen layouts
extern const internal_layout layout_dualhsxs; // dual 4:3 screens side-by-side
extern const internal_layout layout_dualhovu; // dual 4:3 screens above and below
diff --git a/src/emu/layout/monitors.lay b/src/emu/layout/monitors.lay
new file mode 100644
index 00000000000..c6391b16a12
--- /dev/null
+++ b/src/emu/layout/monitors.lay
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+license:CC0
+-->
+<mamelayout version="2">
+ <view name="4:3 Standard">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="4" bottom="3" />
+ </screen>
+ </view>
+ <view name="3:4 Portrait">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="3" bottom="4" />
+ </screen>
+ </view>
+ <view name="5:4 Two-Page">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="5" bottom="4" />
+ </screen>
+ </view>
+ <view name="16:9 Widescreen">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="16" bottom="9" />
+ </screen>
+ </view>
+ <view name="21:9 UltraWide">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="21" bottom="9" />
+ </screen>
+ </view>
+ <view name="32:9 Super UltraWide">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="32" bottom="9" />
+ </screen>
+ </view>
+ <view name="1:1 Air Traffic Control">
+ <screen tag="screen">
+ <bounds left="0" top="0" right="32" bottom="9" />
+ </screen>
+ </view>
+</mamelayout>
diff --git a/src/emu/rendlay.cpp b/src/emu/rendlay.cpp
index ffe680fa625..c0a9b040b50 100644
--- a/src/emu/rendlay.cpp
+++ b/src/emu/rendlay.cpp
@@ -59,6 +59,9 @@
// screenless layouts
#include "noscreens.lh"
+// single screen layouts
+#include "monitors.lh"
+
// dual screen layouts
#include "dualhsxs.lh"
#include "dualhovu.lh"