Convert Atari JSA sound boards to their own devices, and replumb

them through the Atari games that used them.
This commit is contained in:
Aaron Giles 2013-07-14 22:49:13 +00:00
parent f8256fb223
commit 5d93590f30
38 changed files with 1603 additions and 1275 deletions

View File

@ -90,7 +90,7 @@
#define DEVCB2_DEVWRITE64(tag, _class, _func) write64_delegate(&_class::_func, #_class "::" #_func, tag, (_class *)0) #define DEVCB2_DEVWRITE64(tag, _class, _func) write64_delegate(&_class::_func, #_class "::" #_func, tag, (_class *)0)
// machine config helpers to add shift, mask, or address space configuration // machine config helpers to add shift, mask, or address space configuration
#define MCFG_DEVCB_SHIFT(_shift) devcb->set_shift(_shift); #define MCFG_DEVCB_RSHIFT(_shift) devcb->set_rshift(_shift);
#define MCFG_DEVCB_MASK(_mask) devcb->set_mask(_mask); #define MCFG_DEVCB_MASK(_mask) devcb->set_mask(_mask);
#define MCFG_DEVCB_XOR(_xor) devcb->set_xor(_xor); #define MCFG_DEVCB_XOR(_xor) devcb->set_xor(_xor);
#define MCFG_DEVCB_INVERT devcb->set_xor(~U64(0)); #define MCFG_DEVCB_INVERT devcb->set_xor(~U64(0));

View File

@ -423,7 +423,7 @@ public:
if (device != NULL && this->m_target == NULL) if (device != NULL && this->m_target == NULL)
{ {
void mame_printf_warning(const char *format, ...) ATTR_PRINTF(1,2); void mame_printf_warning(const char *format, ...) ATTR_PRINTF(1,2);
mame_printf_warning("Device '%s' found but is of incorrect type\n", this->m_tag); mame_printf_warning("Device '%s' found but is of incorrect type (actual type is %s)\n", this->m_tag, device->name());
} }
return this->report_missing(this->m_target != NULL, "device", _Required); return this->report_missing(this->m_target != NULL, "device", _Required);
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,282 @@
/*************************************************************************** /***************************************************************************
Atari Audio Board II Interface audio/atarijsa.h
****************************************************************************/ Functions to emulate the Atari "JSA" audio boards
****************************************************************************
Copyright Aaron Giles
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
* Neither the name 'MAME' nor the names of its contributors may be
used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY AARON GILES ''AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL AARON GILES BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
#pragma once
#ifndef __ATARI_JSA__
#define __ATARI_JSA__
#include "cpu/m6502/m6502.h"
#include "sound/tms5220.h"
#include "sound/2151intf.h"
#include "sound/okim6295.h"
#include "sound/pokey.h"
#include "machine/atarigen.h"
void atarijsa_init(running_machine &machine, const char *testport, int testmask); //**************************************************************************
void atarijsa_reset(running_machine &machine); // GLOBAL VARIABLES
//**************************************************************************
extern const device_type ATARI_JSA_I;
extern const device_type ATARI_JSA_II;
extern const device_type ATARI_JSA_III;
extern const device_type ATARI_JSA_IIIS;
MACHINE_CONFIG_EXTERN( jsa_i_stereo );
MACHINE_CONFIG_EXTERN( jsa_i_stereo_swapped ); //**************************************************************************
MACHINE_CONFIG_EXTERN( jsa_i_stereo_pokey ); // DEVICE CONFIGURATION MACROS
MACHINE_CONFIG_EXTERN( jsa_i_mono_speech ); //**************************************************************************
MACHINE_CONFIG_EXTERN( jsa_ii_mono );
MACHINE_CONFIG_EXTERN( jsa_iii_mono ); #define MCFG_ATARI_JSA_I_ADD(_tag, _intcb) \
MACHINE_CONFIG_EXTERN( jsa_iii_mono_noadpcm ); MCFG_DEVICE_ADD(_tag, ATARI_JSA_I, 0) \
MACHINE_CONFIG_EXTERN( jsa_iiis_stereo ); devcb = &atari_jsa_i_device::static_set_main_int_cb(*device, DEVCB2_##_intcb);
#define MCFG_ATARI_JSA_II_ADD(_tag, _intcb) \
MCFG_DEVICE_ADD(_tag, ATARI_JSA_II, 0) \
devcb = &atari_jsa_ii_device::static_set_main_int_cb(*device, DEVCB2_##_intcb);
#define MCFG_ATARI_JSA_III_ADD(_tag, _intcb) \
MCFG_DEVICE_ADD(_tag, ATARI_JSA_III, 0) \
devcb = &atari_jsa_iii_device::static_set_main_int_cb(*device, DEVCB2_##_intcb);
#define MCFG_ATARI_JSA_IIIS_ADD(_tag, _intcb) \
MCFG_DEVICE_ADD(_tag, ATARI_JSA_IIIS, 0) \
devcb = &atari_jsa_iiis_device::static_set_main_int_cb(*device, DEVCB2_##_intcb);
#define MCFG_ATARI_JSA_TEST_PORT(_port, _bitnum) \
devcb = &atari_jsa_base_device::static_set_test_read_cb(*device, DEVCB2_IOPORT(_port)); \
MCFG_DEVCB_RSHIFT(_bitnum); \
/* Board-specific port definitions */
INPUT_PORTS_EXTERN( atarijsa_i ); //**************************************************************************
INPUT_PORTS_EXTERN( atarijsa_ii ); // TYPE DEFINITIONS
INPUT_PORTS_EXTERN( atarijsa_iii ); //**************************************************************************
// ======================> atari_jsa_base_device
class atari_jsa_base_device : public device_t,
public device_mixer_interface
{
protected:
// construction/destruction
atari_jsa_base_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, int channels);
public:
// static configuration
template<class _Object> static devcb2_base &static_set_test_read_cb(device_t &device, _Object object) { return downcast<atari_jsa_base_device &>(device).m_test_read_cb.set_callback(object); }
template<class _Object> static devcb2_base &static_set_main_int_cb(device_t &device, _Object object) { return downcast<atari_jsa_base_device &>(device).m_main_int_cb.set_callback(object); }
// getters
m6502_device &soundcpu() const { return *m_jsacpu; }
bool main_to_sound_ready() const { return m_soundcomm->main_to_sound_ready(); }
bool sound_to_main_ready() const { return m_soundcomm->sound_to_main_ready(); }
// main cpu accessors
DECLARE_WRITE8_MEMBER(main_command_w);
DECLARE_READ8_MEMBER(main_response_r);
DECLARE_WRITE16_MEMBER(sound_reset_w);
// read/write handlers
DECLARE_WRITE8_MEMBER( ym2151_port_w );
// I/O lines
DECLARE_WRITE_LINE_MEMBER( main_int_write_line );
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
// internal helpers
virtual void update_all_volumes() = 0;
// devices
required_device<atari_sound_comm_device> m_soundcomm;
required_device<m6502_device> m_jsacpu;
required_device<ym2151_device> m_ym2151;
// memory banks
required_memory_bank m_cpu_bank;
// configuration state
devcb2_read_line m_test_read_cb;
devcb2_write_line m_main_int_cb;
// internal state
double m_ym2151_volume;
UINT8 m_ym2151_ct1;
UINT8 m_ym2151_ct2;
};
// ======================> atari_jsa_oki_base_device
class atari_jsa_oki_base_device : public atari_jsa_base_device
{
protected:
// derived construction/destruction
atari_jsa_oki_base_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, int channels);
public:
// read/write handlers
DECLARE_READ8_MEMBER( oki_r );
DECLARE_WRITE8_MEMBER( oki_w );
DECLARE_WRITE8_MEMBER( wrio_w );
DECLARE_WRITE8_MEMBER( mix_w );
DECLARE_WRITE8_MEMBER( overall_volume_w );
protected:
// device level overrides
virtual void device_start();
virtual void device_reset();
// internal helpers
virtual void update_all_volumes();
// devices
optional_device<okim6295_device> m_oki1;
optional_device<okim6295_device> m_oki2; // JSA IIIs only
// memory banks
optional_memory_bank m_oki1_banklo; // JSA III(s) only
optional_memory_bank m_oki1_bankhi; // JSA III(s)
optional_memory_bank m_oki2_banklo; // JSA IIIs only
optional_memory_bank m_oki2_bankhi; // JSA IIIs only
// internal state
double m_oki6295_volume;
double m_overall_volume; // JSA III(s) only
};
// ======================> atari_jsa_i_device
class atari_jsa_i_device : public atari_jsa_base_device
{
public:
// construction/destruction
atari_jsa_i_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// read/write handlers
DECLARE_READ8_MEMBER( rdio_r );
DECLARE_WRITE8_MEMBER( wrio_w );
DECLARE_WRITE8_MEMBER( mix_w );
DECLARE_WRITE8_MEMBER( tms5220_voice );
DECLARE_READ8_MEMBER( pokey_r );
DECLARE_WRITE8_MEMBER( pokey_w );
protected:
// device level overrides
virtual machine_config_constructor device_mconfig_additions() const;
virtual ioport_constructor device_input_ports() const;
virtual void device_start();
virtual void device_reset();
// internal helpers
virtual void update_all_volumes();
// devices
optional_device<pokey_device> m_pokey;
optional_device<tms5220_device> m_tms5220;
// internal state
double m_pokey_volume;
double m_tms5220_volume;
};
// ======================> atari_jsa_ii_device
class atari_jsa_ii_device : public atari_jsa_oki_base_device
{
public:
// construction/destruction
atari_jsa_ii_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
// read/write handlers
DECLARE_READ8_MEMBER( rdio_r );
protected:
// device level overrides
virtual machine_config_constructor device_mconfig_additions() const;
virtual ioport_constructor device_input_ports() const;
};
// ======================> atari_jsa_iii_device
class atari_jsa_iii_device : public atari_jsa_oki_base_device
{
public:
// construction/destruction
atari_jsa_iii_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
protected:
// derived construction/destruction
atari_jsa_iii_device(const machine_config &mconfig, device_type devtype, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, int channels);
public:
// read/write handlers
DECLARE_READ8_MEMBER( rdio_r );
protected:
// device level overrides
virtual machine_config_constructor device_mconfig_additions() const;
virtual ioport_constructor device_input_ports() const;
};
// ======================> atari_jsa_iiis_device
class atari_jsa_iiis_device : public atari_jsa_iii_device
{
public:
// construction/destruction
atari_jsa_iiis_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
protected:
// device level overrides
virtual machine_config_constructor device_mconfig_additions() const;
};
#endif

View File

@ -30,7 +30,7 @@ void cyberbal_state::cyberbal_sound_reset()
READ8_MEMBER(cyberbal_state::special_port3_r) READ8_MEMBER(cyberbal_state::special_port3_r)
{ {
int temp = ioport("JSAII")->read(); int temp = ioport("jsa:JSAII")->read();
if (!(ioport("IN0")->read() & 0x8000)) temp ^= 0x80; if (!(ioport("IN0")->read() & 0x8000)) temp ^= 0x80;
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x40; if (m_soundcomm->main_to_sound_ready()) temp ^= 0x40;
if (m_soundcomm->sound_to_main_ready()) temp ^= 0x20; if (m_soundcomm->sound_to_main_ready()) temp ^= 0x20;

View File

@ -19,7 +19,6 @@
#include "emu.h" #include "emu.h"
#include "audio/atarijsa.h"
#include "video/atarirle.h" #include "video/atarirle.h"
#include "includes/atarig1.h" #include "includes/atarig1.h"
@ -49,7 +48,6 @@ MACHINE_RESET_MEMBER(atarig1_state,atarig1)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -86,7 +84,7 @@ WRITE16_MEMBER(atarig1_state::mo_command_w)
READ16_MEMBER(atarig1_state::special_port0_r) READ16_MEMBER(atarig1_state::special_port0_r)
{ {
int temp = ioport("IN0")->read(); int temp = ioport("IN0")->read();
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x1000; if (m_jsa->main_to_sound_ready()) temp ^= 0x1000;
temp ^= 0x2000; /* A2DOK always high for now */ temp ^= 0x2000; /* A2DOK always high for now */
return temp; return temp;
} }
@ -204,13 +202,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig1_state )
AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */ AM_RANGE(0x078000, 0x07ffff) AM_ROM /* hydra slapstic goes here */
AM_RANGE(0xf80000, 0xf80001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xf80000, 0xf80001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xf88000, 0xf8ffff) AM_WRITE(eeprom_enable_w) AM_RANGE(0xf88000, 0xf8ffff) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xf90000, 0xf90001) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00) AM_RANGE(0xf90000, 0xf90001) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
AM_RANGE(0xf98000, 0xf98001) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xf98000, 0xf98001) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0xfa0000, 0xfa0001) AM_WRITE(mo_control_w) AM_RANGE(0xfa0000, 0xfa0001) AM_WRITE(mo_control_w)
AM_RANGE(0xfb0000, 0xfb0001) AM_WRITE(video_int_ack_w) AM_RANGE(0xfb0000, 0xfb0001) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfc0000, 0xfc0001) AM_READ(special_port0_r) AM_RANGE(0xfc0000, 0xfc0001) AM_READ(special_port0_r)
AM_RANGE(0xfc8000, 0xfc8007) AM_READWRITE(a2d_data_r, a2d_select_w) AM_RANGE(0xfc8000, 0xfc8007) AM_READWRITE(a2d_data_r, a2d_select_w)
AM_RANGE(0xfd0000, 0xfd0001) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00) AM_RANGE(0xfd0000, 0xfd0001) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0xff00)
AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xfd8000, 0xfdffff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom")
/* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/ /* AM_RANGE(0xfe0000, 0xfe7fff) AM_READ(from_r)*/
AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xfe8000, 0xfe89ff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram")
@ -253,9 +251,9 @@ static INPUT_PORTS_START( hydra )
PORT_START("ADC2") /* ADC 2 @ fc8000 */ PORT_START("ADC2") /* ADC 2 @ fc8000 */
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(16) PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
PORT_INCLUDE( atarijsa_ii ) /* audio board port */ // todo:
PORT_MODIFY( "JSAII" ) // PORT_MODIFY( "jsa:JSAII" )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
@ -298,9 +296,9 @@ static INPUT_PORTS_START( pitfight )
PORT_START("ADC2") /* not used */ PORT_START("ADC2") /* not used */
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_ii ) /* audio board port */ // todo:
PORT_MODIFY( "JSAII" ) // PORT_MODIFY( "jsa:JSAII" )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
@ -336,9 +334,9 @@ static INPUT_PORTS_START( pitfightj )
PORT_START("ADC2") /* not used */ PORT_START("ADC2") /* not used */
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_ii ) /* audio board port */ // todo:
PORT_MODIFY( "JSAII" ) // PORT_MODIFY( "jsa:JSAII" )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
@ -464,7 +462,11 @@ static MACHINE_CONFIG_START( atarig1, atarig1_state )
MCFG_VIDEO_START_OVERRIDE(atarig1_state,atarig1) MCFG_VIDEO_START_OVERRIDE(atarig1_state,atarig1)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN0", 14)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( hydra, atarig1 ) static MACHINE_CONFIG_DERIVED( hydra, atarig1 )
@ -493,7 +495,7 @@ ROM_START( hydra )
ROM_LOAD16_BYTE( "136079-1030.bin", 0x60000, 0x10000, CRC(b31fd41f) SHA1(1738d31b3262b32f89ce64fe262682b6bb544e79) ) ROM_LOAD16_BYTE( "136079-1030.bin", 0x60000, 0x10000, CRC(b31fd41f) SHA1(1738d31b3262b32f89ce64fe262682b6bb544e79) )
ROM_LOAD16_BYTE( "136079-1031.bin", 0x60001, 0x10000, CRC(453d076f) SHA1(a7fd8e5efebf56c22e0a7e0b224597b4dba4692a) ) ROM_LOAD16_BYTE( "136079-1031.bin", 0x60001, 0x10000, CRC(453d076f) SHA1(a7fd8e5efebf56c22e0a7e0b224597b4dba4692a) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "hydraa0.bin", 0x10000, 0x4000, CRC(619d7319) SHA1(3c58f18ca5c93ae049bfca91043718fff43e674c) ) ROM_LOAD( "hydraa0.bin", 0x10000, 0x4000, CRC(619d7319) SHA1(3c58f18ca5c93ae049bfca91043718fff43e674c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -530,7 +532,7 @@ ROM_START( hydra )
ROM_LOAD16_BYTE( "136079-1015.bin", 0xe0001, 0x10000, CRC(cf7f69fd) SHA1(93866f66ae7f4071abc66bd310bd15847e2a950a) ) ROM_LOAD16_BYTE( "136079-1015.bin", 0xe0001, 0x10000, CRC(cf7f69fd) SHA1(93866f66ae7f4071abc66bd310bd15847e2a950a) )
ROM_LOAD16_BYTE( "136079-1016.bin", 0xe0000, 0x10000, CRC(61aaf14f) SHA1(946caff64902ebdda991372b54c29bd0a0fa13c3) ) ROM_LOAD16_BYTE( "136079-1016.bin", 0xe0000, 0x10000, CRC(61aaf14f) SHA1(946caff64902ebdda991372b54c29bd0a0fa13c3) )
ROM_REGION( 0x40000, "adpcm", 0 ) ROM_REGION( 0x40000, "jsa:oki1", 0 )
ROM_LOAD( "136079-1037.bin", 0x00000, 0x10000, CRC(b974d3d0) SHA1(67ecb17386f4be00c03661de14deff77b8ca85d0) ) ROM_LOAD( "136079-1037.bin", 0x00000, 0x10000, CRC(b974d3d0) SHA1(67ecb17386f4be00c03661de14deff77b8ca85d0) )
ROM_LOAD( "136079-1038.bin", 0x10000, 0x10000, CRC(a2eda15b) SHA1(358888ffdeb3d0e98f59e239de6d7e1f7e15aca2) ) ROM_LOAD( "136079-1038.bin", 0x10000, 0x10000, CRC(a2eda15b) SHA1(358888ffdeb3d0e98f59e239de6d7e1f7e15aca2) )
ROM_LOAD( "136079-1039.bin", 0x20000, 0x10000, CRC(eb9eaeb7) SHA1(cd8e076b07588879f1a0e6c0fb9de9889480bebb) ) ROM_LOAD( "136079-1039.bin", 0x20000, 0x10000, CRC(eb9eaeb7) SHA1(cd8e076b07588879f1a0e6c0fb9de9889480bebb) )
@ -553,7 +555,7 @@ ROM_START( hydrap )
ROM_LOAD16_BYTE( "hydhi3.bin", 0x60000, 0x10000, CRC(29e9e03e) SHA1(0b03482834c1c8fcdd902d513c23c0cc04900f5f) ) ROM_LOAD16_BYTE( "hydhi3.bin", 0x60000, 0x10000, CRC(29e9e03e) SHA1(0b03482834c1c8fcdd902d513c23c0cc04900f5f) )
ROM_LOAD16_BYTE( "hydlo3.bin", 0x60001, 0x10000, CRC(7b5047f0) SHA1(99b59dfebc0df0b876e69a885a3e3b07ef958fd4) ) ROM_LOAD16_BYTE( "hydlo3.bin", 0x60001, 0x10000, CRC(7b5047f0) SHA1(99b59dfebc0df0b876e69a885a3e3b07ef958fd4) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "hydraa0.bin", 0x10000, 0x4000, BAD_DUMP CRC(619d7319) SHA1(3c58f18ca5c93ae049bfca91043718fff43e674c) ) ROM_LOAD( "hydraa0.bin", 0x10000, 0x4000, BAD_DUMP CRC(619d7319) SHA1(3c58f18ca5c93ae049bfca91043718fff43e674c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -590,7 +592,7 @@ ROM_START( hydrap )
ROM_LOAD16_BYTE( "hydmhi7.bin", 0xe0001, 0x10000, CRC(71fc3e43) SHA1(ce6bdd68ed40c2b48d679ece740f0376b2442e2b) ) ROM_LOAD16_BYTE( "hydmhi7.bin", 0xe0001, 0x10000, CRC(71fc3e43) SHA1(ce6bdd68ed40c2b48d679ece740f0376b2442e2b) )
ROM_LOAD16_BYTE( "hydmlo7.bin", 0xe0000, 0x10000, CRC(7960b0c2) SHA1(56e7d0b48d6afce6a3c1a940fc578a5775abd940) ) ROM_LOAD16_BYTE( "hydmlo7.bin", 0xe0000, 0x10000, CRC(7960b0c2) SHA1(56e7d0b48d6afce6a3c1a940fc578a5775abd940) )
ROM_REGION( 0x40000, "adpcm", 0 ) ROM_REGION( 0x40000, "jsa:oki1", 0 )
ROM_LOAD( "136079-1037.bin", 0x00000, 0x10000, BAD_DUMP CRC(b974d3d0) SHA1(67ecb17386f4be00c03661de14deff77b8ca85d0) ) ROM_LOAD( "136079-1037.bin", 0x00000, 0x10000, BAD_DUMP CRC(b974d3d0) SHA1(67ecb17386f4be00c03661de14deff77b8ca85d0) )
ROM_LOAD( "136079-1038.bin", 0x10000, 0x10000, BAD_DUMP CRC(a2eda15b) SHA1(358888ffdeb3d0e98f59e239de6d7e1f7e15aca2) ) ROM_LOAD( "136079-1038.bin", 0x10000, 0x10000, BAD_DUMP CRC(a2eda15b) SHA1(358888ffdeb3d0e98f59e239de6d7e1f7e15aca2) )
ROM_LOAD( "136079-1039.bin", 0x20000, 0x10000, BAD_DUMP CRC(eb9eaeb7) SHA1(cd8e076b07588879f1a0e6c0fb9de9889480bebb) ) ROM_LOAD( "136079-1039.bin", 0x20000, 0x10000, BAD_DUMP CRC(eb9eaeb7) SHA1(cd8e076b07588879f1a0e6c0fb9de9889480bebb) )
@ -613,7 +615,7 @@ ROM_START( hydrap2 )
ROM_LOAD16_BYTE( "30c", 0x60001, 0x10000, CRC(89604306) SHA1(ccac6eabb174903f4ee144fce53a169daa734e07) ) ROM_LOAD16_BYTE( "30c", 0x60001, 0x10000, CRC(89604306) SHA1(ccac6eabb174903f4ee144fce53a169daa734e07) )
ROM_LOAD16_BYTE( "30e", 0x60000, 0x10000, CRC(25221b17) SHA1(bb14117f256c3db6881bb91cace297d4c636e684) ) ROM_LOAD16_BYTE( "30e", 0x60000, 0x10000, CRC(25221b17) SHA1(bb14117f256c3db6881bb91cace297d4c636e684) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "aud.1b", 0x10000, 0x4000, CRC(e1b5188a) SHA1(e9f2a78df49fa085a9363ca194e2ceb5fa5409c4) ) ROM_LOAD( "aud.1b", 0x10000, 0x4000, CRC(e1b5188a) SHA1(e9f2a78df49fa085a9363ca194e2ceb5fa5409c4) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -650,7 +652,7 @@ ROM_START( hydrap2 )
ROM_LOAD16_BYTE( "136079-1015.bin", 0xe0001, 0x10000, BAD_DUMP CRC(cf7f69fd) SHA1(93866f66ae7f4071abc66bd310bd15847e2a950a) ) // " ROM_LOAD16_BYTE( "136079-1015.bin", 0xe0001, 0x10000, BAD_DUMP CRC(cf7f69fd) SHA1(93866f66ae7f4071abc66bd310bd15847e2a950a) ) // "
ROM_LOAD16_BYTE( "136079-1016.bin", 0xe0000, 0x10000, BAD_DUMP CRC(61aaf14f) SHA1(946caff64902ebdda991372b54c29bd0a0fa13c3) ) // " ROM_LOAD16_BYTE( "136079-1016.bin", 0xe0000, 0x10000, BAD_DUMP CRC(61aaf14f) SHA1(946caff64902ebdda991372b54c29bd0a0fa13c3) ) // "
ROM_REGION( 0x40000, "adpcm", 0 ) ROM_REGION( 0x40000, "jsa:oki1", 0 )
ROM_LOAD( "136079-1037.bin", 0x00000, 0x10000, BAD_DUMP CRC(b974d3d0) SHA1(67ecb17386f4be00c03661de14deff77b8ca85d0) ) // not dumped from this pcb, rom taken from another set instead ROM_LOAD( "136079-1037.bin", 0x00000, 0x10000, BAD_DUMP CRC(b974d3d0) SHA1(67ecb17386f4be00c03661de14deff77b8ca85d0) ) // not dumped from this pcb, rom taken from another set instead
ROM_LOAD( "136079-1038.bin", 0x10000, 0x10000, BAD_DUMP CRC(a2eda15b) SHA1(358888ffdeb3d0e98f59e239de6d7e1f7e15aca2) ) // " ROM_LOAD( "136079-1038.bin", 0x10000, 0x10000, BAD_DUMP CRC(a2eda15b) SHA1(358888ffdeb3d0e98f59e239de6d7e1f7e15aca2) ) // "
ROM_LOAD( "136079-1039.bin", 0x20000, 0x10000, BAD_DUMP CRC(eb9eaeb7) SHA1(cd8e076b07588879f1a0e6c0fb9de9889480bebb) ) // " ROM_LOAD( "136079-1039.bin", 0x20000, 0x10000, BAD_DUMP CRC(eb9eaeb7) SHA1(cd8e076b07588879f1a0e6c0fb9de9889480bebb) ) // "
@ -702,7 +704,7 @@ ROM_START( pitfight )
ROM_LOAD16_BYTE( "136081-9030.15d", 0x20000, 0x10000, CRC(3bace9ef) SHA1(29072871b268f343fa1e7fcc9682674df2b2e34f) ) ROM_LOAD16_BYTE( "136081-9030.15d", 0x20000, 0x10000, CRC(3bace9ef) SHA1(29072871b268f343fa1e7fcc9682674df2b2e34f) )
ROM_LOAD16_BYTE( "136081-9031.15b", 0x20001, 0x10000, CRC(c717f011) SHA1(3c5d6c12b85285422345a1aba3f8c497f74c6889) ) ROM_LOAD16_BYTE( "136081-9031.15b", 0x20001, 0x10000, CRC(c717f011) SHA1(3c5d6c12b85285422345a1aba3f8c497f74c6889) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -734,7 +736,7 @@ ROM_START( pitfight )
ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) ) ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) )
ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) ) ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -798,7 +800,7 @@ ROM_START( pitfight7 )
ROM_LOAD16_BYTE( "136081-7030.15d", 0x20000, 0x10000, CRC(5fd5a0b1) SHA1(5d4711e8d10176b6989c4db012dbb4e29860590c) ) ROM_LOAD16_BYTE( "136081-7030.15d", 0x20000, 0x10000, CRC(5fd5a0b1) SHA1(5d4711e8d10176b6989c4db012dbb4e29860590c) )
ROM_LOAD16_BYTE( "136081-7031.15b", 0x20001, 0x10000, CRC(e14a1d0c) SHA1(734fa1cd5ad835fa77c686006993ea9358e3b072) ) ROM_LOAD16_BYTE( "136081-7031.15b", 0x20001, 0x10000, CRC(e14a1d0c) SHA1(734fa1cd5ad835fa77c686006993ea9358e3b072) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -830,7 +832,7 @@ ROM_START( pitfight7 )
ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) ) ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) )
ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) ) ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -861,7 +863,7 @@ ROM_START( pitfight6 )
ROM_LOAD16_BYTE( "136081-6030.15d", 0x20000, 0x10000, CRC(72b4b249) SHA1(295c707783ca40d6b68eb36b4511774e889bf447) ) ROM_LOAD16_BYTE( "136081-6030.15d", 0x20000, 0x10000, CRC(72b4b249) SHA1(295c707783ca40d6b68eb36b4511774e889bf447) )
ROM_LOAD16_BYTE( "136081-6031.15b", 0x20001, 0x10000, CRC(f0c5d03b) SHA1(53aed44930ebaad98d833bc86837c57ac623937d) ) ROM_LOAD16_BYTE( "136081-6031.15b", 0x20001, 0x10000, CRC(f0c5d03b) SHA1(53aed44930ebaad98d833bc86837c57ac623937d) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -881,7 +883,7 @@ ROM_START( pitfight6 )
ROM_LOAD16_BYTE( "136081-1067.70r", 0x100001, 0x80000, CRC(ca4f75a8) SHA1(f8b8b03df4ad043a48970a0f8a4c3b85c7140493) ) ROM_LOAD16_BYTE( "136081-1067.70r", 0x100001, 0x80000, CRC(ca4f75a8) SHA1(f8b8b03df4ad043a48970a0f8a4c3b85c7140493) )
ROM_LOAD16_BYTE( "136081-1068.70n", 0x100000, 0x80000, CRC(85240517) SHA1(f3d5c0803a7958569d2f3b9c25c73d33defcabe7) ) ROM_LOAD16_BYTE( "136081-1068.70n", 0x100000, 0x80000, CRC(85240517) SHA1(f3d5c0803a7958569d2f3b9c25c73d33defcabe7) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -912,7 +914,7 @@ ROM_START( pitfight5 )
ROM_LOAD16_BYTE( "136081-5030.15d", 0x20000, 0x10000, CRC(6a094723) SHA1(a77046a8c5fab81cf0207122e494c32aab3b220d) ) ROM_LOAD16_BYTE( "136081-5030.15d", 0x20000, 0x10000, CRC(6a094723) SHA1(a77046a8c5fab81cf0207122e494c32aab3b220d) )
ROM_LOAD16_BYTE( "136081-5031.15b", 0x20001, 0x10000, CRC(47400d94) SHA1(07ba297a9b3ae574bc501a24fb6e46db7a5b3de5) ) ROM_LOAD16_BYTE( "136081-5031.15b", 0x20001, 0x10000, CRC(47400d94) SHA1(07ba297a9b3ae574bc501a24fb6e46db7a5b3de5) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -932,7 +934,7 @@ ROM_START( pitfight5 )
ROM_LOAD16_BYTE( "136081-1067.70r", 0x100001, 0x80000, CRC(ca4f75a8) SHA1(f8b8b03df4ad043a48970a0f8a4c3b85c7140493) ) ROM_LOAD16_BYTE( "136081-1067.70r", 0x100001, 0x80000, CRC(ca4f75a8) SHA1(f8b8b03df4ad043a48970a0f8a4c3b85c7140493) )
ROM_LOAD16_BYTE( "136081-1068.70n", 0x100000, 0x80000, CRC(85240517) SHA1(f3d5c0803a7958569d2f3b9c25c73d33defcabe7) ) ROM_LOAD16_BYTE( "136081-1068.70n", 0x100000, 0x80000, CRC(85240517) SHA1(f3d5c0803a7958569d2f3b9c25c73d33defcabe7) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -963,7 +965,7 @@ ROM_START( pitfight4 )
ROM_LOAD16_BYTE( "136081-3030.15d", 0x20000, 0x10000, CRC(b053e779) SHA1(f143f0e16850ad98366db208e956f7402d1ca848) ) ROM_LOAD16_BYTE( "136081-3030.15d", 0x20000, 0x10000, CRC(b053e779) SHA1(f143f0e16850ad98366db208e956f7402d1ca848) )
ROM_LOAD16_BYTE( "136081-3031.15b", 0x20001, 0x10000, CRC(2b8c4d13) SHA1(6f1679ef5974bf44848bfa6db0b9b05f71f6e7d6) ) ROM_LOAD16_BYTE( "136081-3031.15b", 0x20001, 0x10000, CRC(2b8c4d13) SHA1(6f1679ef5974bf44848bfa6db0b9b05f71f6e7d6) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -995,7 +997,7 @@ ROM_START( pitfight4 )
ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) ) ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) )
ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) ) ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -1026,7 +1028,7 @@ ROM_START( pitfight3 )
ROM_LOAD16_BYTE( "136081-3030.15d", 0x20000, 0x10000, CRC(b053e779) SHA1(f143f0e16850ad98366db208e956f7402d1ca848) ) ROM_LOAD16_BYTE( "136081-3030.15d", 0x20000, 0x10000, CRC(b053e779) SHA1(f143f0e16850ad98366db208e956f7402d1ca848) )
ROM_LOAD16_BYTE( "136081-3031.15b", 0x20001, 0x10000, CRC(2b8c4d13) SHA1(6f1679ef5974bf44848bfa6db0b9b05f71f6e7d6) ) ROM_LOAD16_BYTE( "136081-3031.15b", 0x20001, 0x10000, CRC(2b8c4d13) SHA1(6f1679ef5974bf44848bfa6db0b9b05f71f6e7d6) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1058,7 +1060,7 @@ ROM_START( pitfight3 )
ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) ) ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) )
ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) ) ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -1089,7 +1091,7 @@ ROM_START( pitfightj )
ROM_LOAD16_BYTE( "136081-3430.15d", 0x20000, 0x10000, CRC(80707ac0) SHA1(39ddd228bb630bbdf32c76c7906e54f6a62c06ad) ) ROM_LOAD16_BYTE( "136081-3430.15d", 0x20000, 0x10000, CRC(80707ac0) SHA1(39ddd228bb630bbdf32c76c7906e54f6a62c06ad) )
ROM_LOAD16_BYTE( "136081-3431.15b", 0x20001, 0x10000, CRC(9bf43aa6) SHA1(b41c30118a0c0032303d1b1de471aac292a4968a) ) ROM_LOAD16_BYTE( "136081-3431.15b", 0x20001, 0x10000, CRC(9bf43aa6) SHA1(b41c30118a0c0032303d1b1de471aac292a4968a) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-2060.1b", 0x10000, 0x4000, CRC(4317a9f3) SHA1(310154be47fd16b417699338e04e08f3ed973198) ) ROM_LOAD( "136081-2060.1b", 0x10000, 0x4000, CRC(4317a9f3) SHA1(310154be47fd16b417699338e04e08f3ed973198) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1121,7 +1123,7 @@ ROM_START( pitfightj )
ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) ) ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) )
ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) ) ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -1152,7 +1154,7 @@ ROM_START( pitfightb )
ROM_LOAD16_BYTE( "pit8.bin", 0x20000, 0x10000, CRC(b74a8258) SHA1(779990ed95c25dd0a8e9f30c4d9a8d69162d14fc) ) ROM_LOAD16_BYTE( "pit8.bin", 0x20000, 0x10000, CRC(b74a8258) SHA1(779990ed95c25dd0a8e9f30c4d9a8d69162d14fc) )
ROM_LOAD16_BYTE( "pit6.bin", 0x20001, 0x10000, CRC(40204ecd) SHA1(73d827e119cc1408356e28c1e67f6c8e287eeb15) ) ROM_LOAD16_BYTE( "pit6.bin", 0x20001, 0x10000, CRC(40204ecd) SHA1(73d827e119cc1408356e28c1e67f6c8e287eeb15) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) ) ROM_LOAD( "136081-1060.1b", 0x10000, 0x4000, CRC(231d71d7) SHA1(24622eee5fe873ef81e1df2691bd7a1d3ea7ef6b) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1184,7 +1186,7 @@ ROM_START( pitfightb )
ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) ) ROM_LOAD16_BYTE( "136081-1015.130r", 0x1c0001, 0x20000, CRC(9378ad0b) SHA1(909f9879f5b8fc3ed0622fd27d903ccb1f7a90c6) )
ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) ) ROM_LOAD16_BYTE( "136081-1016.130n", 0x1c0000, 0x20000, CRC(19c3fbe0) SHA1(ba28f71edb04387f009afe39bfe0ffeff8fbf5e9) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) ) ROM_LOAD( "136081-1061.7k", 0x00000, 0x10000, CRC(5b0468c6) SHA1(c910344622386e6be336fe04bc0be758ac6c59db) )
ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) ) ROM_LOAD( "136081-1062.7j", 0x10000, 0x10000, CRC(f73fe3cb) SHA1(547b5c4add617237c4c851751a27cda091fb7933) )
ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) ) ROM_LOAD( "136081-1063.7e", 0x20000, 0x10000, CRC(aa93421d) SHA1(f319057dadcb77a489d0bcffb24e0afe88adc769) )
@ -1215,7 +1217,6 @@ void atarig1_state::init_common(offs_t slapstic_base, int slapstic, bool is_pitf
} }
else if (slapstic != 0) else if (slapstic != 0)
slapstic_configure(*m_maincpu, slapstic_base, 0, slapstic); slapstic_configure(*m_maincpu, slapstic_base, 0, slapstic);
atarijsa_init(machine(), "IN0", 0x4000);
m_is_pitfight = is_pitfight; m_is_pitfight = is_pitfight;
} }

