mcs48: rename n7751 to upd7751

This commit is contained in:
hap 2024-08-20 13:06:13 +02:00
parent cd2b19164f
commit 24c82edb75
8 changed files with 205 additions and 204 deletions

View File

@ -31,14 +31,14 @@
8648 64 1k 27 (OTPROM) 8648 64 1k 27 (OTPROM)
8748 64 1k 27 (EPROM) 8748 64 1k 27 (EPROM)
8884 64 1k 8884 64 1k
N7751 64 1k (8048, speech synthesizer in internal ROM) UPD7751 64 1k (8048, speech synthesizer in internal ROM)
8039 128 0 27 (external ROM) 8039 128 0 27 (external ROM)
8049 128 2k 27 (ROM) 8049 128 2k 27 (ROM)
8749 128 2k 27 (EPROM) 8749 128 2k 27 (EPROM)
M58715 128 0 (external ROM) M58715 128 0 (external ROM)
8040 256 4k 27 (external ROM) 8040 256 0 27 (external ROM)
8050 256 4k 27 (ROM) 8050 256 4k 27 (ROM)
**************************************************************************** ****************************************************************************
@ -151,6 +151,7 @@ DEFINE_DEVICE_TYPE(I8049, i8049_device, "i8049", "Intel 8049")
DEFINE_DEVICE_TYPE(I8749, i8749_device, "i8749", "Intel 8749") DEFINE_DEVICE_TYPE(I8749, i8749_device, "i8749", "Intel 8749")
DEFINE_DEVICE_TYPE(I8040, i8040_device, "i8040", "Intel 8040") DEFINE_DEVICE_TYPE(I8040, i8040_device, "i8040", "Intel 8040")
DEFINE_DEVICE_TYPE(I8050, i8050_device, "i8050", "Intel 8050") DEFINE_DEVICE_TYPE(I8050, i8050_device, "i8050", "Intel 8050")
DEFINE_DEVICE_TYPE(I8041A, i8041a_device, "i8041a", "Intel 8041A") DEFINE_DEVICE_TYPE(I8041A, i8041a_device, "i8041a", "Intel 8041A")
DEFINE_DEVICE_TYPE(I8741A, i8741a_device, "i8741a", "Intel 8741A") DEFINE_DEVICE_TYPE(I8741A, i8741a_device, "i8741a", "Intel 8741A")
DEFINE_DEVICE_TYPE(I8041AH, i8041ah_device, "i8041ah", "Intel 8041AH") DEFINE_DEVICE_TYPE(I8041AH, i8041ah_device, "i8041ah", "Intel 8041AH")
@ -159,9 +160,10 @@ DEFINE_DEVICE_TYPE(I8042, i8042_device, "i8042", "Intel 8042")
DEFINE_DEVICE_TYPE(I8742, i8742_device, "i8742", "Intel 8742") DEFINE_DEVICE_TYPE(I8742, i8742_device, "i8742", "Intel 8742")
DEFINE_DEVICE_TYPE(I8042AH, i8042ah_device, "i8042ah", "Intel 8042AH") DEFINE_DEVICE_TYPE(I8042AH, i8042ah_device, "i8042ah", "Intel 8042AH")
DEFINE_DEVICE_TYPE(I8742AH, i8742ah_device, "i8742ah", "Intel 8742AH") DEFINE_DEVICE_TYPE(I8742AH, i8742ah_device, "i8742ah", "Intel 8742AH")
DEFINE_DEVICE_TYPE(MB8884, mb8884_device, "mb8884", "MB8884")
DEFINE_DEVICE_TYPE(N7751, n7751_device, "n7751", "NEC uPD7751") DEFINE_DEVICE_TYPE(MB8884, mb8884_device, "mb8884", "Fujitsu MB8884")
DEFINE_DEVICE_TYPE(M58715, m58715_device, "m58715", "M58715") DEFINE_DEVICE_TYPE(UPD7751, upd7751_device, "upd7751", "NEC uPD7751")
DEFINE_DEVICE_TYPE(M58715, m58715_device, "m58715", "Mitsubishi M58715")
/*************************************************************************** /***************************************************************************
@ -262,8 +264,8 @@ mb8884_device::mb8884_device(const machine_config &mconfig, const char *tag, dev
{ {
} }
n7751_device::n7751_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) upd7751_device::upd7751_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: mcs48_cpu_device(mconfig, N7751, tag, owner, clock, 1024, 64, I8048_FEATURE, s_mcs48_opcodes) : mcs48_cpu_device(mconfig, UPD7751, tag, owner, clock, 1024, 64, I8048_FEATURE, s_mcs48_opcodes)
{ {
} }

View File

@ -94,7 +94,7 @@ DECLARE_DEVICE_TYPE(I8742AH, i8742ah_device) // 2k internal UV EPROM, 256 bytes
// Clones // Clones
DECLARE_DEVICE_TYPE(MB8884, mb8884_device) // 8035 clone DECLARE_DEVICE_TYPE(MB8884, mb8884_device) // 8035 clone
DECLARE_DEVICE_TYPE(N7751, n7751_device) // 8048 clone DECLARE_DEVICE_TYPE(UPD7751, upd7751_device) // 8048 clone
DECLARE_DEVICE_TYPE(M58715, m58715_device) // 8049 clone DECLARE_DEVICE_TYPE(M58715, m58715_device) // 8049 clone
@ -604,11 +604,11 @@ public:
mb8884_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); mb8884_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
}; };
class n7751_device : public mcs48_cpu_device class upd7751_device : public mcs48_cpu_device
{ {
public: public:
// construction/destruction // construction/destruction
n7751_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); upd7751_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
}; };
class m58715_device : public mcs48_cpu_device class m58715_device : public mcs48_cpu_device

View File

@ -62,12 +62,12 @@ public:
m_videoram(*this, "videoram"), m_videoram(*this, "videoram"),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_ay(*this, "ay%u", 0U), m_ay(*this, "ay%u", 0U),
m_n7751(*this, "n7751"), m_upd7751(*this, "upd7751"),
m_i8243(*this, "n7751_8243"), m_i8243(*this, "upd7751_8243"),
m_palette(*this, "palette"), m_palette(*this, "palette"),
m_soundlatch(*this, "soundlatch"), m_soundlatch(*this, "soundlatch"),
m_gfx_data(*this, "gfx"), m_gfx_data(*this, "gfx"),
m_n7751_data(*this, "n7751data") m_upd7751_data(*this, "upd7751data")
{ } { }
void othello(machine_config &config); void othello(machine_config &config);
@ -86,25 +86,25 @@ private:
/* misc */ /* misc */
int m_ay_select = 0; int m_ay_select = 0;
int m_ack_data = 0; int m_ack_data = 0;
uint8_t m_n7751_command = 0; uint8_t m_upd7751_command = 0;
int m_sound_addr = 0; int m_sound_addr = 0;
int m_n7751_busy = 0; int m_upd7751_busy = 0;
/* devices */ /* devices */
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device_array<ay8910_device, 2> m_ay; required_device_array<ay8910_device, 2> m_ay;
required_device<n7751_device> m_n7751; required_device<upd7751_device> m_upd7751;
required_device<i8243_device> m_i8243; required_device<i8243_device> m_i8243;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
required_device<generic_latch_8_device> m_soundlatch; required_device<generic_latch_8_device> m_soundlatch;
required_region_ptr<uint8_t> m_gfx_data; required_region_ptr<uint8_t> m_gfx_data;
required_region_ptr<uint8_t> m_n7751_data; required_region_ptr<uint8_t> m_upd7751_data;
uint8_t unk_87_r(); uint8_t unk_87_r();
void unk_8a_w(uint8_t data); void unk_8a_w(uint8_t data);
void n7751_command_w(uint8_t data); void upd7751_command_w(uint8_t data);
uint8_t n7751_busy_r(); uint8_t upd7751_busy_r();
uint8_t sound_ack_r(); uint8_t sound_ack_r();
void unk_8f_w(uint8_t data); void unk_8f_w(uint8_t data);
void tilebank_w(uint8_t data); void tilebank_w(uint8_t data);
@ -113,11 +113,11 @@ private:
void ack_w(uint8_t data); void ack_w(uint8_t data);
void ay_address_w(uint8_t data); void ay_address_w(uint8_t data);
void ay_data_w(uint8_t data); void ay_data_w(uint8_t data);
uint8_t n7751_rom_r(); uint8_t upd7751_rom_r();
uint8_t n7751_command_r(); uint8_t upd7751_command_r();
void n7751_p2_w(uint8_t data); void upd7751_p2_w(uint8_t data);
template<int Shift> void n7751_rom_addr_w(uint8_t data); template<int Shift> void upd7751_rom_addr_w(uint8_t data);
void n7751_rom_select_w(uint8_t data); void upd7751_rom_select_w(uint8_t data);
void othello_palette(palette_device &palette) const; void othello_palette(palette_device &palette) const;
MC6845_UPDATE_ROW(crtc_update_row); MC6845_UPDATE_ROW(crtc_update_row);
@ -181,15 +181,15 @@ void othello_state::unk_8a_w(uint8_t data)
logerror("8a -> %x\n", data); logerror("8a -> %x\n", data);
} }
void othello_state::n7751_command_w(uint8_t data) void othello_state::upd7751_command_w(uint8_t data)
{ {
m_n7751->set_input_line(0, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE); m_upd7751->set_input_line(0, (data & 0x80) ? CLEAR_LINE : ASSERT_LINE);
m_n7751_command = data; m_upd7751_command = data;
} }
uint8_t othello_state::n7751_busy_r() uint8_t othello_state::upd7751_busy_r()
{ {
return m_n7751_busy; return m_upd7751_busy;
} }
uint8_t othello_state::sound_ack_r() uint8_t othello_state::sound_ack_r()
@ -219,7 +219,7 @@ void othello_state::main_portmap(address_map &map)
map(0x86, 0x86).w(FUNC(othello_state::tilebank_w)); map(0x86, 0x86).w(FUNC(othello_state::tilebank_w));
map(0x87, 0x87).r(FUNC(othello_state::unk_87_r)); map(0x87, 0x87).r(FUNC(othello_state::unk_87_r));
map(0x8a, 0x8a).w(FUNC(othello_state::unk_8a_w)); map(0x8a, 0x8a).w(FUNC(othello_state::unk_8a_w));
map(0x8c, 0x8c).rw(FUNC(othello_state::n7751_busy_r), FUNC(othello_state::n7751_command_w)); map(0x8c, 0x8c).rw(FUNC(othello_state::upd7751_busy_r), FUNC(othello_state::upd7751_command_w));
map(0x8d, 0x8d).r(FUNC(othello_state::sound_ack_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write)); map(0x8d, 0x8d).r(FUNC(othello_state::sound_ack_r)).w(m_soundlatch, FUNC(generic_latch_8_device::write));
map(0x8f, 0x8f).w(FUNC(othello_state::unk_8f_w)); map(0x8f, 0x8f).w(FUNC(othello_state::unk_8f_w));
} }
@ -272,7 +272,7 @@ void othello_state::audio_portmap(address_map &map)
} }
template<int Shift> template<int Shift>
void othello_state::n7751_rom_addr_w(uint8_t data) void othello_state::upd7751_rom_addr_w(uint8_t data)
{ {
// P4 - address lines 0-3 // P4 - address lines 0-3
// P5 - address lines 4-7 // P5 - address lines 4-7
@ -280,7 +280,7 @@ void othello_state::n7751_rom_addr_w(uint8_t data)
m_sound_addr = (m_sound_addr & ~(0x00f << Shift)) | ((data & 0x0f) << Shift); m_sound_addr = (m_sound_addr & ~(0x00f << Shift)) | ((data & 0x0f) << Shift);
} }
void othello_state::n7751_rom_select_w(uint8_t data) void othello_state::upd7751_rom_select_w(uint8_t data)
{ {
// P7 - ROM selects // P7 - ROM selects
m_sound_addr &= 0xfff; m_sound_addr &= 0xfff;
@ -291,24 +291,24 @@ void othello_state::n7751_rom_select_w(uint8_t data)
if (!BIT(data, 3)) m_sound_addr |= 0x3000; if (!BIT(data, 3)) m_sound_addr |= 0x3000;
} }
uint8_t othello_state::n7751_rom_r() uint8_t othello_state::upd7751_rom_r()
{ {
return m_n7751_data[m_sound_addr]; return m_upd7751_data[m_sound_addr];
} }
uint8_t othello_state::n7751_command_r() uint8_t othello_state::upd7751_command_r()
{ {
return m_n7751_command << 4 | 0x0f; return m_upd7751_command << 4 | 0x0f;
} }
void othello_state::n7751_p2_w(uint8_t data) void othello_state::upd7751_p2_w(uint8_t data)
{ {
/* write to P2; low 4 bits go to 8243 */ /* write to P2; low 4 bits go to 8243 */
m_i8243->p2_w(data & 0x0f); m_i8243->p2_w(data & 0x0f);
/* output of bit $80 indicates we are ready (1) or busy (0) */ /* output of bit $80 indicates we are ready (1) or busy (0) */
/* no other outputs are used */ /* no other outputs are used */
m_n7751_busy = data & 0x80; m_upd7751_busy = data & 0x80;
} }
static INPUT_PORTS_START( othello ) static INPUT_PORTS_START( othello )
@ -361,9 +361,9 @@ void othello_state::machine_start()
save_item(NAME(m_tile_bank)); save_item(NAME(m_tile_bank));
save_item(NAME(m_ay_select)); save_item(NAME(m_ay_select));
save_item(NAME(m_ack_data)); save_item(NAME(m_ack_data));
save_item(NAME(m_n7751_command)); save_item(NAME(m_upd7751_command));
save_item(NAME(m_sound_addr)); save_item(NAME(m_sound_addr));
save_item(NAME(m_n7751_busy)); save_item(NAME(m_upd7751_busy));
} }
void othello_state::machine_reset() void othello_state::machine_reset()
@ -371,9 +371,9 @@ void othello_state::machine_reset()
m_tile_bank = 0; m_tile_bank = 0;
m_ay_select = 0; m_ay_select = 0;
m_ack_data = 0; m_ack_data = 0;
m_n7751_command = 0; m_upd7751_command = 0;
m_sound_addr = 0; m_sound_addr = 0;
m_n7751_busy = 0; m_upd7751_busy = 0;
} }
void othello_state::othello(machine_config &config) void othello_state::othello(machine_config &config)
@ -388,21 +388,21 @@ void othello_state::othello(machine_config &config)
audiocpu.set_addrmap(AS_PROGRAM, &othello_state::audio_map); audiocpu.set_addrmap(AS_PROGRAM, &othello_state::audio_map);
audiocpu.set_addrmap(AS_IO, &othello_state::audio_portmap); audiocpu.set_addrmap(AS_IO, &othello_state::audio_portmap);
N7751(config, m_n7751, XTAL(6'000'000)); UPD7751(config, m_upd7751, XTAL(6'000'000));
m_n7751->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground m_upd7751->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground
m_n7751->p2_in_cb().set(FUNC(othello_state::n7751_command_r)); m_upd7751->p2_in_cb().set(FUNC(othello_state::upd7751_command_r));
m_n7751->bus_in_cb().set(FUNC(othello_state::n7751_rom_r)); m_upd7751->bus_in_cb().set(FUNC(othello_state::upd7751_rom_r));
m_n7751->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w)); m_upd7751->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
m_n7751->p2_out_cb().set(FUNC(othello_state::n7751_p2_w)); m_upd7751->p2_out_cb().set(FUNC(othello_state::upd7751_p2_w));
m_n7751->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w)); m_upd7751->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w));
config.set_perfect_quantum(m_maincpu); config.set_perfect_quantum(m_maincpu);
I8243(config, m_i8243); I8243(config, m_i8243);
m_i8243->p4_out_cb().set(FUNC(othello_state::n7751_rom_addr_w<0>)); m_i8243->p4_out_cb().set(FUNC(othello_state::upd7751_rom_addr_w<0>));
m_i8243->p5_out_cb().set(FUNC(othello_state::n7751_rom_addr_w<4>)); m_i8243->p5_out_cb().set(FUNC(othello_state::upd7751_rom_addr_w<4>));
m_i8243->p6_out_cb().set(FUNC(othello_state::n7751_rom_addr_w<8>)); m_i8243->p6_out_cb().set(FUNC(othello_state::upd7751_rom_addr_w<8>));
m_i8243->p7_out_cb().set(FUNC(othello_state::n7751_rom_select_w)); m_i8243->p7_out_cb().set(FUNC(othello_state::upd7751_rom_select_w));
/* video hardware */ /* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@ -438,10 +438,10 @@ ROM_START( othello )
ROM_REGION( 0x10000, "audiocpu", 0 ) ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "3.ic32", 0x0000, 0x2000, CRC(2bb4f75d) SHA1(29a659031acf0d50f374f440b8d353bcf98145a0)) ROM_LOAD( "3.ic32", 0x0000, 0x2000, CRC(2bb4f75d) SHA1(29a659031acf0d50f374f440b8d353bcf98145a0))
ROM_REGION( 0x1000, "n7751", 0 ) /* 1k for 7751 onboard ROM */ ROM_REGION( 0x1000, "upd7751", 0 ) /* 1k for 7751 onboard ROM */
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) )
ROM_REGION( 0x4000, "n7751data", 0 ) /* 7751 sound data */ ROM_REGION( 0x4000, "upd7751data", 0 ) /* 7751 sound data */
ROM_LOAD( "1.ic48", 0x0000, 0x2000, CRC(c3807dea) SHA1(d6339380e1239f3e20bcca2fbc673ad72e9ca608)) ROM_LOAD( "1.ic48", 0x0000, 0x2000, CRC(c3807dea) SHA1(d6339380e1239f3e20bcca2fbc673ad72e9ca608))
ROM_LOAD( "2.ic49", 0x2000, 0x2000, CRC(a945f3e7) SHA1(ea18efc18fda63ce1747287bbe2a9704b08daff8)) ROM_LOAD( "2.ic49", 0x2000, 0x2000, CRC(a945f3e7) SHA1(ea18efc18fda63ce1747287bbe2a9704b08daff8))

