mirror of
https://github.com/holub/mame
synced 2025-04-26 18:23:08 +03:00
(nw) let's have some fun with the new functionality, and fix poor casper while we're at it
This commit is contained in:
parent
501e1b3efb
commit
a34f2334a7
@ -49,20 +49,20 @@ ROM_END
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(bbc_tube_casper_device::device_add_mconfig)
|
||||
MCFG_CPU_ADD("m68000", M68000, XTAL(4'000'000))
|
||||
MCFG_CPU_ADD(m_m68000, M68000, XTAL(4'000'000))
|
||||
MCFG_CPU_PROGRAM_MAP(tube_casper_mem)
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_0", VIA6522, XTAL(4'000'000) / 2)
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(DEVWRITE8("via6522_1", via6522_device, write_pa))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE("via6522_1", via6522_device, write_cb1))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE("via6522_1", via6522_device, write_ca1))
|
||||
MCFG_DEVICE_ADD(m_via6522_0, VIA6522, XTAL(4'000'000) / 2)
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(DEVWRITE8(m_via6522_1, via6522_device, write_pa))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(m_via6522_1, via6522_device, write_cb1))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(m_via6522_1, via6522_device, write_ca1))
|
||||
MCFG_VIA6522_IRQ_HANDLER(DEVWRITELINE(DEVICE_SELF_OWNER, bbc_tube_slot_device, irq_w))
|
||||
|
||||
MCFG_DEVICE_ADD("via6522_1", VIA6522, XTAL(4'000'000) / 2)
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(DEVWRITE8("via6522_0", via6522_device, write_pa))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE("via6522_0", via6522_device, write_cb1))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE("via6522_0", via6522_device, write_ca1))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE("maincpu", M68K_IRQ_1))
|
||||
MCFG_DEVICE_ADD(m_via6522_1, VIA6522, XTAL(4'000'000) / 2)
|
||||
MCFG_VIA6522_WRITEPB_HANDLER(DEVWRITE8(m_via6522_0, via6522_device, write_pa))
|
||||
MCFG_VIA6522_CA2_HANDLER(DEVWRITELINE(m_via6522_0, via6522_device, write_cb1))
|
||||
MCFG_VIA6522_CB2_HANDLER(DEVWRITELINE(m_via6522_0, via6522_device, write_ca1))
|
||||
MCFG_VIA6522_IRQ_HANDLER(INPUTLINE(m_m68000, M68K_IRQ_1))
|
||||
|
||||
/* software lists */
|
||||
MCFG_SOFTWARE_LIST_ADD("flop_ls_casper", "bbc_flop_68000")
|
||||
|
@ -20,19 +20,15 @@
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_NVRAM_ADD_0FILL(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, 0) \
|
||||
downcast<nvram_device &>(*device).set_default_value(nvram_device::DEFAULT_ALL_0);
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, nvram_device::DEFAULT_ALL_0);
|
||||
#define MCFG_NVRAM_ADD_1FILL(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, 0) \
|
||||
downcast<nvram_device &>(*device).set_default_value(nvram_device::DEFAULT_ALL_1);
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, nvram_device::DEFAULT_ALL_1);
|
||||
#define MCFG_NVRAM_ADD_RANDOM_FILL(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, 0) \
|
||||
downcast<nvram_device &>(*device).set_default_value(nvram_device::DEFAULT_RANDOM);
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, nvram_device::DEFAULT_RANDOM);
|
||||
#define MCFG_NVRAM_ADD_NO_FILL(_tag) \
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, 0) \
|
||||
downcast<nvram_device &>(*device).set_default_value(nvram_device::DEFAULT_NONE);
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, nvram_device::DEFAULT_NONE);
|
||||
#define MCFG_NVRAM_ADD_CUSTOM_DRIVER(_tag, _class, _method) \
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM, 0) \
|
||||
MCFG_DEVICE_ADD(_tag, NVRAM) \
|
||||
downcast<nvram_device &>(*device).set_custom_handler(nvram_device::init_delegate(&_class::_method, #_class "::" #_method, nullptr, (_class *)nullptr));
|
||||
|
||||
#define MCFG_NVRAM_REPLACE_0FILL(_tag) \
|
||||
@ -73,7 +69,12 @@ public:
|
||||
};
|
||||
|
||||
// construction/destruction
|
||||
nvram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
nvram_device(const machine_config &mconfig, const char *tag, device_t *owner, default_value value)
|
||||
: nvram_device(mconfig, tag, owner, 0)
|
||||
{
|
||||
set_default_value(value);
|
||||
}
|
||||
nvram_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
|
||||
|
||||
// inline configuration helpers
|
||||
void set_default_value(default_value value) { m_default_value = value; }
|
||||
|
@ -12,13 +12,12 @@
|
||||
|
||||
#include "cpu/dsp16/dsp16.h"
|
||||
|
||||
// default 60MHz clock (divided by 2 for DSP core clock, and then by 1248 for sample rate)
|
||||
#define QSOUND_CLOCK 60_MHz_XTAL
|
||||
|
||||
class qsound_device : public device_t, public device_sound_interface, public device_rom_interface
|
||||
{
|
||||
public:
|
||||
qsound_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
|
||||
// default 60MHz clock (divided by 2 for DSP core clock, and then by 1248 for sample rate)
|
||||
qsound_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock = 60'000'000);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(qsound_w);
|
||||
DECLARE_READ8_MEMBER(qsound_r);
|
||||
|
@ -12,21 +12,12 @@
|
||||
|
||||
#include "cpu/dsp16/dsp16.h"
|
||||
|
||||
// default 60MHz clock (divided by 2 for DSP core clock, and then by 1248 for sample rate)
|
||||
#define QSOUND_CLOCK 60_MHz_XTAL
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
|
||||
// ======================> qsound_hle_device
|
||||
|
||||
class qsound_hle_device : public device_t, public device_sound_interface, public device_rom_interface
|
||||
{
|
||||
public:
|
||||
qsound_hle_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
|
||||
// default 60MHz clock (divided by 2 for DSP core clock, and then by 1248 for sample rate)
|
||||
qsound_hle_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock = 60'000'000);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(qsound_w);
|
||||
DECLARE_READ8_MEMBER(qsound_r);
|
||||
|
@ -3456,7 +3456,7 @@ MACHINE_CONFIG_START(cps_state::qsound)
|
||||
MCFG_DEVICE_REMOVE("2151")
|
||||
MCFG_DEVICE_REMOVE("oki")
|
||||
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND, QSOUND_CLOCK)
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -1336,7 +1336,7 @@ MACHINE_CONFIG_START(cps_state::cps2)
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND, QSOUND_CLOCK)
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -466,33 +466,33 @@ void laserbat_state_base::device_timer(emu_timer &timer, device_timer_id id, int
|
||||
MACHINE_CONFIG_START(laserbat_state_base::laserbat_base)
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("maincpu", S2650, XTAL(14'318'181)/4)
|
||||
MCFG_CPU_ADD(m_maincpu, S2650, XTAL(14'318'181)/4)
|
||||
MCFG_CPU_PROGRAM_MAP(laserbat_map)
|
||||
MCFG_CPU_IO_MAP(laserbat_io_map)
|
||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", laserbat_state_base, laserbat_interrupt)
|
||||
MCFG_S2650_SENSE_INPUT(DEVREADLINE("screen", screen_device, vblank))
|
||||
MCFG_S2650_SENSE_INPUT(DEVREADLINE(m_screen, screen_device, vblank))
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_ADD(m_screen, RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(14'318'181), 227*4, 43*4-1, 227*4-1, 312, 8, 255)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(laserbat_state_base, screen_update_laserbat)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PLS100_ADD("gfxmix")
|
||||
MCFG_PLS100_ADD(m_gfxmix)
|
||||
|
||||
MCFG_DEVICE_ADD("pvi1", S2636, XTAL(14'318'181)/3)
|
||||
MCFG_DEVICE_ADD(m_pvi1, S2636, XTAL(14'318'181)/3)
|
||||
MCFG_S2636_OFFSETS(-8, -16)
|
||||
MCFG_S2636_DIVIDER(3)
|
||||
|
||||
MCFG_DEVICE_ADD("pvi2", S2636, XTAL(14'318'181)/3)
|
||||
MCFG_DEVICE_ADD(m_pvi2, S2636, XTAL(14'318'181)/3)
|
||||
MCFG_S2636_OFFSETS(-8, -16)
|
||||
MCFG_S2636_DIVIDER(3)
|
||||
|
||||
MCFG_DEVICE_ADD("pvi3", S2636, XTAL(14'318'181)/3)
|
||||
MCFG_DEVICE_ADD(m_pvi3, S2636, XTAL(14'318'181)/3)
|
||||
MCFG_S2636_OFFSETS(-8, -16)
|
||||
MCFG_S2636_DIVIDER(3)
|
||||
|
||||
MCFG_GFXDECODE_ADD("gfxdecode", "palette", laserbat)
|
||||
MCFG_GFXDECODE_ADD(m_gfxdecode, "palette", laserbat)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -500,13 +500,13 @@ MACHINE_CONFIG_START(laserbat_state::laserbat)
|
||||
laserbat_base(config);
|
||||
|
||||
// video hardware
|
||||
MCFG_PALETTE_ADD("palette", 256)
|
||||
MCFG_PALETTE_ADD(m_palette, 256)
|
||||
MCFG_PALETTE_INIT_OWNER(laserbat_state, laserbat)
|
||||
|
||||
// sound board devices
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
|
||||
MCFG_SOUND_ADD("csg", SN76477, 0) // audio output not used
|
||||
MCFG_SOUND_ADD(m_csg, SN76477, 0) // audio output not used
|
||||
MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(270), CAP_P(1000)) // R21, switchable R30/R23/R24/R25/R29/R28/R27/R26, C21
|
||||
MCFG_SN76477_DECAY_RES(RES_INF) // NC
|
||||
MCFG_SN76477_ATTACK_PARAMS(0, RES_INF) // NC, NC
|
||||
@ -521,10 +521,10 @@ MACHINE_CONFIG_START(laserbat_state::laserbat)
|
||||
MCFG_SN76477_ENVELOPE_PARAMS(0, 1) // GND, Vreg
|
||||
MCFG_SN76477_ENABLE(0) // AB SOUND
|
||||
|
||||
MCFG_TMS3615_ADD("synth_low", 4_MHz_XTAL/16/2) // from the other one's /2 clock output
|
||||
MCFG_TMS3615_ADD(m_synth_low, 4_MHz_XTAL/16/2) // from the other one's /2 clock output
|
||||
MCFG_SOUND_ROUTE(tms3615_device::FOOTAGE_8, "speaker", 1.0)
|
||||
|
||||
MCFG_TMS3615_ADD("synth_high", 4_MHz_XTAL/16) // 4MHz divided down with a 74LS161
|
||||
MCFG_TMS3615_ADD(m_synth_high, 4_MHz_XTAL/16) // 4MHz divided down with a 74LS161
|
||||
MCFG_SOUND_ROUTE(tms3615_device::FOOTAGE_8, "speaker", 1.0)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
@ -533,12 +533,12 @@ MACHINE_CONFIG_START(catnmous_state::catnmous)
|
||||
laserbat_base(config);
|
||||
|
||||
// video hardware
|
||||
MCFG_PALETTE_ADD("palette", 256)
|
||||
MCFG_PALETTE_ADD(m_palette, 256)
|
||||
MCFG_PALETTE_INIT_OWNER(catnmous_state, catnmous)
|
||||
|
||||
// sound board devices
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("audiopcb", ZACCARIA_1B11107, 0)
|
||||
MCFG_SOUND_ADD(m_audiopcb, ZACCARIA_1B11107, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -1892,9 +1892,9 @@ INPUT_CHANGED_MEMBER(aes_base_state::aes_jp1)
|
||||
MACHINE_CONFIG_START(neogeo_base_state::neogeo_base)
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", M68000, NEOGEO_MAIN_CPU_CLOCK)
|
||||
MCFG_CPU_ADD(m_maincpu, M68000, NEOGEO_MAIN_CPU_CLOCK)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, NEOGEO_AUDIO_CPU_CLOCK)
|
||||
MCFG_CPU_ADD(m_audiocpu, Z80, NEOGEO_AUDIO_CPU_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(audio_map)
|
||||
MCFG_CPU_IO_MAP(audio_io_map)
|
||||
|
||||
@ -1909,27 +1909,27 @@ MACHINE_CONFIG_START(neogeo_base_state::neogeo_base)
|
||||
/* video hardware */
|
||||
MCFG_DEFAULT_LAYOUT(layout_neogeo)
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_ADD(m_screen, RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(NEOGEO_PIXEL_CLOCK, NEOGEO_HTOTAL, NEOGEO_HBEND, NEOGEO_HBSTART, NEOGEO_VTOTAL, NEOGEO_VBEND, NEOGEO_VBSTART)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(neogeo_base_state, screen_update_neogeo)
|
||||
|
||||
/* 4096 colors * two banks * normal and shadow */
|
||||
MCFG_PALETTE_ADD_INIT_BLACK("palette", 4096*2*2)
|
||||
MCFG_PALETTE_ADD_INIT_BLACK(m_palette, 4096*2*2)
|
||||
|
||||
MCFG_DEVICE_ADD("spritegen", NEOGEO_SPRITE_OPTIMZIED, 0)
|
||||
MCFG_DEVICE_ADD(m_sprgen, NEOGEO_SPRITE_OPTIMZIED, 0)
|
||||
|
||||
/* audio hardware */
|
||||
MCFG_INPUT_MERGER_ALL_HIGH("audionmi")
|
||||
MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI));
|
||||
MCFG_INPUT_MERGER_ALL_HIGH(m_audionmi)
|
||||
MCFG_INPUT_MERGER_OUTPUT_HANDLER(INPUTLINE(m_audiocpu, INPUT_LINE_NMI));
|
||||
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
|
||||
MCFG_GENERIC_LATCH_8_ADD(m_soundlatch)
|
||||
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(false)
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(DEVWRITELINE("audionmi", input_merger_device, in_w<0>))
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(DEVWRITELINE(m_audionmi, input_merger_device, in_w<0>))
|
||||
|
||||
MCFG_GENERIC_LATCH_8_ADD("soundlatch2")
|
||||
MCFG_GENERIC_LATCH_8_ADD(m_soundlatch2)
|
||||
|
||||
MCFG_SOUND_ADD("ymsnd", YM2610, NEOGEO_YM2610_CLOCK)
|
||||
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
|
||||
MCFG_SOUND_ADD(m_ym, YM2610, NEOGEO_YM2610_CLOCK)
|
||||
MCFG_YM2610_IRQ_HANDLER(INPUTLINE(m_audiocpu, 0))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
@ -1763,7 +1763,7 @@ MACHINE_CONFIG_START(vgmplay_state::vgmplay)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1)
|
||||
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND, QSOUND_CLOCK)
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, qsound_map)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1)
|
||||
|
@ -378,7 +378,7 @@ void zn_state::zn_map(address_map &map)
|
||||
MACHINE_CONFIG_START(zn_state::zn1_1mb_vram)
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", CXD8530CQ, XTAL(67'737'600) )
|
||||
MCFG_CPU_ADD( m_maincpu, CXD8530CQ, XTAL(67'737'600) )
|
||||
MCFG_CPU_PROGRAM_MAP( zn_map)
|
||||
|
||||
MCFG_RAM_MODIFY("maincpu:ram")
|
||||
@ -424,7 +424,7 @@ MACHINE_CONFIG_END
|
||||
MACHINE_CONFIG_START(zn_state::zn2)
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD( "maincpu", CXD8661R, XTAL(100'000'000) )
|
||||
MCFG_CPU_ADD( m_maincpu, CXD8661R, XTAL(100'000'000) )
|
||||
MCFG_CPU_PROGRAM_MAP( zn_map)
|
||||
|
||||
MCFG_RAM_MODIFY("maincpu:ram")
|
||||
@ -650,7 +650,7 @@ MACHINE_CONFIG_START(zn_state::coh1000c)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1000c_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(8'000'000))
|
||||
MCFG_CPU_ADD(m_audiocpu, Z80, XTAL(8'000'000))
|
||||
MCFG_CPU_PROGRAM_MAP(qsound_map)
|
||||
MCFG_CPU_IO_MAP(qsound_portmap)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp)
|
||||
@ -659,9 +659,9 @@ MACHINE_CONFIG_START(zn_state::coh1000c)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)
|
||||
|
||||
MCFG_DEVICE_MODIFY("soundlatch")
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, INPUT_LINE_NMI))
|
||||
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND, QSOUND_CLOCK)
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
@ -676,7 +676,7 @@ MACHINE_CONFIG_START(zn_state::coh1002c)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1000c_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(8'000'000))
|
||||
MCFG_CPU_ADD(m_audiocpu, Z80, XTAL(8'000'000))
|
||||
MCFG_CPU_PROGRAM_MAP(qsound_map)
|
||||
MCFG_CPU_IO_MAP(qsound_portmap)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp)
|
||||
@ -685,9 +685,9 @@ MACHINE_CONFIG_START(zn_state::coh1002c)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)
|
||||
|
||||
MCFG_DEVICE_MODIFY("soundlatch")
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, INPUT_LINE_NMI))
|
||||
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND, QSOUND_CLOCK)
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
@ -838,7 +838,7 @@ MACHINE_CONFIG_START(zn_state::coh3002c)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1000c_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(8'000'000))
|
||||
MCFG_CPU_ADD(m_audiocpu, Z80, XTAL(8'000'000))
|
||||
MCFG_CPU_PROGRAM_MAP(qsound_map)
|
||||
MCFG_CPU_IO_MAP(qsound_portmap)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp)
|
||||
@ -847,9 +847,9 @@ MACHINE_CONFIG_START(zn_state::coh3002c)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c)
|
||||
|
||||
MCFG_DEVICE_MODIFY("soundlatch")
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, INPUT_LINE_NMI))
|
||||
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND, QSOUND_CLOCK)
|
||||
MCFG_DEVICE_ADD("qsound", QSOUND)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
@ -1135,14 +1135,14 @@ MACHINE_CONFIG_START(zn_state::coh1000ta)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1000ta_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(16'000'000) / 4) /* 4 MHz */
|
||||
MCFG_CPU_ADD(m_audiocpu, Z80, XTAL(16'000'000) / 4) /* 4 MHz */
|
||||
MCFG_CPU_PROGRAM_MAP(fx1a_sound_map)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000ta)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000ta)
|
||||
|
||||
MCFG_SOUND_ADD("ymsnd", YM2610B, XTAL(16'000'000)/2)
|
||||
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
|
||||
MCFG_YM2610_IRQ_HANDLER(INPUTLINE(m_audiocpu, 0))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
|
||||
@ -1680,7 +1680,7 @@ MACHINE_CONFIG_START(zn_state::coh1002e)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1002e_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M68000, XTAL(12'000'000))
|
||||
MCFG_CPU_ADD(m_audiocpu, M68000, XTAL(12'000'000))
|
||||
MCFG_CPU_PROGRAM_MAP(psarc_snd_map)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002e)
|
||||
@ -1696,7 +1696,7 @@ MACHINE_CONFIG_START(zn_state::beastrzrb)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1002e_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", AT89C4051, XTAL(12'000'000)) // clock unverified
|
||||
MCFG_CPU_ADD(m_audiocpu, AT89C4051, XTAL(12'000'000)) // clock unverified
|
||||
MCFG_CPU_PROGRAM_MAP(beastrzrb_snd_map)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002e)
|
||||
@ -2380,17 +2380,17 @@ MACHINE_CONFIG_START(zn_state::coh1001l)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1001l_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", M68000, XTAL(10'000'000))
|
||||
MCFG_CPU_ADD(m_audiocpu, M68000, XTAL(10'000'000))
|
||||
MCFG_CPU_PROGRAM_MAP(atlus_snd_map)
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(zn_state, coh1001l)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1001l)
|
||||
|
||||
MCFG_GENERIC_LATCH_16_ADD("soundlatch16")
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", 3))
|
||||
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE(m_audiocpu, 3))
|
||||
|
||||
MCFG_SOUND_ADD("ymz", YMZ280B, XTAL(16'934'400))
|
||||
MCFG_YMZ280B_IRQ_HANDLER(INPUTLINE("audiocpu", 2))
|
||||
MCFG_YMZ280B_IRQ_HANDLER(INPUTLINE(m_audiocpu, 2))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.35)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.35)
|
||||
MACHINE_CONFIG_END
|
||||
@ -2683,7 +2683,7 @@ MACHINE_CONFIG_START(zn_state::coh1002msnd)
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(coh1002msnd_map)
|
||||
|
||||
MCFG_CPU_ADD("audiocpu", Z80, XTAL(32'000'000)/8)
|
||||
MCFG_CPU_ADD(m_audiocpu, Z80, XTAL(32'000'000)/8)
|
||||
MCFG_CPU_PROGRAM_MAP(cbaj_z80_map)
|
||||
MCFG_CPU_IO_MAP(cbaj_z80_port_map)
|
||||
|
||||
|
@ -60,11 +60,19 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
DECLARE_DRIVER_INIT(laserbat);
|
||||
|
||||
void laserbat_base(machine_config &config);
|
||||
void laserbat_io_map(address_map &map);
|
||||
void laserbat_map(address_map &map);
|
||||
|
||||
protected:
|
||||
enum { TIMER_SCANLINE };
|
||||
|
||||
// control ports
|
||||
DECLARE_WRITE8_MEMBER(ct_io_w);
|
||||
DECLARE_READ8_MEMBER(rrowx_r);
|
||||
|
||||
DECLARE_DRIVER_INIT(laserbat);
|
||||
INTERRUPT_GEN_MEMBER(laserbat_interrupt);
|
||||
|
||||
// video memory and control ports
|
||||
@ -84,12 +92,6 @@ public:
|
||||
virtual void video_start() override;
|
||||
uint32_t screen_update_laserbat(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
void laserbat_base(machine_config &config);
|
||||
void laserbat_io_map(address_map &map);
|
||||
void laserbat_map(address_map &map);
|
||||
protected:
|
||||
enum { TIMER_SCANLINE };
|
||||
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
||||
// video functions
|
||||
@ -115,16 +117,16 @@ protected:
|
||||
// stuff for rendering video
|
||||
emu_timer *m_scanline_timer;
|
||||
bitmap_ind16 m_bitmap;
|
||||
uint8_t const *m_gfx1;
|
||||
uint8_t const *m_gfx2;
|
||||
uint8_t const *m_gfx1;
|
||||
uint8_t const *m_gfx2;
|
||||
|
||||
// control lines
|
||||
unsigned m_input_mux;
|
||||
bool m_mpx_p_1_2;
|
||||
|
||||
// RAM used by TTL video hardware, writable by CPU
|
||||
uint8_t m_bg_ram[0x400]; // background tilemap
|
||||
uint8_t m_eff_ram[0x400]; // per-scanline effects (A8 not wired meaning only half is usable)
|
||||
uint8_t m_bg_ram[0x400]; // background tilemap
|
||||
uint8_t m_eff_ram[0x400]; // per-scanline effects (A8 not wired meaning only half is usable)
|
||||
bool m_mpx_bkeff; // select between writing background and effects memory
|
||||
|
||||
// signals affecting the TTL-generated 32x32 sprite
|
||||
@ -162,18 +164,19 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void laserbat(machine_config &config);
|
||||
|
||||
protected:
|
||||
|
||||
// initialisation/startup
|
||||
virtual void machine_start() override;
|
||||
|
||||
// video initialisation
|
||||
DECLARE_PALETTE_INIT(laserbat);
|
||||
|
||||
// sound control ports
|
||||
virtual DECLARE_WRITE8_MEMBER(csound2_w) override;
|
||||
|
||||
void laserbat(machine_config &config);
|
||||
protected:
|
||||
|
||||
// initialisation/startup
|
||||
virtual void machine_start() override;
|
||||
|
||||
// sound board devices
|
||||
required_device<sn76477_device> m_csg;
|
||||
required_device<tms3615_device> m_synth_low;
|
||||
@ -193,6 +196,10 @@ public:
|
||||
{
|
||||
}
|
||||
|
||||
void catnmous(machine_config &config);
|
||||
|
||||
protected:
|
||||
|
||||
// video initialisation
|
||||
DECLARE_PALETTE_INIT(catnmous);
|
||||
|
||||
@ -200,7 +207,5 @@ public:
|
||||
virtual DECLARE_WRITE8_MEMBER(csound1_w) override;
|
||||
virtual DECLARE_WRITE8_MEMBER(csound2_w) override;
|
||||
|
||||
void catnmous(machine_config &config);
|
||||
protected:
|
||||
required_device<zac1b11107_audio_device> m_audiopcb;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user