View File

@ -19,7 +19,6 @@
#include "emu.h" #include "emu.h"
#include "machine/asic65.h" #include "machine/asic65.h"
#include "audio/atarijsa.h"
#include "video/atarirle.h" #include "video/atarirle.h"
#include "includes/atarig42.h" #include "includes/atarig42.h"
@ -53,7 +52,6 @@ MACHINE_RESET_MEMBER(atarig42_state,atarig42)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -67,8 +65,8 @@ MACHINE_RESET_MEMBER(atarig42_state,atarig42)
READ16_MEMBER(atarig42_state::special_port2_r) READ16_MEMBER(atarig42_state::special_port2_r)
{ {
int temp = ioport("IN2")->read(); int temp = ioport("IN2")->read();
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x0020; if (m_jsa->main_to_sound_ready()) temp ^= 0x0020;
if (m_soundcomm->sound_to_main_ready()) temp ^= 0x0010; if (m_jsa->sound_to_main_ready()) temp ^= 0x0010;
temp ^= 0x0008; /* A2D.EOC always high for now */ temp ^= 0x0008; /* A2D.EOC always high for now */
return temp; return temp;
} }
@ -104,8 +102,9 @@ WRITE16_MEMBER(atarig42_state::io_latch_w)
if (ACCESSING_BITS_0_7) if (ACCESSING_BITS_0_7)
{ {
/* bit 4 resets the sound CPU */ /* bit 4 resets the sound CPU */
m_jsacpu->set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); m_jsa->soundcpu().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
if (!(data & 0x10)) atarijsa_reset(machine()); if (!(data & 0x10))
m_jsa->reset();
/* bit 5 is /XRESET, probably related to the ASIC */ /* bit 5 is /XRESET, probably related to the ASIC */
@ -336,10 +335,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, atarig42_state )
AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("IN0") AM_RANGE(0xe00000, 0xe00001) AM_READ_PORT("IN0")
AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("IN1") AM_RANGE(0xe00002, 0xe00003) AM_READ_PORT("IN1")
AM_RANGE(0xe00010, 0xe00011) AM_READ(special_port2_r) AM_RANGE(0xe00010, 0xe00011) AM_READ(special_port2_r)
AM_RANGE(0xe00012, 0xe00013) AM_READ_PORT("JSAIII") AM_RANGE(0xe00012, 0xe00013) AM_READ_PORT("jsa:JSAIII")
AM_RANGE(0xe00020, 0xe00027) AM_READWRITE(a2d_data_r, a2d_select_w) AM_RANGE(0xe00020, 0xe00027) AM_READWRITE(a2d_data_r, a2d_select_w)
AM_RANGE(0xe00030, 0xe00031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0xe00030, 0xe00031) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff)
AM_RANGE(0xe00040, 0xe00041) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0xe00040, 0xe00041) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0xe00050, 0xe00051) AM_WRITE(io_latch_w) AM_RANGE(0xe00050, 0xe00051) AM_WRITE(io_latch_w)
AM_RANGE(0xe00060, 0xe00061) AM_WRITE(eeprom_enable_w) AM_RANGE(0xe00060, 0xe00061) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xe03000, 0xe03001) AM_WRITE(video_int_ack_w) AM_RANGE(0xe03000, 0xe03001) AM_WRITE(video_int_ack_w)
@ -382,8 +381,6 @@ static INPUT_PORTS_START( roadriot )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
PORT_START("A2D0") /* analog 0 */ PORT_START("A2D0") /* analog 0 */
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10)
@ -433,8 +430,6 @@ static INPUT_PORTS_START( guardian )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
PORT_START("A2D0") /* analog 0 */ PORT_START("A2D0") /* analog 0 */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
@ -570,7 +565,11 @@ static MACHINE_CONFIG_START( atarig42, atarig42_state )
MCFG_VIDEO_START_OVERRIDE(atarig42_state,atarig42) MCFG_VIDEO_START_OVERRIDE(atarig42_state,atarig42)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN2", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( atarig42_0x200, atarig42 ) static MACHINE_CONFIG_DERIVED( atarig42_0x200, atarig42 )
@ -601,7 +600,7 @@ ROM_START( roadriot )
ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */ ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */
ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, CRC(7c5498e7) SHA1(9d8b235baf7b75bef8ef9b168647c5b2b80b2cb3) ) ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, CRC(7c5498e7) SHA1(9d8b235baf7b75bef8ef9b168647c5b2b80b2cb3) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 6502 code */
ROM_LOAD( "136089-1047.12c", 0x10000, 0x4000, CRC(849dd26c) SHA1(05a0b2a5f7ee4437448b5f076d3066d96dec2320) ) ROM_LOAD( "136089-1047.12c", 0x10000, 0x4000, CRC(849dd26c) SHA1(05a0b2a5f7ee4437448b5f076d3066d96dec2320) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -634,7 +633,7 @@ ROM_START( roadriot )
ROM_LOAD16_BYTE( "136089-1032.9s", 0x1c0000, 0x20000, CRC(eca3c595) SHA1(5d067b7c02675b1e6dd3c4046697a16f873f80af) ) ROM_LOAD16_BYTE( "136089-1032.9s", 0x1c0000, 0x20000, CRC(eca3c595) SHA1(5d067b7c02675b1e6dd3c4046697a16f873f80af) )
ROM_LOAD16_BYTE( "136089-1031.9p", 0x1c0001, 0x20000, CRC(88acdb53) SHA1(5bf2424ee75a25248a8ce38c8605b6780da4e323) ) ROM_LOAD16_BYTE( "136089-1031.9p", 0x1c0001, 0x20000, CRC(88acdb53) SHA1(5bf2424ee75a25248a8ce38c8605b6780da4e323) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136089-1048.19e", 0x00000, 0x20000, CRC(2db638a7) SHA1(45da8088f7439beacc3056952a4d631d9633efa7) ) ROM_LOAD( "136089-1048.19e", 0x00000, 0x20000, CRC(2db638a7) SHA1(45da8088f7439beacc3056952a4d631d9633efa7) )
ROM_LOAD( "136089-1049.17e", 0x20000, 0x20000, CRC(e1dd7f9e) SHA1(6b9a240aa84d210d3052daab6ea26f9cd0e62dc1) ) ROM_LOAD( "136089-1049.17e", 0x20000, 0x20000, CRC(e1dd7f9e) SHA1(6b9a240aa84d210d3052daab6ea26f9cd0e62dc1) )
ROM_LOAD( "136089-1050.15e", 0x40000, 0x20000, CRC(64d410bb) SHA1(877bccca7ff37a9dd8294bc1453487a2f516ca7d) ) ROM_LOAD( "136089-1050.15e", 0x40000, 0x20000, CRC(64d410bb) SHA1(877bccca7ff37a9dd8294bc1453487a2f516ca7d) )
@ -659,7 +658,7 @@ ROM_START( roadrioto )
ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */ ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */
ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, CRC(7c5498e7) SHA1(9d8b235baf7b75bef8ef9b168647c5b2b80b2cb3) ) ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, CRC(7c5498e7) SHA1(9d8b235baf7b75bef8ef9b168647c5b2b80b2cb3) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 6502 code */
ROM_LOAD( "136089-1047.12c", 0x10000, 0x4000, CRC(849dd26c) SHA1(05a0b2a5f7ee4437448b5f076d3066d96dec2320) ) ROM_LOAD( "136089-1047.12c", 0x10000, 0x4000, CRC(849dd26c) SHA1(05a0b2a5f7ee4437448b5f076d3066d96dec2320) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -692,7 +691,7 @@ ROM_START( roadrioto )
ROM_LOAD16_BYTE( "136089-1032.9s", 0x1c0000, 0x20000, CRC(eca3c595) SHA1(5d067b7c02675b1e6dd3c4046697a16f873f80af) ) ROM_LOAD16_BYTE( "136089-1032.9s", 0x1c0000, 0x20000, CRC(eca3c595) SHA1(5d067b7c02675b1e6dd3c4046697a16f873f80af) )
ROM_LOAD16_BYTE( "136089-1031.9p", 0x1c0001, 0x20000, CRC(88acdb53) SHA1(5bf2424ee75a25248a8ce38c8605b6780da4e323) ) ROM_LOAD16_BYTE( "136089-1031.9p", 0x1c0001, 0x20000, CRC(88acdb53) SHA1(5bf2424ee75a25248a8ce38c8605b6780da4e323) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136089-1048.19e", 0x00000, 0x20000, CRC(2db638a7) SHA1(45da8088f7439beacc3056952a4d631d9633efa7) ) ROM_LOAD( "136089-1048.19e", 0x00000, 0x20000, CRC(2db638a7) SHA1(45da8088f7439beacc3056952a4d631d9633efa7) )
ROM_LOAD( "136089-1049.17e", 0x20000, 0x20000, CRC(e1dd7f9e) SHA1(6b9a240aa84d210d3052daab6ea26f9cd0e62dc1) ) ROM_LOAD( "136089-1049.17e", 0x20000, 0x20000, CRC(e1dd7f9e) SHA1(6b9a240aa84d210d3052daab6ea26f9cd0e62dc1) )
ROM_LOAD( "136089-1050.15e", 0x40000, 0x20000, CRC(64d410bb) SHA1(877bccca7ff37a9dd8294bc1453487a2f516ca7d) ) ROM_LOAD( "136089-1050.15e", 0x40000, 0x20000, CRC(64d410bb) SHA1(877bccca7ff37a9dd8294bc1453487a2f516ca7d) )
@ -718,7 +717,7 @@ ROM_START( guardian )
ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */ ROM_REGION( 0x2000, "asic65", 0 ) /* ASIC65 TMS32015 code */
ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, NO_DUMP ) ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, NO_DUMP )
ROM_REGION( 0x14000, "jsa", 0 ) /* 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 6502 code */
ROM_LOAD( "136092-0080-snd.12c", 0x10000, 0x4000, CRC(0388f805) SHA1(49c11313bc4192dbe294cf68b652cb19047889fd) ) ROM_LOAD( "136092-0080-snd.12c", 0x10000, 0x4000, CRC(0388f805) SHA1(49c11313bc4192dbe294cf68b652cb19047889fd) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -744,7 +743,7 @@ ROM_START( guardian )
ROM_LOAD16_BYTE( "136092-0067a.9s", 0x500000, 0x80000, CRC(15845fba) SHA1(f7b670a8d48a5e9c261150914a06ef9a938a84e7) ) ROM_LOAD16_BYTE( "136092-0067a.9s", 0x500000, 0x80000, CRC(15845fba) SHA1(f7b670a8d48a5e9c261150914a06ef9a938a84e7) )
ROM_LOAD16_BYTE( "136092-0066a.9p", 0x500001, 0x80000, CRC(7130c575) SHA1(b3ea109981a1e5c631705b23dfad4a3a3daf7734) ) ROM_LOAD16_BYTE( "136092-0066a.9p", 0x500001, 0x80000, CRC(7130c575) SHA1(b3ea109981a1e5c631705b23dfad4a3a3daf7734) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136092-0010-snd", 0x00000, 0x80000, CRC(bca27f40) SHA1(91a41eac116eb7d9a790abc590eb06328726d1c2) ) ROM_LOAD( "136092-0010-snd", 0x00000, 0x80000, CRC(bca27f40) SHA1(91a41eac116eb7d9a790abc590eb06328726d1c2) )
ROM_REGION( 0x1000, "eeprom", 0 ) ROM_REGION( 0x1000, "eeprom", 0 )
@ -777,8 +776,6 @@ ROM_END
DRIVER_INIT_MEMBER(atarig42_state,roadriot) DRIVER_INIT_MEMBER(atarig42_state,roadriot)
{ {
atarijsa_init(machine(), "IN2", 0x0040);
m_playfield_base = 0x400; m_playfield_base = 0x400;
address_space &main = m_maincpu->space(AS_PROGRAM); address_space &main = m_maincpu->space(AS_PROGRAM);
@ -811,8 +808,6 @@ DRIVER_INIT_MEMBER(atarig42_state,roadriot)
DRIVER_INIT_MEMBER(atarig42_state,guardian) DRIVER_INIT_MEMBER(atarig42_state,guardian)
{ {
atarijsa_init(machine(), "IN2", 0x0040);
m_playfield_base = 0x000; m_playfield_base = 0x000;
/* it looks like they jsr to $80000 as some kind of protection */ /* it looks like they jsr to $80000 as some kind of protection */

View File

@ -21,7 +21,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "audio/atarijsa.h"
#include "video/atarirle.h" #include "video/atarirle.h"
#include "includes/atarigx2.h" #include "includes/atarigx2.h"
@ -44,7 +43,6 @@ MACHINE_RESET_MEMBER(atarigx2_state,atarigx2)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -58,8 +56,8 @@ MACHINE_RESET_MEMBER(atarigx2_state,atarigx2)
READ32_MEMBER(atarigx2_state::special_port2_r) READ32_MEMBER(atarigx2_state::special_port2_r)
{ {
int temp = ioport("SERVICE")->read(); int temp = ioport("SERVICE")->read();
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x0020; if (m_jsa->main_to_sound_ready()) temp ^= 0x0020;
if (m_soundcomm->sound_to_main_ready()) temp ^= 0x0010; if (m_jsa->sound_to_main_ready()) temp ^= 0x0010;
temp ^= 0x0008; /* A2D.EOC always high for now */ temp ^= 0x0008; /* A2D.EOC always high for now */
return (temp << 16) | temp; return (temp << 16) | temp;
} }
@ -112,7 +110,7 @@ WRITE32_MEMBER(atarigx2_state::latch_w)
/* lower byte */ /* lower byte */
if (ACCESSING_BITS_16_23) if (ACCESSING_BITS_16_23)
m_jsacpu->set_input_line(INPUT_LINE_RESET, (data & 0x100000) ? CLEAR_LINE : ASSERT_LINE); m_jsa->soundcpu().set_input_line(INPUT_LINE_RESET, (data & 0x100000) ? CLEAR_LINE : ASSERT_LINE);
} }
@ -1147,14 +1145,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, atarigx2_state )
AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command") AM_RANGE(0xd7a200, 0xd7a203) AM_WRITE(mo_command_w) AM_SHARE("mo_command")
AM_RANGE(0xd70000, 0xd7ffff) AM_RAM AM_RANGE(0xd70000, 0xd7ffff) AM_RAM
AM_RANGE(0xd80000, 0xd9ffff) AM_WRITE16(eeprom_enable_w, 0xffffffff) AM_RANGE(0xd80000, 0xd9ffff) AM_WRITE16(eeprom_enable_w, 0xffffffff)
AM_RANGE(0xe06000, 0xe06003) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff000000) AM_RANGE(0xe06000, 0xe06003) AM_DEVWRITE8("jsa", atari_jsa_iiis_device, main_command_w, 0xff000000)
AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w) AM_RANGE(0xe08000, 0xe08003) AM_WRITE(latch_w)
AM_RANGE(0xe0c000, 0xe0c003) AM_WRITE16(video_int_ack_w, 0xffffffff) AM_RANGE(0xe0c000, 0xe0c003) AM_WRITE16(video_int_ack_w, 0xffffffff)
AM_RANGE(0xe0e000, 0xe0e003) AM_WRITENOP//watchdog_reset_w }, AM_RANGE(0xe0e000, 0xe0e003) AM_WRITENOP//watchdog_reset_w },
AM_RANGE(0xe80000, 0xe80003) AM_READ_PORT("P1_P2") AM_RANGE(0xe80000, 0xe80003) AM_READ_PORT("P1_P2")
AM_RANGE(0xe82000, 0xe82003) AM_READ(special_port2_r) AM_RANGE(0xe82000, 0xe82003) AM_READ(special_port2_r)
AM_RANGE(0xe82004, 0xe82007) AM_READ(special_port3_r) AM_RANGE(0xe82004, 0xe82007) AM_READ(special_port3_r)
AM_RANGE(0xe86000, 0xe86003) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff000000) AM_RANGE(0xe86000, 0xe86003) AM_DEVREAD8("jsa", atari_jsa_iiis_device, main_response_r, 0xff000000)
AM_RANGE(0xff8000, 0xffffff) AM_RAM AM_RANGE(0xff8000, 0xffffff) AM_RAM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -1206,8 +1204,6 @@ static INPUT_PORTS_START( spclords )
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_SPECIAL ) /* +5V */ PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_SPECIAL ) /* +5V */
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
PORT_START("A2D0") /* A2D @ 0xD00000 */ PORT_START("A2D0") /* A2D @ 0xD00000 */
PORT_BIT ( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1) PORT_BIT ( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(1)
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
@ -1254,8 +1250,6 @@ static INPUT_PORTS_START( motofren )
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_SPECIAL ) /* +5V */ PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_SPECIAL ) /* +5V */
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
PORT_START("A2D0") /* A2D @ 0xD00000 */ PORT_START("A2D0") /* A2D @ 0xD00000 */
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(16) PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(16)
@ -1302,8 +1296,6 @@ static INPUT_PORTS_START( rrreveng )
PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_SPECIAL ) /* +5V */ PORT_BIT( 0x00c0, IP_ACTIVE_LOW, IPT_SPECIAL ) /* +5V */
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
PORT_START("A2D0") /* A2D @ 0xD00000 */ PORT_START("A2D0") /* A2D @ 0xD00000 */
PORT_BIT ( 0x00ff, 0x0010, IPT_PEDAL ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_BIT ( 0x00ff, 0x0010, IPT_PEDAL ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10)
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
@ -1441,7 +1433,12 @@ static MACHINE_CONFIG_START( atarigx2, atarigx2_state )
MCFG_VIDEO_START_OVERRIDE(atarigx2_state,atarigx2) MCFG_VIDEO_START_OVERRIDE(atarigx2_state,atarigx2)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iiis_stereo) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_ATARI_JSA_IIIS_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("SERVICE", 6)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -1453,6 +1450,8 @@ static MACHINE_CONFIG_DERIVED( atarigx2_0x400, atarigx2 )
MCFG_ATARIRLE_ADD( "rle", modesc_0x400 ) MCFG_ATARIRLE_ADD( "rle", modesc_0x400 )
MACHINE_CONFIG_END MACHINE_CONFIG_END
/************************************* /*************************************
* *
* ROM definition(s) * ROM definition(s)
@ -1466,7 +1465,7 @@ ROM_START( spclords )
ROM_LOAD32_BYTE( "main2rc.095", 0x000002, 0x020000, CRC(49d30630) SHA1(2d0f2abe5d17b4cf575f80687502fac33c7f3206) ) ROM_LOAD32_BYTE( "main2rc.095", 0x000002, 0x020000, CRC(49d30630) SHA1(2d0f2abe5d17b4cf575f80687502fac33c7f3206) )
ROM_LOAD32_BYTE( "main3rc.095", 0x000003, 0x020000, CRC(3872424c) SHA1(db08ad9386dfe8fa4e2a83a2505118a636247279) ) ROM_LOAD32_BYTE( "main3rc.095", 0x000003, 0x020000, CRC(3872424c) SHA1(db08ad9386dfe8fa4e2a83a2505118a636247279) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) ) ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1492,10 +1491,10 @@ ROM_START( spclords )
ROM_LOAD16_BYTE( "136095.51b", 0x500000, 0x80000, CRC(97541074) SHA1(f9f75bfc4af9587f4a9630ad93d9cd0efd89e4f4) ) ROM_LOAD16_BYTE( "136095.51b", 0x500000, 0x80000, CRC(97541074) SHA1(f9f75bfc4af9587f4a9630ad93d9cd0efd89e4f4) )
ROM_LOAD16_BYTE( "136095.50b", 0x500001, 0x80000, CRC(a1c11ae8) SHA1(53fb2f376aae0aa346f9f911d6d8a73753c67d6e) ) ROM_LOAD16_BYTE( "136095.50b", 0x500001, 0x80000, CRC(a1c11ae8) SHA1(53fb2f376aae0aa346f9f911d6d8a73753c67d6e) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1512,7 +1511,7 @@ ROM_START( spclordsb )
ROM_LOAD32_BYTE( "136095.23b", 0x00002, 0x20000, CRC(bc64ab63) SHA1(999851a39123f6a01cb83d97ea744e12590b6e7e) ) ROM_LOAD32_BYTE( "136095.23b", 0x00002, 0x20000, CRC(bc64ab63) SHA1(999851a39123f6a01cb83d97ea744e12590b6e7e) )
ROM_LOAD32_BYTE( "136095.24b", 0x00003, 0x20000, CRC(7284a01a) SHA1(afa866c97b4c3df7fda3c196072231096beaa0db) ) ROM_LOAD32_BYTE( "136095.24b", 0x00003, 0x20000, CRC(7284a01a) SHA1(afa866c97b4c3df7fda3c196072231096beaa0db) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) ) ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1538,10 +1537,10 @@ ROM_START( spclordsb )
ROM_LOAD16_BYTE( "136095.51b", 0x500000, 0x80000, CRC(97541074) SHA1(f9f75bfc4af9587f4a9630ad93d9cd0efd89e4f4) ) ROM_LOAD16_BYTE( "136095.51b", 0x500000, 0x80000, CRC(97541074) SHA1(f9f75bfc4af9587f4a9630ad93d9cd0efd89e4f4) )
ROM_LOAD16_BYTE( "136095.50b", 0x500001, 0x80000, CRC(a1c11ae8) SHA1(53fb2f376aae0aa346f9f911d6d8a73753c67d6e) ) ROM_LOAD16_BYTE( "136095.50b", 0x500001, 0x80000, CRC(a1c11ae8) SHA1(53fb2f376aae0aa346f9f911d6d8a73753c67d6e) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1558,7 +1557,7 @@ ROM_START( spclordsg )
ROM_LOAD32_BYTE( "german2.095", 0x000002, 0x020000, CRC(9527df10) SHA1(c18434c1f40fa23a6cc78df7104c7e2e6888d189) ) ROM_LOAD32_BYTE( "german2.095", 0x000002, 0x020000, CRC(9527df10) SHA1(c18434c1f40fa23a6cc78df7104c7e2e6888d189) )
ROM_LOAD32_BYTE( "german3.095", 0x000003, 0x020000, CRC(0aaaad66) SHA1(382b859be652d7d83319907d354d294643cef2b4) ) ROM_LOAD32_BYTE( "german3.095", 0x000003, 0x020000, CRC(0aaaad66) SHA1(382b859be652d7d83319907d354d294643cef2b4) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) ) ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1584,10 +1583,10 @@ ROM_START( spclordsg )
ROM_LOAD16_BYTE( "136095.51a", 0x500000, 0x80000, CRC(4635c534) SHA1(7261508052e3b17a552b43bc3d4ad7cd2d1f6af9) ) ROM_LOAD16_BYTE( "136095.51a", 0x500000, 0x80000, CRC(4635c534) SHA1(7261508052e3b17a552b43bc3d4ad7cd2d1f6af9) )
ROM_LOAD16_BYTE( "136095.50a", 0x500001, 0x80000, CRC(94bde47d) SHA1(dde8f0184a2d7e9f7eb961af2d9d016399ec18fc) ) ROM_LOAD16_BYTE( "136095.50a", 0x500001, 0x80000, CRC(94bde47d) SHA1(dde8f0184a2d7e9f7eb961af2d9d016399ec18fc) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1604,7 +1603,7 @@ ROM_START( spclordsa )
ROM_LOAD32_BYTE( "136095.23a", 0x00002, 0x20000, CRC(20a0e443) SHA1(54597342901d6b38dddbe754f41ceeddcc4e5289) ) ROM_LOAD32_BYTE( "136095.23a", 0x00002, 0x20000, CRC(20a0e443) SHA1(54597342901d6b38dddbe754f41ceeddcc4e5289) )
ROM_LOAD32_BYTE( "136095.24a", 0x00003, 0x20000, CRC(d3f0439c) SHA1(f9245f448b77187b4cd5d9436b5caebd2800be5d)) ROM_LOAD32_BYTE( "136095.24a", 0x00003, 0x20000, CRC(d3f0439c) SHA1(f9245f448b77187b4cd5d9436b5caebd2800be5d))
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) ) ROM_LOAD( "136095.80a", 0x10000, 0x4000, CRC(33bc0ede) SHA1(2ee30d9125057cdfbdb83e4dbf28306c35a9c233) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1630,10 +1629,10 @@ ROM_START( spclordsa )
ROM_LOAD16_BYTE( "136095.51a", 0x500000, 0x80000, CRC(4635c534) SHA1(7261508052e3b17a552b43bc3d4ad7cd2d1f6af9) ) ROM_LOAD16_BYTE( "136095.51a", 0x500000, 0x80000, CRC(4635c534) SHA1(7261508052e3b17a552b43bc3d4ad7cd2d1f6af9) )
ROM_LOAD16_BYTE( "136095.50a", 0x500001, 0x80000, CRC(94bde47d) SHA1(dde8f0184a2d7e9f7eb961af2d9d016399ec18fc) ) ROM_LOAD16_BYTE( "136095.50a", 0x500001, 0x80000, CRC(94bde47d) SHA1(dde8f0184a2d7e9f7eb961af2d9d016399ec18fc) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) ) ROM_LOAD( "136095.81a", 0x00000, 0x80000, CRC(212560dd) SHA1(9d90bca5b478050d640b2393c9d3d59a4bd493dd) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1650,7 +1649,7 @@ ROM_START( motofren )
ROM_LOAD32_BYTE( "136094-moto2.37e", 0x000002, 0x020000, CRC(6b1c7626) SHA1(b318a5856bcbd6a8fc7eb92e4b9a576b8c16cbf3) ) ROM_LOAD32_BYTE( "136094-moto2.37e", 0x000002, 0x020000, CRC(6b1c7626) SHA1(b318a5856bcbd6a8fc7eb92e4b9a576b8c16cbf3) )
ROM_LOAD32_BYTE( "136094-moto3.37j", 0x000003, 0x020000, CRC(44c3cd2a) SHA1(a16046586cbaa000e056115c92b5f22bf49869ad) ) ROM_LOAD32_BYTE( "136094-moto3.37j", 0x000003, 0x020000, CRC(44c3cd2a) SHA1(a16046586cbaa000e056115c92b5f22bf49869ad) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) ) ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1678,10 +1677,10 @@ ROM_START( motofren )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1698,7 +1697,7 @@ ROM_START( motofrenmd )
ROM_LOAD32_BYTE( "136094-0223a.37e", 0x00002, 0x20000, CRC(cdb04a4a) SHA1(ee342bdb5654e8b841b1f60e46d1bcae7c4e5cd2) ) ROM_LOAD32_BYTE( "136094-0223a.37e", 0x00002, 0x20000, CRC(cdb04a4a) SHA1(ee342bdb5654e8b841b1f60e46d1bcae7c4e5cd2) )
ROM_LOAD32_BYTE( "136094-0224a.37j", 0x00003, 0x20000, CRC(f3a9949f) SHA1(d3fa68fc63c505dd4c9d0e0c7f0625cc24ac9571) ) ROM_LOAD32_BYTE( "136094-0224a.37j", 0x00003, 0x20000, CRC(f3a9949f) SHA1(d3fa68fc63c505dd4c9d0e0c7f0625cc24ac9571) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080b.12c", 0x10000, 0x4000, CRC(5e542608) SHA1(8a10b5fac6ac120c7aae2edaa12413c9b8345d87) ) ROM_LOAD( "136094-0080b.12c", 0x10000, 0x4000, CRC(5e542608) SHA1(8a10b5fac6ac120c7aae2edaa12413c9b8345d87) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1726,10 +1725,10 @@ ROM_START( motofrenmd )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1750,7 +1749,7 @@ ROM_START( motofrei )
ROM_LOAD32_BYTE( "136094-motoi2.37e", 0x000002, 0x020000, CRC(7a26217f) SHA1(1271a000e2976480a3b959609a5597498886be4f) ) ROM_LOAD32_BYTE( "136094-motoi2.37e", 0x000002, 0x020000, CRC(7a26217f) SHA1(1271a000e2976480a3b959609a5597498886be4f) )
ROM_LOAD32_BYTE( "136094-motoi3.37j", 0x000003, 0x020000, CRC(ff5ca6ad) SHA1(1e26db56940ce1db819d2179f4ce3962e0b5b732) ) ROM_LOAD32_BYTE( "136094-motoi3.37j", 0x000003, 0x020000, CRC(ff5ca6ad) SHA1(1e26db56940ce1db819d2179f4ce3962e0b5b732) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) ) ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1778,10 +1777,10 @@ ROM_START( motofrei )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1799,7 +1798,7 @@ ROM_START( motofreg )
ROM_LOAD32_BYTE( "136094-motog2.37e", 0x000002, 0x020000, CRC(01400d54) SHA1(cd539497465857a804b5bc228bb0c93afd1e684e) ) ROM_LOAD32_BYTE( "136094-motog2.37e", 0x000002, 0x020000, CRC(01400d54) SHA1(cd539497465857a804b5bc228bb0c93afd1e684e) )
ROM_LOAD32_BYTE( "136094-motog3.37j", 0x000003, 0x020000, CRC(c467c136) SHA1(9407bdf65ee6261e30227e6b87e2a35da8ee124e) ) ROM_LOAD32_BYTE( "136094-motog3.37j", 0x000003, 0x020000, CRC(c467c136) SHA1(9407bdf65ee6261e30227e6b87e2a35da8ee124e) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) ) ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1827,10 +1826,10 @@ ROM_START( motofreg )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1848,7 +1847,7 @@ ROM_START( motofmdg )
ROM_LOAD32_BYTE( "136094-mdg2.37e", 0x000002, 0x020000, CRC(0b8bfe6e) SHA1(7220032a07928fd8a887c63ffcab4ec526733cae) ) ROM_LOAD32_BYTE( "136094-mdg2.37e", 0x000002, 0x020000, CRC(0b8bfe6e) SHA1(7220032a07928fd8a887c63ffcab4ec526733cae) )
ROM_LOAD32_BYTE( "136094-mdg3.37j", 0x000003, 0x020000, CRC(1dcd0d09) SHA1(0f6801694498688ed94588ac4b828ac56f3a16ec) ) ROM_LOAD32_BYTE( "136094-mdg3.37j", 0x000003, 0x020000, CRC(1dcd0d09) SHA1(0f6801694498688ed94588ac4b828ac56f3a16ec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) ) ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1876,10 +1875,10 @@ ROM_START( motofmdg )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1896,7 +1895,7 @@ ROM_START( motofrenft )
ROM_LOAD32_BYTE( "136094-ft2.37e", 0x000002, 0x020000, CRC(30eb94bb) SHA1(b7a2b41570d2110aaedea8a3b9d120af31671bbd) ) ROM_LOAD32_BYTE( "136094-ft2.37e", 0x000002, 0x020000, CRC(30eb94bb) SHA1(b7a2b41570d2110aaedea8a3b9d120af31671bbd) )
ROM_LOAD32_BYTE( "136094-ft3.37j", 0x000003, 0x020000, CRC(a92e05e3) SHA1(354b6bbb058d10c4da55cb58bf05eae83350ba08) ) ROM_LOAD32_BYTE( "136094-ft3.37j", 0x000003, 0x020000, CRC(a92e05e3) SHA1(354b6bbb058d10c4da55cb58bf05eae83350ba08) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) ) ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1924,10 +1923,10 @@ ROM_START( motofrenft )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -1944,7 +1943,7 @@ ROM_START( motofrenmf )
ROM_LOAD32_BYTE( "136094-ftmd2.37e", 0x000002, 0x020000, CRC(769223fc) SHA1(acfafae3d81a6a3a4ff82c6381590ac31ad80f23) ) ROM_LOAD32_BYTE( "136094-ftmd2.37e", 0x000002, 0x020000, CRC(769223fc) SHA1(acfafae3d81a6a3a4ff82c6381590ac31ad80f23) )
ROM_LOAD32_BYTE( "136094-ftmd3.37j", 0x000003, 0x020000, CRC(96382cc0) SHA1(ba2b6b105c552077767d1185886761fce3ec2885) ) ROM_LOAD32_BYTE( "136094-ftmd3.37j", 0x000003, 0x020000, CRC(96382cc0) SHA1(ba2b6b105c552077767d1185886761fce3ec2885) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) ) ROM_LOAD( "136094-0080a.12c", 0x10000, 0x4000, CRC(0b1e565c) SHA1(03bdeafd8cf680f76bbd1f9aba6efac27f19a93c) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -1972,10 +1971,10 @@ ROM_START( motofrenmf )
ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) ) ROM_LOAD16_BYTE( "136094-0053a.35t", 0x600000, 0x80000, CRC(74320763) SHA1(9cbf61c51dd96dc3e4a4227f3080766b9482a16a) )
ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) ) ROM_LOAD16_BYTE( "136094-0052a.35r", 0x600001, 0x80000, CRC(a7f9df2e) SHA1(c3e0c67081cf8f7b24350abf5a9adbb544ab44a7) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) ) ROM_LOAD( "136094-0082a.19e", 0x00000, 0x80000, CRC(fde543c4) SHA1(7d36d7f2f30d0ac40da77a36a47488d75474caaf) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -2035,14 +2034,14 @@ ROM_START( rrreveng )
/* all roms above are from this PCB however the sound board was missing - assumed to be the same */ /* all roms above are from this PCB however the sound board was missing - assumed to be the same */
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "rr65snd.bin", 0x10000, 0x4000, CRC(d78429da) SHA1(a4d36d74986f08c793f15f2e67cb97a8c91c5e90) ) ROM_LOAD( "rr65snd.bin", 0x10000, 0x4000, CRC(d78429da) SHA1(a4d36d74986f08c793f15f2e67cb97a8c91c5e90) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "rralpc0.bin", 0x00000, 0x80000, CRC(1f7b6ecf) SHA1(1787a2e89618e1338d70a54684dbc7d44c5f5559) ) ROM_LOAD( "rralpc0.bin", 0x00000, 0x80000, CRC(1f7b6ecf) SHA1(1787a2e89618e1338d70a54684dbc7d44c5f5559) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "rralpc1.bin", 0x00000, 0x80000, CRC(7ccd26d7) SHA1(1a74bdc66482896f5b9795d27383aa993e5fbaa4) ) ROM_LOAD( "rralpc1.bin", 0x00000, 0x80000, CRC(7ccd26d7) SHA1(1a74bdc66482896f5b9795d27383aa993e5fbaa4) )
ROM_END ROM_END
@ -2054,7 +2053,7 @@ ROM_START( rrrevenga ) /* Same program roms as the set below, but shares more ro
ROM_LOAD32_BYTE( "rrprglh.37e", 0x00002, 0x20000, CRC(2b03a6fc) SHA1(7c95a0307b854bd37fd327ff1af1b69aa60fb2fd) ) ROM_LOAD32_BYTE( "rrprglh.37e", 0x00002, 0x20000, CRC(2b03a6fc) SHA1(7c95a0307b854bd37fd327ff1af1b69aa60fb2fd) )
ROM_LOAD32_BYTE( "rrprgll.37j", 0x00003, 0x20000, CRC(acf078da) SHA1(3506e105d3b208864ce12ab20e6250cb3a0005d6) ) ROM_LOAD32_BYTE( "rrprgll.37j", 0x00003, 0x20000, CRC(acf078da) SHA1(3506e105d3b208864ce12ab20e6250cb3a0005d6) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "rr65snd.bin", 0x10000, 0x4000, CRC(d78429da) SHA1(a4d36d74986f08c793f15f2e67cb97a8c91c5e90) ) ROM_LOAD( "rr65snd.bin", 0x10000, 0x4000, CRC(d78429da) SHA1(a4d36d74986f08c793f15f2e67cb97a8c91c5e90) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -2078,10 +2077,10 @@ ROM_START( rrrevenga ) /* Same program roms as the set below, but shares more ro
ROM_LOAD16_BYTE( "mo4h.31t", 0x400000, 0x80000, CRC(af6a027e) SHA1(08038bddb6aa7e97f013f9d3e508f5501821e460) ) ROM_LOAD16_BYTE( "mo4h.31t", 0x400000, 0x80000, CRC(af6a027e) SHA1(08038bddb6aa7e97f013f9d3e508f5501821e460) )
ROM_LOAD16_BYTE( "mo4l.31r", 0x400001, 0x80000, CRC(9ebc5369) SHA1(ffd8418b328d99aa44fb1aed1db1aa6ac715c644) ) ROM_LOAD16_BYTE( "mo4l.31r", 0x400001, 0x80000, CRC(9ebc5369) SHA1(ffd8418b328d99aa44fb1aed1db1aa6ac715c644) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "rralpc0.bin", 0x00000, 0x80000, CRC(1f7b6ecf) SHA1(1787a2e89618e1338d70a54684dbc7d44c5f5559) ) ROM_LOAD( "rralpc0.bin", 0x00000, 0x80000, CRC(1f7b6ecf) SHA1(1787a2e89618e1338d70a54684dbc7d44c5f5559) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "rralpc1.bin", 0x00000, 0x80000, CRC(7ccd26d7) SHA1(1a74bdc66482896f5b9795d27383aa993e5fbaa4) ) ROM_LOAD( "rralpc1.bin", 0x00000, 0x80000, CRC(7ccd26d7) SHA1(1a74bdc66482896f5b9795d27383aa993e5fbaa4) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -2114,7 +2113,7 @@ ROM_START( rrrevengb )
ROM_LOAD32_BYTE( "rrprglh.37e", 0x00002, 0x20000, CRC(2b03a6fc) SHA1(7c95a0307b854bd37fd327ff1af1b69aa60fb2fd) ) ROM_LOAD32_BYTE( "rrprglh.37e", 0x00002, 0x20000, CRC(2b03a6fc) SHA1(7c95a0307b854bd37fd327ff1af1b69aa60fb2fd) )
ROM_LOAD32_BYTE( "rrprgll.37j", 0x00003, 0x20000, CRC(acf078da) SHA1(3506e105d3b208864ce12ab20e6250cb3a0005d6) ) ROM_LOAD32_BYTE( "rrprgll.37j", 0x00003, 0x20000, CRC(acf078da) SHA1(3506e105d3b208864ce12ab20e6250cb3a0005d6) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "rr65snd.bin", 0x10000, 0x4000, CRC(d78429da) SHA1(a4d36d74986f08c793f15f2e67cb97a8c91c5e90) ) ROM_LOAD( "rr65snd.bin", 0x10000, 0x4000, CRC(d78429da) SHA1(a4d36d74986f08c793f15f2e67cb97a8c91c5e90) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -2138,10 +2137,10 @@ ROM_START( rrrevengb )
ROM_LOAD16_BYTE( "rrmo4h.31t", 0x400000, 0x80000, CRC(12bf3e11) SHA1(37b1a7fe0b50202030f5c1938b95a449bbd51add) ) ROM_LOAD16_BYTE( "rrmo4h.31t", 0x400000, 0x80000, CRC(12bf3e11) SHA1(37b1a7fe0b50202030f5c1938b95a449bbd51add) )
ROM_LOAD16_BYTE( "rrmo4l.31r", 0x400001, 0x80000, CRC(a80175f6) SHA1(db621902fdfa99ec532713f4314c6cbb8353a773) ) ROM_LOAD16_BYTE( "rrmo4l.31r", 0x400001, 0x80000, CRC(a80175f6) SHA1(db621902fdfa99ec532713f4314c6cbb8353a773) )
ROM_REGION( 0x80000, "adpcml", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "rralpc0.bin", 0x00000, 0x80000, CRC(1f7b6ecf) SHA1(1787a2e89618e1338d70a54684dbc7d44c5f5559) ) ROM_LOAD( "rralpc0.bin", 0x00000, 0x80000, CRC(1f7b6ecf) SHA1(1787a2e89618e1338d70a54684dbc7d44c5f5559) )
ROM_REGION( 0x80000, "adpcmr", 0 ) ROM_REGION( 0x80000, "jsa:oki2", 0 )
ROM_LOAD( "rralpc1.bin", 0x00000, 0x80000, CRC(7ccd26d7) SHA1(1a74bdc66482896f5b9795d27383aa993e5fbaa4) ) ROM_LOAD( "rralpc1.bin", 0x00000, 0x80000, CRC(7ccd26d7) SHA1(1a74bdc66482896f5b9795d27383aa993e5fbaa4) )
ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */ ROM_REGION( 0x0600, "proms", 0 ) /* microcode for growth renderer */
@ -2176,16 +2175,12 @@ ROM_END
DRIVER_INIT_MEMBER(atarigx2_state,spclords) DRIVER_INIT_MEMBER(atarigx2_state,spclords)
{ {
atarijsa_init(machine(), "SERVICE", 0x0040);
m_playfield_base = 0x000; m_playfield_base = 0x000;
} }
DRIVER_INIT_MEMBER(atarigx2_state,motofren) DRIVER_INIT_MEMBER(atarigx2_state,motofren)
{ {
atarijsa_init(machine(), "SERVICE", 0x0040);
m_playfield_base = 0x400; m_playfield_base = 0x400;
/* /*
L/W=!68.A23*!E.A22*!E.A21 = 000x xxxx = 000000-1fffff L/W=!68.A23*!E.A22*!E.A21 = 000x xxxx = 000000-1fffff
@ -2218,8 +2213,6 @@ READ32_MEMBER(atarigx2_state::rrreveng_prot_r)
DRIVER_INIT_MEMBER(atarigx2_state,rrreveng) DRIVER_INIT_MEMBER(atarigx2_state,rrreveng)
{ {
atarijsa_init(machine(), "SERVICE", 0x0040);
m_playfield_base = 0x000; m_playfield_base = 0x000;
m_maincpu->space(AS_PROGRAM).install_read_handler(0xca0fc0, 0xca0fc3, read32_delegate(FUNC(atarigx2_state::rrreveng_prot_r),this)); m_maincpu->space(AS_PROGRAM).install_read_handler(0xca0fc0, 0xca0fc3, read32_delegate(FUNC(atarigx2_state::rrreveng_prot_r),this));

View File

@ -19,7 +19,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/batman.h" #include "includes/batman.h"
@ -52,7 +51,6 @@ MACHINE_RESET_MEMBER(batman_state,batman)
atarigen_state::machine_reset(); atarigen_state::machine_reset();
atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2); atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2);
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -85,8 +83,8 @@ WRITE16_MEMBER(batman_state::batman_atarivc_w)
READ16_MEMBER(batman_state::special_port2_r) READ16_MEMBER(batman_state::special_port2_r)
{ {
int result = ioport("260010")->read(); int result = ioport("260010")->read();
if (m_soundcomm->sound_to_main_ready()) result ^= 0x0010; if (m_jsa->sound_to_main_ready()) result ^= 0x0010;
if (m_soundcomm->main_to_sound_ready()) result ^= 0x0020; if (m_jsa->main_to_sound_ready()) result ^= 0x0020;
return result; return result;
} }
@ -98,9 +96,9 @@ WRITE16_MEMBER(batman_state::latch_w)
/* bit 4 is connected to the /RESET pin on the 6502 */ /* bit 4 is connected to the /RESET pin on the 6502 */
if (m_latch_data & 0x0010) if (m_latch_data & 0x0010)
m_jsacpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE); m_jsa->soundcpu().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
else else
m_jsacpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); m_jsa->soundcpu().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
/* alpha bank is selected by the upper 4 bits */ /* alpha bank is selected by the upper 4 bits */
if ((oldword ^ m_latch_data) & 0x7000) if ((oldword ^ m_latch_data) & 0x7000)
@ -131,8 +129,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, batman_state )
AM_RANGE(0x260000, 0x260001) AM_MIRROR(0x11ff8c) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x260001) AM_MIRROR(0x11ff8c) AM_READ_PORT("260000")
AM_RANGE(0x260002, 0x260003) AM_MIRROR(0x11ff8c) AM_READ_PORT("260002") AM_RANGE(0x260002, 0x260003) AM_MIRROR(0x11ff8c) AM_READ_PORT("260002")
AM_RANGE(0x260010, 0x260011) AM_MIRROR(0x11ff8e) AM_READ(special_port2_r) AM_RANGE(0x260010, 0x260011) AM_MIRROR(0x11ff8e) AM_READ(special_port2_r)
AM_RANGE(0x260030, 0x260031) AM_MIRROR(0x11ff8e) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_MIRROR(0x11ff8e) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff)
AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x260040, 0x260041) AM_MIRROR(0x11ff8e) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w) AM_RANGE(0x260050, 0x260051) AM_MIRROR(0x11ff8e) AM_WRITE(latch_w)
AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_WRITE(eeprom_enable_w) AM_RANGE(0x260060, 0x260061) AM_MIRROR(0x11ff8e) AM_WRITE(eeprom_enable_w)
AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2a0000, 0x2a0001) AM_MIRROR(0x11fffe) AM_WRITE(watchdog_reset16_w)
@ -176,8 +174,6 @@ static INPUT_PORTS_START( batman )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Output buffer full (@260040) */ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Output buffer full (@260040) */
PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -250,7 +246,11 @@ static MACHINE_CONFIG_START( batman, batman_state )
MCFG_VIDEO_START_OVERRIDE(batman_state,batman) MCFG_VIDEO_START_OVERRIDE(batman_state,batman)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260010", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -270,7 +270,7 @@ ROM_START( batman )
ROM_LOAD16_BYTE( "136085-2034.9r", 0x80000, 0x20000, CRC(05388c62) SHA1(de037203d94e72e2922c89256da080ae023ca0e7) ) ROM_LOAD16_BYTE( "136085-2034.9r", 0x80000, 0x20000, CRC(05388c62) SHA1(de037203d94e72e2922c89256da080ae023ca0e7) )
ROM_LOAD16_BYTE( "136085-2035.5r", 0x80001, 0x20000, CRC(e77c92dd) SHA1(6d475092f7628114960d26b8ec1c5eae5e61ce25) ) ROM_LOAD16_BYTE( "136085-2035.5r", 0x80001, 0x20000, CRC(e77c92dd) SHA1(6d475092f7628114960d26b8ec1c5eae5e61ce25) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136085-1040.12c", 0x10000, 0x4000, CRC(080db83c) SHA1(ec084b7c1dc5878acd6d081e2e8b8d1e8b3d8a45) ) ROM_LOAD( "136085-1040.12c", 0x10000, 0x4000, CRC(080db83c) SHA1(ec084b7c1dc5878acd6d081e2e8b8d1e8b3d8a45) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -297,7 +297,7 @@ ROM_START( batman )
ROM_LOAD( "136085-1021.15c", 0x0c0000, 0x20000, CRC(9c8ef9ba) SHA1(c2540adfc227a654a3f91e2cfdcd98b3a04ae4fb) ) ROM_LOAD( "136085-1021.15c", 0x0c0000, 0x20000, CRC(9c8ef9ba) SHA1(c2540adfc227a654a3f91e2cfdcd98b3a04ae4fb) )
ROM_LOAD( "136085-1025.16c", 0x0e0000, 0x20000, CRC(5d30bcd1) SHA1(817e225511ab98e7575ee512d659c51fcb7716dc) ) ROM_LOAD( "136085-1025.16c", 0x0e0000, 0x20000, CRC(5d30bcd1) SHA1(817e225511ab98e7575ee512d659c51fcb7716dc) )
ROM_REGION( 0x80000, "adpcm", 0 ) /* 1MB for ADPCM */ ROM_REGION( 0x80000, "jsa:oki1", 0 ) /* 1MB for ADPCM */
ROM_LOAD( "136085-1041.19e", 0x00000, 0x20000, CRC(d97d5dbb) SHA1(7609841c773e3d1ae5a21da81e3387260fd8da41) ) ROM_LOAD( "136085-1041.19e", 0x00000, 0x20000, CRC(d97d5dbb) SHA1(7609841c773e3d1ae5a21da81e3387260fd8da41) )
ROM_LOAD( "136085-1042.17e", 0x20000, 0x20000, CRC(8c496986) SHA1(07c84c68885e2ab3e81ee92942d6a0f29e4dffa8) ) ROM_LOAD( "136085-1042.17e", 0x20000, 0x20000, CRC(8c496986) SHA1(07c84c68885e2ab3e81ee92942d6a0f29e4dffa8) )
ROM_LOAD( "136085-1043.15e", 0x40000, 0x20000, CRC(51812d3b) SHA1(6748fecef753179a9257c0da5a7b7c9648437208) ) ROM_LOAD( "136085-1043.15e", 0x40000, 0x20000, CRC(51812d3b) SHA1(6748fecef753179a9257c0da5a7b7c9648437208) )
@ -319,23 +319,10 @@ ROM_END
/*************************************
*
* Driver initialization
*
*************************************/
DRIVER_INIT_MEMBER(batman_state,batman)
{
atarijsa_init(machine(), "260010", 0x0040);
}
/************************************* /*************************************
* *
* Game driver(s) * Game driver(s)
* *
*************************************/ *************************************/
GAME( 1991, batman, 0, batman, batman, batman_state, batman, ROT0, "Atari Games", "Batman", GAME_SUPPORTS_SAVE ) GAME( 1991, batman, 0, batman, batman, driver_device, 0, ROT0, "Atari Games", "Batman", GAME_SUPPORTS_SAVE )

View File

@ -173,7 +173,6 @@ void beathead_state::machine_reset()
{ {
/* reset the common subsystems */ /* reset the common subsystems */
atarigen_state::machine_reset(); atarigen_state::machine_reset();
atarijsa_reset(machine());
/* the code is temporarily mapped at 0 at startup */ /* the code is temporarily mapped at 0 at startup */
/* just copying the first 0x40 bytes is sufficient */ /* just copying the first 0x40 bytes is sufficient */
@ -279,8 +278,8 @@ WRITE32_MEMBER( beathead_state::eeprom_enable_w )
READ32_MEMBER( beathead_state::input_2_r ) READ32_MEMBER( beathead_state::input_2_r )
{ {
int result = ioport("IN2")->read(); int result = ioport("IN2")->read();
if (m_soundcomm->sound_to_main_ready()) result ^= 0x10; if (m_jsa->sound_to_main_ready()) result ^= 0x10;
if (m_soundcomm->main_to_sound_ready()) result ^= 0x20; if (m_jsa->main_to_sound_ready()) result ^= 0x20;
return result; return result;
} }
@ -295,7 +294,7 @@ READ32_MEMBER( beathead_state::input_2_r )
WRITE32_MEMBER( beathead_state::sound_reset_w ) WRITE32_MEMBER( beathead_state::sound_reset_w )
{ {
logerror("Sound reset = %d\n", !offset); logerror("Sound reset = %d\n", !offset);
m_jsacpu->set_input_line(INPUT_LINE_RESET, offset ? CLEAR_LINE : ASSERT_LINE); m_jsa->soundcpu().set_input_line(INPUT_LINE_RESET, offset ? CLEAR_LINE : ASSERT_LINE);
} }
@ -323,7 +322,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 32, beathead_state)
AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("ram_base") AM_RANGE(0x00000000, 0x0001ffff) AM_RAM AM_SHARE("ram_base")
AM_RANGE(0x01800000, 0x01bfffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("rom_base") AM_RANGE(0x01800000, 0x01bfffff) AM_ROM AM_REGION("user1", 0) AM_SHARE("rom_base")
AM_RANGE(0x40000000, 0x400007ff) AM_RAM_WRITE(eeprom_data_w) AM_SHARE("nvram") AM_RANGE(0x40000000, 0x400007ff) AM_RAM_WRITE(eeprom_data_w) AM_SHARE("nvram")
AM_RANGE(0x41000000, 0x41000003) AM_DEVREADWRITE8("soundcomm", atari_sound_comm_device, main_response_r, main_command_w, 0x000000ff) AM_RANGE(0x41000000, 0x41000003) AM_DEVREADWRITE8("jsa", atari_jsa_iii_device, main_response_r, main_command_w, 0x000000ff)
AM_RANGE(0x41000100, 0x41000103) AM_READ(interrupt_control_r) AM_RANGE(0x41000100, 0x41000103) AM_READ(interrupt_control_r)
AM_RANGE(0x41000100, 0x4100011f) AM_WRITE(interrupt_control_w) AM_RANGE(0x41000100, 0x4100011f) AM_WRITE(interrupt_control_w)
AM_RANGE(0x41000200, 0x41000203) AM_READ_PORT("IN1") AM_RANGE(0x41000200, 0x41000203) AM_READ_PORT("IN1")
@ -391,11 +390,10 @@ static INPUT_PORTS_START( beathead )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xfff0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */ // to do
PORT_MODIFY("JSAIII") // PORT_MODIFY("jsa:JSAIII")
// coin 1+2 import from JSAIII not used - set to unused // coin 1+2 import from JSAIII not used - set to unused
PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_BIT( 0x03, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
@ -427,7 +425,11 @@ static MACHINE_CONFIG_START( beathead, beathead_state )
MCFG_PALETTE_LENGTH(32768) MCFG_PALETTE_LENGTH(32768)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN2", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -439,7 +441,7 @@ MACHINE_CONFIG_END
*************************************/ *************************************/
ROM_START( beathead ) ROM_START( beathead )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "bhsnd.bin", 0x10000, 0x4000, CRC(dfd33f02) SHA1(479a4838c89691d5a4654a4cd84b6433a9e86109) ) ROM_LOAD( "bhsnd.bin", 0x10000, 0x4000, CRC(dfd33f02) SHA1(479a4838c89691d5a4654a4cd84b6433a9e86109) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -453,7 +455,7 @@ ROM_START( beathead )
ROM_LOAD32_BYTE( "bhpics2.bin", 0x200002, 0x80000, CRC(00b96481) SHA1(39daa46321c1d4f8bce8c25d0450b97f1f19dedb) ) ROM_LOAD32_BYTE( "bhpics2.bin", 0x200002, 0x80000, CRC(00b96481) SHA1(39daa46321c1d4f8bce8c25d0450b97f1f19dedb) )
ROM_LOAD32_BYTE( "bhpics3.bin", 0x200003, 0x80000, CRC(99c4f1db) SHA1(aba4440c5cdf413f970a0c65457e2d1b37caf2d6) ) ROM_LOAD32_BYTE( "bhpics3.bin", 0x200003, 0x80000, CRC(99c4f1db) SHA1(aba4440c5cdf413f970a0c65457e2d1b37caf2d6) )
ROM_REGION( 0x80000, "adpcm", 0 ) /* 1MB for ADPCM */ ROM_REGION( 0x80000, "jsa:oki1", 0 ) /* 1MB for ADPCM */
ROM_LOAD( "bhpcm0.bin", 0x00000, 0x20000, CRC(609ca626) SHA1(9bfc913fc4c3453b132595f8553245376bce3a51) ) ROM_LOAD( "bhpcm0.bin", 0x00000, 0x20000, CRC(609ca626) SHA1(9bfc913fc4c3453b132595f8553245376bce3a51) )
ROM_LOAD( "bhpcm1.bin", 0x20000, 0x20000, CRC(35511509) SHA1(41294b81e253db5d2f30f8589dd59729a31bb2bb) ) ROM_LOAD( "bhpcm1.bin", 0x20000, 0x20000, CRC(35511509) SHA1(41294b81e253db5d2f30f8589dd59729a31bb2bb) )
ROM_LOAD( "bhpcm2.bin", 0x40000, 0x20000, CRC(f71a840a) SHA1(09d045552704cd1434307f9a36ce03c5c06a8ff6) ) ROM_LOAD( "bhpcm2.bin", 0x40000, 0x20000, CRC(f71a840a) SHA1(09d045552704cd1434307f9a36ce03c5c06a8ff6) )
@ -505,9 +507,6 @@ READ32_MEMBER( beathead_state::movie_speedup_r )
DRIVER_INIT_MEMBER(beathead_state,beathead) DRIVER_INIT_MEMBER(beathead_state,beathead)
{ {
/* initialize the common systems */
atarijsa_init(machine(), "IN2", 0x0040);
/* prepare the speedups */ /* prepare the speedups */
m_speedup_data = m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate(FUNC(beathead_state::speedup_r), this)); m_speedup_data = m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000ae8, 0x00000aeb, 0, 0, read32_delegate(FUNC(beathead_state::speedup_r), this));
m_movie_speedup_data = m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000804, 0x00000807, 0, 0, read32_delegate(FUNC(beathead_state::movie_speedup_r), this)); m_movie_speedup_data = m_maincpu->space(AS_PROGRAM).install_read_handler(0x00000804, 0x00000807, 0, 0, read32_delegate(FUNC(beathead_state::movie_speedup_r), this));

View File

@ -20,7 +20,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/blstroid.h" #include "includes/blstroid.h"
@ -50,7 +49,6 @@ MACHINE_RESET_MEMBER(blstroid_state,blstroid)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -66,7 +64,7 @@ READ16_MEMBER(blstroid_state::inputs_r)
static const char *const iptnames[] = { "IN0", "IN1" }; static const char *const iptnames[] = { "IN0", "IN1" };
int temp = ioport(iptnames[offset & 1])->read(); int temp = ioport(iptnames[offset & 1])->read();
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x0040; if (m_jsa->main_to_sound_ready()) temp ^= 0x0040;
if (get_hblank(*machine().primary_screen)) temp ^= 0x0010; if (get_hblank(*machine().primary_screen)) temp ^= 0x0010;
return temp; return temp;
} }
@ -88,10 +86,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, blstroid_state )
AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x7f81fe) AM_WRITE(video_int_ack_w) AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x7f81fe) AM_WRITE(video_int_ack_w)
AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_WRITE(eeprom_enable_w) AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x7f81fe) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xff8800, 0xff89ff) AM_MIRROR(0x7f8000) AM_WRITEONLY AM_SHARE("priorityram") AM_RANGE(0xff8800, 0xff89ff) AM_MIRROR(0x7f8000) AM_WRITEONLY AM_SHARE("priorityram")
AM_RANGE(0xff8a00, 0xff8a01) AM_MIRROR(0x7f81fe) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0xff8a00, 0xff8a01) AM_MIRROR(0x7f81fe) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0xff8c00, 0xff8c01) AM_MIRROR(0x7f81fe) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xff8c00, 0xff8c01) AM_MIRROR(0x7f81fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
AM_RANGE(0xff8e00, 0xff8e01) AM_MIRROR(0x7f81fe) AM_WRITE(blstroid_halt_until_hblank_0_w) AM_RANGE(0xff8e00, 0xff8e01) AM_MIRROR(0x7f81fe) AM_WRITE(blstroid_halt_until_hblank_0_w)
AM_RANGE(0xff9400, 0xff9401) AM_MIRROR(0x7f83fe) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0xff9400, 0xff9401) AM_MIRROR(0x7f83fe) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff)
AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL0") AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL0")
AM_RANGE(0xff9804, 0xff9805) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL1") AM_RANGE(0xff9804, 0xff9805) AM_MIRROR(0x7f83f8) AM_READ_PORT("DIAL1")
AM_RANGE(0xff9c00, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ(inputs_r) AM_RANGE(0xff9c00, 0xff9c03) AM_MIRROR(0x7f83fc) AM_READ(inputs_r)
@ -140,8 +138,6 @@ static INPUT_PORTS_START( blstroid )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_i ) /* audio port */
INPUT_PORTS_END INPUT_PORTS_END
@ -214,7 +210,14 @@ static MACHINE_CONFIG_START( blstroid, blstroid_state )
MCFG_VIDEO_START_OVERRIDE(blstroid_state,blstroid) MCFG_VIDEO_START_OVERRIDE(blstroid_state,blstroid)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN0", 7)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_DEVICE_REMOVE("jsa:pokey")
MCFG_DEVICE_REMOVE("jsa:tms")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -232,7 +235,7 @@ ROM_START( blstroid )
ROM_LOAD16_BYTE( "136057-4124.4c", 0x020000, 0x010000, CRC(fd2365df) SHA1(63ed3f9a92fed985f9ddb93687f11a24c8309f56) ) ROM_LOAD16_BYTE( "136057-4124.4c", 0x020000, 0x010000, CRC(fd2365df) SHA1(63ed3f9a92fed985f9ddb93687f11a24c8309f56) )
ROM_LOAD16_BYTE( "136057-4122.4b", 0x020001, 0x010000, CRC(c364706e) SHA1(e03cd60d139000607d83240b0b48865eafb1188b) ) ROM_LOAD16_BYTE( "136057-4122.4b", 0x020001, 0x010000, CRC(c364706e) SHA1(e03cd60d139000607d83240b0b48865eafb1188b) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) ) ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -269,7 +272,7 @@ ROM_START( blstroid3 )
ROM_LOAD16_BYTE( "136057-3124.4c", 0x020000, 0x010000, CRC(a9140c31) SHA1(02518bf998c0c74dff66f3192dcb1f91b1812cf8) ) ROM_LOAD16_BYTE( "136057-3124.4c", 0x020000, 0x010000, CRC(a9140c31) SHA1(02518bf998c0c74dff66f3192dcb1f91b1812cf8) )
ROM_LOAD16_BYTE( "136057-3122.4b", 0x020001, 0x010000, CRC(137fbb17) SHA1(3dda03ecdb2dc9a9cd78aeaa502497662496a26d) ) ROM_LOAD16_BYTE( "136057-3122.4b", 0x020001, 0x010000, CRC(137fbb17) SHA1(3dda03ecdb2dc9a9cd78aeaa502497662496a26d) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) ) ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -306,7 +309,7 @@ ROM_START( blstroid2 )
ROM_LOAD16_BYTE( "136057-2124.4c", 0x020000, 0x010000, CRC(d0fa38fe) SHA1(8aeae50dff6bcd14ac5faf10f15724b7f7430f5c) ) ROM_LOAD16_BYTE( "136057-2124.4c", 0x020000, 0x010000, CRC(d0fa38fe) SHA1(8aeae50dff6bcd14ac5faf10f15724b7f7430f5c) )
ROM_LOAD16_BYTE( "136057-2122.4b", 0x020001, 0x010000, CRC(744bf921) SHA1(bb9118bfc04745df2eb78e1d1e70f7fc2e0509d4) ) ROM_LOAD16_BYTE( "136057-2122.4b", 0x020001, 0x010000, CRC(744bf921) SHA1(bb9118bfc04745df2eb78e1d1e70f7fc2e0509d4) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) ) ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -343,7 +346,7 @@ ROM_START( blstroidg )
ROM_LOAD16_BYTE( "136057-2224.4c", 0x020000, 0x010000, CRC(849249d4) SHA1(61d6eaff7df54f0353639e192eb6074a80916e29) ) ROM_LOAD16_BYTE( "136057-2224.4c", 0x020000, 0x010000, CRC(849249d4) SHA1(61d6eaff7df54f0353639e192eb6074a80916e29) )
ROM_LOAD16_BYTE( "136057-2222.4b", 0x020001, 0x010000, CRC(bdeaba0d) SHA1(f479514b5d9543f9e12aa1ac48e20bf054cb18d0) ) ROM_LOAD16_BYTE( "136057-2222.4b", 0x020001, 0x010000, CRC(bdeaba0d) SHA1(f479514b5d9543f9e12aa1ac48e20bf054cb18d0) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) ) ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -380,7 +383,7 @@ ROM_START( blstroidh )
ROM_LOAD16_BYTE( "eheadh1.c5", 0x20000, 0x10000, CRC(0b7a3cb6) SHA1(7dc585ff536055e85b0849aa075f2fdab34a8e1c) ) ROM_LOAD16_BYTE( "eheadh1.c5", 0x20000, 0x10000, CRC(0b7a3cb6) SHA1(7dc585ff536055e85b0849aa075f2fdab34a8e1c) )
ROM_LOAD16_BYTE( "eheadl1.b5", 0x20001, 0x10000, CRC(43971694) SHA1(a39a8da244645bb56081fd71609a33d8b7d78478) ) ROM_LOAD16_BYTE( "eheadl1.b5", 0x20001, 0x10000, CRC(43971694) SHA1(a39a8da244645bb56081fd71609a33d8b7d78478) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) ) ROM_LOAD( "136057-1135.2k", 0x010000, 0x004000, CRC(baa8b5fe) SHA1(4af1f9bec3ffa856016a89bc20041d572305ba3a) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -419,7 +422,6 @@ ROM_END
DRIVER_INIT_MEMBER(blstroid_state,blstroid) DRIVER_INIT_MEMBER(blstroid_state,blstroid)
{ {
atarijsa_init(machine(), "IN0", 0x80);
} }

View File

@ -22,7 +22,6 @@
#include "emu.h" #include "emu.h"
#include "sound/2151intf.h" #include "sound/2151intf.h"
#include "rendlay.h" #include "rendlay.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/cyberbal.h" #include "includes/cyberbal.h"
@ -77,7 +76,6 @@ MACHINE_RESET_MEMBER(cyberbal_state,cyberbal2p)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -99,7 +97,7 @@ READ16_MEMBER(cyberbal_state::special_port0_r)
READ16_MEMBER(cyberbal_state::special_port2_r) READ16_MEMBER(cyberbal_state::special_port2_r)
{ {
int temp = ioport("IN2")->read(); int temp = ioport("IN2")->read();
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x2000; if (m_jsa->main_to_sound_ready()) temp ^= 0x2000;
return temp; return temp;
} }
@ -107,7 +105,7 @@ READ16_MEMBER(cyberbal_state::special_port2_r)
READ16_MEMBER(cyberbal_state::sound_state_r) READ16_MEMBER(cyberbal_state::sound_state_r)
{ {
int temp = 0xffff; int temp = 0xffff;
if (m_soundcomm->main_to_sound_ready()) temp ^= 0xffff; if (m_jsa->main_to_sound_ready()) temp ^= 0xffff;
return temp; return temp;
} }
@ -237,14 +235,14 @@ static ADDRESS_MAP_START( cyberbal2p_map, AS_PROGRAM, 16, cyberbal_state )
AM_RANGE(0xfc0000, 0xfc0003) AM_READ_PORT("IN0") AM_RANGE(0xfc0000, 0xfc0003) AM_READ_PORT("IN0")
AM_RANGE(0xfc2000, 0xfc2003) AM_READ_PORT("IN1") AM_RANGE(0xfc2000, 0xfc2003) AM_READ_PORT("IN1")
AM_RANGE(0xfc4000, 0xfc4003) AM_READ(special_port2_r) AM_RANGE(0xfc4000, 0xfc4003) AM_READ(special_port2_r)
AM_RANGE(0xfc6000, 0xfc6003) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0xff00) AM_RANGE(0xfc6000, 0xfc6003) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0xff00)
AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xfc8000, 0xfc8fff) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0xfca000, 0xfcafff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram")
AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE(eeprom_enable_w) AM_RANGE(0xfd0000, 0xfd0003) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xfd2000, 0xfd2003) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xfd2000, 0xfd2003) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xfd4000, 0xfd4003) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE(video_int_ack_w) AM_RANGE(0xfd6000, 0xfd6003) AM_WRITE(video_int_ack_w)
AM_RANGE(0xfd8000, 0xfd8003) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0xff00) AM_RANGE(0xfd8000, 0xfd8003) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0xff00)
AM_RANGE(0xfe0000, 0xfe0003) AM_READ(sound_state_r) AM_RANGE(0xfe0000, 0xfe0003) AM_READ(sound_state_r)
AM_RANGE(0xff0000, 0xff1fff) AM_RAM_WRITE(playfield_w) AM_SHARE("playfield") AM_RANGE(0xff0000, 0xff1fff) AM_RAM_WRITE(playfield_w) AM_SHARE("playfield")
AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(alpha_w) AM_SHARE("alpha") AM_RANGE(0xff2000, 0xff2fff) AM_RAM_WRITE(alpha_w) AM_SHARE("alpha")
@ -299,7 +297,7 @@ static INPUT_PORTS_START( cyberbal )
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
/* 2008-06 FP: I tag this as JSAII (even if it's not) to simplify cyberbal_special_port3_r */ /* 2008-06 FP: I tag this as JSAII (even if it's not) to simplify cyberbal_special_port3_r */
PORT_START("JSAII") /* audio board port */ PORT_START("jsa:JSAII") /* audio board port */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN4 ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN4 )
@ -335,8 +333,6 @@ static INPUT_PORTS_START( cyberbal2p )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_SERVICE( 0x8000, IP_ACTIVE_LOW ) PORT_SERVICE( 0x8000, IP_ACTIVE_LOW )
PORT_INCLUDE( atarijsa_ii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -486,7 +482,11 @@ static MACHINE_CONFIG_START( cyberbal2p, cyberbal_state )
MCFG_VIDEO_START_OVERRIDE(cyberbal_state,cyberbal2p) MCFG_VIDEO_START_OVERRIDE(cyberbal_state,cyberbal2p)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN2", 15)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -677,7 +677,7 @@ ROM_START( cyberbal2p )
ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) ) ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) ) ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) ) ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -705,7 +705,7 @@ ROM_START( cyberbal2p )
ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) ) ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) ) ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) ) ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
@ -727,7 +727,7 @@ ROM_START( cyberbal2p3 )
ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) ) ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) ) ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) ) ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -755,7 +755,7 @@ ROM_START( cyberbal2p3 )
ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) ) ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) ) ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) ) ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
@ -777,7 +777,7 @@ ROM_START( cyberbal2p2 )
ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) ) ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) ) ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) ) ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -805,7 +805,7 @@ ROM_START( cyberbal2p2 )
ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) ) ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) ) ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) ) ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
@ -827,7 +827,7 @@ ROM_START( cyberbal2p1 )
ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) ) ROM_LOAD16_BYTE( "136071-1025.27c", 0x060000, 0x010000, CRC(95ff68c6) SHA1(43f716a4c44fe1a38fcc6e2600bac948bb603504) )
ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) ) ROM_LOAD16_BYTE( "136071-1026.27d", 0x060001, 0x010000, CRC(f61c4898) SHA1(9e4a14eac6d197f63c3392af3d804e81c034cb09) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) ) ROM_LOAD( "136071-1042.1b", 0x010000, 0x004000, CRC(e63cf125) SHA1(449880f561660ba67ac2d7f8ce6333768e0ae0be) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -855,7 +855,7 @@ ROM_START( cyberbal2p1 )
ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) ) ROM_LOAD( "136071-1017.32n", 0x000000, 0x010000, CRC(a4c116f9) SHA1(fc7becef35306ef99ffbd0cd9202759352eb6cbe) )
ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) ) ROM_LOAD( "136071-1018.32l", 0x010000, 0x010000, CRC(e25d7847) SHA1(3821c62f9bdc04eb774c2210a84e26b36f2e163d) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) ) ROM_LOAD( "136071-1043.7k", 0x000000, 0x010000, CRC(94f24575) SHA1(b93b326e15cd328362ce409b7c0cc42b8a28c701) )
ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) ) ROM_LOAD( "136071-1044.7j", 0x010000, 0x010000, CRC(87208e1e) SHA1(3647867ddc36df7633ed740c0b9365a979ef5621) )
ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) ) ROM_LOAD( "136071-1045.7e", 0x020000, 0x010000, CRC(f82558b9) SHA1(afbecccc6203db9bdcf60638e0f4e95040d7aaf2) )
@ -991,7 +991,6 @@ DRIVER_INIT_MEMBER(cyberbal_state,cyberbalt)
DRIVER_INIT_MEMBER(cyberbal_state,cyberbal2p) DRIVER_INIT_MEMBER(cyberbal_state,cyberbal2p)
{ {
atarijsa_init(machine(), "IN2", 0x8000);
} }