View File

@ -50,7 +50,7 @@
* G-80 2716 EPROM board * G-80 2716 EPROM board
* Video I board * Video I board
* Monster Bash Background Board * Monster Bash Background Board
* Monster Bash Sound Board (N7751+DAC, TMS3617, discrete) * Monster Bash Sound Board (D7751+DAC, TMS3617, discrete)
It appears that later on in the evolution of the hardware, Sega It appears that later on in the evolution of the hardware, Sega
produced a 2-board version of the hardware which put all the CPU, produced a 2-board version of the hardware which put all the CPU,
@ -58,7 +58,7 @@
Monster Bash (2 board): Monster Bash (2 board):
* G-80 consolidated boardset (315-5006 encrypted Z80) * G-80 consolidated boardset (315-5006 encrypted Z80)
* Monster Bash Sound Board (N7751+DAC, TMS3617, discrete) * Monster Bash Sound Board (D7751+DAC, TMS3617, discrete)
Pig Newton: Pig Newton:
* G-80 consolidated boardset (315-0062 security) * G-80 consolidated boardset (315-0062 security)
@ -909,8 +909,8 @@ void segag80r_state::monsterb(machine_config &config)
i8255_device &ppi(I8255A(config, "ppi8255")); i8255_device &ppi(I8255A(config, "ppi8255"));
ppi.out_pa_callback().set(m_soundbrd, FUNC(monsterb_sound_device::sound_a_w)); ppi.out_pa_callback().set(m_soundbrd, FUNC(monsterb_sound_device::sound_a_w));
ppi.out_pb_callback().set(m_soundbrd, FUNC(monsterb_sound_device::sound_b_w)); ppi.out_pb_callback().set(m_soundbrd, FUNC(monsterb_sound_device::sound_b_w));
ppi.in_pc_callback().set(m_soundbrd, FUNC(monsterb_sound_device::n7751_status_r)); ppi.in_pc_callback().set(m_soundbrd, FUNC(monsterb_sound_device::upd7751_status_r));
ppi.out_pc_callback().set(m_soundbrd, FUNC(monsterb_sound_device::n7751_command_w)); ppi.out_pc_callback().set(m_soundbrd, FUNC(monsterb_sound_device::upd7751_command_w));
/* background board changes */ /* background board changes */
m_gfxdecode->set_info(gfx_monsterb); m_gfxdecode->set_info(gfx_monsterb);
@ -1369,7 +1369,7 @@ ROM_START( monsterb )
ROM_REGION( 0x2000, "gfx2", 0 ) ROM_REGION( 0x2000, "gfx2", 0 )
ROM_LOAD( "1518a.bg-u22", 0x0000, 0x2000, CRC(2d5932fe) SHA1(a9ca239a062e047b307cf3d0740cb6492a55abb4) ) ROM_LOAD( "1518a.bg-u22", 0x0000, 0x2000, CRC(2d5932fe) SHA1(a9ca239a062e047b307cf3d0740cb6492a55abb4) )
ROM_REGION( 0x2000, "soundbrd:n7751", 0 ) ROM_REGION( 0x2000, "soundbrd:upd7751", 0 )
ROM_LOAD( "1543snd.bin", 0x0000, 0x1000, CRC(b525ce8f) SHA1(61e541061a0a579101e52ffa2431540010b9df3e) ) /* U19 */ ROM_LOAD( "1543snd.bin", 0x0000, 0x1000, CRC(b525ce8f) SHA1(61e541061a0a579101e52ffa2431540010b9df3e) ) /* U19 */
ROM_LOAD( "1544snd.bin", 0x1000, 0x1000, CRC(56c79fb0) SHA1(26de83efcc97318220603f83acf4387f6d70d806) ) /* U23 */ ROM_LOAD( "1544snd.bin", 0x1000, 0x1000, CRC(56c79fb0) SHA1(26de83efcc97318220603f83acf4387f6d70d806) ) /* U23 */
@ -1412,7 +1412,7 @@ ROM_START( monsterb2 )
ROM_REGION( 0x2000, "gfx2", 0 ) ROM_REGION( 0x2000, "gfx2", 0 )
ROM_LOAD( "epr-1554.58", 0x0000, 0x2000, CRC(a87937d0) SHA1(cfc2fca52bd74beb2f20ece07e9dd3e3f1038f7c) ) ROM_LOAD( "epr-1554.58", 0x0000, 0x2000, CRC(a87937d0) SHA1(cfc2fca52bd74beb2f20ece07e9dd3e3f1038f7c) )
ROM_REGION( 0x2000, "soundbrd:n7751", 0 ) ROM_REGION( 0x2000, "soundbrd:upd7751", 0 )
ROM_LOAD( "epr-1543.19", 0x0000, 0x1000, CRC(b525ce8f) SHA1(61e541061a0a579101e52ffa2431540010b9df3e) ) ROM_LOAD( "epr-1543.19", 0x0000, 0x1000, CRC(b525ce8f) SHA1(61e541061a0a579101e52ffa2431540010b9df3e) )
ROM_LOAD( "epr-1544.23", 0x1000, 0x1000, CRC(56c79fb0) SHA1(26de83efcc97318220603f83acf4387f6d70d806) ) ROM_LOAD( "epr-1544.23", 0x1000, 0x1000, CRC(56c79fb0) SHA1(26de83efcc97318220603f83acf4387f6d70d806) )
@ -1761,7 +1761,6 @@ GAME( 1981, astrob1, astrob, astrob, astrob, segag80r_state, init_astrob
GAME( 1981, astrobg, astrob, astrob, astrob, segag80r_state, init_astrob, ROT270, "Sega", "Astro Blaster (German)", 0 ) GAME( 1981, astrobg, astrob, astrob, astrob, segag80r_state, init_astrob, ROT270, "Sega", "Astro Blaster (German)", 0 )
GAME( 1981, 005, 0, sega005, 005, segag80r_state, init_005, ROT270, "Sega", "005", MACHINE_IMPERFECT_SOUND ) GAME( 1981, 005, 0, sega005, 005, segag80r_state, init_005, ROT270, "Sega", "005", MACHINE_IMPERFECT_SOUND )
/* basic G-80 system with individual background boards */ /* basic G-80 system with individual background boards */
GAME( 1981, spaceod, 0, spaceod, spaceod, segag80r_state, init_spaceod, ROT270, "Sega", "Space Odyssey (version 2)", MACHINE_IMPERFECT_SOUND ) GAME( 1981, spaceod, 0, spaceod, spaceod, segag80r_state, init_spaceod, ROT270, "Sega", "Space Odyssey (version 2)", MACHINE_IMPERFECT_SOUND )
GAME( 1981, spaceod2, spaceod, spaceod, spaceod, segag80r_state, init_spaceod, ROT270, "Sega", "Space Odyssey (version 1)", MACHINE_IMPERFECT_SOUND ) GAME( 1981, spaceod2, spaceod, spaceod, spaceod, segag80r_state, init_spaceod, ROT270, "Sega", "Space Odyssey (version 1)", MACHINE_IMPERFECT_SOUND )

View File

@ -416,7 +416,7 @@ static const char *const monsterb_sample_names[] =
monsterb_sound_device::monsterb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) monsterb_sound_device::monsterb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, MONSTERB_SOUND, tag, owner, clock) : device_t(mconfig, MONSTERB_SOUND, tag, owner, clock)
, m_audiocpu(*this, "audiocpu") , m_audiocpu(*this, "audiocpu")
, m_audiocpu_region(*this, "n7751") , m_audiocpu_region(*this, "upd7751")
, m_music(*this, "music") , m_music(*this, "music")
, m_samples(*this, "samples") , m_samples(*this, "samples")
, m_i8243(*this, "i8243") , m_i8243(*this, "i8243")
@ -425,8 +425,8 @@ monsterb_sound_device::monsterb_sound_device(const machine_config &mconfig, cons
void monsterb_sound_device::device_start() void monsterb_sound_device::device_start()
{ {
save_item(NAME(m_n7751_command)); save_item(NAME(m_upd7751_command));
save_item(NAME(m_n7751_busy)); save_item(NAME(m_upd7751_busy));
save_item(NAME(m_sound_state)); save_item(NAME(m_sound_state));
save_item(NAME(m_sound_addr)); save_item(NAME(m_sound_addr));
} }
@ -474,17 +474,17 @@ void monsterb_sound_device::sound_b_w(uint8_t data)
/************************************* /*************************************
* *
* N7751 connections * D7751 connections
* *
*************************************/ *************************************/
uint8_t monsterb_sound_device::n7751_status_r() uint8_t monsterb_sound_device::upd7751_status_r()
{ {
return m_n7751_busy << 4; return m_upd7751_busy << 4;
} }
void monsterb_sound_device::n7751_command_w(uint8_t data) void monsterb_sound_device::upd7751_command_w(uint8_t data)
{ {
/* /*
Z80 7751 control port Z80 7751 control port
@ -492,14 +492,14 @@ void monsterb_sound_device::n7751_command_w(uint8_t data)
D0-D2 = connected to 7751 port C D0-D2 = connected to 7751 port C
D3 = /INT line D3 = /INT line
*/ */
m_n7751_command = data & 0x07; m_upd7751_command = data & 0x07;
m_audiocpu->set_input_line(0, ((data & 0x08) == 0) ? ASSERT_LINE : CLEAR_LINE); m_audiocpu->set_input_line(0, ((data & 0x08) == 0) ? ASSERT_LINE : CLEAR_LINE);
machine().scheduler().perfect_quantum(attotime::from_usec(100)); machine().scheduler().perfect_quantum(attotime::from_usec(100));
} }
template<int Shift> template<int Shift>
void monsterb_sound_device::n7751_rom_addr_w(uint8_t data) void monsterb_sound_device::upd7751_rom_addr_w(uint8_t data)
{ {
// P4 - address lines 0-3 // P4 - address lines 0-3
// P5 - address lines 4-7 // P5 - address lines 4-7
@ -508,7 +508,7 @@ void monsterb_sound_device::n7751_rom_addr_w(uint8_t data)
} }
void monsterb_sound_device::n7751_rom_select_w(uint8_t data) void monsterb_sound_device::upd7751_rom_select_w(uint8_t data)
{ {
// P7 - ROM selects // P7 - ROM selects
m_sound_addr &= 0xfff; m_sound_addr &= 0xfff;
@ -521,29 +521,29 @@ void monsterb_sound_device::n7751_rom_select_w(uint8_t data)
} }
uint8_t monsterb_sound_device::n7751_rom_r() uint8_t monsterb_sound_device::upd7751_rom_r()
{ {
/* read from BUS */ /* read from BUS */
return m_audiocpu_region->base()[m_sound_addr]; return m_audiocpu_region->base()[m_sound_addr];
} }
uint8_t monsterb_sound_device::n7751_command_r() uint8_t monsterb_sound_device::upd7751_command_r()
{ {
/* read from P2 - 8255's PC0-2 connects to 7751's S0-2 (P24-P26 on an 8048) */ /* read from P2 - 8255's PC0-2 connects to 7751's S0-2 (P24-P26 on an 8048) */
/* bit 0x80 is an alternate way to control the sample on/off; doesn't appear to be used */ /* bit 0x80 is an alternate way to control the sample on/off; doesn't appear to be used */
return 0x80 | ((m_n7751_command & 0x07) << 4); return 0x80 | ((m_upd7751_command & 0x07) << 4);
} }
void monsterb_sound_device::n7751_p2_w(uint8_t data) void monsterb_sound_device::upd7751_p2_w(uint8_t data)
{ {
/* write to P2; low 4 bits go to 8243 */ /* write to P2; low 4 bits go to 8243 */
m_i8243->p2_w(data & 0x0f); m_i8243->p2_w(data & 0x0f);
/* output of bit $80 indicates we are ready (1) or busy (0) */ /* output of bit $80 indicates we are ready (1) or busy (0) */
/* no other outputs are used */ /* no other outputs are used */
m_n7751_busy = data >> 7; m_upd7751_busy = data >> 7;
} }
@ -557,19 +557,19 @@ void monsterb_sound_device::n7751_p2_w(uint8_t data)
void monsterb_sound_device::device_add_mconfig(machine_config &config) void monsterb_sound_device::device_add_mconfig(machine_config &config)
{ {
/* basic machine hardware */ /* basic machine hardware */
N7751(config, m_audiocpu, 6000000); UPD7751(config, m_audiocpu, 6000000);
m_audiocpu->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground m_audiocpu->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground
m_audiocpu->p2_in_cb().set(FUNC(monsterb_sound_device::n7751_command_r)); m_audiocpu->p2_in_cb().set(FUNC(monsterb_sound_device::upd7751_command_r));
m_audiocpu->bus_in_cb().set(FUNC(monsterb_sound_device::n7751_rom_r)); m_audiocpu->bus_in_cb().set(FUNC(monsterb_sound_device::upd7751_rom_r));
m_audiocpu->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w)); m_audiocpu->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
m_audiocpu->p2_out_cb().set(FUNC(monsterb_sound_device::n7751_p2_w)); m_audiocpu->p2_out_cb().set(FUNC(monsterb_sound_device::upd7751_p2_w));
m_audiocpu->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w)); m_audiocpu->prog_out_cb().set(m_i8243, FUNC(i8243_device::prog_w));
I8243(config, m_i8243); I8243(config, m_i8243);
m_i8243->p4_out_cb().set(FUNC(monsterb_sound_device::n7751_rom_addr_w<0>)); m_i8243->p4_out_cb().set(FUNC(monsterb_sound_device::upd7751_rom_addr_w<0>));
m_i8243->p5_out_cb().set(FUNC(monsterb_sound_device::n7751_rom_addr_w<4>)); m_i8243->p5_out_cb().set(FUNC(monsterb_sound_device::upd7751_rom_addr_w<4>));
m_i8243->p6_out_cb().set(FUNC(monsterb_sound_device::n7751_rom_addr_w<8>)); m_i8243->p6_out_cb().set(FUNC(monsterb_sound_device::upd7751_rom_addr_w<8>));
m_i8243->p7_out_cb().set(FUNC(monsterb_sound_device::n7751_rom_select_w)); m_i8243->p7_out_cb().set(FUNC(monsterb_sound_device::upd7751_rom_select_w));
SAMPLES(config, m_samples); SAMPLES(config, m_samples);
m_samples->set_channels(2); m_samples->set_channels(2);

