This commit is contained in:
RobertoFresca 2016-05-26 22:55:35 -03:00
commit 54e42b0a2c
4 changed files with 76 additions and 8 deletions

View File

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

View File

@ -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")

View File

@ -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<cpu_device> m_maincpu;
required_device<z80pio_device> m_pio;
required_device<cassette_image_device> m_cassette;
required_device<wave_device> m_wave;
required_device<samples_device> m_samples;
required_device<speaker_sound_device> m_speaker;
required_device<centronics_device> m_centronics;
required_device<output_latch_device> m_cent_data_out;

View File

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