View File

@ -25,7 +25,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/eprom.h" #include "includes/eprom.h"
@ -52,7 +51,6 @@ MACHINE_RESET_MEMBER(eprom_state,eprom)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -67,8 +65,8 @@ READ16_MEMBER(eprom_state::special_port1_r)
{ {
int result = ioport("260010")->read(); int result = ioport("260010")->read();
if (m_soundcomm->sound_to_main_ready()) result ^= 0x0004; if (m_jsa->sound_to_main_ready()) result ^= 0x0004;
if (m_soundcomm->main_to_sound_ready()) result ^= 0x0008; if (m_jsa->main_to_sound_ready()) result ^= 0x0008;
result ^= 0x0010; result ^= 0x0010;
return result; return result;
@ -152,12 +150,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_base_device, main_response_r, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w) AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_base_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_base_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram") AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f1fff) AM_WRITE(playfield_w) AM_SHARE("playfield") AM_RANGE(0x3f0000, 0x3f1fff) AM_WRITE(playfield_w) AM_SHARE("playfield")
AM_RANGE(0x3f2000, 0x3f3fff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w) AM_RANGE(0x3f2000, 0x3f3fff) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
@ -177,12 +175,12 @@ static ADDRESS_MAP_START( guts_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w)
// AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w) // AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram") AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM AM_SHARE("paletteram")
AM_RANGE(0xff0000, 0xff1fff) AM_WRITE(playfield_upper_w) AM_SHARE("playfield_up") AM_RANGE(0xff0000, 0xff1fff) AM_WRITE(playfield_upper_w) AM_SHARE("playfield_up")
AM_RANGE(0xff8000, 0xff9fff) AM_WRITE(playfield_w) AM_SHARE("playfield") AM_RANGE(0xff8000, 0xff9fff) AM_WRITE(playfield_w) AM_SHARE("playfield")
@ -208,11 +206,11 @@ static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, eprom_state )
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r) AM_RANGE(0x260010, 0x26001f) AM_READ(special_port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r) AM_RANGE(0x260020, 0x26002f) AM_READ(adc_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_base_device, main_response_r, 0x00ff)
AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w) AM_RANGE(0x360010, 0x360011) AM_WRITE(eprom_latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_base_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_base_device, main_command_w, 0x00ff)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -260,8 +258,6 @@ static INPUT_PORTS_START( eprom )
PORT_START("ADC3") /* ADC1 @ 0x260026 */ PORT_START("ADC3") /* ADC1 @ 0x260026 */
PORT_BIT( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(2) PORT_BIT( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(2)
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_i ) /* audio port */
INPUT_PORTS_END INPUT_PORTS_END
@ -292,8 +288,6 @@ static INPUT_PORTS_START( klaxp )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_INCLUDE( atarijsa_ii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -334,8 +328,6 @@ static INPUT_PORTS_START( guts )
PORT_START("ADC3") /* ADC1 @ 0x260026 */ PORT_START("ADC3") /* ADC1 @ 0x260026 */
PORT_BIT( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(2) PORT_REVERSE PORT_BIT( 0x00ff, 0x0080, IPT_AD_STICK_X ) PORT_MINMAX(0x10,0xf0) PORT_SENSITIVITY(100) PORT_KEYDELTA(10) PORT_PLAYER(2) PORT_REVERSE
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_ii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -419,7 +411,12 @@ static MACHINE_CONFIG_START( eprom, eprom_state )
MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom) MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_mono_speech) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_REMOVE("jsa:pokey")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -449,7 +446,11 @@ static MACHINE_CONFIG_START( klaxp, eprom_state )
MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom) MCFG_VIDEO_START_OVERRIDE(eprom_state,eprom)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -479,7 +480,11 @@ static MACHINE_CONFIG_START( guts, eprom_state )
MCFG_VIDEO_START_OVERRIDE(eprom_state,guts) MCFG_VIDEO_START_OVERRIDE(eprom_state,guts)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -506,7 +511,7 @@ ROM_START( eprom )
ROM_LOAD16_BYTE( "136069-2034.10u", 0x00001, 0x10000, CRC(5d7afca2) SHA1(a37ecd2909049dd0b3ddbe602f0173c44b065f6f) ) ROM_LOAD16_BYTE( "136069-2034.10u", 0x00001, 0x10000, CRC(5d7afca2) SHA1(a37ecd2909049dd0b3ddbe602f0173c44b065f6f) )
ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 ) ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136069-1040.7b", 0x10000, 0x4000, CRC(86e93695) SHA1(63ddab02df139dd41a8260c303798b2a550b9fe6) ) ROM_LOAD( "136069-1040.7b", 0x10000, 0x4000, CRC(86e93695) SHA1(63ddab02df139dd41a8260c303798b2a550b9fe6) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -559,7 +564,7 @@ ROM_START( eprom2 )
ROM_LOAD16_BYTE( "136069-1034.10u", 0x00001, 0x10000, CRC(c68f58dd) SHA1(0ec300f32e67b710ac33efb60b8eccceb43faca6) ) ROM_LOAD16_BYTE( "136069-1034.10u", 0x00001, 0x10000, CRC(c68f58dd) SHA1(0ec300f32e67b710ac33efb60b8eccceb43faca6) )
ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 ) ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136069-1040.7b", 0x10000, 0x4000, CRC(86e93695) SHA1(63ddab02df139dd41a8260c303798b2a550b9fe6) ) ROM_LOAD( "136069-1040.7b", 0x10000, 0x4000, CRC(86e93695) SHA1(63ddab02df139dd41a8260c303798b2a550b9fe6) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -599,7 +604,7 @@ ROM_START( klaxp1 )
ROM_LOAD16_BYTE( "klax_ft1.50a", 0x00000, 0x10000, CRC(87ee72d1) SHA1(39ae6f8406f0768480bcc80d395a14d9c2c65dca) ) ROM_LOAD16_BYTE( "klax_ft1.50a", 0x00000, 0x10000, CRC(87ee72d1) SHA1(39ae6f8406f0768480bcc80d395a14d9c2c65dca) )
ROM_LOAD16_BYTE( "klax_ft1.40a", 0x00001, 0x10000, CRC(ba139fdb) SHA1(98a8ac5e0349b934f55d0d9de85abacd3fd0d77d) ) ROM_LOAD16_BYTE( "klax_ft1.40a", 0x00001, 0x10000, CRC(ba139fdb) SHA1(98a8ac5e0349b934f55d0d9de85abacd3fd0d77d) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "klaxsnd.10c", 0x10000, 0x4000, CRC(744734cb) SHA1(3630428d69ddd2a4d5dd76bb4ee9485c943129e9) ) ROM_LOAD( "klaxsnd.10c", 0x10000, 0x4000, CRC(744734cb) SHA1(3630428d69ddd2a4d5dd76bb4ee9485c943129e9) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -612,7 +617,7 @@ ROM_START( klaxp1 )
ROM_REGION( 0x04000, "gfx2", 0 ) ROM_REGION( 0x04000, "gfx2", 0 )
ROM_LOAD( "klax125d", 0x00000, 0x04000, CRC(409d818e) SHA1(63dcde3ce87c1a9d5afef8089432c499cc70f8f0) ) ROM_LOAD( "klax125d", 0x00000, 0x04000, CRC(409d818e) SHA1(63dcde3ce87c1a9d5afef8089432c499cc70f8f0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* ADPCM data */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* ADPCM data */
ROM_LOAD( "klaxadp0.1f", 0x00000, 0x10000, CRC(ba1e864f) SHA1(7c45e9040701b54c8be398c6e5cdf9201dc37c17) ) ROM_LOAD( "klaxadp0.1f", 0x00000, 0x10000, CRC(ba1e864f) SHA1(7c45e9040701b54c8be398c6e5cdf9201dc37c17) )
ROM_LOAD( "klaxadp1.1e", 0x10000, 0x10000, CRC(dec9a5ac) SHA1(8039d946ac3613fa6193b557cc8775c81871831d) ) ROM_LOAD( "klaxadp1.1e", 0x10000, 0x10000, CRC(dec9a5ac) SHA1(8039d946ac3613fa6193b557cc8775c81871831d) )
ROM_END ROM_END
@ -623,7 +628,7 @@ ROM_START( klaxp2 )
ROM_LOAD16_BYTE( "klax_ft2.50a", 0x00000, 0x10000, CRC(7d401937) SHA1(8db0560528a86b9cb01c4598a49694bd44b00dba) ) ROM_LOAD16_BYTE( "klax_ft2.50a", 0x00000, 0x10000, CRC(7d401937) SHA1(8db0560528a86b9cb01c4598a49694bd44b00dba) )
ROM_LOAD16_BYTE( "klax_ft2.40a", 0x00001, 0x10000, CRC(c5ca33a9) SHA1(c2e2948f987ba43f61c043baed06ffea8787be43) ) ROM_LOAD16_BYTE( "klax_ft2.40a", 0x00001, 0x10000, CRC(c5ca33a9) SHA1(c2e2948f987ba43f61c043baed06ffea8787be43) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "klaxsnd.10c", 0x10000, 0x4000, CRC(744734cb) SHA1(3630428d69ddd2a4d5dd76bb4ee9485c943129e9) ) ROM_LOAD( "klaxsnd.10c", 0x10000, 0x4000, CRC(744734cb) SHA1(3630428d69ddd2a4d5dd76bb4ee9485c943129e9) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -636,7 +641,7 @@ ROM_START( klaxp2 )
ROM_REGION( 0x04000, "gfx2", 0 ) ROM_REGION( 0x04000, "gfx2", 0 )
ROM_LOAD( "klax125d", 0x00000, 0x04000, CRC(409d818e) SHA1(63dcde3ce87c1a9d5afef8089432c499cc70f8f0) ) ROM_LOAD( "klax125d", 0x00000, 0x04000, CRC(409d818e) SHA1(63dcde3ce87c1a9d5afef8089432c499cc70f8f0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* ADPCM data */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* ADPCM data */
ROM_LOAD( "klaxadp0.1f", 0x00000, 0x10000, CRC(ba1e864f) SHA1(7c45e9040701b54c8be398c6e5cdf9201dc37c17) ) ROM_LOAD( "klaxadp0.1f", 0x00000, 0x10000, CRC(ba1e864f) SHA1(7c45e9040701b54c8be398c6e5cdf9201dc37c17) )
ROM_LOAD( "klaxadp1.1e", 0x10000, 0x10000, CRC(dec9a5ac) SHA1(8039d946ac3613fa6193b557cc8775c81871831d) ) ROM_LOAD( "klaxadp1.1e", 0x10000, 0x10000, CRC(dec9a5ac) SHA1(8039d946ac3613fa6193b557cc8775c81871831d) )
ROM_END ROM_END
@ -649,7 +654,7 @@ ROM_START( guts )
ROM_LOAD16_BYTE( "guts-hi1.50b", 0x20000, 0x10000, CRC(a231f65d) SHA1(9c8ccd265ed0e9f6d7181d216ed41a0c5cc0cd5f) ) ROM_LOAD16_BYTE( "guts-hi1.50b", 0x20000, 0x10000, CRC(a231f65d) SHA1(9c8ccd265ed0e9f6d7181d216ed41a0c5cc0cd5f) )
ROM_LOAD16_BYTE( "guts-lo1.40b", 0x20001, 0x10000, CRC(dbdd4910) SHA1(9ca22321398b6397902aa99a3ef46f1a78ccc438) ) ROM_LOAD16_BYTE( "guts-lo1.40b", 0x20001, 0x10000, CRC(dbdd4910) SHA1(9ca22321398b6397902aa99a3ef46f1a78ccc438) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "guts-snd.10c", 0x10000, 0x4000, CRC(9fe065d7) SHA1(0d202af3d6c62fdcfc3bb2ea95bbf4e37c0d43cf) ) ROM_LOAD( "guts-snd.10c", 0x10000, 0x4000, CRC(9fe065d7) SHA1(0d202af3d6c62fdcfc3bb2ea95bbf4e37c0d43cf) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -688,7 +693,7 @@ ROM_START( guts )
ROM_LOAD( "guts-pfd.bin", 0xd0000, 0x10000, CRC(979af5b2) SHA1(574a41552eb641668841cf01aeed442ccd3bc8e5) ) ROM_LOAD( "guts-pfd.bin", 0xd0000, 0x10000, CRC(979af5b2) SHA1(574a41552eb641668841cf01aeed442ccd3bc8e5) )
ROM_LOAD( "guts-pfe.bin", 0xe0000, 0x10000, CRC(bf384e4d) SHA1(c4810b5a3ee754b169efa01f06941a02b50c53a0) ) ROM_LOAD( "guts-pfe.bin", 0xe0000, 0x10000, CRC(bf384e4d) SHA1(c4810b5a3ee754b169efa01f06941a02b50c53a0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* ADPCM data */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* ADPCM data */
ROM_LOAD( "guts-adpcm0.1f", 0x00000, 0x10000, CRC(92e9c35d) SHA1(dcc724f915e113bc34f499af9fd7c8ebb6d8ba98) ) ROM_LOAD( "guts-adpcm0.1f", 0x00000, 0x10000, CRC(92e9c35d) SHA1(dcc724f915e113bc34f499af9fd7c8ebb6d8ba98) )
ROM_LOAD( "guts-adpcm1.1e", 0x10000, 0x10000, CRC(0afddd3a) SHA1(e1a43825ad02325a64869ec8048c8176da01b286) ) ROM_LOAD( "guts-adpcm1.1e", 0x10000, 0x10000, CRC(0afddd3a) SHA1(e1a43825ad02325a64869ec8048c8176da01b286) )
ROM_END ROM_END
@ -703,8 +708,6 @@ ROM_END
DRIVER_INIT_MEMBER(eprom_state,eprom) DRIVER_INIT_MEMBER(eprom_state,eprom)
{ {
atarijsa_init(machine(), "260010", 0x0002);
/* install CPU synchronization handlers */ /* install CPU synchronization handlers */
m_sync_data = m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),this), write16_delegate(FUNC(eprom_state::sync_w),this)); m_sync_data = m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),this), write16_delegate(FUNC(eprom_state::sync_w),this));
m_sync_data = m_extra->space(AS_PROGRAM).install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),this), write16_delegate(FUNC(eprom_state::sync_w),this)); m_sync_data = m_extra->space(AS_PROGRAM).install_readwrite_handler(0x16cc00, 0x16cc01, read16_delegate(FUNC(eprom_state::sync_r),this), write16_delegate(FUNC(eprom_state::sync_w),this));
@ -713,13 +716,11 @@ DRIVER_INIT_MEMBER(eprom_state,eprom)
DRIVER_INIT_MEMBER(eprom_state,klaxp) DRIVER_INIT_MEMBER(eprom_state,klaxp)
{ {
atarijsa_init(machine(), "260010", 0x0002);
} }
DRIVER_INIT_MEMBER(eprom_state,guts) DRIVER_INIT_MEMBER(eprom_state,guts)
{ {
atarijsa_init(machine(), "260010", 0x0002);
} }

View File

@ -326,7 +326,6 @@ Notes:
#include "emu.h" #include "emu.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "machine/asic65.h" #include "machine/asic65.h"
#include "audio/atarijsa.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "includes/slapstic.h" #include "includes/slapstic.h"
#include "includes/harddriv.h" #include "includes/harddriv.h"
@ -475,7 +474,6 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( multisync_68k_map, AS_PROGRAM, 16, harddriv_state ) static ADDRESS_MAP_START( multisync_68k_map, AS_PROGRAM, 16, harddriv_state )
ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x600000, 0x603fff) AM_DEVREADWRITE8("soundcomm", atari_sound_comm_device, main_response_r, main_command_w, 0xff00)
AM_RANGE(0x604000, 0x607fff) AM_READWRITE_LEGACY(hd68k_sound_reset_r, hd68k_nwr_w) AM_RANGE(0x604000, 0x607fff) AM_READWRITE_LEGACY(hd68k_sound_reset_r, hd68k_nwr_w)
AM_RANGE(0x608000, 0x60bfff) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x608000, 0x60bfff) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x60c000, 0x60ffff) AM_READWRITE_LEGACY(hd68k_port0_r, hd68k_irq_ack_w) AM_RANGE(0x60c000, 0x60ffff) AM_READWRITE_LEGACY(hd68k_port0_r, hd68k_irq_ack_w)
@ -1027,11 +1025,11 @@ static INPUT_PORTS_START( stunrun )
PORT_START("12BADC3") /* b80000 - 12 bit ADC 3 */ PORT_START("12BADC3") /* b80000 - 12 bit ADC 3 */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_ii ) /* audio board port */
/* stunrun has its own coins */ /* stunrun has its own coins */
PORT_MODIFY("JSAII") // todo
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_MODIFY("jsa:JSAII")/
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
// PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
@ -1117,11 +1115,11 @@ static INPUT_PORTS_START( steeltal )
PORT_START("12BADC3") /* b80000 - 12 bit ADC 3 */ PORT_START("12BADC3") /* b80000 - 12 bit ADC 3 */
PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_NAME("Rudder") PORT_PLAYER(2) /* rudder */ PORT_BIT( 0xff, 0x80, IPT_AD_STICK_X ) PORT_SENSITIVITY(25) PORT_KEYDELTA(10) PORT_NAME("Rudder") PORT_PLAYER(2) /* rudder */
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
/* steeltal has its own coins */ /* steeltal has its own coins */
PORT_MODIFY("JSAIII") // todo
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_MODIFY("jsa:JSAIII")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED ) // PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
// PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
INPUT_PORTS_END INPUT_PORTS_END
@ -1570,11 +1568,17 @@ static MACHINE_CONFIG_DERIVED( stunrun, multisync_nomsp )
MCFG_CPU_MODIFY("gsp") MCFG_CPU_MODIFY("gsp")
MCFG_CPU_CONFIG(gsp_config_multisync_stunrun) MCFG_CPU_CONFIG(gsp_config_multisync_stunrun)
MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */ MCFG_FRAGMENT_ADD( adsp ) /* ADSP board */
MCFG_FRAGMENT_ADD( jsa_ii_mono ) /* JSA II sound board */
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_RAW_PARAMS(5000000*2, 317*2, 0, 256*2, 262, 0, 228) MCFG_SCREEN_RAW_PARAMS(5000000*2, 317*2, 0, 256*2, 262, 0, 228)
/* sund hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN0", 5)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -1589,8 +1593,14 @@ static MACHINE_CONFIG_DERIVED( steeltal, multisync_msp )
MCFG_DEVICE_REMOVE("lspeaker") MCFG_DEVICE_REMOVE("lspeaker")
MCFG_DEVICE_REMOVE("rspeaker") MCFG_DEVICE_REMOVE("rspeaker")
MCFG_FRAGMENT_ADD( jsa_iii_mono ) /* JSA III sound board */
MCFG_FRAGMENT_ADD( asic65 ) /* ASIC65 on DSPCOM board */ MCFG_FRAGMENT_ADD( asic65 ) /* ASIC65 on DSPCOM board */
/* sund hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("IN0", 5)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -2126,7 +2136,7 @@ ROM_START( stunrun )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2138,7 +2148,7 @@ ROM_START( stunrun )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2164,7 +2174,7 @@ ROM_START( stunrunj )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2176,7 +2186,7 @@ ROM_START( stunrunj )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2202,7 +2212,7 @@ ROM_START( stunrun5 )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2214,7 +2224,7 @@ ROM_START( stunrun5 )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2240,7 +2250,7 @@ ROM_START( stunrune )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2252,7 +2262,7 @@ ROM_START( stunrune )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2278,7 +2288,7 @@ ROM_START( stunrun4 )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2290,7 +2300,7 @@ ROM_START( stunrun4 )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2316,7 +2326,7 @@ ROM_START( stunrun3 )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2328,7 +2338,7 @@ ROM_START( stunrun3 )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2354,7 +2364,7 @@ ROM_START( stunrun3e )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2366,7 +2376,7 @@ ROM_START( stunrun3e )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2392,7 +2402,7 @@ ROM_START( stunrun2 )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2404,7 +2414,7 @@ ROM_START( stunrun2 )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2430,7 +2440,7 @@ ROM_START( stunrun2e )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2442,7 +2452,7 @@ ROM_START( stunrun2e )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2468,7 +2478,7 @@ ROM_START( stunrun0 )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2480,7 +2490,7 @@ ROM_START( stunrun0 )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -2506,7 +2516,7 @@ ROM_START( stunrunp )
ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) ) ROM_LOAD16_BYTE( "136070-2112.200w", 0x0a0000, 0x010000, CRC(3f896aaf) SHA1(817136ddc37566108de15f6bfedc6e0da13a2df2) )
ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) ) ROM_LOAD16_BYTE( "136070-2111.210w", 0x0a0001, 0x010000, CRC(47f010ad) SHA1(a2587ce1d01c78f1d757fb3e4512be9655d17f9c) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) ) ROM_LOAD( "136070-2123.10c", 0x010000, 0x004000, CRC(121ab09a) SHA1(c26b8ddbcb011416e6ab695980d2cf37e672e973) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -2518,7 +2528,7 @@ ROM_START( stunrunp )
ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) ) ROM_LOAD16_BYTE( "136070-2120.9h", 0x040000, 0x010000, CRC(55a30976) SHA1(045a04d3d24e783a6a643cab08e8974ee5dc2128) )
ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) ) ROM_LOAD16_BYTE( "136070-2117.9k", 0x040001, 0x010000, CRC(d4a9696d) SHA1(574e5f3758ac2e18423ae350e8509aa135ca6da0) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) ) ROM_LOAD( "136070-2124.1fh", 0x000000, 0x010000, CRC(4dc14fe8) SHA1(c7cc00715f6687ced9d69ec793d6e9d4bc1b5287) )
ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) ) ROM_LOAD( "136070-2125.1ef", 0x010000, 0x010000, CRC(cbdabbcc) SHA1(4d102a5677d96e68d27c1960dc3a237ae6751c2f) )
ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) ) ROM_LOAD( "136070-2126.1de", 0x020000, 0x010000, CRC(b973d9d1) SHA1(a74a3c981497a9c5557f793d49381a9b776cb025) )
@ -3609,7 +3619,7 @@ ROM_START( steeltal )
ROM_LOAD16_BYTE( "136087-1016.200y", 0x0e0000, 0x010000, CRC(db62362e) SHA1(e1d392aa00ac36296728257fa26c6aa68a4ebe5f) ) ROM_LOAD16_BYTE( "136087-1016.200y", 0x0e0000, 0x010000, CRC(db62362e) SHA1(e1d392aa00ac36296728257fa26c6aa68a4ebe5f) )
ROM_LOAD16_BYTE( "136087-1015.210y", 0x0e0001, 0x010000, CRC(ef517db7) SHA1(16e7e351326391480bf36c58d6b34ef4128b6627) ) ROM_LOAD16_BYTE( "136087-1015.210y", 0x0e0001, 0x010000, CRC(ef517db7) SHA1(16e7e351326391480bf36c58d6b34ef4128b6627) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) ) ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -3623,7 +3633,7 @@ ROM_START( steeltal )
ROM_LOAD16_BYTE( "136087-1018.2t", 0x000000, 0x020000, CRC(a5882384) SHA1(157707b5b114fa584893dec07dc456d4a5520f44) ) ROM_LOAD16_BYTE( "136087-1018.2t", 0x000000, 0x020000, CRC(a5882384) SHA1(157707b5b114fa584893dec07dc456d4a5520f44) )
ROM_LOAD16_BYTE( "136087-1017.2lm", 0x000001, 0x020000, CRC(0a29db30) SHA1(f11ad7fe27989ffd66e9bef2c14ec040a4125d8a) ) ROM_LOAD16_BYTE( "136087-1017.2lm", 0x000001, 0x020000, CRC(0a29db30) SHA1(f11ad7fe27989ffd66e9bef2c14ec040a4125d8a) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) ) ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) )
ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) ) ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) )
ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) ) ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) )
@ -3670,7 +3680,7 @@ ROM_START( steeltalg )
ROM_LOAD16_BYTE( "136087-1016.200y", 0x0e0000, 0x010000, CRC(db62362e) SHA1(e1d392aa00ac36296728257fa26c6aa68a4ebe5f) ) ROM_LOAD16_BYTE( "136087-1016.200y", 0x0e0000, 0x010000, CRC(db62362e) SHA1(e1d392aa00ac36296728257fa26c6aa68a4ebe5f) )
ROM_LOAD16_BYTE( "136087-1015.210y", 0x0e0001, 0x010000, CRC(ef517db7) SHA1(16e7e351326391480bf36c58d6b34ef4128b6627) ) ROM_LOAD16_BYTE( "136087-1015.210y", 0x0e0001, 0x010000, CRC(ef517db7) SHA1(16e7e351326391480bf36c58d6b34ef4128b6627) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) ) ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -3684,7 +3694,7 @@ ROM_START( steeltalg )
ROM_LOAD16_BYTE( "136087-1018.2t", 0x000000, 0x020000, CRC(a5882384) SHA1(157707b5b114fa584893dec07dc456d4a5520f44) ) ROM_LOAD16_BYTE( "136087-1018.2t", 0x000000, 0x020000, CRC(a5882384) SHA1(157707b5b114fa584893dec07dc456d4a5520f44) )
ROM_LOAD16_BYTE( "136087-1017.2lm", 0x000001, 0x020000, CRC(0a29db30) SHA1(f11ad7fe27989ffd66e9bef2c14ec040a4125d8a) ) ROM_LOAD16_BYTE( "136087-1017.2lm", 0x000001, 0x020000, CRC(0a29db30) SHA1(f11ad7fe27989ffd66e9bef2c14ec040a4125d8a) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) ) ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) )
ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) ) ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) )
ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) ) ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) )
@ -3731,7 +3741,7 @@ ROM_START( steeltal1 )
ROM_LOAD16_BYTE( "136087-1016.200y", 0x0e0000, 0x010000, CRC(db62362e) SHA1(e1d392aa00ac36296728257fa26c6aa68a4ebe5f) ) ROM_LOAD16_BYTE( "136087-1016.200y", 0x0e0000, 0x010000, CRC(db62362e) SHA1(e1d392aa00ac36296728257fa26c6aa68a4ebe5f) )
ROM_LOAD16_BYTE( "136087-1015.210y", 0x0e0001, 0x010000, CRC(ef517db7) SHA1(16e7e351326391480bf36c58d6b34ef4128b6627) ) ROM_LOAD16_BYTE( "136087-1015.210y", 0x0e0001, 0x010000, CRC(ef517db7) SHA1(16e7e351326391480bf36c58d6b34ef4128b6627) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) ) ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -3745,7 +3755,7 @@ ROM_START( steeltal1 )
ROM_LOAD16_BYTE( "136087-1018.2t", 0x000000, 0x020000, CRC(a5882384) SHA1(157707b5b114fa584893dec07dc456d4a5520f44) ) ROM_LOAD16_BYTE( "136087-1018.2t", 0x000000, 0x020000, CRC(a5882384) SHA1(157707b5b114fa584893dec07dc456d4a5520f44) )
ROM_LOAD16_BYTE( "136087-1017.2lm", 0x000001, 0x020000, CRC(0a29db30) SHA1(f11ad7fe27989ffd66e9bef2c14ec040a4125d8a) ) ROM_LOAD16_BYTE( "136087-1017.2lm", 0x000001, 0x020000, CRC(0a29db30) SHA1(f11ad7fe27989ffd66e9bef2c14ec040a4125d8a) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) ) ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) )
ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) ) ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) )
ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) ) ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) )
@ -3792,7 +3802,7 @@ ROM_START( steeltalp )
ROM_LOAD16_BYTE( "rom-200y.bin", 0xe0000, 0x10000, CRC(b568e1be) SHA1(5d62037892e040515e4262db43057f33436fa12d) ) ROM_LOAD16_BYTE( "rom-200y.bin", 0xe0000, 0x10000, CRC(b568e1be) SHA1(5d62037892e040515e4262db43057f33436fa12d) )
ROM_LOAD16_BYTE( "rom-210y.bin", 0xe0001, 0x10000, CRC(3f5cdd3e) SHA1(c33c155158a5c69a7f2e61cd88b297dc14ecd479) ) ROM_LOAD16_BYTE( "rom-210y.bin", 0xe0001, 0x10000, CRC(3f5cdd3e) SHA1(c33c155158a5c69a7f2e61cd88b297dc14ecd479) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) ) ROM_LOAD( "136087-5001.1f", 0x010000, 0x004000, CRC(c52d8218) SHA1(3511c8c65583c7e44242f4cc48d7cc46fc748868) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -3806,7 +3816,7 @@ ROM_START( steeltalp )
ROM_LOAD16_BYTE( "rom.2t", 0x00000, 0x20000, CRC(05284504) SHA1(03b81c077f8ff073713f4bcc10b82087743b0d84) ) ROM_LOAD16_BYTE( "rom.2t", 0x00000, 0x20000, CRC(05284504) SHA1(03b81c077f8ff073713f4bcc10b82087743b0d84) )
ROM_LOAD16_BYTE( "rom.2lm", 0x00001, 0x20000, CRC(d6e65b87) SHA1(ac4b2f292f6e28a15e3a12f09f6c2f9523e8b178) ) ROM_LOAD16_BYTE( "rom.2lm", 0x00001, 0x20000, CRC(d6e65b87) SHA1(ac4b2f292f6e28a15e3a12f09f6c2f9523e8b178) )
ROM_REGION( 0x80000, "adpcm", 0 ) ROM_REGION( 0x80000, "jsa:oki1", 0 )
ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) ) ROM_LOAD( "136087-5002.1m", 0x000000, 0x020000, CRC(c904db9c) SHA1(d25fff3da87d2b716cd65fb7dd157c3f1f5e5909) )
ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) ) ROM_LOAD( "136087-5003.1n", 0x020000, 0x020000, CRC(164580b3) SHA1(03118c8323d8a49a65addc61c1402d152d42d7f9) )
ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) ) ROM_LOAD( "136087-5004.1p", 0x040000, 0x020000, CRC(296290a0) SHA1(8a3441a5618233f561531fe456e1f5ed22183421) )
@ -4033,6 +4043,10 @@ static void init_multisync(running_machine &machine, int compact_inputs)
/* note that we're multisync */ /* note that we're multisync */
state->m_gsp_multisync = TRUE; state->m_gsp_multisync = TRUE;
// if we have a JSA board, install the read/write handlers
if (state->m_jsa != NULL)
state->m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x600000, 0x603fff, read8_delegate(FUNC(atari_jsa_base_device::main_response_r),state->m_jsa.target()), write8_delegate(FUNC(atari_jsa_base_device::main_command_w),state->m_jsa.target()), 0xff00);
/* install handlers for the compact driving games' inputs */ /* install handlers for the compact driving games' inputs */
if (compact_inputs) if (compact_inputs)
{ {
@ -4316,7 +4330,6 @@ DRIVER_INIT_MEMBER(harddriv_state,stunrun)
/* initialize the boards */ /* initialize the boards */
init_multisync(machine(), 0); init_multisync(machine(), 0);
init_adsp(machine()); init_adsp(machine());
atarijsa_init(machine(), "IN0", 0x0020);
/* set up gsp speedup handler */ /* set up gsp speedup handler */
m_gsp_speedup_addr[0] = m_gsp->space(AS_PROGRAM).install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w)); m_gsp_speedup_addr[0] = m_gsp->space(AS_PROGRAM).install_legacy_write_handler(0xfff9fc00, 0xfff9fc0f, FUNC(hdgsp_speedup1_w));
@ -4414,7 +4427,6 @@ static void steeltal_init_common(running_machine &machine, offs_t ds3_transfer_p
init_multisync(machine, 0); init_multisync(machine, 0);
init_ds3(machine); init_ds3(machine);
init_dspcom(machine); init_dspcom(machine);
atarijsa_init(machine, "IN0", 0x0020);
state->m_maincpu->space(AS_PROGRAM).install_read_handler(0x908000, 0x908001, read16_delegate(FUNC(harddriv_state::steeltal_dummy_r),state)); state->m_maincpu->space(AS_PROGRAM).install_read_handler(0x908000, 0x908001, read16_delegate(FUNC(harddriv_state::steeltal_dummy_r),state));

View File

@ -19,7 +19,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/offtwall.h" #include "includes/offtwall.h"
@ -49,7 +48,6 @@ MACHINE_RESET_MEMBER(offtwall_state,offtwall)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 1); atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 1);
atarijsa_reset(machine());
} }
@ -82,7 +80,7 @@ WRITE16_MEMBER(offtwall_state::offtwall_atarivc_w)
READ16_MEMBER(offtwall_state::special_port3_r) READ16_MEMBER(offtwall_state::special_port3_r)
{ {
int result = ioport("260010")->read(); int result = ioport("260010")->read();
if (m_soundcomm->main_to_sound_ready()) result ^= 0x0020; if (m_jsa->main_to_sound_ready()) result ^= 0x0020;
return result; return result;
} }
@ -93,8 +91,9 @@ WRITE16_MEMBER(offtwall_state::io_latch_w)
if (ACCESSING_BITS_0_7) if (ACCESSING_BITS_0_7)
{ {
/* bit 4 resets the sound CPU */ /* bit 4 resets the sound CPU */
m_jsacpu->set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE); m_jsa->soundcpu().set_input_line(INPUT_LINE_RESET, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
if (!(data & 0x10)) atarijsa_reset(machine()); if (!(data & 0x10))
m_jsa->reset();
} }
logerror("sound control = %04X\n", data); logerror("sound control = %04X\n", data);
@ -270,8 +269,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, offtwall_state )
AM_RANGE(0x260020, 0x260021) AM_READ_PORT("260020") AM_RANGE(0x260020, 0x260021) AM_READ_PORT("260020")
AM_RANGE(0x260022, 0x260023) AM_READ_PORT("260022") AM_RANGE(0x260022, 0x260023) AM_READ_PORT("260022")
AM_RANGE(0x260024, 0x260025) AM_READ_PORT("260024") AM_RANGE(0x260024, 0x260025) AM_READ_PORT("260024")
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_iii_device, main_response_r, 0x00ff)
AM_RANGE(0x260040, 0x260041) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x260040, 0x260041) AM_DEVWRITE8("jsa", atari_jsa_iii_device, main_command_w, 0x00ff)
AM_RANGE(0x260050, 0x260051) AM_WRITE(io_latch_w) AM_RANGE(0x260050, 0x260051) AM_WRITE(io_latch_w)
AM_RANGE(0x260060, 0x260061) AM_WRITE(eeprom_enable_w) AM_RANGE(0x260060, 0x260061) AM_WRITE(eeprom_enable_w)
AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2a0000, 0x2a0001) AM_WRITE(watchdog_reset16_w)
@ -351,8 +350,6 @@ static INPUT_PORTS_START( offtwall )
PORT_START("260024") PORT_START("260024")
PORT_BIT( 0xff, 0, IPT_DIAL_V ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(3) PORT_BIT( 0xff, 0, IPT_DIAL_V ) PORT_SENSITIVITY(50) PORT_KEYDELTA(10) PORT_REVERSE PORT_PLAYER(3)
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_iii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -410,7 +407,12 @@ static MACHINE_CONFIG_START( offtwall, offtwall_state )
MCFG_VIDEO_START_OVERRIDE(offtwall_state,offtwall) MCFG_VIDEO_START_OVERRIDE(offtwall_state,offtwall)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_iii_mono_noadpcm) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_III_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260010", 6)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_REMOVE("jsa:oki1")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -426,7 +428,7 @@ ROM_START( offtwall )
ROM_LOAD16_BYTE( "otw2012.bin", 0x00000, 0x20000, CRC(d08d81eb) SHA1(5a72aa2e4fc6455b94aa59a7719d0ddc8bcc80f2) ) ROM_LOAD16_BYTE( "otw2012.bin", 0x00000, 0x20000, CRC(d08d81eb) SHA1(5a72aa2e4fc6455b94aa59a7719d0ddc8bcc80f2) )
ROM_LOAD16_BYTE( "otw2013.bin", 0x00001, 0x20000, CRC(61c2553d) SHA1(343d39f9b75fd236e9769ec21ab65310f85e31ca) ) ROM_LOAD16_BYTE( "otw2013.bin", 0x00001, 0x20000, CRC(61c2553d) SHA1(343d39f9b75fd236e9769ec21ab65310f85e31ca) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "otw1020.bin", 0x10000, 0x4000, CRC(488112a5) SHA1(55e84855daacfa303d1031de8c9adb992a846e21) ) ROM_LOAD( "otw1020.bin", 0x10000, 0x4000, CRC(488112a5) SHA1(55e84855daacfa303d1031de8c9adb992a846e21) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -448,7 +450,7 @@ ROM_START( offtwallc )
ROM_LOAD16_BYTE( "090-2612.rom", 0x00000, 0x20000, CRC(fc891a3f) SHA1(027815a20fbc6c0c9242768581b97362b39941c2) ) ROM_LOAD16_BYTE( "090-2612.rom", 0x00000, 0x20000, CRC(fc891a3f) SHA1(027815a20fbc6c0c9242768581b97362b39941c2) )
ROM_LOAD16_BYTE( "090-2613.rom", 0x00001, 0x20000, CRC(805d79d4) SHA1(943ec9f408ba875bdf1794ce7d24803043480401) ) ROM_LOAD16_BYTE( "090-2613.rom", 0x00001, 0x20000, CRC(805d79d4) SHA1(943ec9f408ba875bdf1794ce7d24803043480401) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "otw1020.bin", 0x10000, 0x4000, CRC(488112a5) SHA1(55e84855daacfa303d1031de8c9adb992a846e21) ) ROM_LOAD( "otw1020.bin", 0x10000, 0x4000, CRC(488112a5) SHA1(55e84855daacfa303d1031de8c9adb992a846e21) )
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -474,8 +476,6 @@ ROM_END
DRIVER_INIT_MEMBER(offtwall_state,offtwall) DRIVER_INIT_MEMBER(offtwall_state,offtwall)
{ {
atarijsa_init(machine(), "260010", 0x0040);
/* install son-of-slapstic workarounds */ /* install son-of-slapstic workarounds */
m_spritecache_count = m_maincpu->space(AS_PROGRAM).install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),this)); m_spritecache_count = m_maincpu->space(AS_PROGRAM).install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),this));
m_bankswitch_base = m_maincpu->space(AS_PROGRAM).install_read_handler(0x037ec2, 0x037f39, read16_delegate(FUNC(offtwall_state::bankswitch_r),this)); m_bankswitch_base = m_maincpu->space(AS_PROGRAM).install_read_handler(0x037ec2, 0x037f39, read16_delegate(FUNC(offtwall_state::bankswitch_r),this));
@ -485,8 +485,6 @@ DRIVER_INIT_MEMBER(offtwall_state,offtwall)
DRIVER_INIT_MEMBER(offtwall_state,offtwalc) DRIVER_INIT_MEMBER(offtwall_state,offtwalc)
{ {
atarijsa_init(machine(), "260010", 0x0040);
/* install son-of-slapstic workarounds */ /* install son-of-slapstic workarounds */
m_spritecache_count = m_maincpu->space(AS_PROGRAM).install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),this)); m_spritecache_count = m_maincpu->space(AS_PROGRAM).install_read_handler(0x3fde42, 0x3fde43, read16_delegate(FUNC(offtwall_state::spritecache_count_r),this));
m_bankswitch_base = m_maincpu->space(AS_PROGRAM).install_read_handler(0x037eca, 0x037f43, read16_delegate(FUNC(offtwall_state::bankswitch_r),this)); m_bankswitch_base = m_maincpu->space(AS_PROGRAM).install_read_handler(0x037eca, 0x037f43, read16_delegate(FUNC(offtwall_state::bankswitch_r),this));

