From c0bc95790d24c42adfdff74922a312a11603d6ee Mon Sep 17 00:00:00 2001 From: MASH Date: Fri, 27 May 2016 00:09:27 +0100 Subject: [PATCH 1/2] Added color proms to Ozma Wars. Added the original/dumped 2708 roms (1024 bytes) to clone Ozma Wars (set 2). They were merged with (set 1) since they were added in MAME 0.53. Also added Malcor's PCB info from 1998 to (set 2). The PCB info says that Ozma Wars (set 2) uses Taito's three board colour version of Space Invaders PCB, so i added the color maps proms from intruder to it. They matched the flyer picture at: http://flyers.arcade-museum.com/?page=flyer&db=videodb&id=5784&image=2 While (set 1) only differs in 6 bytes from (set 2) i added the proms also to (set 1). --- src/mame/drivers/8080bw.cpp | 54 +++++++++++++++++++++++++++++++++---- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp index 3fca984db45..5b6f72e22cf 100644 --- a/src/mame/drivers/8080bw.cpp +++ b/src/mame/drivers/8080bw.cpp @@ -4508,19 +4508,63 @@ ROM_START( ozmawars ) ROM_LOAD( "mw04", 0x1800, 0x0800, CRC(e190ce6c) SHA1(120898e9a683f5ce874c6fde761570a26de2fa8c) ) ROM_LOAD( "mw05", 0x4000, 0x0800, CRC(3bc7d4c7) SHA1(b084f8cd2ce0f502c2e915da3eceffcbb448e9c0) ) ROM_LOAD( "mw06", 0x4800, 0x0800, CRC(99ca2eae) SHA1(8d0f220f68043eff0c85d2de7bee7fd4365fb51c) ) + + ROM_REGION( 0x0800, "proms", 0 ) /* color maps player 1/player 2 */ + /* !! not dumped yet, these were taken from sisv/intruder */ + ROM_LOAD( "01.1", 0x0000, 0x0400, BAD_DUMP CRC(aac24f34) SHA1(ad110e776547fb48baac568bb50d61854537ca34) ) + ROM_LOAD( "02.2", 0x0400, 0x0400, BAD_DUMP CRC(2bdf83a0) SHA1(01ffbd43964c41987e7d44816271308f9a70802b) ) ROM_END +/* + +------------------------------ +Ozma Wars by SHIN NIHON KIKAKU +------------------------------ + +Location Type File ID Checksum +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ROM IC36 2708 OZ1 8707 +ROM IC35 2708 OZ2 60A7 +ROM IC34 2708 OZ3 7504 +ROM IC33 2708 OZ4 55A1 +ROM IC32 2708 OZ5 6BC3 +ROM IC31 2708 OZ6 2808 +ROM IC42 2708 OZ7 FE8A +ROM IC41 2708 OZ8 C03B +ROM IC40 2708 OZ9 7515 +ROM IC39 2708 OZ10 4BD4 +ROM IC38 2708 OZ11 50BA +ROM IC37 2708 OZ12 3411 + + +Note: CPU - CPU board (AA017757) + AUD - Audio/IO board (CV070005) + ROM - ROM board (AA017756A) + + - Uses Taito's three board colour version + of Space Invaders PCB + +*/ + ROM_START( ozmawars2 ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "mw01", 0x0000, 0x0800, CRC(31f4397d) SHA1(bba9765aadd608d19e2515a5edf8e0eceb70916a) ) - ROM_LOAD( "mw02", 0x0800, 0x0800, CRC(d8e77c62) SHA1(84fc81cf9a924ecbb13a008cd7435b7d465bddf6) ) + ROM_LOAD( "oz1", 0x0000, 0x0400, CRC(9300830e) SHA1(7ed349f7ad01b30aefb41dcaf97e209d00f5af6c) ) + ROM_LOAD( "oz2", 0x0400, 0x0400, CRC(957fc661) SHA1(ac0edc901d8033619f62967f8eaf53a02947e109) ) + ROM_LOAD( "oz3", 0x0800, 0x0400, CRC(cf8f4d6c) SHA1(effb4dc48594e1b7164b37f683a5a78b1a9bdd4f) ) + ROM_LOAD( "oz4", 0x0c00, 0x0400, CRC(f51544a5) SHA1(368411a2dadaebcbb4d5b6cf6c2beec036ce817f) ) ROM_LOAD( "oz5", 0x1000, 0x0400, CRC(5597bf52) SHA1(626c7348365ed974d416485d94d057745b5d9b96) ) ROM_LOAD( "oz6", 0x1400, 0x0400, CRC(19b43578) SHA1(3609b7c77f5ee6f10f302892f56fcc8375577f20) ) ROM_LOAD( "oz7", 0x1800, 0x0400, CRC(a285bfde) SHA1(ed7a9fce4d887d3b5d596645893ea87c0bafda02) ) ROM_LOAD( "oz8", 0x1c00, 0x0400, CRC(ae59a629) SHA1(0c9ea67dc35f93ec65ec91e1dab2e4b6212428bf) ) - ROM_LOAD( "mw05", 0x4000, 0x0800, CRC(3bc7d4c7) SHA1(b084f8cd2ce0f502c2e915da3eceffcbb448e9c0) ) + ROM_LOAD( "oz9", 0x4000, 0x0400, CRC(df0cc633) SHA1(3725af2e5a6e9ab08dd9ada345630de19c88ce73) ) + ROM_LOAD( "oz10", 0x4400, 0x0400, CRC(31b7692e) SHA1(043880750d134d04311eab55e30ee223977d3d17) ) ROM_LOAD( "oz11", 0x4800, 0x0400, CRC(660e934c) SHA1(1d50ae3a9de041b908e256892203ce1738d588f6) ) ROM_LOAD( "oz12", 0x4c00, 0x0400, CRC(8b969f61) SHA1(6d12cacc73c31a897812ccd8de24725ee56dd975) ) + + ROM_REGION( 0x0800, "proms", 0 ) /* color maps player 1/player 2 */ + /* !! not dumped yet, these were taken from sisv/intruder */ + ROM_LOAD( "01.1", 0x0000, 0x0400, BAD_DUMP CRC(aac24f34) SHA1(ad110e776547fb48baac568bb50d61854537ca34) ) + ROM_LOAD( "02.2", 0x0400, 0x0400, BAD_DUMP CRC(2bdf83a0) SHA1(01ffbd43964c41987e7d44816271308f9a70802b) ) ROM_END ROM_START( solfight ) @@ -4830,8 +4874,8 @@ GAME( 1980, vortex, 0, vortex, vortex, _8080bw_state, vortex, R GAME( 1979, rollingc, 0, rollingc, rollingc, driver_device, 0, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_COLORS | MACHINE_SUPPORTS_SAVE ) -GAME( 1979, ozmawars, 0, invaders, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1979, ozmawars2, ozmawars, invaders, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 2)", MACHINE_SUPPORTS_SAVE ) /* Uses Taito's three board color version of Space Invaders PCB */ +GAME( 1979, ozmawars, 0, invadpt2, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 1)", MACHINE_SUPPORTS_SAVE ) +GAME( 1979, ozmawars2, ozmawars, invadpt2, ozmawars, driver_device, 0, ROT270, "SNK", "Ozma Wars (set 2)", MACHINE_SUPPORTS_SAVE ) /* Uses Taito's three board color version of Space Invaders PCB */ GAME( 1979, spaceph, ozmawars, invaders, spaceph, driver_device, 0, ROT270, "bootleg? (Zilec Games)", "Space Phantoms (bootleg of Ozma Wars)", MACHINE_SUPPORTS_SAVE ) GAME( 1979, solfight, ozmawars, invaders, ozmawars, driver_device, 0, ROT270, "bootleg", "Solar Fight (bootleg of Ozma Wars)", MACHINE_SUPPORTS_SAVE ) From 96674c9a8107d389f22bb5034b75596144930db4 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Fri, 27 May 2016 10:57:15 +1000 Subject: [PATCH 2/2] Super-80: added sounds for the cassette relay --- src/mame/drivers/super80.cpp | 17 +++++++++++++++++ src/mame/includes/super80.h | 5 ++++- src/mame/machine/super80.cpp | 8 ++++++-- 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/super80.cpp b/src/mame/drivers/super80.cpp index 959785797a7..d233790e0c3 100644 --- a/src/mame/drivers/super80.cpp +++ b/src/mame/drivers/super80.cpp @@ -678,6 +678,15 @@ static SLOT_INTERFACE_START( super80_floppies ) SLOT_INTERFACE_END +static const char *const relay_sample_names[] = +{ + "*relay", + "relayoff", + "relayon", + nullptr +}; + + static MACHINE_CONFIG_START( super80, super80_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 2 MHz */ @@ -710,6 +719,10 @@ static MACHINE_CONFIG_START( super80, super80_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.05) MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + MCFG_SOUND_ADD("samples", SAMPLES, 0) + MCFG_SAMPLES_CHANNELS(1) + MCFG_SAMPLES_NAMES(relay_sample_names) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") @@ -798,6 +811,10 @@ static MACHINE_CONFIG_START( super80v, super80_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.05) MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + MCFG_SOUND_ADD("samples", SAMPLES, 0) + MCFG_SAMPLES_CHANNELS(1) + MCFG_SAMPLES_NAMES(relay_sample_names) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) /* printer */ MCFG_CENTRONICS_ADD("centronics", centronics_devices, "printer") diff --git a/src/mame/includes/super80.h b/src/mame/includes/super80.h index b8d8d6b99af..f200c0524b6 100644 --- a/src/mame/includes/super80.h +++ b/src/mame/includes/super80.h @@ -7,6 +7,7 @@ #include "imagedev/snapquik.h" #include "imagedev/cassette.h" #include "sound/speaker.h" +#include "sound/samples.h" #include "machine/buffer.h" #include "bus/centronics/ctronics.h" #include "video/mc6845.h" @@ -31,6 +32,7 @@ public: , m_pio(*this, "z80pio") , m_cassette(*this, "cassette") , m_wave(*this, WAVE_TAG) + , m_samples(*this, "samples") , m_speaker(*this, "speaker") , m_centronics(*this, "centronics") , m_cent_data_out(*this, "cent_data_out") @@ -104,11 +106,12 @@ private: UINT8 m_mc6845_ind; UINT8 *m_p_ram; void mc6845_cursor_configure(); - void super80_cassette_motor(UINT8 data); + void super80_cassette_motor(bool data); required_device m_maincpu; required_device m_pio; required_device m_cassette; required_device m_wave; + required_device m_samples; required_device m_speaker; required_device m_centronics; required_device m_cent_data_out; diff --git a/src/mame/machine/super80.cpp b/src/mame/machine/super80.cpp index 9d44cc7cec4..c08288c89a8 100644 --- a/src/mame/machine/super80.cpp +++ b/src/mame/machine/super80.cpp @@ -31,9 +31,13 @@ READ8_MEMBER( super80_state::pio_port_b_r ) /**************************** CASSETTE ROUTINES *****************************************************************/ -void super80_state::super80_cassette_motor( UINT8 data ) +void super80_state::super80_cassette_motor( bool motor_state ) { - if (data) + // relay sound + if (BIT(m_last_data, 1) != motor_state) + m_samples->start(0, motor_state ? 0 : 1); + + if (motor_state) m_cassette->change_state(CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR); else m_cassette->change_state(CASSETTE_MOTOR_ENABLED,CASSETTE_MASK_MOTOR);