View File

@ -31,8 +31,8 @@ public:
monsterb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); monsterb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
uint8_t n7751_status_r(); uint8_t upd7751_status_r();
void n7751_command_w(uint8_t data); void upd7751_command_w(uint8_t data);
void sound_a_w(uint8_t data); void sound_a_w(uint8_t data);
void sound_b_w(uint8_t data); void sound_b_w(uint8_t data);
@ -43,14 +43,14 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_add_mconfig(machine_config &config) override; virtual void device_add_mconfig(machine_config &config) override;
uint8_t n7751_command_r(); uint8_t upd7751_command_r();
void n7751_p2_w(uint8_t data); void upd7751_p2_w(uint8_t data);
uint8_t n7751_rom_r(); uint8_t upd7751_rom_r();
template<int Shift> void n7751_rom_addr_w(uint8_t data); template<int Shift> void upd7751_rom_addr_w(uint8_t data);
void n7751_rom_select_w(uint8_t data); void upd7751_rom_select_w(uint8_t data);
required_device<n7751_device> m_audiocpu; required_device<upd7751_device> m_audiocpu;
required_memory_region m_audiocpu_region; required_memory_region m_audiocpu_region;
required_device<tms36xx_device> m_music; required_device<tms36xx_device> m_music;
@ -58,8 +58,8 @@ protected:
required_device<i8243_device> m_i8243; required_device<i8243_device> m_i8243;
uint8_t m_n7751_command; uint8_t m_upd7751_command;
uint8_t m_n7751_busy; uint8_t m_upd7751_busy;
uint8_t m_sound_state[2]; uint8_t m_sound_state[2];
uint16_t m_sound_addr; uint16_t m_sound_addr;
}; };