View File

@ -19,7 +19,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/skullxbo.h" #include "includes/skullxbo.h"
@ -73,7 +72,6 @@ MACHINE_RESET_MEMBER(skullxbo_state,skullxbo)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -87,7 +85,7 @@ MACHINE_RESET_MEMBER(skullxbo_state,skullxbo)
READ16_MEMBER(skullxbo_state::special_port1_r) READ16_MEMBER(skullxbo_state::special_port1_r)
{ {
int temp = ioport("FF5802")->read(); int temp = ioport("FF5802")->read();
if (m_soundcomm->main_to_sound_ready()) temp ^= 0x0040; if (m_jsa->main_to_sound_ready()) temp ^= 0x0040;
if (get_hblank(*machine().primary_screen)) temp ^= 0x0010; if (get_hblank(*machine().primary_screen)) temp ^= 0x0010;
return temp; return temp;
} }
@ -119,8 +117,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0xff0800, 0xff0bff) AM_WRITE(skullxbo_halt_until_hblank_0_w) AM_RANGE(0xff0800, 0xff0bff) AM_WRITE(skullxbo_halt_until_hblank_0_w)
AM_RANGE(0xff0c00, 0xff0fff) AM_WRITE(eeprom_enable_w) AM_RANGE(0xff0c00, 0xff0fff) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xff1000, 0xff13ff) AM_WRITE(video_int_ack_w) AM_RANGE(0xff1000, 0xff13ff) AM_WRITE(video_int_ack_w)
AM_RANGE(0xff1400, 0xff17ff) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0xff1400, 0xff17ff) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
AM_RANGE(0xff1800, 0xff1bff) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xff1800, 0xff1bff) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0xff1c00, 0xff1c7f) AM_WRITE(skullxbo_playfieldlatch_w) AM_RANGE(0xff1c00, 0xff1c7f) AM_WRITE(skullxbo_playfieldlatch_w)
AM_RANGE(0xff1c80, 0xff1cff) AM_WRITE(skullxbo_xscroll_w) AM_SHARE("xscroll") AM_RANGE(0xff1c80, 0xff1cff) AM_WRITE(skullxbo_xscroll_w) AM_SHARE("xscroll")
AM_RANGE(0xff1d00, 0xff1d7f) AM_WRITE(scanline_int_ack_w) AM_RANGE(0xff1d00, 0xff1d7f) AM_WRITE(scanline_int_ack_w)
@ -133,7 +131,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, skullxbo_state )
AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_SHARE("yscroll") AM_RANGE(0xff4000, 0xff47ff) AM_WRITE(skullxbo_yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w) AM_RANGE(0xff4800, 0xff4fff) AM_WRITE(skullxbo_mobwr_w)
AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xff6000, 0xff6fff) AM_WRITE(eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xff5000, 0xff5001) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0xff5000, 0xff5001) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff)
AM_RANGE(0xff5800, 0xff5801) AM_READ_PORT("FF5800") AM_RANGE(0xff5800, 0xff5801) AM_READ_PORT("FF5800")
AM_RANGE(0xff5802, 0xff5803) AM_READ(special_port1_r) AM_RANGE(0xff5802, 0xff5803) AM_READ(special_port1_r)
AM_RANGE(0xff6000, 0xff6fff) AM_READ(eeprom_r) AM_RANGE(0xff6000, 0xff6fff) AM_READ(eeprom_r)
@ -179,8 +177,6 @@ static INPUT_PORTS_START( skullxbo )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_INCLUDE( atarijsa_ii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -267,7 +263,11 @@ static MACHINE_CONFIG_START( skullxbo, skullxbo_state )
MCFG_VIDEO_START_OVERRIDE(skullxbo_state,skullxbo) MCFG_VIDEO_START_OVERRIDE(skullxbo_state,skullxbo)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("FF5802", 7)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -289,7 +289,7 @@ ROM_START( skullxbo )
ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) ) ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) )
ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) ) ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) ) ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -334,7 +334,7 @@ ROM_START( skullxbo )
ROM_REGION( 0x008000, "gfx3", 0 ) ROM_REGION( 0x008000, "gfx3", 0 )
ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) ) ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) ) ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) )
ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) ) ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) )
ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) ) ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) )
@ -353,7 +353,7 @@ ROM_START( skullxbo4 )
ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) ) ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) )
ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) ) ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) ) ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -398,7 +398,7 @@ ROM_START( skullxbo4 )
ROM_REGION( 0x008000, "gfx3", 0 ) ROM_REGION( 0x008000, "gfx3", 0 )
ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) ) ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) ) ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) )
ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) ) ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) )
ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) ) ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) )
@ -417,7 +417,7 @@ ROM_START( skullxbo3 )
ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) ) ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) )
ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) ) ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) ) ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -462,7 +462,7 @@ ROM_START( skullxbo3 )
ROM_REGION( 0x008000, "gfx3", 0 ) ROM_REGION( 0x008000, "gfx3", 0 )
ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) ) ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) ) ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) )
ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) ) ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) )
ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) ) ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) )
@ -481,7 +481,7 @@ ROM_START( skullxbo2 )
ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) ) ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) )
ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) ) ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) ) ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -526,7 +526,7 @@ ROM_START( skullxbo2 )
ROM_REGION( 0x008000, "gfx3", 0 ) ROM_REGION( 0x008000, "gfx3", 0 )
ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) ) ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) ) ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) )
ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) ) ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) )
ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) ) ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) )
@ -545,7 +545,7 @@ ROM_START( skullxbo1 )
ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) ) ROM_LOAD16_BYTE( "136072-1156.185a", 0x070000, 0x008000, CRC(cde16b55) SHA1(bf5059f0f73a8819551fb3ded3cb6a3123841481) )
ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) ) ROM_LOAD16_BYTE( "136072-1157.185c", 0x070001, 0x008000, CRC(31c77376) SHA1(19eb54d73edb25fda6803df896e182d05c5bad7e) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) ) ROM_LOAD( "136072-1149.1b", 0x010000, 0x004000, CRC(8d730e7a) SHA1(b89fb9cadcf813ea5cba55f1efcdcdd2517944c7) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -590,7 +590,7 @@ ROM_START( skullxbo1 )
ROM_REGION( 0x008000, "gfx3", 0 ) ROM_REGION( 0x008000, "gfx3", 0 )
ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) ) ROM_LOAD( "136072-2141.250k", 0x000000, 0x008000, CRC(60d6d6df) SHA1(a8d56092f014a0a93742c701effaec86c75772e1) )
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM samples */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM samples */
ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) ) ROM_LOAD( "136072-1145.7k", 0x000000, 0x010000, CRC(d9475d58) SHA1(5a4a0094c83f5d0e26f0c35feb0b1f15a5f5c3f9) )
ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) ) ROM_LOAD( "136072-1146.7j", 0x010000, 0x010000, CRC(133e6aef) SHA1(e393d0b246889779029443a19e3859d45cb900db) )
ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) ) ROM_LOAD( "136072-1147.7e", 0x020000, 0x010000, CRC(ba4d556e) SHA1(af4364f2c456abc20f1742c945a3acfeb5e192c4) )
@ -607,7 +607,6 @@ ROM_END
DRIVER_INIT_MEMBER(skullxbo_state,skullxbo) DRIVER_INIT_MEMBER(skullxbo_state,skullxbo)
{ {
atarijsa_init(machine(), "FF5802", 0x0080);
memset(memregion("gfx1")->base() + 0x170000, 0, 0x20000); memset(memregion("gfx1")->base() + 0x170000, 0, 0x20000);
} }

