diff options
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 |
commit | aea16dafbb011ee5bdabf854f54daba2a8650c0f (patch) | |
tree | 3019c358875731b4e579da05474fca8a53029842 | |
parent | e78658f85a0a730f008b4ed1a40104553af0a1b0 (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.cpp | 6 | ||||
-rw-r--r-- | src/devices/video/tms9928a.h | 8 | ||||
-rw-r--r-- | src/mame/drivers/nightmare.cpp | 17 |
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 ) |