View File

@ -325,10 +325,10 @@ uint8_t segas16a_state::sound_data_r()
//------------------------------------------------- //-------------------------------------------------
// n7751_command_w - control the N7751 // upd7751_command_w - control the D7751
//------------------------------------------------- //-------------------------------------------------
void segas16a_state::n7751_command_w(uint8_t data) void segas16a_state::upd7751_command_w(uint8_t data)
{ {
// //
// Z80 7751 control port // Z80 7751 control port
@ -340,22 +340,22 @@ void segas16a_state::n7751_command_w(uint8_t data)
// D1 = /CS for ROM 0 // D1 = /CS for ROM 0
// D0 = A14 line to ROMs // D0 = A14 line to ROMs
// //
int numroms = memregion("n7751data")->bytes() / 0x8000; int numroms = memregion("upd7751data")->bytes() / 0x8000;
m_n7751_rom_address &= 0x3fff; m_upd7751_rom_address &= 0x3fff;
m_n7751_rom_address |= (data & 0x01) << 14; m_upd7751_rom_address |= (data & 0x01) << 14;
if (!(data & 0x02) && numroms >= 1) m_n7751_rom_address |= 0x00000; if (!(data & 0x02) && numroms >= 1) m_upd7751_rom_address |= 0x00000;
if (!(data & 0x04) && numroms >= 2) m_n7751_rom_address |= 0x08000; if (!(data & 0x04) && numroms >= 2) m_upd7751_rom_address |= 0x08000;
if (!(data & 0x08) && numroms >= 3) m_n7751_rom_address |= 0x10000; if (!(data & 0x08) && numroms >= 3) m_upd7751_rom_address |= 0x10000;
if (!(data & 0x10) && numroms >= 4) m_n7751_rom_address |= 0x18000; if (!(data & 0x10) && numroms >= 4) m_upd7751_rom_address |= 0x18000;
m_n7751_command = data >> 5; m_upd7751_command = data >> 5;
} }
//------------------------------------------------- //-------------------------------------------------
// n7751_control_w - YM2151 output port callback // upd7751_control_w - YM2151 output port callback
//------------------------------------------------- //-------------------------------------------------
void segas16a_state::n7751_control_w(uint8_t data) void segas16a_state::upd7751_control_w(uint8_t data)
{ {
// //
// YM2151 output port // YM2151 output port
@ -363,18 +363,18 @@ void segas16a_state::n7751_control_w(uint8_t data)
// D1 = /RESET line on 7751 // D1 = /RESET line on 7751
// D0 = /IRQ line on 7751 // D0 = /IRQ line on 7751
// //
m_n7751->set_input_line(INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE); m_upd7751->set_input_line(INPUT_LINE_RESET, (data & 0x01) ? CLEAR_LINE : ASSERT_LINE);
m_n7751->set_input_line(0, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE); m_upd7751->set_input_line(0, (data & 0x02) ? CLEAR_LINE : ASSERT_LINE);
machine().scheduler().perfect_quantum(attotime::from_usec(100)); machine().scheduler().perfect_quantum(attotime::from_usec(100));
} }
//------------------------------------------------- //-------------------------------------------------
// n7751_rom_offset_w - post expander callback // upd7751_rom_offset_w - post expander callback
//------------------------------------------------- //-------------------------------------------------
template<int Shift> template<int Shift>
void segas16a_state::n7751_rom_offset_w(uint8_t data) void segas16a_state::upd7751_rom_offset_w(uint8_t data)
{ {
// P4 - address lines 0-3 // P4 - address lines 0-3
// P5 - address lines 4-7 // P5 - address lines 4-7
@ -382,44 +382,44 @@ void segas16a_state::n7751_rom_offset_w(uint8_t data)
// P7 - address lines 12-13 // P7 - address lines 12-13
int mask = (0xf << Shift) & 0x3fff; int mask = (0xf << Shift) & 0x3fff;
int newdata = (data << Shift) & mask; int newdata = (data << Shift) & mask;
m_n7751_rom_address = (m_n7751_rom_address & ~mask) | newdata; m_upd7751_rom_address = (m_upd7751_rom_address & ~mask) | newdata;
} }
//************************************************************************** //**************************************************************************
// N7751 SOUND GENERATOR CPU READ/WRITE HANDLERS // D7751 SOUND GENERATOR CPU READ/WRITE HANDLERS
//************************************************************************** //**************************************************************************
//------------------------------------------------- //-------------------------------------------------
// n7751_rom_r - MCU reads from BUS // upd7751_rom_r - MCU reads from BUS
//------------------------------------------------- //-------------------------------------------------
uint8_t segas16a_state::n7751_rom_r() uint8_t segas16a_state::upd7751_rom_r()
{ {
// read from BUS // read from BUS
return memregion("n7751data")->base()[m_n7751_rom_address]; return memregion("upd7751data")->base()[m_upd7751_rom_address];
} }
//------------------------------------------------- //-------------------------------------------------
// n7751_p2_r - MCU reads from the P2 lines // upd7751_p2_r - MCU reads from the P2 lines
//------------------------------------------------- //-------------------------------------------------
uint8_t segas16a_state::n7751_p2_r() uint8_t segas16a_state::upd7751_p2_r()
{ {
// read from P2 - 8255's PC0-2 connects to 7751's S0-2 (P24-P26 on an 8048) // read from P2 - 8255's PC0-2 connects to 7751's S0-2 (P24-P26 on an 8048)
// bit 0x80 is an alternate way to control the sample on/off; doesn't appear to be used // bit 0x80 is an alternate way to control the sample on/off; doesn't appear to be used
return 0x80 | ((m_n7751_command & 0x07) << 4) | (m_n7751_i8243->p2_r() & 0x0f); return 0x80 | ((m_upd7751_command & 0x07) << 4) | (m_upd7751_i8243->p2_r() & 0x0f);
} }
//------------------------------------------------- //-------------------------------------------------
// n7751_p2_w - MCU writes to the P2 lines // upd7751_p2_w - MCU writes to the P2 lines
//------------------------------------------------- //-------------------------------------------------
void segas16a_state::n7751_p2_w(uint8_t data) void segas16a_state::upd7751_p2_w(uint8_t data)
{ {
// write to P2; low 4 bits go to 8243 // write to P2; low 4 bits go to 8243
m_n7751_i8243->p2_w(data & 0x0f); m_upd7751_i8243->p2_w(data & 0x0f);
// output of bit $80 indicates we are ready (1) or busy (0) // output of bit $80 indicates we are ready (1) or busy (0)
// no other outputs are used // no other outputs are used
@ -627,8 +627,8 @@ void segas16a_state::machine_reset()
m_i8751_sync_timer->adjust(attotime::zero); m_i8751_sync_timer->adjust(attotime::zero);
m_video_control = 0; m_video_control = 0;
m_mcu_control = 0x00; m_mcu_control = 0x00;
m_n7751_command = 0; m_upd7751_command = 0;
m_n7751_rom_address = 0; m_upd7751_rom_address = 0;
m_last_buttons1 = 0; m_last_buttons1 = 0;
m_last_buttons2 = 0; m_last_buttons2 = 0;
m_read_port = 0; m_read_port = 0;
@ -995,7 +995,7 @@ void segas16a_state::sound_portmap(address_map &map)
map.unmap_value_high(); map.unmap_value_high();
map.global_mask(0xff); map.global_mask(0xff);
map(0x00, 0x01).mirror(0x3e).rw(m_ymsnd, FUNC(ym2151_device::read), FUNC(ym2151_device::write)); map(0x00, 0x01).mirror(0x3e).rw(m_ymsnd, FUNC(ym2151_device::read), FUNC(ym2151_device::write));
map(0x80, 0x80).mirror(0x3f).w(FUNC(segas16a_state::n7751_command_w)); map(0x80, 0x80).mirror(0x3f).w(FUNC(segas16a_state::upd7751_command_w));
map(0xc0, 0xc0).mirror(0x3f).r(FUNC(segas16a_state::sound_data_r)); map(0xc0, 0xc0).mirror(0x3f).r(FUNC(segas16a_state::sound_data_r));
} }
@ -1975,19 +1975,19 @@ void segas16a_state::system16a(machine_config &config)
m_soundcpu->set_addrmap(AS_PROGRAM, &segas16a_state::sound_map); m_soundcpu->set_addrmap(AS_PROGRAM, &segas16a_state::sound_map);
m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_portmap); m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_portmap);
N7751(config, m_n7751, 6000000); UPD7751(config, m_upd7751, 6000000);
m_n7751->bus_in_cb().set(FUNC(segas16a_state::n7751_rom_r)); m_upd7751->bus_in_cb().set(FUNC(segas16a_state::upd7751_rom_r));
m_n7751->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground m_upd7751->t1_in_cb().set_constant(0); // labelled as "TEST", connected to ground
m_n7751->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w)); m_upd7751->p1_out_cb().set("dac", FUNC(dac_byte_interface::data_w));
m_n7751->p2_in_cb().set(FUNC(segas16a_state::n7751_p2_r)); m_upd7751->p2_in_cb().set(FUNC(segas16a_state::upd7751_p2_r));
m_n7751->p2_out_cb().set(FUNC(segas16a_state::n7751_p2_w)); m_upd7751->p2_out_cb().set(FUNC(segas16a_state::upd7751_p2_w));
m_n7751->prog_out_cb().set("n7751_8243", FUNC(i8243_device::prog_w)); m_upd7751->prog_out_cb().set("upd7751_8243", FUNC(i8243_device::prog_w));
I8243(config, m_n7751_i8243); I8243(config, m_upd7751_i8243);
m_n7751_i8243->p4_out_cb().set(FUNC(segas16a_state::n7751_rom_offset_w<0>)); m_upd7751_i8243->p4_out_cb().set(FUNC(segas16a_state::upd7751_rom_offset_w<0>));
m_n7751_i8243->p5_out_cb().set(FUNC(segas16a_state::n7751_rom_offset_w<4>)); m_upd7751_i8243->p5_out_cb().set(FUNC(segas16a_state::upd7751_rom_offset_w<4>));
m_n7751_i8243->p6_out_cb().set(FUNC(segas16a_state::n7751_rom_offset_w<8>)); m_upd7751_i8243->p6_out_cb().set(FUNC(segas16a_state::upd7751_rom_offset_w<8>));
m_n7751_i8243->p7_out_cb().set(FUNC(segas16a_state::n7751_rom_offset_w<12>)); m_upd7751_i8243->p7_out_cb().set(FUNC(segas16a_state::upd7751_rom_offset_w<12>));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -2021,7 +2021,7 @@ void segas16a_state::system16a(machine_config &config)
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
YM2151(config, m_ymsnd, 4000000); YM2151(config, m_ymsnd, 4000000);
m_ymsnd->port_write_handler().set(FUNC(segas16a_state::n7751_control_w)); m_ymsnd->port_write_handler().set(FUNC(segas16a_state::upd7751_control_w));
m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 0.43); m_ymsnd->add_route(ALL_OUTPUTS, "speaker", 0.43);
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.4); // unknown DAC DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.4); // unknown DAC
@ -2079,8 +2079,8 @@ void segas16a_state::system16a_no7751(machine_config &config)
system16a(config); system16a(config);
m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap); m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap);
config.device_remove("n7751"); config.device_remove("upd7751");
config.device_remove("n7751_8243"); config.device_remove("upd7751_8243");
config.device_remove("dac"); config.device_remove("dac");
YM2151(config.replace(), m_ymsnd, 4000000); YM2151(config.replace(), m_ymsnd, 4000000);
@ -2101,7 +2101,7 @@ void segas16a_state::system16a_no7751p(machine_config &config)
void segas16a_state::system16a_i8751_no7751(machine_config &config) void segas16a_state::system16a_i8751_no7751(machine_config &config)
{ {
system16a_i8751(config); system16a_i8751(config);
config.device_remove("n7751"); config.device_remove("upd7751");
config.device_remove("dac"); config.device_remove("dac");
YM2151(config.replace(), "ymsnd", 4000000).add_route(ALL_OUTPUTS, "speaker", 0.5); YM2151(config.replace(), "ymsnd", 4000000).add_route(ALL_OUTPUTS, "speaker", 0.5);
@ -2113,7 +2113,7 @@ void segas16a_state::system16a_fd1089a_no7751(machine_config &config)
system16a_fd1089a(config); system16a_fd1089a(config);
m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap); m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap);
config.device_remove("n7751"); config.device_remove("upd7751");
config.device_remove("dac"); config.device_remove("dac");
YM2151(config.replace(), m_ymsnd, 4000000); YM2151(config.replace(), m_ymsnd, 4000000);
@ -2125,7 +2125,7 @@ void segas16a_state::system16a_fd1089b_no7751(machine_config &config)
system16a_fd1089b(config); system16a_fd1089b(config);
m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap); m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap);
config.device_remove("n7751"); config.device_remove("upd7751");
config.device_remove("dac"); config.device_remove("dac");
YM2151(config.replace(), m_ymsnd, 4000000); YM2151(config.replace(), m_ymsnd, 4000000);
@ -2137,7 +2137,7 @@ void segas16a_state::system16a_fd1094_no7751(machine_config &config)
system16a_fd1094(config); system16a_fd1094(config);
m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap); m_soundcpu->set_addrmap(AS_IO, &segas16a_state::sound_no7751_portmap);
config.device_remove("n7751"); config.device_remove("upd7751");
config.device_remove("dac"); config.device_remove("dac");
YM2151(config.replace(), m_ymsnd, 4000000); YM2151(config.replace(), m_ymsnd, 4000000);
@ -2193,10 +2193,10 @@ ROM_START( aceattaca )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-11578.12", 0x0000, 0x8000, CRC(3d58e39a) SHA1(3e3591ac96903376698cf95d1b1a5f5db590db3c) ) ROM_LOAD( "epr-11578.12", 0x0000, 0x8000, CRC(3d58e39a) SHA1(3e3591ac96903376698cf95d1b1a5f5db590db3c) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-11579.1", 0x00000, 0x8000, CRC(1a994135) SHA1(f42444521a878d32b189876f8854f6363e1b353b) ) ROM_LOAD( "epr-11579.1", 0x00000, 0x8000, CRC(1a994135) SHA1(f42444521a878d32b189876f8854f6363e1b353b) )
ROM_LOAD( "epr-11580.2", 0x08000, 0x8000, CRC(961646ed) SHA1(4c8f87a10ffd7035145dedba86deb373368b0e49) ) ROM_LOAD( "epr-11580.2", 0x08000, 0x8000, CRC(961646ed) SHA1(4c8f87a10ffd7035145dedba86deb373368b0e49) )
ROM_LOAD( "epr-11581.4", 0x10000, 0x8000, CRC(d271a6e5) SHA1(de303f70abfa28e599e5eb0c2b314f43faa1b484) ) ROM_LOAD( "epr-11581.4", 0x10000, 0x8000, CRC(d271a6e5) SHA1(de303f70abfa28e599e5eb0c2b314f43faa1b484) )
@ -2391,10 +2391,10 @@ ROM_START( alexkidd )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10434.12", 0x0000, 0x8000, CRC(77141cce) SHA1(6c5e83527f7e11a5ff5cc4fa75d55618a55e1a58) ) ROM_LOAD( "epr-10434.12", 0x0000, 0x8000, CRC(77141cce) SHA1(6c5e83527f7e11a5ff5cc4fa75d55618a55e1a58) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x10000, "n7751data", 0 ) // 7751 sound data (not used yet) ROM_REGION( 0x10000, "upd7751data", 0 ) // 7751 sound data (not used yet)
ROM_LOAD( "epr-10435.1", 0x0000, 0x8000, CRC(ad89f6e3) SHA1(812a132142065b0fe13b5f0ac534b6d8830ba102) ) ROM_LOAD( "epr-10435.1", 0x0000, 0x8000, CRC(ad89f6e3) SHA1(812a132142065b0fe13b5f0ac534b6d8830ba102) )
ROM_LOAD( "epr-10436.2", 0x8000, 0x8000, CRC(96c76613) SHA1(fe3e4e649fd2cb2453eec0c92015bd54b3b9a1b5) ) ROM_LOAD( "epr-10436.2", 0x8000, 0x8000, CRC(96c76613) SHA1(fe3e4e649fd2cb2453eec0c92015bd54b3b9a1b5) )
ROM_END ROM_END
@ -2428,10 +2428,10 @@ ROM_START( alexkidd1 )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10434.12", 0x0000, 0x8000, CRC(77141cce) SHA1(6c5e83527f7e11a5ff5cc4fa75d55618a55e1a58) ) ROM_LOAD( "epr-10434.12", 0x0000, 0x8000, CRC(77141cce) SHA1(6c5e83527f7e11a5ff5cc4fa75d55618a55e1a58) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x10000, "n7751data", 0 ) // 7751 sound data (not used yet) ROM_REGION( 0x10000, "upd7751data", 0 ) // 7751 sound data (not used yet)
ROM_LOAD( "epr-10435.1", 0x0000, 0x8000, CRC(ad89f6e3) SHA1(812a132142065b0fe13b5f0ac534b6d8830ba102) ) ROM_LOAD( "epr-10435.1", 0x0000, 0x8000, CRC(ad89f6e3) SHA1(812a132142065b0fe13b5f0ac534b6d8830ba102) )
ROM_LOAD( "epr-10436.2", 0x8000, 0x8000, CRC(96c76613) SHA1(fe3e4e649fd2cb2453eec0c92015bd54b3b9a1b5) ) ROM_LOAD( "epr-10436.2", 0x8000, 0x8000, CRC(96c76613) SHA1(fe3e4e649fd2cb2453eec0c92015bd54b3b9a1b5) )
@ -2481,10 +2481,10 @@ ROM_START( aliensyn5 )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10705.12", 0x00000, 0x8000, CRC(777b749e) SHA1(086b03100064a98228f95db7962b2671121c46ea) ) ROM_LOAD( "epr-10705.12", 0x00000, 0x8000, CRC(777b749e) SHA1(086b03100064a98228f95db7962b2671121c46ea) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x18000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x18000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-10706.1", 0x00000, 0x8000, CRC(aa114acc) SHA1(81a2b3586ae90bc7fc55b82478ffe182ac49983e) ) ROM_LOAD( "epr-10706.1", 0x00000, 0x8000, CRC(aa114acc) SHA1(81a2b3586ae90bc7fc55b82478ffe182ac49983e) )
ROM_LOAD( "epr-10707.2", 0x08000, 0x8000, CRC(800c1d82) SHA1(aac4123bd35f87da09264649f4cf8326b2ba3cb8) ) ROM_LOAD( "epr-10707.2", 0x08000, 0x8000, CRC(800c1d82) SHA1(aac4123bd35f87da09264649f4cf8326b2ba3cb8) )
ROM_LOAD( "epr-10708.4", 0x10000, 0x8000, CRC(5921ef52) SHA1(eff9978361692e6e60a9c6caf5740dd6182cfe4a) ) ROM_LOAD( "epr-10708.4", 0x10000, 0x8000, CRC(5921ef52) SHA1(eff9978361692e6e60a9c6caf5740dd6182cfe4a) )
@ -2532,10 +2532,10 @@ ROM_START( aliensyn2 )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10705.b1", 0x00000, 0x8000, CRC(777b749e) SHA1(086b03100064a98228f95db7962b2671121c46ea) ) ROM_LOAD( "epr-10705.b1", 0x00000, 0x8000, CRC(777b749e) SHA1(086b03100064a98228f95db7962b2671121c46ea) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x18000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x18000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-10706.c1", 0x00000, 0x8000, CRC(aa114acc) SHA1(81a2b3586ae90bc7fc55b82478ffe182ac49983e) ) ROM_LOAD( "epr-10706.c1", 0x00000, 0x8000, CRC(aa114acc) SHA1(81a2b3586ae90bc7fc55b82478ffe182ac49983e) )
ROM_LOAD( "epr-10707.c2", 0x08000, 0x8000, CRC(800c1d82) SHA1(aac4123bd35f87da09264649f4cf8326b2ba3cb8) ) ROM_LOAD( "epr-10707.c2", 0x08000, 0x8000, CRC(800c1d82) SHA1(aac4123bd35f87da09264649f4cf8326b2ba3cb8) )
ROM_LOAD( "epr-10708.c3", 0x10000, 0x8000, CRC(5921ef52) SHA1(eff9978361692e6e60a9c6caf5740dd6182cfe4a) ) ROM_LOAD( "epr-10708.c3", 0x10000, 0x8000, CRC(5921ef52) SHA1(eff9978361692e6e60a9c6caf5740dd6182cfe4a) )
@ -2583,10 +2583,10 @@ ROM_START( aliensynjo )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10705.12", 0x00000, 0x8000, CRC(777b749e) SHA1(086b03100064a98228f95db7962b2671121c46ea) ) ROM_LOAD( "epr-10705.12", 0x00000, 0x8000, CRC(777b749e) SHA1(086b03100064a98228f95db7962b2671121c46ea) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x18000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x18000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-10706.1", 0x00000, 0x8000, CRC(aa114acc) SHA1(81a2b3586ae90bc7fc55b82478ffe182ac49983e) ) ROM_LOAD( "epr-10706.1", 0x00000, 0x8000, CRC(aa114acc) SHA1(81a2b3586ae90bc7fc55b82478ffe182ac49983e) )
ROM_LOAD( "epr-10707.2", 0x08000, 0x8000, CRC(800c1d82) SHA1(aac4123bd35f87da09264649f4cf8326b2ba3cb8) ) ROM_LOAD( "epr-10707.2", 0x08000, 0x8000, CRC(800c1d82) SHA1(aac4123bd35f87da09264649f4cf8326b2ba3cb8) )
ROM_LOAD( "epr-10708.4", 0x10000, 0x8000, CRC(5921ef52) SHA1(eff9978361692e6e60a9c6caf5740dd6182cfe4a) ) ROM_LOAD( "epr-10708.4", 0x10000, 0x8000, CRC(5921ef52) SHA1(eff9978361692e6e60a9c6caf5740dd6182cfe4a) )
@ -2632,10 +2632,10 @@ ROM_START( bodyslam )
ROM_REGION( 0x30000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x30000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10026.b1", 0x00000, 0x8000, CRC(123b69b8) SHA1(c0614a8c822991e257f7218908247df278056de8) ) ROM_LOAD( "epr-10026.b1", 0x00000, 0x8000, CRC(123b69b8) SHA1(c0614a8c822991e257f7218908247df278056de8) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-10029.c1", 0x00000, 0x8000, CRC(7e4aca83) SHA1(703486b96d493941ee87267e8363220a851f008e) ) ROM_LOAD( "epr-10029.c1", 0x00000, 0x8000, CRC(7e4aca83) SHA1(703486b96d493941ee87267e8363220a851f008e) )
ROM_LOAD( "epr-10030.c2", 0x08000, 0x8000, CRC(dcc1df0b) SHA1(a82a557fa48f4b3e1ab38f61b84d749cd417e80f) ) ROM_LOAD( "epr-10030.c2", 0x08000, 0x8000, CRC(dcc1df0b) SHA1(a82a557fa48f4b3e1ab38f61b84d749cd417e80f) )
ROM_LOAD( "epr-10031.c3", 0x10000, 0x8000, CRC(ea3c4472) SHA1(ad8eac2d3d14fd6aba713f4d624861c17aabf757) ) ROM_LOAD( "epr-10031.c3", 0x10000, 0x8000, CRC(ea3c4472) SHA1(ad8eac2d3d14fd6aba713f4d624861c17aabf757) )
@ -2677,10 +2677,10 @@ ROM_START( dumpmtmt )
ROM_REGION( 0x30000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x30000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-7710a.b1", 0x00000, 0x8000, CRC(a19b8ba8) SHA1(21b628d4ecbe38a6d96a39ca4252ff1cb728343f) ) ROM_LOAD( "epr-7710a.b1", 0x00000, 0x8000, CRC(a19b8ba8) SHA1(21b628d4ecbe38a6d96a39ca4252ff1cb728343f) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-7711.c1", 0x00000, 0x8000, CRC(efa9aabd) SHA1(b0928313b98159b95f3a6784c6279924774b9253) ) ROM_LOAD( "epr-7711.c1", 0x00000, 0x8000, CRC(efa9aabd) SHA1(b0928313b98159b95f3a6784c6279924774b9253) )
ROM_LOAD( "epr-7712.c2", 0x08000, 0x8000, CRC(7bcd85cf) SHA1(9acba6998327e1074d7311a9b6d06da9baf69aa0) ) ROM_LOAD( "epr-7712.c2", 0x08000, 0x8000, CRC(7bcd85cf) SHA1(9acba6998327e1074d7311a9b6d06da9baf69aa0) )
ROM_LOAD( "epr-7713.c3", 0x10000, 0x8000, CRC(33f292e7) SHA1(4358cd3922a0dcbf109d2d697c7b8c4e090c3d52) ) ROM_LOAD( "epr-7713.c3", 0x10000, 0x8000, CRC(33f292e7) SHA1(4358cd3922a0dcbf109d2d697c7b8c4e090c3d52) )
@ -2884,10 +2884,10 @@ ROM_START( mjleague )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-7054c.1b", 0x00000, 0x8000, CRC(4443b744) SHA1(73359a6e9d62b382dee47fea31b9e17eb26a0321) ) ROM_LOAD( "epr-7054c.1b", 0x00000, 0x8000, CRC(4443b744) SHA1(73359a6e9d62b382dee47fea31b9e17eb26a0321) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-7063.1a", 0x00000, 0x8000, CRC(45d8908a) SHA1(e61f81f953c1a744ded36fed3b55774e4747af29) ) ROM_LOAD( "epr-7063.1a", 0x00000, 0x8000, CRC(45d8908a) SHA1(e61f81f953c1a744ded36fed3b55774e4747af29) )
ROM_LOAD( "epr-7065.2a", 0x08000, 0x8000, CRC(8c8f8cff) SHA1(fca5a916a8b25800ee5e8771e2ced0ed9bd737f4) ) ROM_LOAD( "epr-7065.2a", 0x08000, 0x8000, CRC(8c8f8cff) SHA1(fca5a916a8b25800ee5e8771e2ced0ed9bd737f4) )
ROM_LOAD( "epr-7064.3a", 0x10000, 0x8000, CRC(159f6636) SHA1(66fa3f3e95a6ef3d3ff4ded09c05ab1131d9fbbb) ) ROM_LOAD( "epr-7064.3a", 0x10000, 0x8000, CRC(159f6636) SHA1(66fa3f3e95a6ef3d3ff4ded09c05ab1131d9fbbb) )
@ -2931,10 +2931,10 @@ ROM_START( passsht16a )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-11837.12", 0x0000, 0x8000, CRC(74d11552) SHA1(5a0f0c3fb858ed2bad8002fce4e29d730f102bcd) ) ROM_LOAD( "epr-11837.12", 0x0000, 0x8000, CRC(74d11552) SHA1(5a0f0c3fb858ed2bad8002fce4e29d730f102bcd) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-11838.1", 0x00000, 0x8000, CRC(a465cd69) SHA1(25da3809824fb3df1f93bbfa88355a7c50e44211) ) ROM_LOAD( "epr-11838.1", 0x00000, 0x8000, CRC(a465cd69) SHA1(25da3809824fb3df1f93bbfa88355a7c50e44211) )
ROM_LOAD( "epr-11839.2", 0x08000, 0x8000, CRC(99de6197) SHA1(f7de6a34fa185754c12276a94b1513234d352f3f) ) ROM_LOAD( "epr-11839.2", 0x08000, 0x8000, CRC(99de6197) SHA1(f7de6a34fa185754c12276a94b1513234d352f3f) )
ROM_LOAD( "epr-11840.4", 0x10000, 0x8000, CRC(9854e8b3) SHA1(bc9d8a17ff96cf03f9a955223c11d9f1fb0309c5) ) ROM_LOAD( "epr-11840.4", 0x10000, 0x8000, CRC(9854e8b3) SHA1(bc9d8a17ff96cf03f9a955223c11d9f1fb0309c5) )
@ -2981,10 +2981,10 @@ ROM_START( quartet )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) ) ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) ) ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) )
ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) ) ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) )
ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) ) ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) )
@ -3036,10 +3036,10 @@ ROM_START( quarteta )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) ) ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) ) ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) )
ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) ) ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) )
ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) ) ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) )
@ -3094,10 +3094,10 @@ ROM_START( quartet2 )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) ) ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) ) ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) )
ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) ) ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) )
ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) ) ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) )
@ -3138,10 +3138,10 @@ ROM_START( quartet2a )
ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) ) ROM_LOAD( "epr-7464.1b", 0x0000, 0x8000, CRC(9f291306) SHA1(96a09542a863ccf2ded43e2df6f913722b3f97b1) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) ) ROM_LOAD( "epr-7473.1c", 0x00000, 0x8000, CRC(06ec75fa) SHA1(5f14bc887449122700c46ad22c0379a1682e0bdb) )
ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) ) ROM_LOAD( "epr-7475.2c", 0x08000, 0x8000, CRC(7abd1206) SHA1(54d52dc0b9c245cd2df647e714310a71b803cbcf) )
ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) ) ROM_LOAD( "epr-7474.3c", 0x10000, 0x8000, CRC(dbf853b8) SHA1(e82f497e1144f23f3233b5c45ef182bfc7923715) )
@ -3271,10 +3271,10 @@ ROM_START( shinobi )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-11267.12", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) ) ROM_LOAD( "epr-11267.12", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x08000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x08000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-11268.1", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) ) ROM_LOAD( "epr-11268.1", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) )
ROM_END ROM_END
@ -3317,10 +3317,10 @@ ROM_START( shinobls )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "b8", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) ) ROM_LOAD( "b8", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x08000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x08000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "b9", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) ) ROM_LOAD( "b9", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) )
ROM_END ROM_END
@ -3365,11 +3365,11 @@ ROM_START( shinoblb )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "1.5s", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) ) ROM_LOAD( "1.5s", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) )
// these 2 n7751 ROMs weren't present in this set, it's possible it didn't have them // these 2 7751 ROMs weren't present in this set, it's possible it didn't have them
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x08000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x08000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "b9", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) ) ROM_LOAD( "b9", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) )
ROM_REGION( 0x08000, "samples", 0 ) ROM_REGION( 0x08000, "samples", 0 )
@ -3419,10 +3419,10 @@ ROM_START( shinobi1 )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-11267.12", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) ) ROM_LOAD( "epr-11267.12", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x08000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x08000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-11268.1", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) ) ROM_LOAD( "epr-11268.1", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) )
ROM_END ROM_END
@ -3459,10 +3459,10 @@ ROM_START( shinobi1d )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-11267.12", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) ) ROM_LOAD( "epr-11267.12", 0x0000, 0x8000, CRC(dd50b745) SHA1(52e1977569d3713ad864d607170c9a61cd059a65) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x08000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x08000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-11268.1", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) ) ROM_LOAD( "epr-11268.1", 0x0000, 0x8000, CRC(6d7966da) SHA1(90f55a99f784c21d7c135e630f4e8b1d4d043d66) )
ROM_END ROM_END
@ -3518,10 +3518,10 @@ ROM_START( sjryuko1 )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-12227.12", 0x0000, 0x8000, CRC(5b12409d) SHA1(b25d6fa004461426f6358ab70fd071239c78e949) ) ROM_LOAD( "epr-12227.12", 0x0000, 0x8000, CRC(5b12409d) SHA1(b25d6fa004461426f6358ab70fd071239c78e949) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x20000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x20000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-12228.1", 0x00000, 0x8000, CRC(6b2e6aef) SHA1(64ae6ec327c32cdb877a493ebfe11af15e2388ac) ) ROM_LOAD( "epr-12228.1", 0x00000, 0x8000, CRC(6b2e6aef) SHA1(64ae6ec327c32cdb877a493ebfe11af15e2388ac) )
ROM_LOAD( "epr-12229.2", 0x08000, 0x8000, CRC(b7aa015c) SHA1(0ef023f73722e27180c271b207a5097220f40b5e) ) ROM_LOAD( "epr-12229.2", 0x08000, 0x8000, CRC(b7aa015c) SHA1(0ef023f73722e27180c271b207a5097220f40b5e) )
ROM_LOAD( "epr-12230.4", 0x10000, 0x8000, CRC(d0f61fd4) SHA1(e6f29459d7395122f26957f56e38926aebd9004c) ) ROM_LOAD( "epr-12230.4", 0x10000, 0x8000, CRC(d0f61fd4) SHA1(e6f29459d7395122f26957f56e38926aebd9004c) )
@ -3726,10 +3726,10 @@ ROM_START( timescan1 )
ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU ROM_REGION( 0x20000, "soundcpu", 0 ) // sound CPU
ROM_LOAD( "epr-10546.12", 0x0000, 0x8000, CRC(1ebee5cc) SHA1(5e24ee25e770068a1292e657307cf53f6a8ae1c9) ) ROM_LOAD( "epr-10546.12", 0x0000, 0x8000, CRC(1ebee5cc) SHA1(5e24ee25e770068a1292e657307cf53f6a8ae1c9) )
ROM_REGION( 0x1000, "n7751", 0 ) // 4k for 7751 onboard ROM ROM_REGION( 0x1000, "upd7751", 0 ) // 4k for 7751 onboard ROM
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34 ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) // 7751 - U34
ROM_REGION( 0x08000, "n7751data", 0 ) // 7751 sound data ROM_REGION( 0x08000, "upd7751data", 0 ) // 7751 sound data
ROM_LOAD( "epr-10547.1", 0x0000, 0x8000, CRC(d24ffc4b) SHA1(3b250e1f026664f7a37f65d1c1a07381e88f11e8) ) ROM_LOAD( "epr-10547.1", 0x0000, 0x8000, CRC(d24ffc4b) SHA1(3b250e1f026664f7a37f65d1c1a07381e88f11e8) )
ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key ROM_REGION( 0x2000, "maincpu:key", 0 ) // decryption key
@ -3910,8 +3910,8 @@ void segas16a_state::init_generic()
// save state // save state
save_item(NAME(m_video_control)); save_item(NAME(m_video_control));
save_item(NAME(m_mcu_control)); save_item(NAME(m_mcu_control));
save_item(NAME(m_n7751_command)); save_item(NAME(m_upd7751_command));
save_item(NAME(m_n7751_rom_address)); save_item(NAME(m_upd7751_rom_address));
save_item(NAME(m_last_buttons1)); save_item(NAME(m_last_buttons1));
save_item(NAME(m_last_buttons2)); save_item(NAME(m_last_buttons2));
save_item(NAME(m_read_port)); save_item(NAME(m_read_port));