View File

@ -20,7 +20,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/thunderj.h" #include "includes/thunderj.h"
@ -51,7 +50,6 @@ MACHINE_RESET_MEMBER(thunderj_state,thunderj)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2); atarivc_reset(*machine().primary_screen, m_atarivc_eof_data, 2);
atarijsa_reset(machine());
} }
@ -66,8 +64,8 @@ READ16_MEMBER(thunderj_state::special_port2_r)
{ {
int result = ioport("260012")->read(); int result = ioport("260012")->read();
if (m_soundcomm->sound_to_main_ready()) result ^= 0x0004; if (m_jsa->sound_to_main_ready()) result ^= 0x0004;
if (m_soundcomm->main_to_sound_ready()) result ^= 0x0008; if (m_jsa->main_to_sound_ready()) result ^= 0x0008;
result ^= 0x0010; result ^= 0x0010;
return result; return result;
@ -150,11 +148,11 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, thunderj_state )
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010") AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010")
AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r) AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE(latch_w) AM_RANGE(0x360010, 0x360011) AM_WRITE(latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram") AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(paletteram_666_w) AM_SHARE("paletteram")
AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(thunderj_atarivc_r, thunderj_atarivc_w) AM_SHARE("atarivc_data") AM_RANGE(0x3effc0, 0x3effff) AM_READWRITE(thunderj_atarivc_r, thunderj_atarivc_w) AM_SHARE("atarivc_data")
AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE(playfield2_latched_msb_w) AM_SHARE("playfield2") AM_RANGE(0x3f0000, 0x3f1fff) AM_RAM_WRITE(playfield2_latched_msb_w) AM_SHARE("playfield2")
@ -182,11 +180,11 @@ static ADDRESS_MAP_START( extra_map, AS_PROGRAM, 16, thunderj_state )
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010") AM_RANGE(0x260010, 0x260011) AM_READ_PORT("260010")
AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r) AM_RANGE(0x260012, 0x260013) AM_READ(special_port2_r)
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_ii_device, main_response_r, 0x00ff)
AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(video_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITE(latch_w) AM_RANGE(0x360010, 0x360011) AM_WRITE(latch_w)
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_ii_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_ii_device, main_command_w, 0x00ff)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -225,8 +223,6 @@ static INPUT_PORTS_START( thunderj )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
PORT_INCLUDE( atarijsa_ii ) /* audio board port */
INPUT_PORTS_END INPUT_PORTS_END
@ -305,7 +301,11 @@ static MACHINE_CONFIG_START( thunderj, thunderj_state )
MCFG_VIDEO_START_OVERRIDE(thunderj_state,thunderj) MCFG_VIDEO_START_OVERRIDE(thunderj_state,thunderj)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_ii_mono) MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_ATARI_JSA_II_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260012", 1)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -334,7 +334,7 @@ ROM_START( thunderj )
ROM_LOAD16_BYTE( "136076-1012.17n", 0x00001, 0x10000, CRC(53e5e638) SHA1(75593e5d328ede105b8db64005dd5d1c5cae11ed) ) ROM_LOAD16_BYTE( "136076-1012.17n", 0x00001, 0x10000, CRC(53e5e638) SHA1(75593e5d328ede105b8db64005dd5d1c5cae11ed) )
ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 ) ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136076-2015.1b", 0x10000, 0x4000, CRC(d8feb7fb) SHA1(684ebf2f0c0df742c98e7f45f74de86a11c8d6e8) ) /* Rev 2 program rom */ ROM_LOAD( "136076-2015.1b", 0x10000, 0x4000, CRC(d8feb7fb) SHA1(684ebf2f0c0df742c98e7f45f74de86a11c8d6e8) ) /* Rev 2 program rom */
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -377,7 +377,7 @@ ROM_START( thunderj )
ROM_REGION( 0x010000, "gfx3", 0 ) ROM_REGION( 0x010000, "gfx3", 0 )
ROM_LOAD( "136076-1020.4m", 0x000000, 0x10000, CRC(65470354) SHA1(9895d26fa9e01c254a3d15e657152cac717c68a3) ) /* alphanumerics */ ROM_LOAD( "136076-1020.4m", 0x000000, 0x10000, CRC(65470354) SHA1(9895d26fa9e01c254a3d15e657152cac717c68a3) ) /* alphanumerics */
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM */
ROM_LOAD( "136076-1016.7k", 0x00000, 0x10000, CRC(c10bdf73) SHA1(a0371c6ddef2a95193c68879044b3338d481fc96) ) ROM_LOAD( "136076-1016.7k", 0x00000, 0x10000, CRC(c10bdf73) SHA1(a0371c6ddef2a95193c68879044b3338d481fc96) )
ROM_LOAD( "136076-1017.7j", 0x10000, 0x10000, CRC(4e5e25e8) SHA1(373c946abd24ce8dd5221f1a0409af4537610d3d) ) ROM_LOAD( "136076-1017.7j", 0x10000, 0x10000, CRC(4e5e25e8) SHA1(373c946abd24ce8dd5221f1a0409af4537610d3d) )
ROM_LOAD( "136076-1018.7e", 0x20000, 0x10000, CRC(ec81895d) SHA1(56acffb0700d3b70ca705fba9d240a82950fd320) ) ROM_LOAD( "136076-1018.7e", 0x20000, 0x10000, CRC(ec81895d) SHA1(56acffb0700d3b70ca705fba9d240a82950fd320) )
@ -411,7 +411,7 @@ ROM_START( thunderja )
ROM_LOAD16_BYTE( "136076-1012.17n", 0x00001, 0x10000, CRC(53e5e638) SHA1(75593e5d328ede105b8db64005dd5d1c5cae11ed) ) ROM_LOAD16_BYTE( "136076-1012.17n", 0x00001, 0x10000, CRC(53e5e638) SHA1(75593e5d328ede105b8db64005dd5d1c5cae11ed) )
ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 ) ROM_COPY( "maincpu", 0x60000, 0x60000, 0x20000 )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136076-2015.1b", 0x10000, 0x4000, CRC(d8feb7fb) SHA1(684ebf2f0c0df742c98e7f45f74de86a11c8d6e8) ) /* Rev 2 program rom */ ROM_LOAD( "136076-2015.1b", 0x10000, 0x4000, CRC(d8feb7fb) SHA1(684ebf2f0c0df742c98e7f45f74de86a11c8d6e8) ) /* Rev 2 program rom */
ROM_CONTINUE( 0x04000, 0xc000 ) ROM_CONTINUE( 0x04000, 0xc000 )
@ -454,7 +454,7 @@ ROM_START( thunderja )
ROM_REGION( 0x010000, "gfx3", 0 ) ROM_REGION( 0x010000, "gfx3", 0 )
ROM_LOAD( "136076-1020.4m", 0x000000, 0x10000, CRC(65470354) SHA1(9895d26fa9e01c254a3d15e657152cac717c68a3) ) /* alphanumerics */ ROM_LOAD( "136076-1020.4m", 0x000000, 0x10000, CRC(65470354) SHA1(9895d26fa9e01c254a3d15e657152cac717c68a3) ) /* alphanumerics */
ROM_REGION( 0x40000, "adpcm", 0 ) /* 256k for ADPCM */ ROM_REGION( 0x40000, "jsa:oki1", 0 ) /* 256k for ADPCM */
ROM_LOAD( "136076-1016.7k", 0x00000, 0x10000, CRC(c10bdf73) SHA1(a0371c6ddef2a95193c68879044b3338d481fc96) ) ROM_LOAD( "136076-1016.7k", 0x00000, 0x10000, CRC(c10bdf73) SHA1(a0371c6ddef2a95193c68879044b3338d481fc96) )
ROM_LOAD( "136076-1017.7j", 0x10000, 0x10000, CRC(4e5e25e8) SHA1(373c946abd24ce8dd5221f1a0409af4537610d3d) ) ROM_LOAD( "136076-1017.7j", 0x10000, 0x10000, CRC(4e5e25e8) SHA1(373c946abd24ce8dd5221f1a0409af4537610d3d) )
ROM_LOAD( "136076-1018.7e", 0x20000, 0x10000, CRC(ec81895d) SHA1(56acffb0700d3b70ca705fba9d240a82950fd320) ) ROM_LOAD( "136076-1018.7e", 0x20000, 0x10000, CRC(ec81895d) SHA1(56acffb0700d3b70ca705fba9d240a82950fd320) )
@ -480,7 +480,6 @@ ROM_END
DRIVER_INIT_MEMBER(thunderj_state,thunderj) DRIVER_INIT_MEMBER(thunderj_state,thunderj)
{ {
atarijsa_init(machine(), "260012", 0x0002);
} }

