summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-08-25 18:01:18 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-08-25 18:08:19 -0400
commitaea16dafbb011ee5bdabf854f54daba2a8650c0f (patch)
tree3019c358875731b4e579da05474fca8a53029842
parente78658f85a0a730f008b4ed1a40104553af0a1b0 (diff)
nightmare: Change game title to two words as suggested by Haze (nw)
- Make VDP its own device type (might be a custom mask variant) - Set EFO90501 refresh rate tentatively to 50 Hz (this is now a device setting)
-rw-r--r--src/devices/video/tms9928a.cpp6
-rw-r--r--src/devices/video/tms9928a.h8
-rw-r--r--src/mame/drivers/nightmare.cpp17
3 files changed, 23 insertions, 8 deletions
diff --git a/src/devices/video/tms9928a.cpp b/src/devices/video/tms9928a.cpp
index 55fae79ef2b..bc31b1b1db9 100644
--- a/src/devices/video/tms9928a.cpp
+++ b/src/devices/video/tms9928a.cpp
@@ -35,6 +35,7 @@ DEFINE_DEVICE_TYPE(TMS9128, tms9128_device, "tms9128", "TMS9128 VDP")
DEFINE_DEVICE_TYPE(TMS9929, tms9929_device, "tms9929", "TMS9929 VDP")
DEFINE_DEVICE_TYPE(TMS9929A, tms9929a_device, "tms9929a", "TMS9929A VDP")
DEFINE_DEVICE_TYPE(TMS9129, tms9129_device, "tms9129", "TMS9129 VDP")
+DEFINE_DEVICE_TYPE(EFO90501, efo90501_device, "efo90501", "EFO90501 VDP")
// ======= Debugging =========
@@ -130,6 +131,11 @@ tms9929a_device::tms9929a_device(const machine_config &mconfig, const char *tag,
{
}
+efo90501_device::efo90501_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : tms9928a_device(mconfig, EFO90501, tag, owner, clock, true, true, true)
+{
+}
+
device_memory_interface::space_config_vector tms9928a_device::memory_space_config() const
{
return space_config_vector {
diff --git a/src/devices/video/tms9928a.h b/src/devices/video/tms9928a.h
index b69a61d870d..0798183f0ea 100644
--- a/src/devices/video/tms9928a.h
+++ b/src/devices/video/tms9928a.h
@@ -46,6 +46,7 @@ DECLARE_DEVICE_TYPE(TMS9128, tms9128_device)
DECLARE_DEVICE_TYPE(TMS9929, tms9929_device)
DECLARE_DEVICE_TYPE(TMS9929A, tms9929a_device)
DECLARE_DEVICE_TYPE(TMS9129, tms9129_device)
+DECLARE_DEVICE_TYPE(EFO90501, efo90501_device)
class tms9928a_device : public device_t,
@@ -206,4 +207,11 @@ public:
};
+class efo90501_device : public tms9928a_device
+{
+public:
+ efo90501_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+};
+
+
#endif // MAME_VIDEO_TMS9928A_H
diff --git a/src/mame/drivers/nightmare.cpp b/src/mame/drivers/nightmare.cpp
index c9f5d8ec885..e748132b6f2 100644
--- a/src/mame/drivers/nightmare.cpp
+++ b/src/mame/drivers/nightmare.cpp
@@ -3,7 +3,7 @@
/******************************************************************************
- Nightmare / Clean Octopus.
+ Night Mare / Clean Octopus.
E.F.O. S.A. Video IV System.
Barcelona, Spain.
@@ -16,8 +16,9 @@
The game was designed by EFO/Playmatic in 1982, then dissappeared and remained
lost till now.
- The name of the game for the local market was "Nightmare", but for the interna-
- tional market they changed the name to "Clean Octopus".
+ The name of the game for the local market was "Night Mare" (misspelled in
+ some cases as "Nigth Mare"), but for the international market they changed the
+ name to "Clean Octopus".
--------------------------------------------------------------------------------
@@ -454,16 +455,16 @@ void nightmare_state::nightmare(machine_config &config)
SDA2006(config, m_eeprom);
/* video hardware */
- TMS9928A( config, m_vdc, MASTER_CLOCK );
+ EFO90501( config, m_vdc, MASTER_CLOCK );
+ m_vdc->set_screen("screen");
m_vdc->set_vram_size(0x4000);
- TMS9928A( config, m_vdc2, MASTER_CLOCK );
+ EFO90501( config, m_vdc2, MASTER_CLOCK );
+ m_vdc2->set_screen("screen");
m_vdc2->set_vram_size(0x4000);
m_vdc2->int_callback().set_inputline(m_maincpu, COSMAC_INPUT_LINE_INT);
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
- screen.set_raw(MASTER_CLOCK/2, tms9928a_device::TOTAL_HORZ, tms9928a_device::HORZ_DISPLAY_START-12, tms9928a_device::HORZ_DISPLAY_START + 256 + 12, \
- tms9928a_device::TOTAL_VERT_NTSC, tms9928a_device::VERT_DISPLAY_START_NTSC - 12, tms9928a_device::VERT_DISPLAY_START_NTSC + 192 + 12);
screen.set_screen_update(FUNC(nightmare_state::screen_update_nightmare));
}
@@ -481,4 +482,4 @@ ROM_START( nightmare )
ROM_LOAD( "eeprom", 0x00, 0x40, CRC(7824e1f8) SHA1(2ccac62b4e8abcb2b3d66fa4025947fea184664e) )
ROM_END
-GAME( 1982, nightmare, 0, nightmare, nightmare, nightmare_state, empty_init, ROT90, "E.F.O.", "Nightmare (Spain)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )
+GAME( 1982, nightmare, 0, nightmare, nightmare, nightmare_state, empty_init, ROT90, "E.F.O.", "Night Mare (Spain)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE | MACHINE_NO_COCKTAIL )