View File

@ -35,8 +35,8 @@ public:
, m_mcu(*this, "mcu") , m_mcu(*this, "mcu")
, m_i8255(*this, "i8255") , m_i8255(*this, "i8255")
, m_ymsnd(*this, "ymsnd") , m_ymsnd(*this, "ymsnd")
, m_n7751(*this, "n7751") , m_upd7751(*this, "upd7751")
, m_n7751_i8243(*this, "n7751_8243") , m_upd7751_i8243(*this, "upd7751_8243")
, m_nvram(*this, "nvram") , m_nvram(*this, "nvram")
, m_watchdog(*this, "watchdog") , m_watchdog(*this, "watchdog")
, m_segaic16vid(*this, "segaic16vid") , m_segaic16vid(*this, "segaic16vid")
@ -50,8 +50,8 @@ public:
, m_custom_io_w(*this) , m_custom_io_w(*this)
, m_video_control(0) , m_video_control(0)
, m_mcu_control(0) , m_mcu_control(0)
, m_n7751_command(0) , m_upd7751_command(0)
, m_n7751_rom_address(0) , m_upd7751_rom_address(0)
, m_last_buttons1(0) , m_last_buttons1(0)
, m_last_buttons2(0) , m_last_buttons2(0)
, m_read_port(0) , m_read_port(0)
@ -95,14 +95,14 @@ private:
// Z80 sound CPU read/write handlers // Z80 sound CPU read/write handlers
uint8_t sound_data_r(); uint8_t sound_data_r();
void n7751_command_w(uint8_t data); void upd7751_command_w(uint8_t data);
void n7751_control_w(uint8_t data); void upd7751_control_w(uint8_t data);
template<int Shift> void n7751_rom_offset_w(uint8_t data); template<int Shift> void upd7751_rom_offset_w(uint8_t data);
// N7751 sound generator CPU read/write handlers // D7751 sound generator CPU read/write handlers
uint8_t n7751_rom_r(); uint8_t upd7751_rom_r();
uint8_t n7751_p2_r(); uint8_t upd7751_p2_r();
void n7751_p2_w(uint8_t data); void upd7751_p2_w(uint8_t data);
// I8751 MCU read/write handlers // I8751 MCU read/write handlers
void mcu_control_w(uint8_t data); void mcu_control_w(uint8_t data);
@ -154,8 +154,8 @@ private:
optional_device<i8751_device> m_mcu; optional_device<i8751_device> m_mcu;
required_device<i8255_device> m_i8255; required_device<i8255_device> m_i8255;
required_device<ym2151_device> m_ymsnd; required_device<ym2151_device> m_ymsnd;
optional_device<n7751_device> m_n7751; optional_device<upd7751_device> m_upd7751;
optional_device<i8243_device> m_n7751_i8243; optional_device<i8243_device> m_upd7751_i8243;
required_device<nvram_device> m_nvram; required_device<nvram_device> m_nvram;
required_device<watchdog_timer_device> m_watchdog; required_device<watchdog_timer_device> m_watchdog;
required_device<segaic16_video_device> m_segaic16vid; required_device<segaic16_video_device> m_segaic16vid;
@ -178,8 +178,8 @@ private:
emu_timer * m_i8751_sync_timer; emu_timer * m_i8751_sync_timer;
uint8_t m_video_control; uint8_t m_video_control;
uint8_t m_mcu_control; uint8_t m_mcu_control;
uint8_t m_n7751_command; uint8_t m_upd7751_command;
uint32_t m_n7751_rom_address; uint32_t m_upd7751_rom_address;
uint8_t m_last_buttons1; uint8_t m_last_buttons1;
uint8_t m_last_buttons2; uint8_t m_last_buttons2;
uint8_t m_read_port; uint8_t m_read_port;