View File

@ -20,7 +20,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/toobin.h" #include "includes/toobin.h"
@ -45,7 +44,6 @@ void toobin_state::update_interrupts()
MACHINE_RESET_MEMBER(toobin_state,toobin) MACHINE_RESET_MEMBER(toobin_state,toobin)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
atarijsa_reset(machine());
} }
@ -82,7 +80,7 @@ READ16_MEMBER(toobin_state::special_port1_r)
{ {
int result = ioport("FF9000")->read(); int result = ioport("FF9000")->read();
if (get_hblank(*machine().primary_screen)) result ^= 0x8000; if (get_hblank(*machine().primary_screen)) result ^= 0x8000;
if (m_soundcomm->main_to_sound_ready()) result ^= 0x2000; if (m_jsa->main_to_sound_ready()) result ^= 0x2000;
return result; return result;
} }
@ -104,18 +102,18 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state )
AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(toobin_paletteram_w) AM_SHARE("paletteram") AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(toobin_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0xff6000, 0xff6001) AM_READNOP /* who knows? read at controls time */ AM_RANGE(0xff6000, 0xff6001) AM_READNOP /* who knows? read at controls time */
AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xff8000, 0xff8001) AM_MIRROR(0x4500fe) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xff8100, 0xff8101) AM_MIRROR(0x4500fe) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0xff8100, 0xff8101) AM_MIRROR(0x4500fe) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0xff8300, 0xff8301) AM_MIRROR(0x45003e) AM_WRITE(toobin_intensity_w) AM_RANGE(0xff8300, 0xff8301) AM_MIRROR(0x45003e) AM_WRITE(toobin_intensity_w)
AM_RANGE(0xff8340, 0xff8341) AM_MIRROR(0x45003e) AM_WRITE(interrupt_scan_w) AM_SHARE("interrupt_scan") AM_RANGE(0xff8340, 0xff8341) AM_MIRROR(0x45003e) AM_WRITE(interrupt_scan_w) AM_SHARE("interrupt_scan")
AM_RANGE(0xff8380, 0xff8381) AM_MIRROR(0x45003e) AM_READ_LEGACY(atarimo_0_slipram_r) AM_WRITE(toobin_slip_w) AM_RANGE(0xff8380, 0xff8381) AM_MIRROR(0x45003e) AM_READ_LEGACY(atarimo_0_slipram_r) AM_WRITE(toobin_slip_w)
AM_RANGE(0xff83c0, 0xff83c1) AM_MIRROR(0x45003e) AM_WRITE(scanline_int_ack_w) AM_RANGE(0xff83c0, 0xff83c1) AM_MIRROR(0x45003e) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x4500fe) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xff8400, 0xff8401) AM_MIRROR(0x4500fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
AM_RANGE(0xff8500, 0xff8501) AM_MIRROR(0x4500fe) AM_WRITE(eeprom_enable_w) AM_RANGE(0xff8500, 0xff8501) AM_MIRROR(0x4500fe) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x4500fe) AM_WRITE(toobin_xscroll_w) AM_SHARE("xscroll") AM_RANGE(0xff8600, 0xff8601) AM_MIRROR(0x4500fe) AM_WRITE(toobin_xscroll_w) AM_SHARE("xscroll")
AM_RANGE(0xff8700, 0xff8701) AM_MIRROR(0x4500fe) AM_WRITE(toobin_yscroll_w) AM_SHARE("yscroll") AM_RANGE(0xff8700, 0xff8701) AM_MIRROR(0x4500fe) AM_WRITE(toobin_yscroll_w) AM_SHARE("yscroll")
AM_RANGE(0xff8800, 0xff8801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800") AM_RANGE(0xff8800, 0xff8801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800")
AM_RANGE(0xff9000, 0xff9001) AM_MIRROR(0x4507fe) AM_READ(special_port1_r) AM_RANGE(0xff9000, 0xff9001) AM_MIRROR(0x4507fe) AM_READ(special_port1_r)
AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x4507fe) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0xff9800, 0xff9801) AM_MIRROR(0x4507fe) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff)
AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xffa000, 0xffafff) AM_MIRROR(0x451000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xffc000, 0xffffff) AM_MIRROR(0x450000) AM_RAM AM_RANGE(0xffc000, 0xffffff) AM_MIRROR(0x450000) AM_RAM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -150,8 +148,6 @@ static INPUT_PORTS_START( toobin )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_i ) /* audio port */
INPUT_PORTS_END INPUT_PORTS_END
@ -235,7 +231,13 @@ static MACHINE_CONFIG_START( toobin, toobin_state )
MCFG_VIDEO_START_OVERRIDE(toobin_state,toobin) MCFG_VIDEO_START_OVERRIDE(toobin_state,toobin)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo_pokey) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("FF9000", 12)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MCFG_DEVICE_REMOVE("jsa:tms")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -257,7 +259,7 @@ ROM_START( toobin )
ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) ) ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) )
ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) ) ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) ) ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -313,7 +315,7 @@ ROM_START( toobine )
ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) ) ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) )
ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) ) ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) ) ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -369,7 +371,7 @@ ROM_START( toobing )
ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) ) ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) )
ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) ) ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) ) ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -425,7 +427,7 @@ ROM_START( toobin2e )
ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) ) ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) )
ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) ) ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) ) ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -481,7 +483,7 @@ ROM_START( toobin2 )
ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) ) ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) )
ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) ) ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) ) ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -537,7 +539,7 @@ ROM_START( toobin1 )
ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) ) ROM_LOAD16_BYTE( "1136-5j.061", 0x060000, 0x010000, CRC(5ae3eeac) SHA1(583b6c3f61e8ad4d98449205fedecf3e21ee993c) )
ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) ) ROM_LOAD16_BYTE( "1140-5f.061", 0x060001, 0x010000, CRC(dacbbd94) SHA1(0e3a93f439ff9f3dd57ee13604be02e9c74c8eec) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) ) ROM_LOAD( "1141-2k.061", 0x010000, 0x004000, CRC(c0dcce1a) SHA1(285c13f08020cf5827eca2afcc2fa8a3a0a073e0) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -591,7 +593,6 @@ ROM_END
DRIVER_INIT_MEMBER(toobin_state,toobin) DRIVER_INIT_MEMBER(toobin_state,toobin)
{ {
atarijsa_init(machine(), "FF9000", 0x1000);
} }

View File

@ -19,7 +19,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/vindictr.h" #include "includes/vindictr.h"
@ -42,7 +41,6 @@ MACHINE_RESET_MEMBER(vindictr_state,vindictr)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
scanline_timer_reset(*machine().primary_screen, 8); scanline_timer_reset(*machine().primary_screen, 8);
atarijsa_reset(machine());
} }
@ -56,8 +54,8 @@ MACHINE_RESET_MEMBER(vindictr_state,vindictr)
READ16_MEMBER(vindictr_state::port1_r) READ16_MEMBER(vindictr_state::port1_r)
{ {
int result = ioport("260010")->read(); int result = ioport("260010")->read();
if (m_soundcomm->sound_to_main_ready()) result ^= 0x0004; if (m_jsa->sound_to_main_ready()) result ^= 0x0004;
if (m_soundcomm->main_to_sound_ready()) result ^= 0x0008; if (m_jsa->main_to_sound_ready()) result ^= 0x0008;
result ^= 0x0010; result ^= 0x0010;
return result; return result;
} }
@ -79,12 +77,12 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, vindictr_state )
AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000") AM_RANGE(0x260000, 0x26000f) AM_READ_PORT("260000")
AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r) AM_RANGE(0x260010, 0x26001f) AM_READ(port1_r)
AM_RANGE(0x260020, 0x26002f) AM_READ_PORT("260020") AM_RANGE(0x260020, 0x26002f) AM_READ_PORT("260020")
AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0x260030, 0x260031) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff)
AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w) AM_RANGE(0x2e0000, 0x2e0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x360000, 0x360001) AM_WRITE(scanline_int_ack_w) AM_RANGE(0x360000, 0x360001) AM_WRITE(scanline_int_ack_w)
AM_RANGE(0x360010, 0x360011) AM_WRITENOP AM_RANGE(0x360010, 0x360011) AM_WRITENOP
AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0x360020, 0x360021) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0x360030, 0x360031) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(vindictr_paletteram_w) AM_SHARE("paletteram") AM_RANGE(0x3e0000, 0x3e0fff) AM_RAM_WRITE(vindictr_paletteram_w) AM_SHARE("paletteram")
AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_WRITE(playfield_w) AM_SHARE("playfield") AM_RANGE(0x3f0000, 0x3f1fff) AM_MIRROR(0x8000) AM_RAM_WRITE(playfield_w) AM_SHARE("playfield")
AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w) AM_RANGE(0x3f2000, 0x3f3fff) AM_MIRROR(0x8000) AM_READWRITE_LEGACY(atarimo_0_spriteram_r, atarimo_0_spriteram_w)
@ -134,8 +132,6 @@ static INPUT_PORTS_START( vindictr )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 ) PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 ) PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0xfc00, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xfc00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_i ) /* audio port */
INPUT_PORTS_END INPUT_PORTS_END
@ -206,7 +202,13 @@ static MACHINE_CONFIG_START( vindictr, vindictr_state )
MCFG_VIDEO_START_OVERRIDE(vindictr_state,vindictr) MCFG_VIDEO_START_OVERRIDE(vindictr_state,vindictr)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo_pokey) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("260010", 1)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_DEVICE_REMOVE("jsa:tms")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -226,7 +228,7 @@ ROM_START( vindictr )
ROM_LOAD16_BYTE( "136059-5121.k1", 0x040000, 0x010000, CRC(96b150c5) SHA1(405c848f7990c981fefd355ca635bfb0ac24eb26) ) ROM_LOAD16_BYTE( "136059-5121.k1", 0x040000, 0x010000, CRC(96b150c5) SHA1(405c848f7990c981fefd355ca635bfb0ac24eb26) )
ROM_LOAD16_BYTE( "136059-5122.k3", 0x040001, 0x010000, CRC(6415d312) SHA1(0115e32c1c42421cb3d978cc8642f7f88d492043) ) ROM_LOAD16_BYTE( "136059-5122.k3", 0x040001, 0x010000, CRC(6415d312) SHA1(0115e32c1c42421cb3d978cc8642f7f88d492043) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -264,7 +266,7 @@ ROM_START( vindictre )
ROM_LOAD16_BYTE( "136059-5721.k1", 0x040000, 0x010000, CRC(96b150c5) SHA1(405c848f7990c981fefd355ca635bfb0ac24eb26) ) ROM_LOAD16_BYTE( "136059-5721.k1", 0x040000, 0x010000, CRC(96b150c5) SHA1(405c848f7990c981fefd355ca635bfb0ac24eb26) )
ROM_LOAD16_BYTE( "136059-5722.k3", 0x040001, 0x010000, CRC(6415d312) SHA1(0115e32c1c42421cb3d978cc8642f7f88d492043) ) ROM_LOAD16_BYTE( "136059-5722.k3", 0x040001, 0x010000, CRC(6415d312) SHA1(0115e32c1c42421cb3d978cc8642f7f88d492043) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -302,7 +304,7 @@ ROM_START( vindictrg )
ROM_LOAD16_BYTE( "136059-1221.k1", 0x040000, 0x010000, CRC(ee1b1014) SHA1(ddfe01cdec4654a42c9e49660e3532e5c865a9b7) ) ROM_LOAD16_BYTE( "136059-1221.k1", 0x040000, 0x010000, CRC(ee1b1014) SHA1(ddfe01cdec4654a42c9e49660e3532e5c865a9b7) )
ROM_LOAD16_BYTE( "136059-1222.k3", 0x040001, 0x010000, CRC(517b33f0) SHA1(f6430862bb00e11a68e964c89adcad1f05bc021b) ) ROM_LOAD16_BYTE( "136059-1222.k3", 0x040001, 0x010000, CRC(517b33f0) SHA1(f6430862bb00e11a68e964c89adcad1f05bc021b) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -340,7 +342,7 @@ ROM_START( vindictre4 )
ROM_LOAD16_BYTE( "136059-4121.k1", 0x040000, 0x010000, CRC(9a0444ee) SHA1(211be931a8b6ca42dd140baf3e165ce23f75431f) ) ROM_LOAD16_BYTE( "136059-4121.k1", 0x040000, 0x010000, CRC(9a0444ee) SHA1(211be931a8b6ca42dd140baf3e165ce23f75431f) )
ROM_LOAD16_BYTE( "136059-4122.k3", 0x040001, 0x010000, CRC(d5022d78) SHA1(eeb6876ee6994f5736114a786c5c4ba97f26ef01) ) ROM_LOAD16_BYTE( "136059-4122.k3", 0x040001, 0x010000, CRC(d5022d78) SHA1(eeb6876ee6994f5736114a786c5c4ba97f26ef01) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -378,7 +380,7 @@ ROM_START( vindictr4 )
ROM_LOAD16_BYTE( "136059-4121.k1", 0x040000, 0x010000, CRC(9a0444ee) SHA1(211be931a8b6ca42dd140baf3e165ce23f75431f) ) ROM_LOAD16_BYTE( "136059-4121.k1", 0x040000, 0x010000, CRC(9a0444ee) SHA1(211be931a8b6ca42dd140baf3e165ce23f75431f) )
ROM_LOAD16_BYTE( "136059-4122.k3", 0x040001, 0x010000, CRC(d5022d78) SHA1(eeb6876ee6994f5736114a786c5c4ba97f26ef01) ) ROM_LOAD16_BYTE( "136059-4122.k3", 0x040001, 0x010000, CRC(d5022d78) SHA1(eeb6876ee6994f5736114a786c5c4ba97f26ef01) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -416,7 +418,7 @@ ROM_START( vindictre3 )
ROM_LOAD16_BYTE( "136059-2121.k1", 0x040000, 0x010000, CRC(9b6111e0) SHA1(427197b21a5db2a06751ab281fde7a2f63818db8) ) ROM_LOAD16_BYTE( "136059-2121.k1", 0x040000, 0x010000, CRC(9b6111e0) SHA1(427197b21a5db2a06751ab281fde7a2f63818db8) )
ROM_LOAD16_BYTE( "136059-2122.k3", 0x040001, 0x010000, CRC(8d029a28) SHA1(a166d2a767f70050397f0f12add44ad1f5bc9fde) ) ROM_LOAD16_BYTE( "136059-2122.k3", 0x040001, 0x010000, CRC(8d029a28) SHA1(a166d2a767f70050397f0f12add44ad1f5bc9fde) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -454,7 +456,7 @@ ROM_START( vindictr2 )
ROM_LOAD16_BYTE( "136059-2121.k1", 0x040000, 0x010000, CRC(9b6111e0) SHA1(427197b21a5db2a06751ab281fde7a2f63818db8) ) ROM_LOAD16_BYTE( "136059-2121.k1", 0x040000, 0x010000, CRC(9b6111e0) SHA1(427197b21a5db2a06751ab281fde7a2f63818db8) )
ROM_LOAD16_BYTE( "136059-2122.k3", 0x040001, 0x010000, CRC(8d029a28) SHA1(a166d2a767f70050397f0f12add44ad1f5bc9fde) ) ROM_LOAD16_BYTE( "136059-2122.k3", 0x040001, 0x010000, CRC(8d029a28) SHA1(a166d2a767f70050397f0f12add44ad1f5bc9fde) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -492,7 +494,7 @@ ROM_START( vindictr1 )
ROM_LOAD16_BYTE( "136059-1121.k1", 0x040000, 0x010000, CRC(9b6111e0) SHA1(427197b21a5db2a06751ab281fde7a2f63818db8) ) ROM_LOAD16_BYTE( "136059-1121.k1", 0x040000, 0x010000, CRC(9b6111e0) SHA1(427197b21a5db2a06751ab281fde7a2f63818db8) )
ROM_LOAD16_BYTE( "136059-1122.k3", 0x040001, 0x010000, CRC(a94773f1) SHA1(2be841ab755d4ce319f3d562e9990918923384ee) ) ROM_LOAD16_BYTE( "136059-1122.k3", 0x040001, 0x010000, CRC(a94773f1) SHA1(2be841ab755d4ce319f3d562e9990918923384ee) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k + 16k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) ) ROM_LOAD( "136059-1124.2k", 0x010000, 0x004000, CRC(d2212c0a) SHA1(df11fe76d74abc0cea23f18264cef4b0f33b1ffd) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -530,7 +532,6 @@ ROM_END
DRIVER_INIT_MEMBER(vindictr_state,vindictr) DRIVER_INIT_MEMBER(vindictr_state,vindictr)
{ {
atarijsa_init(machine(), "260010", 0x0002);
} }

View File

@ -20,7 +20,6 @@
#include "emu.h" #include "emu.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "video/atarimo.h" #include "video/atarimo.h"
#include "includes/xybots.h" #include "includes/xybots.h"
@ -42,7 +41,6 @@ void xybots_state::update_interrupts()
MACHINE_RESET_MEMBER(xybots_state,xybots) MACHINE_RESET_MEMBER(xybots_state,xybots)
{ {
atarigen_state::machine_reset(); atarigen_state::machine_reset();
atarijsa_reset(machine());
} }
@ -57,7 +55,7 @@ READ16_MEMBER(xybots_state::special_port1_r)
{ {
int result = ioport("FFE200")->read(); int result = ioport("FFE200")->read();
if (m_soundcomm->main_to_sound_ready()) result ^= 0x0200; if (m_jsa->main_to_sound_ready()) result ^= 0x0200;
result ^= m_h256 ^= 0x0400; result ^= m_h256 ^= 0x0400;
return result; return result;
} }
@ -82,14 +80,14 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xybots_state )
AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(playfield_w) AM_SHARE("playfield") AM_RANGE(0xffb000, 0xffbfff) AM_MIRROR(0x7f8000) AM_RAM_WRITE(playfield_w) AM_SHARE("playfield")
AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram") AM_RANGE(0xffc000, 0xffc7ff) AM_MIRROR(0x7f8800) AM_RAM_WRITE(paletteram_IIIIRRRRGGGGBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom") AM_RANGE(0xffd000, 0xffdfff) AM_MIRROR(0x7f8000) AM_READWRITE(eeprom_r, eeprom_w) AM_SHARE("eeprom")
AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_DEVREAD8("soundcomm", atari_sound_comm_device, main_response_r, 0x00ff) AM_RANGE(0xffe000, 0xffe0ff) AM_MIRROR(0x7f8000) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff)
AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100") AM_RANGE(0xffe100, 0xffe1ff) AM_MIRROR(0x7f8000) AM_READ_PORT("FFE100")
AM_RANGE(0xffe200, 0xffe2ff) AM_MIRROR(0x7f8000) AM_READ(special_port1_r) AM_RANGE(0xffe200, 0xffe2ff) AM_MIRROR(0x7f8000) AM_READ(special_port1_r)
AM_RANGE(0xffe800, 0xffe8ff) AM_MIRROR(0x7f8000) AM_WRITE(eeprom_enable_w) AM_RANGE(0xffe800, 0xffe8ff) AM_MIRROR(0x7f8000) AM_WRITE(eeprom_enable_w)
AM_RANGE(0xffe900, 0xffe9ff) AM_MIRROR(0x7f8000) AM_DEVWRITE8("soundcomm", atari_sound_comm_device, main_command_w, 0x00ff) AM_RANGE(0xffe900, 0xffe9ff) AM_MIRROR(0x7f8000) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff)
AM_RANGE(0xffea00, 0xffeaff) AM_MIRROR(0x7f8000) AM_WRITE(watchdog_reset16_w) AM_RANGE(0xffea00, 0xffeaff) AM_MIRROR(0x7f8000) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0xffeb00, 0xffebff) AM_MIRROR(0x7f8000) AM_WRITE(video_int_ack_w) AM_RANGE(0xffeb00, 0xffebff) AM_MIRROR(0x7f8000) AM_WRITE(video_int_ack_w)
AM_RANGE(0xffee00, 0xffeeff) AM_MIRROR(0x7f8000) AM_DEVWRITE("soundcomm", atari_sound_comm_device, sound_reset_w) AM_RANGE(0xffee00, 0xffeeff) AM_MIRROR(0x7f8000) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -127,11 +125,11 @@ static INPUT_PORTS_START( xybots )
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* VBLANK */ PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen") /* VBLANK */
PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_INCLUDE( atarijsa_i ) /* audio port */
/* Xybots uses a swapped version */ /* Xybots uses a swapped version */
PORT_MODIFY("JSAI") // todo:
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 ) // PORT_MODIFY("jsa:JSAI")
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 ) // PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN2 )
// PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
INPUT_PORTS_END INPUT_PORTS_END
@ -204,7 +202,14 @@ static MACHINE_CONFIG_START( xybots, xybots_state )
MCFG_VIDEO_START_OVERRIDE(xybots_state,xybots) MCFG_VIDEO_START_OVERRIDE(xybots_state,xybots)
/* sound hardware */ /* sound hardware */
MCFG_FRAGMENT_ADD(jsa_i_stereo_swapped) MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_ATARI_JSA_I_ADD("jsa", WRITELINE(atarigen_state, sound_int_write_line))
MCFG_ATARI_JSA_TEST_PORT("FFE200", 8)
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_DEVICE_REMOVE("jsa:pokey")
MCFG_DEVICE_REMOVE("jsa:tms")
MACHINE_CONFIG_END MACHINE_CONFIG_END
@ -222,7 +227,7 @@ ROM_START( xybots )
ROM_LOAD16_BYTE( "136054-2114.17b", 0x020000, 0x008000, CRC(d31890cb) SHA1(b58722a4dcc79e97484c2f5e35b8dbf8c3520bd9) ) ROM_LOAD16_BYTE( "136054-2114.17b", 0x020000, 0x008000, CRC(d31890cb) SHA1(b58722a4dcc79e97484c2f5e35b8dbf8c3520bd9) )
ROM_LOAD16_BYTE( "136054-2115.19b", 0x020001, 0x008000, CRC(750ab1b0) SHA1(0638de738bd804bde4b93cd23190ee0465887cf8) ) ROM_LOAD16_BYTE( "136054-2115.19b", 0x020001, 0x008000, CRC(750ab1b0) SHA1(0638de738bd804bde4b93cd23190ee0465887cf8) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) ) ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -253,7 +258,7 @@ ROM_START( xybotsg )
ROM_LOAD16_BYTE( "136054-3214.17b", 0x020000, 0x008000, CRC(4ad35093) SHA1(6d2d82fb481c68819ec6c87d483eed17d4ae5d1a) ) ROM_LOAD16_BYTE( "136054-3214.17b", 0x020000, 0x008000, CRC(4ad35093) SHA1(6d2d82fb481c68819ec6c87d483eed17d4ae5d1a) )
ROM_LOAD16_BYTE( "136054-3215.19b", 0x020001, 0x008000, CRC(3a2afbaf) SHA1(61b88d15d95681eb24559d0696203cd4ee63d11f) ) ROM_LOAD16_BYTE( "136054-3215.19b", 0x020001, 0x008000, CRC(3a2afbaf) SHA1(61b88d15d95681eb24559d0696203cd4ee63d11f) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) ) ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -284,7 +289,7 @@ ROM_START( xybotsf )
ROM_LOAD16_BYTE( "136054-3614.17b", 0x020000, 0x008000, CRC(7385e0b6) SHA1(98a69901069872b14413c1bfe48783fdb43c1c37) ) ROM_LOAD16_BYTE( "136054-3614.17b", 0x020000, 0x008000, CRC(7385e0b6) SHA1(98a69901069872b14413c1bfe48783fdb43c1c37) )
ROM_LOAD16_BYTE( "136054-3615.19b", 0x020001, 0x008000, CRC(8e37b812) SHA1(40f973a49c4b40f3a5d982d332995e792f718dcc) ) ROM_LOAD16_BYTE( "136054-3615.19b", 0x020001, 0x008000, CRC(8e37b812) SHA1(40f973a49c4b40f3a5d982d332995e792f718dcc) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) ) ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -315,7 +320,7 @@ ROM_START( xybots1 )
ROM_LOAD16_BYTE( "136054-1114.17b", 0x020000, 0x008000, CRC(7444f88f) SHA1(e2a27754a57a809398ee639fe5d0920b564d4c0b) ) ROM_LOAD16_BYTE( "136054-1114.17b", 0x020000, 0x008000, CRC(7444f88f) SHA1(e2a27754a57a809398ee639fe5d0920b564d4c0b) )
ROM_LOAD16_BYTE( "136054-1115.19b", 0x020001, 0x008000, CRC(848d072d) SHA1(c4d1181f0227200e60d99a99c1a83897275b055f) ) ROM_LOAD16_BYTE( "136054-1115.19b", 0x020001, 0x008000, CRC(848d072d) SHA1(c4d1181f0227200e60d99a99c1a83897275b055f) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) ) ROM_LOAD( "136054-1116.2k", 0x010000, 0x004000, CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) )
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -346,7 +351,7 @@ ROM_START( xybots0 )
ROM_LOAD16_BYTE( "136054-0114.17b", 0x020000, 0x008000, CRC(18b875f7) SHA1(aa78553bd3556d0b209513ba80b782cfb0e3bb8b) ) ROM_LOAD16_BYTE( "136054-0114.17b", 0x020000, 0x008000, CRC(18b875f7) SHA1(aa78553bd3556d0b209513ba80b782cfb0e3bb8b) )
ROM_LOAD16_BYTE( "136054-0115.19b", 0x020001, 0x008000, CRC(7f116360) SHA1(d12c339ce973bd74be4a4ac9e9d293f6a6e358d6) ) ROM_LOAD16_BYTE( "136054-0115.19b", 0x020001, 0x008000, CRC(7f116360) SHA1(d12c339ce973bd74be4a4ac9e9d293f6a6e358d6) )
ROM_REGION( 0x14000, "jsa", 0 ) /* 64k for 6502 code */ ROM_REGION( 0x14000, "jsa:cpu", 0 ) /* 64k for 6502 code */
ROM_LOAD( "136054-0116.2k", 0x010000, 0x004000, BAD_DUMP CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) ) // not dumped from this pcb, rom taken from another set instead ROM_LOAD( "136054-0116.2k", 0x010000, 0x004000, BAD_DUMP CRC(3b9f155d) SHA1(7080681a7eab282023034379825ca88adc6b300f) ) // not dumped from this pcb, rom taken from another set instead
ROM_CONTINUE( 0x004000, 0x00c000 ) ROM_CONTINUE( 0x004000, 0x00c000 )
@ -381,7 +386,6 @@ DRIVER_INIT_MEMBER(xybots_state,xybots)
{ {
m_h256 = 0x0400; m_h256 = 0x0400;
slapstic_configure(*m_maincpu, 0x008000, 0, 107); slapstic_configure(*m_maincpu, 0x008000, 0, 107);
atarijsa_init(machine(), "FFE200", 0x0100);
} }

