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 ) 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);