summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2022-06-25 06:07:42 +1000
committer Vas Crabb <vas@vastheman.com>2022-06-25 06:07:42 +1000
commit5f751410ac8d4dfd7f1e06eaceee95a9d9ae8443 (patch)
tree32742e2fbaf08211bc5c1c13bfa44a3a70c7f440 /src/devices/bus
parent923ef2c25db75ccb6a6d747304fc9c79ef454a46 (diff)
bus/nubus: Updated Mac Display Card TODO notes.
Diffstat (limited to 'src/devices/bus')
-rw-r--r--src/devices/bus/nubus/nubus_48gc.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/devices/bus/nubus/nubus_48gc.cpp b/src/devices/bus/nubus/nubus_48gc.cpp
index 506e6857248..41dfeb56d6f 100644
--- a/src/devices/bus/nubus/nubus_48gc.cpp
+++ b/src/devices/bus/nubus/nubus_48gc.cpp
@@ -2,16 +2,21 @@
// copyright-holders:R. Belmont, Vas Crabb
/***************************************************************************
- Apple 4*8 Graphics Card (model 630-0400) emulation
- Apple 8*24 Graphics Card emulation (cards have the same framebuffer chip
- w/different ROMs and RAMDACs, apparently)
+ Apple Macitosh Display Card 4•8 (model 630-0400)
+ Apple Macitosh Display Card 8•24
+
+ Cards have the same framebuffer, CRTC and clock synthesizers, but use
+ different RAMDACs and ROMs.
+
+ Monitor type changes take effect on had reset. The 8•24 defaults to the
+ “Page-White Gamma” profile for the 21" and 16" color monitors, which
+ affects white balance. Use the Monitors control panel to switch to the
+ “Uncorrected Gamma” profile if you don’t like it.
TODO:
* Work out why some monitors need magic multiply or divide by two to
get the right RAMDAC/CRTC clocks - inferring it from the reference
clock modulus is definitely wrong.
- * The 8•24 card uses a strange off-white palette with some monitors,
- including the 21" and 16" RGB displays.
* Interlaced modes.
***************************************************************************/
@@ -472,11 +477,10 @@ void jmfb_device::update_crtc()
width >>= 2;
break;
}
- XTAL const pixclock = 20_MHz_XTAL / m_modulus * m_multiplier / (1 << m_pdiv);
screen().configure(
htotal, vtotal,
rectangle(0, width - 1, 0, height - 1),
- attotime::from_ticks(htotal * vtotal, pixclock).attoseconds());
+ attotime::from_ticks(htotal * vtotal, pixclk).attoseconds());
// TODO: determine correct timing for vertical blanking interrupt
m_timer->adjust(screen().time_until_pos(height - 1, 0));