View File

@ -5,6 +5,7 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
class atarig1_state : public atarigen_state class atarig1_state : public atarigen_state
@ -13,9 +14,11 @@ public:
atarig1_state(const machine_config &mconfig, device_type type, const char *tag) atarig1_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_jsa(*this, "jsa"),
m_mo_command(*this, "mo_command") { } m_mo_command(*this, "mo_command") { }
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<atari_jsa_ii_device> m_jsa;
bool m_is_pitfight; bool m_is_pitfight;

View File

@ -5,6 +5,7 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
class atarig42_state : public atarigen_state class atarig42_state : public atarigen_state
@ -13,9 +14,11 @@ public:
atarig42_state(const machine_config &mconfig, device_type type, const char *tag) atarig42_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_jsa(*this, "jsa"),
m_mo_command(*this, "mo_command") { } m_mo_command(*this, "mo_command") { }
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<atari_jsa_iii_device> m_jsa;
UINT16 m_playfield_base; UINT16 m_playfield_base;

View File

@ -5,17 +5,21 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class atarigx2_state : public atarigen_state class atarigx2_state : public atarigen_state
{ {
public: public:
atarigx2_state(const machine_config &mconfig, device_type type, const char *tag) atarigx2_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_mo_command(*this, "mo_command"), m_mo_command(*this, "mo_command"),
m_protection_base(*this, "protection_base") { } m_protection_base(*this, "protection_base") { }
UINT16 m_playfield_base; UINT16 m_playfield_base;
required_device<atari_jsa_iiis_device> m_jsa;
required_shared_ptr<UINT32> m_mo_command; required_shared_ptr<UINT32> m_mo_command;
required_shared_ptr<UINT32> m_protection_base; required_shared_ptr<UINT32> m_protection_base;

View File

@ -5,12 +5,16 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class batman_state : public atarigen_state class batman_state : public atarigen_state
{ {
public: public:
batman_state(const machine_config &mconfig, device_type type, const char *tag) batman_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag) { } : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa") { }
required_device<atari_jsa_iii_device> m_jsa;
UINT16 m_latch_data; UINT16 m_latch_data;

View File

@ -45,6 +45,7 @@ public:
beathead_state(const machine_config &mconfig, device_type type, const char *tag) beathead_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_jsa(*this, "jsa"),
m_nvram(*this, "nvram"), m_nvram(*this, "nvram"),
m_videoram(*this, "videoram"), m_videoram(*this, "videoram"),
m_paletteram(*this, "paletteram"), m_paletteram(*this, "paletteram"),
@ -60,6 +61,7 @@ public:
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<asap_device> m_maincpu; required_device<asap_device> m_maincpu;
required_device<atari_jsa_iii_device> m_jsa;
required_shared_ptr<UINT32> m_nvram; required_shared_ptr<UINT32> m_nvram;

View File

@ -5,6 +5,7 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class blstroid_state : public atarigen_state class blstroid_state : public atarigen_state
{ {
@ -17,8 +18,10 @@ public:
blstroid_state(const machine_config &mconfig, device_type type, const char *tag) blstroid_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_priorityram(*this, "priorityram") { } m_priorityram(*this, "priorityram") { }
required_device<atari_jsa_i_device> m_jsa;
required_shared_ptr<UINT16> m_priorityram; required_shared_ptr<UINT16> m_priorityram;
virtual void update_interrupts(); virtual void update_interrupts();
virtual void scanline_update(screen_device &screen, int scanline); virtual void scanline_update(screen_device &screen, int scanline);

View File

@ -5,6 +5,7 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
#include "cpu/m68000/m68000.h" #include "cpu/m68000/m68000.h"
#include "cpu/m6502/m6502.h" #include "cpu/m6502/m6502.h"
#include "sound/dac.h" #include "sound/dac.h"
@ -20,6 +21,7 @@ public:
m_daccpu(*this, "dac"), m_daccpu(*this, "dac"),
m_dac1(*this, "dac1"), m_dac1(*this, "dac1"),
m_dac2(*this, "dac2"), m_dac2(*this, "dac2"),
m_jsa(*this, "jsa"),
m_paletteram_0(*this, "paletteram_0"), m_paletteram_0(*this, "paletteram_0"),
m_paletteram_1(*this, "paletteram_1") { } m_paletteram_1(*this, "paletteram_1") { }
@ -29,6 +31,7 @@ public:
optional_device<cpu_device> m_daccpu; optional_device<cpu_device> m_daccpu;
optional_device<dac_device> m_dac1; optional_device<dac_device> m_dac1;
optional_device<dac_device> m_dac2; optional_device<dac_device> m_dac2;
optional_device<atari_jsa_ii_device> m_jsa;
optional_shared_ptr<UINT16> m_paletteram_0; optional_shared_ptr<UINT16> m_paletteram_0;
optional_shared_ptr<UINT16> m_paletteram_1; optional_shared_ptr<UINT16> m_paletteram_1;
UINT16 m_current_slip[2]; UINT16 m_current_slip[2];

View File

@ -5,14 +5,17 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class eprom_state : public atarigen_state class eprom_state : public atarigen_state
{ {
public: public:
eprom_state(const machine_config &mconfig, device_type type, const char *tag) eprom_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_extra(*this, "extra") { } m_extra(*this, "extra") { }
required_device<atari_jsa_base_device> m_jsa;
int m_screen_intensity; int m_screen_intensity;
int m_video_disable; int m_video_disable;
UINT16 * m_sync_data; UINT16 * m_sync_data;
@ -39,6 +42,3 @@ public:
void update_palette(); void update_palette();
optional_device<cpu_device> m_extra; optional_device<cpu_device> m_extra;
}; };
/*----------- defined in video/eprom.c -----------*/
void eprom_scanline_update(screen_device &screen, int scanline);

View File

@ -9,6 +9,7 @@
#include "cpu/tms32010/tms32010.h" #include "cpu/tms32010/tms32010.h"
#include "cpu/adsp2100/adsp2100.h" #include "cpu/adsp2100/adsp2100.h"
#include "cpu/dsp32/dsp32.h" #include "cpu/dsp32/dsp32.h"
#include "audio/atarijsa.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "machine/n68681.h" #include "machine/n68681.h"
@ -33,6 +34,7 @@ public:
m_ds3xdsp(*this, "ds3xdsp"), m_ds3xdsp(*this, "ds3xdsp"),
m_ds3dac1(*this, "ds3dac1"), m_ds3dac1(*this, "ds3dac1"),
m_ds3dac2(*this, "ds3dac2"), m_ds3dac2(*this, "ds3dac2"),
m_jsa(*this, "jsa"),
m_msp_ram(*this, "msp_ram"), m_msp_ram(*this, "msp_ram"),
m_adsp_data_memory(*this, "adsp_data"), m_adsp_data_memory(*this, "adsp_data"),
m_adsp_pgm_memory(*this, "adsp_pgm_memory"), m_adsp_pgm_memory(*this, "adsp_pgm_memory"),
@ -62,6 +64,7 @@ public:
optional_device<adsp2105_device> m_ds3xdsp; optional_device<adsp2105_device> m_ds3xdsp;
optional_device<dac_device> m_ds3dac1; optional_device<dac_device> m_ds3dac1;
optional_device<dac_device> m_ds3dac2; optional_device<dac_device> m_ds3dac2;
optional_device<atari_jsa_base_device> m_jsa;
UINT8 m_hd34010_host_access; UINT8 m_hd34010_host_access;
UINT8 m_dsk_pio_access; UINT8 m_dsk_pio_access;

View File

@ -5,14 +5,18 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class offtwall_state : public atarigen_state class offtwall_state : public atarigen_state
{ {
public: public:
offtwall_state(const machine_config &mconfig, device_type type, const char *tag) offtwall_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_bankrom_base(*this, "bankrom_base") { } m_bankrom_base(*this, "bankrom_base") { }
required_device<atari_jsa_iii_device> m_jsa;
UINT16 *m_bankswitch_base; UINT16 *m_bankswitch_base;
required_shared_ptr<UINT16> m_bankrom_base; required_shared_ptr<UINT16> m_bankrom_base;
UINT32 m_bank_offset; UINT32 m_bank_offset;

View File

@ -5,14 +5,17 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class skullxbo_state : public atarigen_state class skullxbo_state : public atarigen_state
{ {
public: public:
skullxbo_state(const machine_config &mconfig, device_type type, const char *tag) skullxbo_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_scanline_timer(*this, "scan_timer") { } m_scanline_timer(*this, "scan_timer") { }
required_device<atari_jsa_ii_device> m_jsa;
required_device<timer_device> m_scanline_timer; required_device<timer_device> m_scanline_timer;
virtual void update_interrupts(); virtual void update_interrupts();

View File

@ -5,14 +5,17 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class thunderj_state : public atarigen_state class thunderj_state : public atarigen_state
{ {
public: public:
thunderj_state(const machine_config &mconfig, device_type type, const char *tag) thunderj_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_extra(*this, "extra") { } m_extra(*this, "extra") { }
required_device<atari_jsa_ii_device> m_jsa;
UINT8 m_alpha_tile_bank; UINT8 m_alpha_tile_bank;
virtual void update_interrupts(); virtual void update_interrupts();
DECLARE_READ16_MEMBER(special_port2_r); DECLARE_READ16_MEMBER(special_port2_r);

View File

@ -5,14 +5,17 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class toobin_state : public atarigen_state class toobin_state : public atarigen_state
{ {
public: public:
toobin_state(const machine_config &mconfig, device_type type, const char *tag) toobin_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag), : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa"),
m_interrupt_scan(*this, "interrupt_scan") { } m_interrupt_scan(*this, "interrupt_scan") { }
required_device<atari_jsa_i_device> m_jsa;
required_shared_ptr<UINT16> m_interrupt_scan; required_shared_ptr<UINT16> m_interrupt_scan;
double m_brightness; double m_brightness;

View File

@ -5,13 +5,16 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class vindictr_state : public atarigen_state class vindictr_state : public atarigen_state
{ {
public: public:
vindictr_state(const machine_config &mconfig, device_type type, const char *tag) vindictr_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag) { } : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa") { }
required_device<atari_jsa_i_device> m_jsa;
UINT8 m_playfield_tile_bank; UINT8 m_playfield_tile_bank;
UINT16 m_playfield_xscroll; UINT16 m_playfield_xscroll;
UINT16 m_playfield_yscroll; UINT16 m_playfield_yscroll;

View File

@ -5,13 +5,16 @@
*************************************************************************/ *************************************************************************/
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "audio/atarijsa.h"
class xybots_state : public atarigen_state class xybots_state : public atarigen_state
{ {
public: public:
xybots_state(const machine_config &mconfig, device_type type, const char *tag) xybots_state(const machine_config &mconfig, device_type type, const char *tag)
: atarigen_state(mconfig, type, tag) { } : atarigen_state(mconfig, type, tag),
m_jsa(*this, "jsa") { }
required_device<atari_jsa_i_device> m_jsa;
UINT16 m_h256; UINT16 m_h256;
virtual void update_interrupts(); virtual void update_interrupts();
DECLARE_READ16_MEMBER(special_port1_r); DECLARE_READ16_MEMBER(special_port1_r);

View File

@ -80,9 +80,9 @@ inline const atarigen_screen_timer *get_screen_timer(screen_device &screen)
/*************************************************************************** //**************************************************************************
OVERALL INIT // SOUND COMMUNICATIONS DEVICE
***************************************************************************/ //**************************************************************************
// device type definition // device type definition
const device_type ATARI_SOUND_COMM = &device_creator<atari_sound_comm_device>; const device_type ATARI_SOUND_COMM = &device_creator<atari_sound_comm_device>;
@ -420,7 +420,6 @@ atarigen_state::atarigen_state(const machine_config &mconfig, device_type type,
m_playfield2_latch(0), m_playfield2_latch(0),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"), m_audiocpu(*this, "audiocpu"),
m_jsacpu(*this, "jsa"),
m_oki(*this, "oki"), m_oki(*this, "oki"),
m_soundcomm(*this, "soundcomm") m_soundcomm(*this, "soundcomm")
{ {

View File

@ -94,7 +94,7 @@ public:
bool main_to_sound_ready() const { return m_main_to_sound_ready; } bool main_to_sound_ready() const { return m_main_to_sound_ready; }
bool sound_to_main_ready() const { return m_sound_to_main_ready; } bool sound_to_main_ready() const { return m_sound_to_main_ready; }
// main cpu accessors // main cpu accessors (forward internally to the atari_sound_comm_device)
DECLARE_WRITE8_MEMBER(main_command_w); DECLARE_WRITE8_MEMBER(main_command_w);
DECLARE_READ8_MEMBER(main_response_r); DECLARE_READ8_MEMBER(main_response_r);
DECLARE_WRITE16_MEMBER(sound_reset_w); DECLARE_WRITE16_MEMBER(sound_reset_w);
@ -347,7 +347,6 @@ public:
atarigen_screen_timer m_screen_timer[2]; atarigen_screen_timer m_screen_timer[2];
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu; optional_device<cpu_device> m_audiocpu;
optional_device<m6502_device> m_jsacpu;
optional_device<okim6295_device> m_oki; optional_device<okim6295_device> m_oki;
optional_device<atari_sound_comm_device> m_soundcomm; optional_device<atari_sound_comm_device> m_soundcomm;

View File

@ -12,7 +12,6 @@
#include "sound/dac.h" #include "sound/dac.h"
#include "machine/atarigen.h" #include "machine/atarigen.h"
#include "machine/asic65.h" #include "machine/asic65.h"
#include "audio/atarijsa.h"
#include "includes/slapstic.h" #include "includes/slapstic.h"
#include "includes/harddriv.h" #include "includes/harddriv.h"
@ -73,10 +72,6 @@ MACHINE_RESET_MEMBER(harddriv_state,harddriv)
if (m_dsp32 != NULL) m_dsp32->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); if (m_dsp32 != NULL) m_dsp32->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
if (m_sounddsp != NULL) m_sounddsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); if (m_sounddsp != NULL) m_sounddsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
/* if we found a 6502, reset the JSA board */
if (m_jsacpu != NULL)
atarijsa_reset(machine());
m_last_gsp_shiftreg = 0; m_last_gsp_shiftreg = 0;
m_m68k_adsp_buffer_bank = 0; m_m68k_adsp_buffer_bank = 0;
@ -327,8 +322,8 @@ READ16_HANDLER( hd68k_adc12_r )
READ16_HANDLER( hd68k_sound_reset_r ) READ16_HANDLER( hd68k_sound_reset_r )
{ {
harddriv_state *state = space.machine().driver_data<harddriv_state>(); harddriv_state *state = space.machine().driver_data<harddriv_state>();
if (state->m_jsacpu != NULL) if (state->m_jsa != NULL)
atarijsa_reset(space.machine()); state->m_jsa->reset();
return ~0; return ~0;
} }