mirror of
https://github.com/holub/mame
synced 2025-04-21 07:52:35 +03:00
segag80r: Eliminated machine().device and also split monsterb sound board into a proper device, nw
This commit is contained in:
parent
e6b5ea8b95
commit
0a455b0eff
@ -3282,6 +3282,7 @@ files {
|
||||
MAME_DIR .. "src/mame/machine/segag80.cpp",
|
||||
MAME_DIR .. "src/mame/machine/segag80.h",
|
||||
MAME_DIR .. "src/mame/audio/segag80r.cpp",
|
||||
MAME_DIR .. "src/mame/audio/segag80r.h",
|
||||
MAME_DIR .. "src/mame/video/segag80r.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/segag80v.cpp",
|
||||
MAME_DIR .. "src/mame/includes/segag80v.h",
|
||||
|
@ -12,14 +12,11 @@
|
||||
#include "emu.h"
|
||||
#include "includes/segag80r.h"
|
||||
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/i8243.h"
|
||||
#include "sound/samples.h"
|
||||
#include "sound/tms36xx.h"
|
||||
#include "audio/segag80r.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/volt_reg.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -662,6 +659,7 @@ WRITE8_MEMBER(segag80r_state::spaceod_sound_w)
|
||||
Port C connects to a NEC7751 (8048 CPU derivative) to control four "samples".
|
||||
*/
|
||||
|
||||
DEFINE_DEVICE_TYPE(MONSTERB_SOUND, monsterb_sound_device, "monsterb_sound", "Monster Bash Sound Board")
|
||||
|
||||
static const char *const monsterb_sample_names[] =
|
||||
{
|
||||
@ -671,6 +669,23 @@ static const char *const monsterb_sample_names[] =
|
||||
nullptr
|
||||
};
|
||||
|
||||
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)
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_audiocpu_region(*this, "n7751")
|
||||
, m_music(*this, "music")
|
||||
, m_samples(*this, "samples")
|
||||
, m_i8243(*this, "i8243")
|
||||
{
|
||||
}
|
||||
|
||||
void monsterb_sound_device::device_start()
|
||||
{
|
||||
save_item(NAME(m_n7751_command));
|
||||
save_item(NAME(m_n7751_busy));
|
||||
save_item(NAME(m_sound_state));
|
||||
save_item(NAME(m_sound_addr));
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -678,32 +693,26 @@ static const char *const monsterb_sample_names[] =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(segag80r_state::monsterb_sound_board)
|
||||
MCFG_DEVICE_ADD("ppi8255", I8255A, 0)
|
||||
MCFG_I8255_OUT_PORTA_CB(WRITE8(*this, segag80r_state, monsterb_sound_a_w))
|
||||
MCFG_I8255_OUT_PORTB_CB(WRITE8(*this, segag80r_state, monsterb_sound_b_w))
|
||||
MCFG_I8255_IN_PORTC_CB(READ8(*this, segag80r_state, n7751_status_r))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(*this, segag80r_state, n7751_command_w))
|
||||
|
||||
MACHINE_CONFIG_START(monsterb_sound_device::device_add_mconfig)
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("audiocpu", N7751, 6000000)
|
||||
MCFG_DEVICE_ADD(m_audiocpu, N7751, 6000000)
|
||||
MCFG_MCS48_PORT_T1_IN_CB(GND) // labelled as "TEST", connected to ground
|
||||
MCFG_MCS48_PORT_P2_IN_CB(READ8(*this, segag80r_state, n7751_command_r))
|
||||
MCFG_MCS48_PORT_BUS_IN_CB(READ8(*this, segag80r_state, n7751_rom_r))
|
||||
MCFG_MCS48_PORT_P2_IN_CB(READ8(*this, monsterb_sound_device, n7751_command_r))
|
||||
MCFG_MCS48_PORT_BUS_IN_CB(READ8(*this, monsterb_sound_device, n7751_rom_r))
|
||||
MCFG_MCS48_PORT_P1_OUT_CB(WRITE8("dac", dac_byte_interface, write))
|
||||
MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(*this, segag80r_state, n7751_p2_w))
|
||||
MCFG_MCS48_PORT_PROG_OUT_CB(WRITELINE("audio_8243", i8243_device, prog_w))
|
||||
MCFG_MCS48_PORT_P2_OUT_CB(WRITE8(*this, monsterb_sound_device, n7751_p2_w))
|
||||
MCFG_MCS48_PORT_PROG_OUT_CB(WRITELINE(m_i8243, i8243_device, prog_w))
|
||||
|
||||
MCFG_I8243_ADD("audio_8243", NOOP, WRITE8(*this, segag80r_state,n7751_rom_control_w))
|
||||
MCFG_DEVICE_ADD(m_i8243, I8243, 0)
|
||||
MCFG_I8243_READHANDLER(NOOP)
|
||||
MCFG_I8243_WRITEHANDLER(WRITE8(*this, monsterb_sound_device, n7751_rom_control_w))
|
||||
|
||||
/* sound hardware */
|
||||
|
||||
MCFG_DEVICE_ADD("samples", SAMPLES)
|
||||
MCFG_DEVICE_ADD(m_samples, SAMPLES)
|
||||
MCFG_SAMPLES_CHANNELS(2)
|
||||
MCFG_SAMPLES_NAMES(monsterb_sample_names)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
|
||||
|
||||
MCFG_TMS36XX_ADD("music", 247)
|
||||
MCFG_TMS36XX_ADD(m_music, 247)
|
||||
MCFG_TMS36XX_TYPE(TMS3617)
|
||||
MCFG_TMS36XX_DECAY_TIMES(0.5, 0.5, 0.5, 0.5, 0.5, 0.5)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5)
|
||||
@ -711,6 +720,8 @@ MACHINE_CONFIG_START(segag80r_state::monsterb_sound_board)
|
||||
MCFG_DEVICE_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.5) // 50K (R91-97)/100K (R98-106) ladder network
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -720,17 +731,14 @@ MACHINE_CONFIG_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
WRITE8_MEMBER(segag80r_state::monsterb_sound_a_w)
|
||||
WRITE8_MEMBER(monsterb_sound_device::sound_a_w)
|
||||
{
|
||||
tms36xx_device *tms = machine().device<tms36xx_device>("music");
|
||||
int enable_val;
|
||||
|
||||
/* Lower four data lines get decoded into 13 control lines */
|
||||
tms->tms36xx_note_w(0, data & 15);
|
||||
m_music->tms36xx_note_w(0, data & 15);
|
||||
|
||||
/* Top four data lines address an 82S123 ROM that enables/disables voices */
|
||||
enable_val = machine().root_device().memregion("prom")->base()[(data & 0xF0) >> 4];
|
||||
tms->tms3617_enable_w(enable_val >> 2);
|
||||
int enable_val = machine().root_device().memregion("prom")->base()[(data & 0xF0) >> 4];
|
||||
m_music->tms3617_enable_w(enable_val >> 2);
|
||||
}
|
||||
|
||||
|
||||
@ -741,7 +749,7 @@ WRITE8_MEMBER(segag80r_state::monsterb_sound_a_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
WRITE8_MEMBER(segag80r_state::monsterb_sound_b_w)
|
||||
WRITE8_MEMBER(monsterb_sound_device::sound_b_w)
|
||||
{
|
||||
uint8_t diff = data ^ m_sound_state[1];
|
||||
m_sound_state[1] = data;
|
||||
@ -763,13 +771,13 @@ WRITE8_MEMBER(segag80r_state::monsterb_sound_b_w)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
READ8_MEMBER(segag80r_state::n7751_status_r)
|
||||
READ8_MEMBER(monsterb_sound_device::n7751_status_r)
|
||||
{
|
||||
return m_n7751_busy << 4;
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(segag80r_state::n7751_command_w)
|
||||
WRITE8_MEMBER(monsterb_sound_device::n7751_command_w)
|
||||
{
|
||||
/*
|
||||
Z80 7751 control port
|
||||
@ -783,7 +791,7 @@ WRITE8_MEMBER(segag80r_state::n7751_command_w)
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(segag80r_state::n7751_rom_control_w)
|
||||
WRITE8_MEMBER(monsterb_sound_device::n7751_rom_control_w)
|
||||
{
|
||||
/* P4 - address lines 0-3 */
|
||||
/* P5 - address lines 4-7 */
|
||||
@ -806,7 +814,7 @@ WRITE8_MEMBER(segag80r_state::n7751_rom_control_w)
|
||||
case 3:
|
||||
m_sound_addr &= 0xfff;
|
||||
{
|
||||
int numroms = memregion("n7751")->bytes() / 0x1000;
|
||||
int numroms = m_audiocpu_region->bytes() / 0x1000;
|
||||
if (!(data & 0x01) && numroms >= 1) m_sound_addr |= 0x0000;
|
||||
if (!(data & 0x02) && numroms >= 2) m_sound_addr |= 0x1000;
|
||||
if (!(data & 0x04) && numroms >= 3) m_sound_addr |= 0x2000;
|
||||
@ -817,14 +825,14 @@ WRITE8_MEMBER(segag80r_state::n7751_rom_control_w)
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER(segag80r_state::n7751_rom_r)
|
||||
READ8_MEMBER(monsterb_sound_device::n7751_rom_r)
|
||||
{
|
||||
/* read from BUS */
|
||||
return memregion("n7751")->base()[m_sound_addr];
|
||||
return m_audiocpu_region->base()[m_sound_addr];
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER(segag80r_state::n7751_command_r)
|
||||
READ8_MEMBER(monsterb_sound_device::n7751_command_r)
|
||||
{
|
||||
/* 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 */
|
||||
@ -832,11 +840,10 @@ READ8_MEMBER(segag80r_state::n7751_command_r)
|
||||
}
|
||||
|
||||
|
||||
WRITE8_MEMBER(segag80r_state::n7751_p2_w)
|
||||
WRITE8_MEMBER(monsterb_sound_device::n7751_p2_w)
|
||||
{
|
||||
i8243_device *device = machine().device<i8243_device>("audio_8243");
|
||||
/* write to P2; low 4 bits go to 8243 */
|
||||
device->p2_w(space, offset, data & 0x0f);
|
||||
m_i8243->p2_w(space, offset, data & 0x0f);
|
||||
|
||||
/* output of bit $80 indicates we are ready (1) or busy (0) */
|
||||
/* no other outputs are used */
|
||||
|
68
src/mame/audio/segag80r.h
Normal file
68
src/mame/audio/segag80r.h
Normal file
@ -0,0 +1,68 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Aaron Giles
|
||||
/***************************************************************************
|
||||
|
||||
Sega G-80 raster hardware
|
||||
|
||||
Across these games, there's a mixture of discrete sound circuitry,
|
||||
speech boards, ADPCM samples, and a TMS3617 music chip.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAME_AUDIO_SEGAG80R
|
||||
#define MAME_AUDIO_SEGAG80R
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
#include "machine/i8243.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "sound/samples.h"
|
||||
#include "sound/tms36xx.h"
|
||||
|
||||
class monsterb_sound_device : public device_t
|
||||
{
|
||||
public:
|
||||
template <typename T> monsterb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &®ion_tag)
|
||||
: monsterb_sound_device(mconfig, tag, owner, clock)
|
||||
{
|
||||
m_audiocpu_region.set_tag(std::forward<T>(region_tag));
|
||||
}
|
||||
|
||||
monsterb_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
DECLARE_READ8_MEMBER(n7751_status_r);
|
||||
DECLARE_WRITE8_MEMBER(n7751_command_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(sound_a_w);
|
||||
DECLARE_WRITE8_MEMBER(sound_b_w);
|
||||
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
DECLARE_READ8_MEMBER(n7751_command_r);
|
||||
DECLARE_WRITE8_MEMBER(n7751_p2_w);
|
||||
|
||||
DECLARE_READ8_MEMBER(n7751_rom_r);
|
||||
DECLARE_WRITE8_MEMBER(n7751_rom_control_w);
|
||||
|
||||
required_device<n7751_device> m_audiocpu;
|
||||
required_memory_region m_audiocpu_region;
|
||||
|
||||
required_device<tms36xx_device> m_music;
|
||||
required_device<samples_device> m_samples;
|
||||
|
||||
required_device<i8243_device> m_i8243;
|
||||
|
||||
uint8_t m_n7751_command;
|
||||
uint8_t m_n7751_busy;
|
||||
uint8_t m_sound_state[2];
|
||||
uint16_t m_sound_addr;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(MONSTERB_SOUND, monsterb_sound_device)
|
||||
|
||||
#endif // MAME_AUDIO_SEGAG80R
|
@ -855,9 +855,6 @@ MACHINE_CONFIG_START(segag80r_state::g80r_base)
|
||||
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(segag80r_state, screen_update_segag80r)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
@ -866,6 +863,9 @@ MACHINE_CONFIG_START(segag80r_state::astrob)
|
||||
|
||||
/* basic machine hardware */
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
/* sound boards */
|
||||
astrob_sound_board(config);
|
||||
sega_speech_board(config);
|
||||
@ -880,6 +880,9 @@ MACHINE_CONFIG_START(segag80r_state::sega005)
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(main_ppi8255_portmap)
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
/* sound boards */
|
||||
sega005_sound_board(config);
|
||||
MACHINE_CONFIG_END
|
||||
@ -897,6 +900,9 @@ MACHINE_CONFIG_START(segag80r_state::spaceod)
|
||||
MCFG_PALETTE_MODIFY("palette")
|
||||
MCFG_PALETTE_ENTRIES(64+64)
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
/* sound boards */
|
||||
spaceod_sound_board(config);
|
||||
MACHINE_CONFIG_END
|
||||
@ -906,17 +912,22 @@ MACHINE_CONFIG_START(segag80r_state::monsterb)
|
||||
g80r_base(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(main_ppi8255_portmap)
|
||||
|
||||
MCFG_DEVICE_ADD(m_ppi, I8255A, 0)
|
||||
MCFG_I8255_OUT_PORTA_CB(WRITE8(m_soundbrd, monsterb_sound_device, sound_a_w))
|
||||
MCFG_I8255_OUT_PORTB_CB(WRITE8(m_soundbrd, monsterb_sound_device, sound_b_w))
|
||||
MCFG_I8255_IN_PORTC_CB(READ8(m_soundbrd, monsterb_sound_device, n7751_status_r))
|
||||
MCFG_I8255_OUT_PORTC_CB(WRITE8(m_soundbrd, monsterb_sound_device, n7751_command_w))
|
||||
|
||||
/* background board changes */
|
||||
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_monsterb)
|
||||
MCFG_PALETTE_MODIFY("palette")
|
||||
MCFG_PALETTE_ENTRIES(64+64)
|
||||
|
||||
/* sound boards */
|
||||
monsterb_sound_board(config);
|
||||
MCFG_DEVICE_ADD(m_soundbrd, MONSTERB_SOUND, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START(segag80r_state::monster2)
|
||||
@ -940,6 +951,9 @@ MACHINE_CONFIG_START(segag80r_state::pignewt)
|
||||
MCFG_PALETTE_MODIFY("palette")
|
||||
MCFG_PALETTE_ENTRIES(64+64)
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
/* sound boards */
|
||||
MCFG_SEGAUSB_ADD("usbsnd")
|
||||
MACHINE_CONFIG_END
|
||||
@ -965,8 +979,10 @@ MACHINE_CONFIG_START(segag80r_state::sindbadm)
|
||||
MCFG_PALETTE_MODIFY("palette")
|
||||
MCFG_PALETTE_ENTRIES(64+64)
|
||||
|
||||
/* sound boards */
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
|
||||
/* sound boards */
|
||||
MCFG_DEVICE_ADD("audiocpu", Z80, SINDBADM_SOUND_CLOCK/2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(sindbadm_sound_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DRIVER(segag80r_state, irq0_line_hold, 4*60)
|
||||
@ -1280,7 +1296,7 @@ ROM_START( monsterb )
|
||||
ROM_LOAD( "1800b.prom-u22", 0xb000, 0x0800, CRC(6a062a04) SHA1(cae125f5c0867898f2c0a159026da69ff5a2897f) )
|
||||
ROM_LOAD( "1801b.prom-u23", 0xb800, 0x0800, CRC(f38488fe) SHA1(dd0f2c655970e8755f9ca1898313ff5fd9f11563) )
|
||||
|
||||
ROM_REGION( 0x400, "audiocpu", 0 )
|
||||
ROM_REGION( 0x400, "soundbrd:audiocpu", 0 )
|
||||
ROM_LOAD( "7751.bin", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) ) /* 7751 - U34 */
|
||||
|
||||
ROM_REGION( 0x10000, "gfx1", 0 )
|
||||
@ -1290,7 +1306,7 @@ ROM_START( monsterb )
|
||||
ROM_REGION( 0x2000, "gfx2", 0 )
|
||||
ROM_LOAD( "1518a.bg-u22", 0x0000, 0x2000, CRC(2d5932fe) SHA1(a9ca239a062e047b307cf3d0740cb6492a55abb4) )
|
||||
|
||||
ROM_REGION( 0x2000, "n7751", 0 )
|
||||
ROM_REGION( 0x2000, "soundbrd:n7751", 0 )
|
||||
ROM_LOAD( "1543snd.bin", 0x0000, 0x1000, CRC(b525ce8f) SHA1(61e541061a0a579101e52ffa2431540010b9df3e) ) /* U19 */
|
||||
ROM_LOAD( "1544snd.bin", 0x1000, 0x1000, CRC(56c79fb0) SHA1(26de83efcc97318220603f83acf4387f6d70d806) ) /* U23 */
|
||||
|
||||
@ -1307,7 +1323,7 @@ ROM_START( monsterb2 )
|
||||
ROM_LOAD( "epr-1552.22", 0x8000, 0x2000, CRC(e876e216) SHA1(31301f2b576689aefcb42a4233f8fafb7f4791a7) )
|
||||
ROM_LOAD( "epr-1553.23", 0xa000, 0x2000, CRC(4a839fb2) SHA1(3a15d74a0abd0548cb90c13f4d5baebe3ec83d23) )
|
||||
|
||||
ROM_REGION( 0x400, "audiocpu", 0 )
|
||||
ROM_REGION( 0x400, "soundbrd:audiocpu", 0 )
|
||||
ROM_LOAD( "7751.34", 0x0000, 0x0400, CRC(6a9534fc) SHA1(67ad94674db5c2aab75785668f610f6f4eccd158) )
|
||||
|
||||
ROM_REGION( 0x10000, "gfx1", 0 )
|
||||
@ -1317,7 +1333,7 @@ ROM_START( monsterb2 )
|
||||
ROM_REGION( 0x2000, "gfx2", 0 )
|
||||
ROM_LOAD( "epr-1554.58", 0x0000, 0x2000, CRC(a87937d0) SHA1(cfc2fca52bd74beb2f20ece07e9dd3e3f1038f7c) )
|
||||
|
||||
ROM_REGION( 0x2000, "n7751", 0 )
|
||||
ROM_REGION( 0x2000, "soundbrd:n7751", 0 )
|
||||
ROM_LOAD( "epr-1543.19", 0x0000, 0x1000, CRC(b525ce8f) SHA1(61e541061a0a579101e52ffa2431540010b9df3e) )
|
||||
ROM_LOAD( "epr-1544.23", 0x1000, 0x1000, CRC(56c79fb0) SHA1(26de83efcc97318220603f83acf4387f6d70d806) )
|
||||
|
||||
@ -1546,8 +1562,6 @@ void segag80r_state::init_monsterb()
|
||||
|
||||
save_item(NAME(m_sound_state));
|
||||
save_item(NAME(m_sound_addr));
|
||||
save_item(NAME(m_n7751_command));
|
||||
save_item(NAME(m_n7751_busy));
|
||||
}
|
||||
|
||||
|
||||
@ -1570,8 +1584,6 @@ void segag80r_state::init_monster2()
|
||||
|
||||
save_item(NAME(m_sound_state));
|
||||
save_item(NAME(m_sound_addr));
|
||||
save_item(NAME(m_n7751_command));
|
||||
save_item(NAME(m_n7751_busy));
|
||||
}
|
||||
|
||||
|
||||
|
@ -10,11 +10,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "sound/samples.h"
|
||||
#include "machine/segag80.h"
|
||||
#include "sound/sn76496.h"
|
||||
#include "audio/segag80r.h"
|
||||
#include "audio/segasnd.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/segag80.h"
|
||||
#include "sound/samples.h"
|
||||
#include "sound/sn76496.h"
|
||||
#include "screen.h"
|
||||
|
||||
|
||||
@ -36,6 +37,7 @@ public:
|
||||
m_sn2(*this, "sn2"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_audiocpu(*this, "audiocpu"),
|
||||
m_soundbrd(*this, "soundbrd"),
|
||||
m_samples(*this, "samples"),
|
||||
m_speech(*this, "segaspeech"),
|
||||
m_usbsnd(*this, "usbsnd"),
|
||||
@ -53,6 +55,7 @@ public:
|
||||
optional_device<sn76496_device> m_sn2;
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_audiocpu;
|
||||
optional_device<monsterb_sound_device> m_soundbrd;
|
||||
optional_device<samples_device> m_samples;
|
||||
optional_device<speech_sound_device> m_speech;
|
||||
optional_device<usb_sound_device> m_usbsnd;
|
||||
@ -73,8 +76,6 @@ public:
|
||||
uint8_t m_sound_data;
|
||||
uint8_t m_square_state;
|
||||
uint8_t m_square_count;
|
||||
uint8_t m_n7751_command;
|
||||
uint8_t m_n7751_busy;
|
||||
segag80_decrypt_func m_decrypt;
|
||||
uint8_t m_background_pcb;
|
||||
double m_rweights[3];
|
||||
@ -121,8 +122,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(sindbadm_back_port_w);
|
||||
DECLARE_WRITE8_MEMBER(astrob_sound_w);
|
||||
DECLARE_WRITE8_MEMBER(spaceod_sound_w);
|
||||
DECLARE_READ8_MEMBER(n7751_rom_r);
|
||||
DECLARE_READ8_MEMBER(n7751_command_r);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(service_switch);
|
||||
DECLARE_WRITE8_MEMBER(usb_ram_w);
|
||||
DECLARE_READ8_MEMBER(sindbadm_sound_data_r);
|
||||
@ -148,12 +147,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(sega005_sound_a_w);
|
||||
DECLARE_WRITE8_MEMBER(sega005_sound_b_w);
|
||||
inline void sega005_update_sound_data();
|
||||
DECLARE_WRITE8_MEMBER(monsterb_sound_a_w);
|
||||
DECLARE_WRITE8_MEMBER(monsterb_sound_b_w);
|
||||
DECLARE_READ8_MEMBER(n7751_status_r);
|
||||
DECLARE_WRITE8_MEMBER(n7751_command_w);
|
||||
DECLARE_WRITE8_MEMBER(n7751_rom_control_w);
|
||||
DECLARE_WRITE8_MEMBER(n7751_p2_w);
|
||||
void vblank_latch_set();
|
||||
void g80_set_palette_entry(int entry, uint8_t data);
|
||||
void spaceod_bg_init_palette();
|
||||
|
Loading…
Reference in New Issue
Block a user