-devices/sound/2608intf, 2610intf: Removed MCFG macros, nw

-drivers/2mindril, aerofgt, asuka, bbusters, bingowav, crshrace, f1gp, fromanc2, gstriker, inufuku, mcatadv, neoprint, ninjaw, othunder, pipedrm, slapshot, suprslam, taito_b, taito_f2, taito_h, taito_x, taito_z, taitoair, taotaido, warriorb, wc90, welltris, wgp, yuvomz80: Removed MACHINE_CONFIG macros, nw
This commit is contained in:
mooglyguy 2018-12-29 11:51:30 +01:00
parent 2a8d1067ef
commit 7a33288e3e
35 changed files with 2198 additions and 2296 deletions

View File

@ -11,9 +11,6 @@
struct ssg_callbacks;
#define MCFG_YM2608_IRQ_HANDLER(cb) \
downcast<ym2608_device &>(*device).set_irq_handler(DEVCB_##cb);
class ym2608_device : public ay8910_device,
public device_rom_interface
{

View File

@ -11,9 +11,6 @@
struct ssg_callbacks;
#define MCFG_YM2610_IRQ_HANDLER(cb) \
downcast<ym2610_device &>(*device).set_irq_handler((DEVCB_##cb));
class ym2610_device : public ay8910_device,
public device_memory_interface
{

View File

@ -358,11 +358,11 @@ MACHINE_RESET_MEMBER(_2mindril_state,drill)
m_irq_reg = 0;
}
MACHINE_CONFIG_START(_2mindril_state::drill)
MCFG_DEVICE_ADD("maincpu", M68000, 16000000 )
MCFG_DEVICE_PROGRAM_MAP(drill_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", _2mindril_state, drill_vblank_irq)
void _2mindril_state::drill(machine_config &config)
{
M68000(config, m_maincpu, 16000000);
m_maincpu->set_addrmap(AS_PROGRAM, &_2mindril_state::drill_map);
m_maincpu->set_vblank_int("screen", FUNC(_2mindril_state::drill_vblank_irq));
//MCFG_DEVICE_PERIODIC_INT_DRIVER(_2mindril_state, drill_device_irq, 60)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_2mindril);
@ -376,26 +376,26 @@ MACHINE_CONFIG_START(_2mindril_state::drill)
MCFG_MACHINE_START_OVERRIDE(_2mindril_state,drill)
MCFG_MACHINE_RESET_OVERRIDE(_2mindril_state,drill)
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* inaccurate, same as Taito F3? (needs screen raw params anyway) */
MCFG_SCREEN_SIZE(40*8+48*2, 32*8)
MCFG_SCREEN_VISIBLE_AREA(46, 40*8-1 + 46, 24, 24+224-1)
MCFG_SCREEN_UPDATE_DRIVER(_2mindril_state, screen_update_f3)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, _2mindril_state, screen_vblank_f3))
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* inaccurate, same as Taito F3? (needs screen raw params anyway) */
m_screen->set_size(40*8+48*2, 32*8);
m_screen->set_visarea(46, 40*8-1 + 46, 24, 24+224-1);
m_screen->set_screen_update(FUNC(_2mindril_state::screen_update_f3));
m_screen->screen_vblank().set(FUNC(_2mindril_state::screen_vblank_f3));
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 0x2000);
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610B, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(WRITELINE(*this, _2mindril_state, irqhandler))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610b_device &ymsnd(YM2610B(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set(FUNC(_2mindril_state::irqhandler));
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
ROM_START( 2mindril )

View File

@ -1461,29 +1461,29 @@ MACHINE_RESET_MEMBER(aerofgt_state,aerofgt)
m_soundbank->set_entry(0); /* needed by spinlbrk */
}
MACHINE_CONFIG_START(aerofgt_state::pspikes)
void aerofgt_state::pspikes(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,XTAL(20'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(pspikes_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::pspikes_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_DEVICE_ADD("audiocpu",Z80,XTAL(20'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::turbofrc_sound_portmap);
/* IRQs are triggered by the YM2610 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(61.31) /* verified on pcb */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikes)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(61.31); /* verified on pcb */
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_pspikes));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pspikes);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -1505,20 +1505,20 @@ MACHINE_CONFIG_START(aerofgt_state::pspikes)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::spikes91)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void aerofgt_state::spikes91(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(spikes91_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::spikes91_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
/* + Z80 for sound */
@ -1526,13 +1526,13 @@ MACHINE_CONFIG_START(aerofgt_state::spikes91)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 320-1, 0*8+4, 224+4-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_spikes91)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 320-1, 0*8+4, 224+4-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_spikes91));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_spikes91);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -1547,27 +1547,26 @@ MACHINE_CONFIG_START(aerofgt_state::spikes91)
1x OKI M5205 (sound)(ic145)
2x LM324N (sound)(ic152, ic153)
*/
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::pspikesb)
}
void aerofgt_state::pspikesb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(pspikesb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::pspikesb_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikesb)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_pspikesb));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pspikesb);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -1579,9 +1578,9 @@ MACHINE_CONFIG_START(aerofgt_state::pspikesb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_LOW) // clock frequency & pin 7 not verified, pin high causes sound pitch to be too high
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_LOW); // clock frequency & pin 7 not verified, pin high causes sound pitch to be too high
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}
/*
Kick Ball
@ -1590,28 +1589,28 @@ MACHINE_CONFIG_END
tile banking and sound system are different like many of the bootlegs
*/
MACHINE_CONFIG_START(aerofgt_state::kickball)
void aerofgt_state::kickball(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,XTAL(10'000'000)) // 10Mhz XTAL near 10Mhz rated CPU
MCFG_DEVICE_PROGRAM_MAP(kickball_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold) /* only IRQ1 is valid */
M68000(config, m_maincpu, XTAL(10'000'000)); // 10Mhz XTAL near 10Mhz rated CPU
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::kickball_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* only IRQ1 is valid */
MCFG_DEVICE_ADD("audiocpu",Z80,XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(kickball_sound_map)
MCFG_DEVICE_IO_MAP(kickball_sound_portmap)
Z80(config, m_audiocpu, XTAL(4'000'000));
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::kickball_sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::kickball_sound_portmap);
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(61.31)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikes)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_pspikes));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_kickball);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -1632,32 +1631,32 @@ MACHINE_CONFIG_START(aerofgt_state::kickball)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(4'000'000)) // K-666 (YM3812)
MCFG_YM3812_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(4'000'000))); // K-666 (YM3812)
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(4'000'000)/4, okim6295_device::PIN7_LOW) // AD-65 (M6295) clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::pspikesc)
OKIM6295(config, m_oki, XTAL(4'000'000)/4, okim6295_device::PIN7_LOW); // AD-65 (M6295) clock frequency & pin 7 not verified
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}
void aerofgt_state::pspikesc(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(pspikesc_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::pspikesc_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+4, 44*8+4-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_pspikes)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+4, 44*8+4-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_pspikes));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pspikes);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -1674,33 +1673,32 @@ MACHINE_CONFIG_START(aerofgt_state::pspikesc)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::karatblz)
OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}
void aerofgt_state::karatblz(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(karatblz_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::karatblz_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::turbofrc_sound_portmap); /* IRQs are triggered by the YM2610 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_karatblz)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(1*8, 45*8-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_karatblz));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_turbofrc);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -1727,36 +1725,36 @@ MACHINE_CONFIG_START(aerofgt_state::karatblz)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000) ) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::karatblzbl)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void aerofgt_state::karatblzbl(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(karatblzbl_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::karatblzbl_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(karatblzbl_sound_map)
MCFG_DEVICE_IO_MAP(karatblzbl_sound_portmap)
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::karatblzbl_sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::karatblzbl_sound_portmap);
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_karatblz)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(1*8, 45*8-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_karatblz));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_turbofrc);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -1782,37 +1780,36 @@ MACHINE_CONFIG_START(aerofgt_state::karatblzbl)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(8'000'000)/2)
MCFG_YM3812_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(8'000'000)/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("upd", UPD7759)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::spinlbrk)
UPD7759(config, m_upd7759);
m_upd7759->add_route(ALL_OUTPUTS, "mono", 1.0);
}
void aerofgt_state::spinlbrk(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,XTAL(20'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(spinlbrk_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold) /* there are vectors for 3 and 4 too, analog related? */
M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::spinlbrk_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* there are vectors for 3 and 4 too, analog related? */
MCFG_DEVICE_ADD("audiocpu",Z80,XTAL(20'000'000)/4) /* 5mhz verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(spinlbrk_sound_portmap)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* 5mhz verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::spinlbrk_sound_portmap); /* IRQs are triggered by the YM2610 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,spinlbrk)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 45*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_spinlbrk)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(1*8, 45*8-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_spinlbrk));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_turbofrc);
PALETTE(config, m_palette, palette_device::BLACK).set_format(palette_device::xRGB_555, 1024); // doesn't fully initialize palette at start-up ...
@ -1840,37 +1837,36 @@ MACHINE_CONFIG_START(aerofgt_state::spinlbrk)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000)) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::turbofrc)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void aerofgt_state::turbofrc(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,XTAL(20'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(turbofrc_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::turbofrc_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_DEVICE_ADD("audiocpu",Z80,XTAL(5'000'000)) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(turbofrc_sound_portmap)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, XTAL(5'000'000)); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::turbofrc_sound_portmap); /* IRQs are triggered by the YM2610 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(61.31) /* verified on pcb */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_turbofrc)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(61.31); /* verified on pcb */
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 44*8-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_turbofrc));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_turbofrc);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -1897,38 +1893,36 @@ MACHINE_CONFIG_START(aerofgt_state::turbofrc)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000)) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::aerofgtb)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void aerofgt_state::aerofgtb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(aerofgtb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::aerofgtb_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(aerofgt_sound_portmap)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::aerofgt_sound_portmap); /* IRQs are triggered by the YM2610 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(500))
/* wrong but improves sprite-background synchronization */
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_turbofrc)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); /* wrong but improves sprite-background synchronization */
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+12, 40*8-1+12, 0*8, 28*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_turbofrc));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_turbofrc);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -1955,25 +1949,24 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgtb)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::aerofgt)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void aerofgt_state::aerofgt(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,XTAL(20'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(aerofgt_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::aerofgt_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_DEVICE_ADD("audiocpu",Z80,XTAL(20'000'000)/4) /* 5 MHz verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(aerofgt_sound_portmap)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* 5 MHz verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::sound_map);;
m_audiocpu->set_addrmap(AS_IO, &aerofgt_state::aerofgt_sound_portmap); /* IRQs are triggered by the YM2610 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,aerofgt)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,aerofgt)
@ -1988,17 +1981,16 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgt)
io.portg_output_cb().set("watchdog", FUNC(mb3773_device::write_line_ck)).bit(7);
io.porth_input_cb().set_ioport("JP1");
MCFG_DEVICE_ADD("watchdog", MB3773, 0)
MB3773(config, "watchdog", 0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(61.31) /* verified on pcb */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(400))
/* wrong but improves sprite-background synchronization */
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_aerofgt)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(61.31); /* verified on pcb */
screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* wrong but improves sprite-background synchronization */
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_aerofgt));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_aerofgt);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -2018,36 +2010,35 @@ MACHINE_CONFIG_START(aerofgt_state::aerofgt)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000)) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::aerfboot)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void aerofgt_state::aerfboot(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(aerfboot_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::aerfboot_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(aerfboot_sound_map)
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::aerfboot_sound_map);
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(500))
/* wrong but improves sprite-background synchronization */
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_aerfboot)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); /* wrong but improves sprite-background synchronization */
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+12, 40*8-1+12, 0*8, 28*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_aerfboot));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_aerfboot);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -2062,30 +2053,29 @@ MACHINE_CONFIG_START(aerofgt_state::aerfboot)
GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::aerfboo2)
OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
m_oki->set_addrmap(0, &aerofgt_state::oki_map);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}
void aerofgt_state::aerfboo2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(aerfboo2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq2_line_hold)
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::aerfboo2_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq2_line_hold));
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(500))
/* wrong but improves sprite-background synchronization */
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+12, 40*8-1+12, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_aerfboo2)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(500)); /* wrong but improves sprite-background synchronization */
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8+12, 40*8-1+12, 0*8, 28*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_aerfboo2));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_aerfboo2);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 1024);
@ -2097,30 +2087,29 @@ MACHINE_CONFIG_START(aerofgt_state::aerfboo2)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(aerofgt_state::wbbc97)
OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}
void aerofgt_state::wbbc97(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,20000000/2) /* 10 MHz (?) */
MCFG_DEVICE_PROGRAM_MAP(wbbc97_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", aerofgt_state, irq1_line_hold)/* all irq vectors are the same */
M68000(config, m_maincpu, 20000000/2); /* 10 MHz (?) */
m_maincpu->set_addrmap(AS_PROGRAM, &aerofgt_state::wbbc97_map);
m_maincpu->set_vblank_int("screen", FUNC(aerofgt_state::irq1_line_hold)); /* all irq vectors are the same */
MCFG_DEVICE_ADD("audiocpu",Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(wbbc97_sound_map)
/* IRQs are triggered by the YM3812 */
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &aerofgt_state::wbbc97_sound_map); /* IRQs are triggered by the YM3812 */
MCFG_MACHINE_START_OVERRIDE(aerofgt_state,common)
MCFG_MACHINE_RESET_OVERRIDE(aerofgt_state,common)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8+14, 44*8-1+4, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(aerofgt_state, screen_update_wbbc97)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8+14, 44*8-1+4, 0*8, 30*8-1);
screen.set_screen_update(FUNC(aerofgt_state::screen_update_wbbc97));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_wbbc97);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -2140,13 +2129,13 @@ MACHINE_CONFIG_START(aerofgt_state::wbbc97)
GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("ymsnd", YM3812, 3579545)
MCFG_YM3812_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
ym3812_device &ymsnd(YM3812(config, "ymsnd", 3579545));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 1056000, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
m_oki->add_route(ALL_OUTPUTS, "mono", 0.50);
}

View File

@ -846,15 +846,15 @@ WRITE8_MEMBER(asuka_state::counters_w)
machine().bookkeeping().coin_counter_w(0, data & 0x10);
}
MACHINE_CONFIG_START(asuka_state::bonzeadv)
void asuka_state::bonzeadv(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)/2) /* checked on PCB */
MCFG_DEVICE_PROGRAM_MAP(bonzeadv_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", asuka_state, bonze_interrupt)
M68000(config, m_maincpu, XTAL(16'000'000)/2); /* checked on PCB */
m_maincpu->set_addrmap(AS_PROGRAM, &asuka_state::bonzeadv_map);
m_maincpu->set_vblank_int("screen", FUNC(asuka_state::bonze_interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000)/4) /* sound CPU, also required for test mode */
MCFG_DEVICE_PROGRAM_MAP(bonzeadv_z80_map)
Z80(config, m_audiocpu, XTAL(16'000'000)/4); /* sound CPU, also required for test mode */
m_audiocpu->set_addrmap(AS_PROGRAM, &asuka_state::bonzeadv_z80_map);
TAITO_CCHIP(config, m_cchip, 12_MHz_XTAL); // 12MHz OSC near C-Chip
m_cchip->in_pa_callback().set_ioport("800007");
@ -863,24 +863,24 @@ MACHINE_CONFIG_START(asuka_state::bonzeadv)
m_cchip->in_ad_callback().set_ioport("80000D");
m_cchip->out_pb_callback().set(FUNC(asuka_state::counters_w));
MCFG_TIMER_DRIVER_ADD("cchip_irq_clear", asuka_state, cchip_irq_clear_cb)
TIMER(config, "cchip_irq_clear").configure_generic(FUNC(asuka_state::cchip_irq_clear_cb));
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_bonzeadv)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 3*8, 31*8-1);
screen.set_screen_update(FUNC(asuka_state::screen_update_bonzeadv));
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
screen.set_palette("palette");
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_asuka)
MCFG_PALETTE_ADD("palette", 4096)
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
PALETTE(config, "palette").set_entries(4096);
PC090OJ(config, m_pc090oj, 0);
m_pc090oj->set_offsets(0, 8);
@ -898,29 +898,28 @@ MACHINE_CONFIG_START(asuka_state::bonzeadv)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(16'000'000)/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(16'000'000)/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(asuka_state::asuka)
}
void asuka_state::asuka(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(asuka_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold)
M68000(config, m_maincpu, XTAL(16'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &asuka_state::asuka_map);
m_maincpu->set_vblank_int("screen", FUNC(asuka_state::irq5_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(z80_map)
Z80(config, m_audiocpu, XTAL(16'000'000)/4); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &asuka_state::z80_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -931,17 +930,17 @@ MACHINE_CONFIG_START(asuka_state::asuka)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
screen.set_palette("palette");
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_asuka)
MCFG_PALETTE_ADD("palette", 4096)
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
PALETTE(config, "palette").set_entries(4096);
PC090OJ(config, m_pc090oj, 0);
m_pc090oj->set_offsets(0, 8);
@ -966,10 +965,10 @@ MACHINE_CONFIG_START(asuka_state::asuka)
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 0.25);
MCFG_DEVICE_ADD("msm", MSM5205, XTAL(384'000)) /* verified on pcb */
MCFG_MSM5205_VCLK_CB(WRITELINE(*this, asuka_state, asuka_msm5205_vck)) /* VCK function */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 kHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MSM5205(config, m_msm, XTAL(384'000)); /* verified on pcb */
m_msm->vck_legacy_callback().set(FUNC(asuka_state::asuka_msm5205_vck)); /* VCK function */
m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8 kHz */
m_msm->add_route(ALL_OUTPUTS, "mono", 0.5);
LS157(config, m_adpcm_select, 0);
m_adpcm_select->out_callback().set("msm", FUNC(msm5205_device::data_w));
@ -977,24 +976,23 @@ MACHINE_CONFIG_START(asuka_state::asuka)
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
ciu.set_master_tag(m_maincpu);
ciu.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(asuka_state::cadash)
}
void asuka_state::cadash(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(32'000'000)/2) /* 68000p12 running at 16Mhz, verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(cadash_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", asuka_state, cadash_interrupt)
M68000(config, m_maincpu, XTAL(32'000'000)/2); /* 68000p12 running at 16Mhz, verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &asuka_state::cadash_map);
m_maincpu->set_vblank_int("screen", FUNC(asuka_state::cadash_interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(cadash_z80_map)
Z80(config, m_audiocpu, XTAL(8'000'000)/2); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &asuka_state::cadash_z80_map);
MCFG_DEVICE_ADD("subcpu", Z180, XTAL(8'000'000)) /* 8MHz HD64180RP8 Z180 */
MCFG_DEVICE_PROGRAM_MAP(cadash_sub_map)
MCFG_DEVICE_IO_MAP(cadash_sub_io)
z180_device &subcpu(Z180(config, "subcpu", XTAL(8'000'000))); /* 8MHz HD64180RP8 Z180 */
subcpu.set_addrmap(AS_PROGRAM, &asuka_state::cadash_sub_map);
subcpu.set_addrmap(AS_IO, &asuka_state::cadash_sub_io);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -1005,17 +1003,17 @@ MACHINE_CONFIG_START(asuka_state::cadash)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_bonzeadv)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(asuka_state::screen_update_bonzeadv));
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
screen.set_palette("palette");
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_asuka)
MCFG_PALETTE_ADD("palette", 4096)
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
PALETTE(config, "palette").set_entries(4096);
PC090OJ(config, m_pc090oj, 0);
m_pc090oj->set_offsets(0, 8);
@ -1044,20 +1042,19 @@ MACHINE_CONFIG_START(asuka_state::cadash)
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
ciu.set_master_tag(m_maincpu);
ciu.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(asuka_state::mofflott)
}
void asuka_state::mofflott(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 8000000) /* 8 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(asuka_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold)
M68000(config, m_maincpu, 8000000); /* 8 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &asuka_state::asuka_map);
m_maincpu->set_vblank_int("screen", FUNC(asuka_state::irq5_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_map)
Z80(config, m_audiocpu, 4000000); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &asuka_state::z80_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -1068,17 +1065,17 @@ MACHINE_CONFIG_START(asuka_state::mofflott)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
screen.set_palette("palette");
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_asuka)
MCFG_PALETTE_ADD("palette", 4096) /* only Mofflott uses full palette space */
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
PALETTE(config, "palette").set_entries(4096); /* only Mofflott uses full palette space */
PC090OJ(config, m_pc090oj, 0);
m_pc090oj->set_offsets(0, 8);
@ -1103,10 +1100,10 @@ MACHINE_CONFIG_START(asuka_state::mofflott)
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 0.25);
MCFG_DEVICE_ADD("msm", MSM5205, 384000)
MCFG_MSM5205_VCLK_CB(WRITELINE(*this, asuka_state, asuka_msm5205_vck)) /* VCK function */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* 8 kHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MSM5205(config, m_msm, 384000);
m_msm->vck_legacy_callback().set(FUNC(asuka_state::asuka_msm5205_vck)); /* VCK function */
m_msm->set_prescaler_selector(msm5205_device::S48_4B); /* 8 kHz */
m_msm->add_route(ALL_OUTPUTS, "mono", 0.5);
LS157(config, m_adpcm_select, 0);
m_adpcm_select->out_callback().set("msm", FUNC(msm5205_device::data_w));
@ -1114,20 +1111,19 @@ MACHINE_CONFIG_START(asuka_state::mofflott)
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
ciu.set_master_tag(m_maincpu);
ciu.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(asuka_state::eto)
}
void asuka_state::eto(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 8000000) /* 8 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(eto_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", asuka_state, irq5_line_hold)
M68000(config, m_maincpu, 8000000); /* 8 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &asuka_state::eto_map);
m_maincpu->set_vblank_int("screen", FUNC(asuka_state::irq5_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(cadash_z80_map)
Z80(config, m_audiocpu, 4000000); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &asuka_state::cadash_z80_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -1138,17 +1134,17 @@ MACHINE_CONFIG_START(asuka_state::eto)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(asuka_state, screen_update_asuka)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, asuka_state, screen_vblank_asuka))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(asuka_state::screen_update_asuka));
screen.screen_vblank().set(FUNC(asuka_state::screen_vblank_asuka));
screen.set_palette("palette");
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_asuka)
MCFG_PALETTE_ADD("palette", 4096)
GFXDECODE(config, "gfxdecode", "palette", gfx_asuka);
PALETTE(config, "palette").set_entries(4096);
PC090OJ(config, m_pc090oj, 0);
m_pc090oj->set_offsets(0, 8);
@ -1176,7 +1172,7 @@ MACHINE_CONFIG_START(asuka_state::eto)
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
ciu.set_master_tag(m_maincpu);
ciu.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -633,16 +633,16 @@ GFXDECODE_END
/******************************************************************************/
MACHINE_CONFIG_START(bbusters_state::bbusters)
void bbusters_state::bbusters(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(bbusters_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", bbusters_state, irq6_line_hold)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &bbusters_state::bbusters_map);
m_maincpu->set_vblank_int("screen", FUNC(bbusters_state::irq6_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,4000000) /* Accurate */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_portmap)
Z80(config, m_audiocpu, 4000000); /* Accurate */
m_audiocpu->set_addrmap(AS_PROGRAM, &bbusters_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &bbusters_state::sound_portmap);
NVRAM(config, "eeprom", nvram_device::DEFAULT_ALL_0);
@ -669,24 +669,24 @@ MACHINE_CONFIG_START(bbusters_state::bbusters)
GENERIC_LATCH_8(config, m_soundlatch[0]);
GENERIC_LATCH_8(config, m_soundlatch[1]);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(mechatt_state::mechatt)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 1.0);
ymsnd.add_route(0, "rspeaker", 1.0);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void mechatt_state::mechatt(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(mechatt_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", mechatt_state, irq4_line_hold)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &mechatt_state::mechatt_map);
m_maincpu->set_vblank_int("screen", FUNC(mechatt_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,4000000) /* Accurate */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sounda_portmap)
Z80(config, m_audiocpu, 4000000); /* Accurate */
m_audiocpu->set_addrmap(AS_PROGRAM, &mechatt_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &mechatt_state::sounda_portmap);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@ -709,13 +709,13 @@ MACHINE_CONFIG_START(mechatt_state::mechatt)
GENERIC_LATCH_8(config, m_soundlatch[0]);
GENERIC_LATCH_8(config, m_soundlatch[1]);
MCFG_DEVICE_ADD("ymsnd", YM2608, 8000000)
MCFG_YM2608_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2608_device &ymsnd(YM2608(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.50);
ymsnd.add_route(0, "rspeaker", 0.50);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
/******************************************************************************/

View File

@ -112,9 +112,10 @@ static INPUT_PORTS_START( bingowav )
INPUT_PORTS_END
MACHINE_CONFIG_START(bingowav_state::bingowav)
MCFG_DEVICE_ADD(m_maincpu, M68000, 12000000) // actually TMP63803F-16
MCFG_DEVICE_PROGRAM_MAP(bingowav_main_map)
void bingowav_state::bingowav(machine_config &config)
{
M68000(config, m_maincpu, 12000000); // actually TMP63803F-16
m_maincpu->set_addrmap(AS_PROGRAM, &bingowav_state::bingowav_main_map);
tmp68301_device &tmp68301(TMP68301(config, "maintmp", 0)); // wrong
tmp68301.set_cputag(m_maincpu);
@ -125,28 +126,26 @@ MACHINE_CONFIG_START(bingowav_state::bingowav)
te7750_device &mainiol(TE7750(config, "mainiol"));
mainiol.ios_cb().set_constant(4);
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(bingowav_audio_map)
Z80(config, "audiocpu", 4000000).set_addrmap(AS_PROGRAM, &bingowav_state::bingowav_audio_map);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag("audiocpu");
MCFG_DEVICE_ADD("termcpu", M68000, 12000000) // actually TMP63803F-16
MCFG_DEVICE_PROGRAM_MAP(bingowav_drive_map)
MCFG_DEVICE_DISABLE()
m68000_device &termcpu(M68000(config, "termcpu", 12000000)); // actually TMP63803F-16
termcpu.set_addrmap(AS_PROGRAM, &bingowav_state::bingowav_drive_map);
termcpu.set_disable();
MCFG_DEVICE_ADD("ctrlcpu", Z80, XTAL(16'000'000) / 4)
MCFG_DEVICE_PROGRAM_MAP(bingowav_control_map)
MACHINE_CONFIG_END
Z80(config, "ctrlcpu", XTAL(16'000'000) / 4).set_addrmap(AS_PROGRAM, &bingowav_state::bingowav_control_map);
}
ROM_START( bingowav )

View File

@ -402,17 +402,16 @@ void crshrace_state::machine_reset()
m_flipscreen = 0;
}
MACHINE_CONFIG_START(crshrace_state::crshrace)
void crshrace_state::crshrace(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000,16000000) /* 16 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(crshrace_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", crshrace_state, irq1_line_hold)
MCFG_DEVICE_ADD("audiocpu", Z80,4000000) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
M68000(config, m_maincpu, 16000000); /* 16 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &crshrace_state::crshrace_map);
m_maincpu->set_vblank_int("screen", FUNC(crshrace_state::irq1_line_hold));
Z80(config, m_audiocpu, 4000000); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &crshrace_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &crshrace_state::sound_io_map);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@ -432,8 +431,8 @@ MACHINE_CONFIG_START(crshrace_state::crshrace)
m_spr->set_gfx_region(2);
m_spr->set_gfxdecode_tag(m_gfxdecode);
MCFG_DEVICE_ADD("spriteram", BUFFERED_SPRITERAM16)
MCFG_DEVICE_ADD("spriteram2", BUFFERED_SPRITERAM16)
BUFFERED_SPRITERAM16(config, m_spriteram);
BUFFERED_SPRITERAM16(config, m_spriteram2);
K053936(config, m_k053936, 0);
m_k053936->set_wrap(1);
@ -447,13 +446,13 @@ MACHINE_CONFIG_START(crshrace_state::crshrace)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
ROM_START( crshrace )

View File

@ -393,22 +393,22 @@ uint32_t f1gp_state::tile_callback( uint32_t code )
return m_sprcgram[Chip][code & (m_sprcgram[Chip].mask()>>1)];
}
MACHINE_CONFIG_START(f1gp_state::f1gp)
void f1gp_state::f1gp(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,XTAL(20'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(f1gp_cpu1_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold)
M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &f1gp_state::f1gp_cpu1_map);
m_maincpu->set_vblank_int("screen", FUNC(f1gp_state::irq1_line_hold));
MCFG_DEVICE_ADD("sub", M68000,XTAL(20'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(f1gp_cpu2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold)
m68000_device &sub(M68000(config, "sub", XTAL(20'000'000)/2)); /* verified on pcb */
sub.set_addrmap(AS_PROGRAM, &f1gp_state::f1gp_cpu2_map);
sub.set_vblank_int("screen", FUNC(f1gp_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,XTAL(20'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
Z80(config, m_audiocpu, XTAL(20'000'000)/4); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &f1gp_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &f1gp_state::sound_io_map);
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */
ACIA6850(config, m_acia, 0);
m_acia->irq_handler().set_inputline("sub", M68K_IRQ_3);
@ -419,12 +419,12 @@ MACHINE_CONFIG_START(f1gp_state::f1gp)
acia_clock.signal_handler().append(m_acia, FUNC(acia6850_device::write_rxc));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(f1gp_state, screen_update_f1gp)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(f1gp_state::screen_update_f1gp));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_f1gp);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -455,28 +455,27 @@ MACHINE_CONFIG_START(f1gp_state::f1gp)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000))
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(f1gp_state::f1gpb)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000)));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void f1gp_state::f1gpb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,10000000) /* 10 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(f1gpb_cpu1_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold)
M68000(config, m_maincpu, 10000000); /* 10 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &f1gp_state::f1gpb_cpu1_map);
m_maincpu->set_vblank_int("screen", FUNC(f1gp_state::irq1_line_hold));
MCFG_DEVICE_ADD("sub", M68000,10000000) /* 10 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(f1gpb_cpu2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", f1gp_state, irq1_line_hold)
m68000_device &sub(M68000(config, "sub", 10000000)); /* 10 MHz ??? */
sub.set_addrmap(AS_PROGRAM, &f1gp_state::f1gpb_cpu2_map);
sub.set_vblank_int("screen", FUNC(f1gp_state::irq1_line_hold));
/* NO sound CPU */
MCFG_QUANTUM_TIME(attotime::from_hz(6000)) /* 100 CPU slices per frame */
config.m_minimum_quantum = attotime::from_hz(6000); /* 100 CPU slices per frame */
ACIA6850(config, m_acia, 0);
m_acia->irq_handler().set_inputline("sub", M68K_IRQ_3);
@ -487,12 +486,12 @@ MACHINE_CONFIG_START(f1gp_state::f1gpb)
acia_clock.signal_handler().append(m_acia, FUNC(acia6850_device::write_rxc));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(f1gp_state, screen_update_f1gpb)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(f1gp_state::screen_update_f1gpb));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_f1gp);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -502,23 +501,22 @@ MACHINE_CONFIG_START(f1gp_state::f1gpb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", 1000000, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
oki.add_route(ALL_OUTPUTS, "mono", 1.00);
}
MACHINE_CONFIG_START(f1gp2_state::f1gp2)
void f1gp2_state::f1gp2(machine_config &config)
{
f1gp_state::f1gp(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(f1gp2_cpu1_map)
m_maincpu->set_addrmap(AS_PROGRAM, &f1gp2_state::f1gp2_cpu1_map);
/* video hardware */
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_f1gp2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(f1gp2_state, screen_update)
m_gfxdecode->set_info(gfx_f1gp2);
subdevice<screen_device>("screen")->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
subdevice<screen_device>("screen")->set_screen_update(FUNC(f1gp2_state::screen_update));
config.device_remove("gga");
config.device_remove("vsystem_spr_old1");
@ -529,7 +527,7 @@ MACHINE_CONFIG_START(f1gp2_state::f1gp2)
m_spr->set_gfxdecode_tag(m_gfxdecode);
m_k053936->set_offsets(-48, -21);
MACHINE_CONFIG_END
}

View File

@ -501,24 +501,24 @@ void fromanc2_state::machine_reset()
m_datalatch_2l = 0;
}
MACHINE_CONFIG_START(fromanc2_state::fromanc2)
void fromanc2_state::fromanc2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc2_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", fromanc2_state, irq1_line_hold)
M68000(config, m_maincpu, 32000000/2); /* 16.00 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc2_main_map);
m_maincpu->set_vblank_int("lscreen", FUNC(fromanc2_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sound_map)
MCFG_DEVICE_IO_MAP(fromanc2_sound_io_map)
Z80(config, m_audiocpu, 32000000/4); /* 8.00 MHz */
m_audiocpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc2_sound_map);
m_audiocpu->set_addrmap(AS_IO, &fromanc2_state::fromanc2_sound_io_map);
MCFG_DEVICE_ADD("sub", Z80,32000000/4) /* 8.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sub_map)
MCFG_DEVICE_IO_MAP(fromanc2_sub_io_map)
Z80(config, m_subcpu, 32000000/4); /* 8.00 MHz */
m_subcpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc2_sub_map);
m_subcpu->set_addrmap(AS_IO, &fromanc2_state::fromanc2_sub_io_map);
MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc2)
EEPROM_93C46_16BIT(config, "eeprom");
EEPROM_93C46_16BIT(config, m_eeprom);
/* video hardware */
GFXDECODE(config, m_gfxdecode, m_lpalette, gfx_fromanc2);
@ -528,21 +528,21 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc2)
config.set_default_layout(layout_dualhsxs);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_left)
MCFG_SCREEN_PALETTE(m_lpalette)
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(512, 512);
lscreen.set_visarea(0, 352-1, 0, 240-1);
lscreen.set_screen_update(FUNC(fromanc2_state::screen_update_left));
lscreen.set_palette(m_lpalette);
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_right)
MCFG_SCREEN_PALETTE(m_rpalette)
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(512, 512);
rscreen.set_visarea(0, 352-1, 0, 240-1);
rscreen.set_screen_update(FUNC(fromanc2_state::screen_update_right));
rscreen.set_palette(m_rpalette);
MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromanc2)
@ -552,31 +552,31 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc2)
GENERIC_LATCH_8(config, m_soundlatch);
GENERIC_LATCH_8(config, m_soundlatch2);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.75)
MCFG_SOUND_ROUTE(2, "mono", 0.75)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fromanc2_state::fromancr)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.50);
ymsnd.add_route(1, "mono", 0.75);
ymsnd.add_route(2, "mono", 0.75);
}
void fromanc2_state::fromancr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000,32000000/2) /* 16.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromancr_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", fromanc2_state, irq1_line_hold)
M68000(config, m_maincpu, 32000000/2); /* 16.00 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromancr_main_map);
m_maincpu->set_vblank_int("lscreen", FUNC(fromanc2_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,32000000/4) /* 8.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sound_map)
MCFG_DEVICE_IO_MAP(fromanc2_sound_io_map)
Z80(config, m_audiocpu, 32000000/4); /* 8.00 MHz */
m_audiocpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc2_sound_map);
m_audiocpu->set_addrmap(AS_IO, &fromanc2_state::fromanc2_sound_io_map);
MCFG_DEVICE_ADD("sub", Z80,32000000/4) /* 8.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sub_map)
MCFG_DEVICE_IO_MAP(fromanc2_sub_io_map)
Z80(config, m_subcpu, 32000000/4); /* 8.00 MHz */
m_subcpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc2_sub_map);
m_subcpu->set_addrmap(AS_IO, &fromanc2_state::fromanc2_sub_io_map);
MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc2)
EEPROM_93C46_16BIT(config, "eeprom");
EEPROM_93C46_16BIT(config, m_eeprom);
/* video hardware */
GFXDECODE(config, m_gfxdecode, m_lpalette, gfx_fromancr);
@ -586,21 +586,21 @@ MACHINE_CONFIG_START(fromanc2_state::fromancr)
config.set_default_layout(layout_dualhsxs);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_left)
MCFG_SCREEN_PALETTE(m_lpalette)
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(512, 512);
lscreen.set_visarea(0, 352-1, 0, 240-1);
lscreen.set_screen_update(FUNC(fromanc2_state::screen_update_left));
lscreen.set_palette(m_lpalette);
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_right)
MCFG_SCREEN_PALETTE(m_rpalette)
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(512, 512);
rscreen.set_visarea(0, 352-1, 0, 240-1);
rscreen.set_screen_update(FUNC(fromanc2_state::screen_update_right));
rscreen.set_palette(m_rpalette);
MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromancr)
@ -610,27 +610,27 @@ MACHINE_CONFIG_START(fromanc2_state::fromancr)
GENERIC_LATCH_8(config, m_soundlatch);
GENERIC_LATCH_8(config, m_soundlatch2);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.75)
MCFG_SOUND_ROUTE(2, "mono", 0.75)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fromanc2_state::fromanc4)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.50);
ymsnd.add_route(1, "mono", 0.75);
ymsnd.add_route(2, "mono", 0.75);
}
void fromanc2_state::fromanc4(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(32'000'000)/2) /* 16.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc4_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", fromanc2_state, irq1_line_hold)
M68000(config, m_maincpu, XTAL(32'000'000)/2); /* 16.00 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc4_main_map);
m_maincpu->set_vblank_int("lscreen", FUNC(fromanc2_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(32'000'000)/4) /* 8.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(fromanc2_sound_map)
MCFG_DEVICE_IO_MAP(fromanc2_sound_io_map)
Z80(config, m_audiocpu, XTAL(32'000'000)/4); /* 8.00 MHz */
m_audiocpu->set_addrmap(AS_PROGRAM, &fromanc2_state::fromanc2_sound_map);
m_audiocpu->set_addrmap(AS_IO, &fromanc2_state::fromanc2_sound_io_map);
MCFG_MACHINE_START_OVERRIDE(fromanc2_state,fromanc4)
EEPROM_93C46_16BIT(config, "eeprom");
EEPROM_93C46_16BIT(config, m_eeprom);
NS16550(config, m_uart, 2000000); // actual type is TL16C550CFN; clock unknown
m_uart->out_int_callback().set_inputline("maincpu", M68K_IRQ_2);
@ -645,21 +645,21 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc4)
config.set_default_layout(layout_dualhsxs);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_left)
MCFG_SCREEN_PALETTE("lpalette")
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(512, 512);
lscreen.set_visarea(0, 352-1, 0, 240-1);
lscreen.set_screen_update(FUNC(fromanc2_state::screen_update_left));
lscreen.set_palette(m_lpalette);
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(fromanc2_state, screen_update_right)
MCFG_SCREEN_PALETTE("rpalette")
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(512, 512);
rscreen.set_visarea(0, 352-1, 0, 240-1);
rscreen.set_screen_update(FUNC(fromanc2_state::screen_update_right));
rscreen.set_palette(m_rpalette);
MCFG_VIDEO_START_OVERRIDE(fromanc2_state,fromanc4)
@ -669,12 +669,12 @@ MACHINE_CONFIG_START(fromanc2_state::fromanc4)
GENERIC_LATCH_8(config, m_soundlatch);
GENERIC_LATCH_8(config, m_soundlatch2);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.75)
MCFG_SOUND_ROUTE(2, "mono", 0.75)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.50);
ymsnd.add_route(1, "mono", 0.75);
ymsnd.add_route(2, "mono", 0.75);
}
/*************************************

View File

@ -493,10 +493,11 @@ INPUT_PORTS_END
/*** MACHINE DRIVER **********************************************************/
MACHINE_CONFIG_START(gstriker_state::base)
MCFG_DEVICE_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
void gstriker_state::base(machine_config &config)
{
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &gstriker_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &gstriker_state::sound_io_map);
vs9209_device &io(VS9209(config, "io", 0));
io.porta_input_cb().set_ioport("P1");
@ -507,22 +508,21 @@ MACHINE_CONFIG_START(gstriker_state::base)
io.porth_input_cb().set(m_soundlatch, FUNC(generic_latch_8_device::pending_r)).lshift(0);
io.porth_output_cb().set("watchdog", FUNC(mb3773_device::write_line_ck)).bit(3);
MCFG_DEVICE_ADD("watchdog", MB3773, 0)
MB3773(config, m_watchdog, 0);
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(5000) /* hand-tuned, it needs a bit */)
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gstriker_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, gstriker_state, screen_vblank))
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(5000)); /* hand-tuned, it needs a bit */
m_screen->set_size(64*8, 64*8);
m_screen->set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
m_screen->set_screen_update(FUNC(gstriker_state::screen_update));
m_screen->screen_vblank().set(FUNC(gstriker_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gstriker);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x800);
MB60553(config, m_bg, 0);
m_bg->set_gfxdecode_tag(m_gfxdecode);
m_bg->set_gfx_region(1);
@ -544,13 +544,13 @@ MACHINE_CONFIG_START(gstriker_state::base)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
void gstriker_state::gstriker(machine_config &config)
{

View File

@ -333,30 +333,28 @@ void inufuku_state::machine_reset()
m_tx_palettebank = 0;
}
MACHINE_CONFIG_START(inufuku_state::inufuku)
void inufuku_state::inufuku(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 32000000/2) /* 16.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(inufuku_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", inufuku_state, irq1_line_hold)
MCFG_DEVICE_ADD("audiocpu", Z80, 32000000/4) /* 8.00 MHz */
MCFG_DEVICE_PROGRAM_MAP(inufuku_sound_map)
MCFG_DEVICE_IO_MAP(inufuku_sound_io_map)
/* IRQs are triggered by the YM2610 */
M68000(config, m_maincpu, 32000000/2); /* 16.00 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &inufuku_state::inufuku_map);
m_maincpu->set_vblank_int("screen", FUNC(inufuku_state::irq1_line_hold));
Z80(config, m_audiocpu, 32000000/4); /* 8.00 MHz */
m_audiocpu->set_addrmap(AS_PROGRAM, &inufuku_state::inufuku_sound_map);
m_audiocpu->set_addrmap(AS_IO, &inufuku_state::inufuku_sound_io_map); /* IRQs are triggered by the YM2610 */
EEPROM_93C46_16BIT(config, "eeprom");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2300))
MCFG_SCREEN_SIZE(2048, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(inufuku_state, screen_update_inufuku)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, inufuku_state, screen_vblank_inufuku))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2300));
screen.set_size(2048, 256);
screen.set_visarea(0, 319, 0, 223);
screen.set_screen_update(FUNC(inufuku_state::screen_update_inufuku));
screen.screen_vblank().set(FUNC(inufuku_state::screen_vblank_inufuku));
screen.set_palette(m_palette);
VSYSTEM_SPR(config, m_spr, 0);
m_spr->set_offsets(0, 1); // reference videos confirm at least the +1 against tilemaps in 3on3dunk (the highscore header text and black box are meant to be 1 pixel misaligned, although there is currently a priority bug there too)
@ -375,18 +373,18 @@ MACHINE_CONFIG_START(inufuku_state::inufuku)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 32000000/4)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 0.75)
MCFG_SOUND_ROUTE(2, "mono", 0.75)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 32000000/4));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.50);
ymsnd.add_route(1, "mono", 0.75);
ymsnd.add_route(2, "mono", 0.75);
}
MACHINE_CONFIG_START(inufuku_state::_3on3dunk)
void inufuku_state::_3on3dunk(machine_config &config)
{
inufuku(config);
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_3on3dunk)
MACHINE_CONFIG_END
m_gfxdecode->set_info(gfx_3on3dunk);
}

View File

@ -434,34 +434,32 @@ void mcatadv_state::machine_start()
save_item(NAME(m_palette_bank));
}
MACHINE_CONFIG_START(mcatadv_state::mcatadv)
void mcatadv_state::mcatadv(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(mcatadv_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", mcatadv_state, irq1_line_hold)
MCFG_DEVICE_ADD("soundcpu", Z80, XTAL(16'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(mcatadv_sound_map)
MCFG_DEVICE_IO_MAP(mcatadv_sound_io_map)
M68000(config, m_maincpu, XTAL(16'000'000)); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &mcatadv_state::mcatadv_map);
m_maincpu->set_vblank_int("screen", FUNC(mcatadv_state::irq1_line_hold));
Z80(config, m_soundcpu, XTAL(16'000'000)/4); /* verified on pcb */
m_soundcpu->set_addrmap(AS_PROGRAM, &mcatadv_state::mcatadv_sound_map);
m_soundcpu->set_addrmap(AS_IO, &mcatadv_state::mcatadv_sound_io_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(320, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(mcatadv_state, screen_update_mcatadv)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, mcatadv_state, screen_vblank_mcatadv))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(320, 256);
screen.set_visarea(0, 320-1, 0, 224-1);
screen.set_screen_update(FUNC(mcatadv_state::screen_update_mcatadv));
screen.screen_vblank().set(FUNC(mcatadv_state::screen_vblank_mcatadv));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_mcatadv);
PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x2000/2);
WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_seconds(3)); /* a guess, and certainly wrong */
/* sound hardware */
SPEAKER(config, "mono").front_center();
@ -469,26 +467,26 @@ MACHINE_CONFIG_START(mcatadv_state::mcatadv)
GENERIC_LATCH_8(config, "soundlatch2");
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.32)
MCFG_SOUND_ROUTE(1, "mono", 0.5)
MCFG_SOUND_ROUTE(2, "mono", 0.5)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(16'000'000)/2)); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_soundcpu, 0);
ymsnd.add_route(0, "mono", 0.32);
ymsnd.add_route(1, "mono", 0.5);
ymsnd.add_route(2, "mono", 0.5);
}
MACHINE_CONFIG_START(mcatadv_state::nost)
void mcatadv_state::nost(machine_config &config)
{
mcatadv(config);
MCFG_DEVICE_MODIFY("soundcpu")
MCFG_DEVICE_PROGRAM_MAP(nost_sound_map)
MCFG_DEVICE_IO_MAP(nost_sound_io_map)
m_soundcpu->set_addrmap(AS_PROGRAM, &mcatadv_state::nost_sound_map);
m_soundcpu->set_addrmap(AS_IO, &mcatadv_state::nost_sound_io_map);
MCFG_DEVICE_REPLACE("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("soundcpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.2)
MCFG_SOUND_ROUTE(1, "mono", 0.5)
MCFG_SOUND_ROUTE(2, "mono", 0.5)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config.replace(), "ymsnd", XTAL(16'000'000)/2)); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_soundcpu, 0);
ymsnd.add_route(0, "mono", 0.2);
ymsnd.add_route(1, "mono", 0.5);
ymsnd.add_route(2, "mono", 0.5);
}
ROM_START( mcatadv )

View File

@ -500,27 +500,27 @@ void neoprint_state::machine_start()
}
MACHINE_CONFIG_START(neoprint_state::neoprint)
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(neoprint_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(neoprint_state, irq3_line_hold, 45) /* camera / printer irq, unknown timing */
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", neoprint_state, irq2_line_hold) // lv1,2,3 valid?
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &neoprint_state::neoprint_map);
m_maincpu->set_periodic_int(FUNC(neoprint_state::irq3_line_hold), attotime::from_hz(45)); /* camera / printer irq, unknown timing */
m_maincpu->set_vblank_int("screen", FUNC(neoprint_state::irq2_line_hold)); // lv1,2,3 valid?
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(neoprint_audio_map)
MCFG_DEVICE_IO_MAP(neoprint_audio_io_map)
Z80(config, m_audiocpu, 4000000);
m_audiocpu->set_addrmap(AS_PROGRAM, &neoprint_state::neoprint_audio_map);
m_audiocpu->set_addrmap(AS_IO, &neoprint_state::neoprint_audio_io_map);
UPD4990A(config, m_upd4990a);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_neoprint);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(neoprint_state, screen_update_neoprint)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(0*8, 48*8-1, 0*8, 30*8-1);
m_screen->set_screen_update(FUNC(neoprint_state::screen_update_neoprint));
m_screen->set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x10000);
@ -529,41 +529,42 @@ MACHINE_CONFIG_START(neoprint_state::neoprint)
GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("ymsnd", YM2610, 24000000 / 3)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.60)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.60)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 24000000 / 3));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.60);
ymsnd.add_route(0, "rspeaker", 0.60);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
MACHINE_RESET_MEMBER(neoprint_state,nprsp)
{
m_bank_val = 0;
}
MACHINE_CONFIG_START(neoprint_state::nprsp)
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(nprsp_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(neoprint_state, irq3_line_hold, 45) /* camera / printer irq, unknown timing */
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", neoprint_state, irq2_line_hold) // lv1,2,3 valid?
void neoprint_state::nprsp(machine_config &config)
{
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &neoprint_state::nprsp_map);
m_maincpu->set_periodic_int(FUNC(neoprint_state::irq3_line_hold), attotime::from_hz(45)); /* camera / printer irq, unknown timing */
m_maincpu->set_vblank_int("screen", FUNC(neoprint_state::irq2_line_hold)); // lv1,2,3 valid?
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(neoprint_audio_map)
MCFG_DEVICE_IO_MAP(neoprint_audio_io_map)
Z80(config, m_audiocpu, 4000000);
m_audiocpu->set_addrmap(AS_PROGRAM, &neoprint_state::neoprint_audio_map);
m_audiocpu->set_addrmap(AS_IO, &neoprint_state::neoprint_audio_io_map);
UPD4990A(config, m_upd4990a);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_neoprint);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(neoprint_state, screen_update_nprsp)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(0*8, 48*8-1, 0*8, 30*8-1);
m_screen->set_screen_update(FUNC(neoprint_state::screen_update_nprsp));
m_screen->set_palette(m_palette);
MCFG_MACHINE_RESET_OVERRIDE(neoprint_state,nprsp)
@ -574,13 +575,13 @@ MACHINE_CONFIG_START(neoprint_state::nprsp)
GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("ymsnd", YM2610, 24000000 / 3)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.60)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.60)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 24000000 / 3));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.60);
ymsnd.add_route(0, "rspeaker", 0.60);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
// uses NEO-MVS PROGBK1 (Same as NeoGeo MVS cart)

View File

@ -733,24 +733,24 @@ void ninjaw_state::machine_reset()
machine().sound().system_enable(true); /* mixer enabled */
}
MACHINE_CONFIG_START(ninjaw_state::ninjaw)
void ninjaw_state::ninjaw(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000,16000000/2) /* 8 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(ninjaw_master_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold)
M68000(config, m_maincpu, 16000000/2); /* 8 MHz ? */
m_maincpu->set_addrmap(AS_PROGRAM, &ninjaw_state::ninjaw_master_map);
m_maincpu->set_vblank_int("lscreen", FUNC(ninjaw_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 16/4 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
z80_device &audiocpu(Z80(config, "audiocpu", 16000000/4)); /* 16/4 MHz ? */
audiocpu.set_addrmap(AS_PROGRAM, &ninjaw_state::sound_map);
MCFG_DEVICE_ADD("sub", M68000,16000000/2) /* 8 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(ninjaw_slave_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold)
M68000(config, m_subcpu, 16000000/2); /* 8 MHz ? */
m_subcpu->set_addrmap(AS_PROGRAM, &ninjaw_state::ninjaw_slave_map);
m_subcpu->set_vblank_int("lscreen", FUNC(ninjaw_state::irq4_line_hold));
// TODO: if CPUs are unsynched then seldomly stages loads up with no enemies
// Let's use a better timer (was 6000 before) based off actual CPU timing.
// Might as well bump the divider in case the bug still occurs before resorting to perfect CPU.
MCFG_QUANTUM_TIME(attotime::from_hz(16000000/1024)) /* CPU slices */
config.m_minimum_quantum = attotime::from_hz(16000000/1024); /* CPU slices */
//MCFG_QUANTUM_PERFECT_CPU("maincpu")
tc0040ioc_device &tc0040ioc(TC0040IOC(config, "tc0040ioc", 0));
@ -762,36 +762,36 @@ MACHINE_CONFIG_START(ninjaw_state::ninjaw)
tc0040ioc.read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ninjaw)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
MCFG_PALETTE_ADD("palette3", 4096)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ninjaw);
PALETTE(config, m_palette).set_entries(4096);
PALETTE(config, "palette2").set_entries(4096);
PALETTE(config, "palette3").set_entries(4096);
config.set_default_layout(layout_ninjaw);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_left)
MCFG_SCREEN_PALETTE("palette")
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(36*8, 32*8);
lscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
lscreen.set_screen_update(FUNC(ninjaw_state::screen_update_left));
lscreen.set_palette(m_palette);
MCFG_SCREEN_ADD("mscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_middle)
MCFG_SCREEN_PALETTE("palette2")
screen_device &mscreen(SCREEN(config, "mscreen", SCREEN_TYPE_RASTER));
mscreen.set_refresh_hz(60);
mscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
mscreen.set_size(36*8, 32*8);
mscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
mscreen.set_screen_update(FUNC(ninjaw_state::screen_update_middle));
mscreen.set_palette("palette2");
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_right)
MCFG_SCREEN_PALETTE("palette3")
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(36*8, 32*8);
rscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
rscreen.set_screen_update(FUNC(ninjaw_state::screen_update_right));
rscreen.set_palette("palette3");
TC0100SCN(config, m_tc0100scn[0], 0);
m_tc0100scn[0]->set_gfx_region(1);
@ -830,14 +830,14 @@ MACHINE_CONFIG_START(ninjaw_state::ninjaw)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 1.0);
ymsnd.add_route(1, "2610.1.r", 1.0);
ymsnd.add_route(2, "2610.2.l", 1.0);
ymsnd.add_route(2, "2610.2.r", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
@ -849,25 +849,25 @@ MACHINE_CONFIG_START(ninjaw_state::ninjaw)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag("audiocpu");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(ninjaw_state::darius2)
void ninjaw_state::darius2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000,16000000/2) /* 8 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(darius2_master_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold)
M68000(config, m_maincpu, 16000000/2); /* 8 MHz ? */
m_maincpu->set_addrmap(AS_PROGRAM, &ninjaw_state::darius2_master_map);
m_maincpu->set_vblank_int("lscreen", FUNC(ninjaw_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
z80_device &audiocpu(Z80(config, "audiocpu", 16000000/4)); /* 4 MHz ? */
audiocpu.set_addrmap(AS_PROGRAM, &ninjaw_state::sound_map);
MCFG_DEVICE_ADD("sub", M68000,16000000/2) /* 8 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(darius2_slave_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", ninjaw_state, irq4_line_hold)
M68000(config, m_subcpu, 16000000/2); /* 8 MHz ? */
m_subcpu->set_addrmap(AS_PROGRAM, &ninjaw_state::darius2_slave_map);
m_subcpu->set_vblank_int("lscreen", FUNC(ninjaw_state::irq4_line_hold));
MCFG_QUANTUM_TIME(attotime::from_hz(16000000/1024)) /* CPU slices */
//MCFG_QUANTUM_PERFECT_CPU("maincpu")
config.m_minimum_quantum = attotime::from_hz(16000000/1024); /* CPU slices */
//config.m_perfect_cpu_quantum = subtag("maincpu");
tc0040ioc_device &tc0040ioc(TC0040IOC(config, "tc0040ioc", 0));
tc0040ioc.read_0_callback().set_ioport("DSWA");
@ -878,36 +878,36 @@ MACHINE_CONFIG_START(ninjaw_state::darius2)
tc0040ioc.read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_ninjaw)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
MCFG_PALETTE_ADD("palette3", 4096)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ninjaw);
PALETTE(config, m_palette).set_entries(4096);
PALETTE(config, "palette2").set_entries(4096);
PALETTE(config, "palette3").set_entries(4096);
config.set_default_layout(layout_ninjaw);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_left)
MCFG_SCREEN_PALETTE("palette")
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(36*8, 32*8);
lscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
lscreen.set_screen_update(FUNC(ninjaw_state::screen_update_left));
lscreen.set_palette(m_palette);
MCFG_SCREEN_ADD("mscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_middle)
MCFG_SCREEN_PALETTE("palette2")
screen_device &mscreen(SCREEN(config, "mscreen", SCREEN_TYPE_RASTER));
mscreen.set_refresh_hz(60);
mscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
mscreen.set_size(36*8, 32*8);
mscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
mscreen.set_screen_update(FUNC(ninjaw_state::screen_update_middle));
mscreen.set_palette("palette2");
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(ninjaw_state, screen_update_right)
MCFG_SCREEN_PALETTE("palette3")
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(36*8, 32*8);
rscreen.set_visarea(0*8, 36*8-1, 3*8, 31*8-1);
rscreen.set_screen_update(FUNC(ninjaw_state::screen_update_right));
rscreen.set_palette("palette3");
TC0100SCN(config, m_tc0100scn[0], 0);
m_tc0100scn[0]->set_gfx_region(1);
@ -946,14 +946,14 @@ MACHINE_CONFIG_START(ninjaw_state::darius2)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 1.0);
ymsnd.add_route(1, "2610.1.r", 1.0);
ymsnd.add_route(2, "2610.2.l", 1.0);
ymsnd.add_route(2, "2610.2.r", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
@ -965,7 +965,7 @@ MACHINE_CONFIG_START(ninjaw_state::darius2)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag("audiocpu");
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -604,16 +604,16 @@ void othunder_state::machine_start()
save_item(NAME(m_pan));
}
MACHINE_CONFIG_START(othunder_state::othunder)
void othunder_state::othunder(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 24_MHz_XTAL/2)
MCFG_DEVICE_PROGRAM_MAP(othunder_map)
M68000(config, m_maincpu, 24_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &othunder_state::othunder_map);
MCFG_DEVICE_ADD("audiocpu", Z80, 16_MHz_XTAL/2/2)
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16_MHz_XTAL/2/2);
m_audiocpu->set_addrmap(AS_PROGRAM, &othunder_state::z80_sound_map);
EEPROM_93C46_16BIT(config, "eeprom");
EEPROM_93C46_16BIT(config, m_eeprom);
adc0808_device &adc(ADC0808(config, "adc", 16_MHz_XTAL/2/2/8));
adc.eoc_callback().set(FUNC(othunder_state::adc_eoc_w));
@ -632,17 +632,17 @@ MACHINE_CONFIG_START(othunder_state::othunder)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(othunder_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, othunder_state, vblank_w))
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(othunder_state::screen_update));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(othunder_state::vblank_w));
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_othunder)
MCFG_PALETTE_ADD("palette", 4096)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_othunder);
PALETTE(config, m_palette).set_entries(4096);
TC0100SCN(config, m_tc0100scn, 0);
m_tc0100scn->set_gfx_region(1);
@ -656,14 +656,14 @@ MACHINE_CONFIG_START(othunder_state::othunder)
/* sound hardware */
SPEAKER(config, "speaker").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "2610.0l", 0.25)
MCFG_SOUND_ROUTE(0, "2610.0r", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1l", 1.0)
MCFG_SOUND_ROUTE(1, "2610.1r", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2l", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2r", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "2610.0l", 0.25);
ymsnd.add_route(0, "2610.0r", 0.25);
ymsnd.add_route(1, "2610.1l", 1.0);
ymsnd.add_route(1, "2610.1r", 1.0);
ymsnd.add_route(2, "2610.2l", 1.0);
ymsnd.add_route(2, "2610.2r", 1.0);
FILTER_VOLUME(config, "2610.0l").add_route(ALL_OUTPUTS, "speaker", 1.0);
FILTER_VOLUME(config, "2610.0r").add_route(ALL_OUTPUTS, "speaker", 1.0);
@ -675,7 +675,7 @@ MACHINE_CONFIG_START(othunder_state::othunder)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}

View File

@ -579,29 +579,29 @@ MACHINE_RESET_MEMBER(pipedrm_state,pipedrm)
m_flipscreen = 0;
}
MACHINE_CONFIG_START(pipedrm_state::pipedrm)
void pipedrm_state::pipedrm(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80,12000000/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_IO_MAP(main_portmap)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pipedrm_state, irq0_line_hold)
Z80(config, m_maincpu, 12000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &pipedrm_state::main_map);
m_maincpu->set_addrmap(AS_IO, &pipedrm_state::main_portmap);
m_maincpu->set_vblank_int("screen", FUNC(pipedrm_state::irq0_line_hold));
MCFG_DEVICE_ADD("sub", Z80,14318000/4)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_portmap)
Z80(config, m_subcpu, 14318000/4);
m_subcpu->set_addrmap(AS_PROGRAM, &pipedrm_state::sound_map);
m_subcpu->set_addrmap(AS_IO, &pipedrm_state::sound_portmap);
MCFG_MACHINE_START_OVERRIDE(pipedrm_state,pipedrm)
MCFG_MACHINE_RESET_OVERRIDE(pipedrm_state,pipedrm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(44*8, 30*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pipedrm_state, screen_update_pipedrm)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
m_screen->set_size(44*8, 30*8);
m_screen->set_visarea(0*8, 44*8-1, 0*8, 30*8-1);
m_screen->set_screen_update(FUNC(pipedrm_state::screen_update_pipedrm));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pipedrm);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -624,37 +624,36 @@ MACHINE_CONFIG_START(pipedrm_state::pipedrm)
m_soundlatch->data_pending_callback().set_inputline(m_subcpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("sub", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pipedrm_state::hatris)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline("sub", 0);
ymsnd.add_route(0, "mono", 0.50);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
}
void pipedrm_state::hatris(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80,12000000/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_IO_MAP(main_portmap)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pipedrm_state, irq0_line_hold)
Z80(config, m_maincpu, 12000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &pipedrm_state::main_map);
m_maincpu->set_addrmap(AS_IO, &pipedrm_state::main_portmap);
m_maincpu->set_vblank_int("screen", FUNC(pipedrm_state::irq0_line_hold));
MCFG_DEVICE_ADD("sub", Z80,14318000/4)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(hatris_sound_portmap)
Z80(config, m_subcpu, 14318000/4);
m_subcpu->set_addrmap(AS_PROGRAM, &pipedrm_state::sound_map);
m_subcpu->set_addrmap(AS_IO, &pipedrm_state::hatris_sound_portmap);
MCFG_MACHINE_START_OVERRIDE(pipedrm_state,pipedrm)
MCFG_MACHINE_RESET_OVERRIDE(pipedrm_state,pipedrm)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(44*8, 30*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 44*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pipedrm_state, screen_update_fromance)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
m_screen->set_size(44*8, 30*8);
m_screen->set_visarea(0*8, 44*8-1, 0*8, 30*8-1);
m_screen->set_screen_update(FUNC(pipedrm_state::screen_update_fromance));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_hatris);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -674,12 +673,12 @@ MACHINE_CONFIG_START(pipedrm_state::hatris)
// sound board.
//m_soundlatch->data_pending_callback().set_inputline(m_subcpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("ymsnd", YM2608, 8000000)
MCFG_YM2608_IRQ_HANDLER(INPUTLINE("sub", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
MACHINE_CONFIG_END
ym2608_device &ym2608(YM2608(config, "ymsnd", 8000000));
ym2608.irq_handler().set_inputline("sub", 0);
ym2608.add_route(0, "mono", 0.50);
ym2608.add_route(1, "mono", 1.0);
ym2608.add_route(2, "mono", 1.0);
}

View File

@ -441,17 +441,17 @@ void slapshot_state::machine_start()
}
MACHINE_CONFIG_START(slapshot_state::slapshot)
void slapshot_state::slapshot(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 14346000) /* 28.6860 MHz / 2 ??? */
MCFG_DEVICE_PROGRAM_MAP(slapshot_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", slapshot_state, interrupt)
M68000(config, m_maincpu, 14346000); /* 28.6860 MHz / 2 ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &slapshot_state::slapshot_map);
m_maincpu->set_vblank_int("screen", FUNC(slapshot_state::interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80,32000000/8) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(opwolf3_z80_sound_map)
z80_device &audiocpu(Z80(config, "audiocpu", 32000000/8)); /* 4 MHz */
audiocpu.set_addrmap(AS_PROGRAM, &slapshot_state::opwolf3_z80_sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0640FIO(config, m_tc0640fio, 0);
m_tc0640fio->read_1_callback().set_ioport("COINS");
@ -461,14 +461,14 @@ MACHINE_CONFIG_START(slapshot_state::slapshot)
m_tc0640fio->read_7_callback().set_ioport("JOY");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(slapshot_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, slapshot_state, screen_vblank_taito_no_buffer))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(slapshot_state::screen_update));
screen.screen_vblank().set(FUNC(slapshot_state::screen_vblank_taito_no_buffer));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_slapshot);
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 8192);
@ -488,31 +488,31 @@ MACHINE_CONFIG_START(slapshot_state::slapshot)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610B, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
ym2610b_device &ymsnd(YM2610B(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
MCFG_DEVICE_ADD("mk48t08", MK48T08, 0)
MK48T08(config, "mk48t08", 0);
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag("audiocpu");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(slapshot_state::opwolf3)
}
void slapshot_state::opwolf3(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 14346000) /* 28.6860 MHz / 2 ??? */
MCFG_DEVICE_PROGRAM_MAP(opwolf3_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", slapshot_state, interrupt)
M68000(config, m_maincpu, 14346000); /* 28.6860 MHz / 2 ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &slapshot_state::opwolf3_map);
m_maincpu->set_vblank_int("screen", FUNC(slapshot_state::interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80,32000000/8) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(opwolf3_z80_sound_map)
z80_device &audiocpu(Z80(config, "audiocpu", 32000000/8)); /* 4 MHz */
audiocpu.set_addrmap(AS_PROGRAM, &slapshot_state::opwolf3_z80_sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
adc0809_device &adc(ADC0809(config, "adc", 500000)); // unknown clock
adc.eoc_ff_callback().set_inputline("maincpu", 3);
@ -529,14 +529,14 @@ MACHINE_CONFIG_START(slapshot_state::opwolf3)
m_tc0640fio->read_7_callback().set_ioport("JOY");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(slapshot_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, slapshot_state, screen_vblank_taito_no_buffer))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(slapshot_state::screen_update));
screen.screen_vblank().set(FUNC(slapshot_state::screen_vblank_taito_no_buffer));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_slapshot);
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 8192);
@ -556,19 +556,20 @@ MACHINE_CONFIG_START(slapshot_state::opwolf3)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610B, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
ym2610b_device &ymsnd(YM2610B(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
MCFG_DEVICE_ADD("mk48t08", MK48T08, 0)
MK48T08(config, "mk48t08", 0);
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag("audiocpu");
MACHINE_CONFIG_END
}
/***************************************************************************
DRIVERS

View File

@ -268,15 +268,15 @@ void suprslam_state::machine_reset()
m_bg_bank = 0;
}
MACHINE_CONFIG_START(suprslam_state::suprslam)
void suprslam_state::suprslam(machine_config &config)
{
M68000(config, m_maincpu, 16000000);
m_maincpu->set_addrmap(AS_PROGRAM, &suprslam_state::suprslam_map);
m_maincpu->set_vblank_int("screen", FUNC(suprslam_state::irq1_line_hold));
MCFG_DEVICE_ADD("maincpu", M68000, 16000000)
MCFG_DEVICE_PROGRAM_MAP(suprslam_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", suprslam_state, irq1_line_hold)
MCFG_DEVICE_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &suprslam_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &suprslam_state::sound_io_map);
vs9209_device &io(VS9209(config, "io", 0));
io.porta_input_cb().set_ioport("P1");
@ -288,14 +288,14 @@ MACHINE_CONFIG_START(suprslam_state::suprslam)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_suprslam);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2300) /* hand-tuned */)
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(suprslam_state, screen_update_suprslam)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2300)); /* hand-tuned */
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(suprslam_state::screen_update_suprslam));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xGBR_555, 0x800);
@ -315,13 +315,13 @@ MACHINE_CONFIG_START(suprslam_state::suprslam)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
/*** ROM LOADING *************************************************************/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -644,18 +644,17 @@ void taitoh_state::machine_start()
}
MACHINE_CONFIG_START(taitoh_state::syvalion)
void taitoh_state::syvalion(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(syvalion_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoh_state, irq2_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000) / 2); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoh_state::syvalion_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoh_state::irq2_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000) / 2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, XTAL(8'000'000) / 2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoh_state::sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0040IOC(config, m_tc0040ioc, 0);
m_tc0040ioc->read_0_callback().set_ioport("DSWA");
@ -666,13 +665,13 @@ MACHINE_CONFIG_START(taitoh_state::syvalion)
m_tc0040ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*16, 64*16)
MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 3*16, 28*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoh_state, screen_update_syvalion)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*16, 64*16);
screen.set_visarea(0*16, 32*16-1, 3*16, 28*16-1);
screen.set_screen_update(FUNC(taitoh_state::screen_update_syvalion));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_syvalion);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 33*16);
@ -687,30 +686,28 @@ MACHINE_CONFIG_START(taitoh_state::syvalion)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000))
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000)));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoh_state::recordbr)
}
void taitoh_state::recordbr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(recordbr_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoh_state, irq2_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000) / 2); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoh_state::recordbr_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoh_state::irq2_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000) / 2) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, XTAL(8'000'000) / 2); /* 4 MHz */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoh_state::sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0040IOC(config, m_tc0040ioc, 0);
m_tc0040ioc->read_0_callback().set_ioport("DSWA");
@ -721,13 +718,13 @@ MACHINE_CONFIG_START(taitoh_state::recordbr)
m_tc0040ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*16, 64*16)
MCFG_SCREEN_VISIBLE_AREA(1*16, 21*16-1, 2*16, 17*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoh_state, screen_update_recordbr)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*16, 64*16);
screen.set_visarea(1*16, 21*16-1, 2*16, 17*16-1);
screen.set_screen_update(FUNC(taitoh_state::screen_update_recordbr));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_recordbr);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 32*16);
@ -742,41 +739,38 @@ MACHINE_CONFIG_START(taitoh_state::recordbr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000))
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000)));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(taitoh_state::tetristh)
void taitoh_state::tetristh(machine_config &config)
{
recordbr(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(tetristh_map)
m_maincpu->set_addrmap(AS_PROGRAM, &taitoh_state::tetristh_map);
m_palette->set_entries(0x800/2);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoh_state::dleague)
}
void taitoh_state::dleague(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(dleague_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoh_state, irq1_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000) / 2); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoh_state::dleague_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoh_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000) / 2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, XTAL(8'000'000) / 2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoh_state::sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
tc0220ioc_device &tc0220ioc(TC0220IOC(config, "tc0220ioc", 0));
tc0220ioc.read_0_callback().set_ioport("DSWA");
@ -787,13 +781,13 @@ MACHINE_CONFIG_START(taitoh_state::dleague)
tc0220ioc.read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*16, 64*16)
MCFG_SCREEN_VISIBLE_AREA(1*16, 21*16-1, 2*16, 17*16-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoh_state, screen_update_dleague)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*16, 64*16);
screen.set_visarea(1*16, 21*16-1, 2*16, 17*16-1);
screen.set_screen_update(FUNC(taitoh_state::screen_update_dleague));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_dleague);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 33*16);
@ -808,16 +802,16 @@ MACHINE_CONFIG_START(taitoh_state::dleague)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(8'000'000))
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(8'000'000)));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -827,15 +827,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(taitox_state::cchip_irq_clear_cb)
/**************************************************************************/
MACHINE_CONFIG_START(taitox_state::superman)
void taitox_state::superman(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(superman_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitox_state, interrupt)
M68000(config, m_maincpu, XTAL(16'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &taitox_state::superman_map);
m_maincpu->set_vblank_int("screen", FUNC(taitox_state::interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, XTAL(16'000'000)/4); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitox_state::sound_map);
TAITO_CCHIP(config, m_cchip, 16_MHz_XTAL/2); // 8MHz measured on pin 20
m_cchip->in_pa_callback().set_ioport("IN0");
@ -843,9 +843,9 @@ MACHINE_CONFIG_START(taitox_state::superman)
m_cchip->in_ad_callback().set_ioport("IN2");
m_cchip->out_pc_callback().set(FUNC(taitox_state::superman_counters_w));
MCFG_TIMER_DRIVER_ADD("cchip_irq_clear", taitox_state, cchip_irq_clear_cb)
TIMER(config, "cchip_irq_clear").configure_generic(FUNC(taitox_state::cchip_irq_clear_cb));
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
@ -853,13 +853,13 @@ MACHINE_CONFIG_START(taitox_state::superman)
m_seta001->set_gfxdecode_tag(m_gfxdecode);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(57.43)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(52*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(57.43);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(52*8, 32*8);
screen.set_visarea(0*8, 48*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(taitox_state::screen_update_seta_no_layers));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_superman);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -870,29 +870,29 @@ MACHINE_CONFIG_START(taitox_state::superman)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(16'000'000)/2)); /* verified on pcb */
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitox_state::daisenpu)
}
void taitox_state::daisenpu(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(daisenpu_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitox_state, irq2_line_hold)
M68000(config, m_maincpu, XTAL(16'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &taitox_state::daisenpu_map);
m_maincpu->set_vblank_int("screen", FUNC(taitox_state::irq2_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000)/4) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(daisenpu_sound_map)
Z80(config, m_audiocpu, XTAL(16'000'000)/4); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitox_state::daisenpu_sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
@ -900,13 +900,13 @@ MACHINE_CONFIG_START(taitox_state::daisenpu)
m_seta001->set_gfxdecode_tag(m_gfxdecode);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(52*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(52*8, 32*8);
screen.set_visarea(0*8, 48*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(taitox_state::screen_update_seta_no_layers));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_superman);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -925,19 +925,19 @@ MACHINE_CONFIG_START(taitox_state::daisenpu)
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
ciu.set_master_tag(m_maincpu);
ciu.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitox_state::gigandes)
}
void taitox_state::gigandes(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 8000000) /* 8 MHz? */
MCFG_DEVICE_PROGRAM_MAP(gigandes_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitox_state, irq2_line_hold)
M68000(config, m_maincpu, 8000000); /* 8 MHz? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitox_state::gigandes_map);
m_maincpu->set_vblank_int("screen", FUNC(taitox_state::irq2_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, 4000000); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitox_state::sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
@ -945,13 +945,13 @@ MACHINE_CONFIG_START(taitox_state::gigandes)
m_seta001->set_gfxdecode_tag(m_gfxdecode);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(52*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(52*8, 32*8);
screen.set_visarea(0*8, 48*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(taitox_state::screen_update_seta_no_layers));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_superman);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -962,29 +962,29 @@ MACHINE_CONFIG_START(taitox_state::gigandes)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitox_state::ballbros)
}
void taitox_state::ballbros(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 8000000) /* 8 MHz? */
MCFG_DEVICE_PROGRAM_MAP(ballbros_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitox_state, irq2_line_hold)
M68000(config, m_maincpu, 8000000); /* 8 MHz? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitox_state::ballbros_map);
m_maincpu->set_vblank_int("screen", FUNC(taitox_state::irq2_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, 4000000) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, 4000000); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitox_state::sound_map);
MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
config.m_minimum_quantum = attotime::from_hz(600); /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
MCFG_MACHINE_START_OVERRIDE(taitox_state,taitox)
@ -992,13 +992,13 @@ MACHINE_CONFIG_START(taitox_state::ballbros)
m_seta001->set_gfxdecode_tag(m_gfxdecode);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(52*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitox_state, screen_update_seta_no_layers)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(52*8, 32*8);
screen.set_visarea(0*8, 48*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(taitox_state::screen_update_seta_no_layers));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ballbros);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 2048);
@ -1009,24 +1009,24 @@ MACHINE_CONFIG_START(taitox_state::ballbros)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(taitox_state::kyustrkr)
void taitox_state::kyustrkr(machine_config &config)
{
ballbros(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(kyustrkr_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &taitox_state::kyustrkr_map);
}
/***************************************************************************

View File

@ -3179,19 +3179,19 @@ MACHINE_RESET_MEMBER(taitoz_state,taitoz)
/* Contcirc vis area seems narrower than the other games... */
MACHINE_CONFIG_START(taitoz_state::contcirc)
void taitoz_state::contcirc(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(contcirc_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::contcirc_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq6_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(contcirc_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::contcirc_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq6_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
@ -3205,13 +3205,13 @@ MACHINE_CONFIG_START(taitoz_state::contcirc)
m_tc0040ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_contcirc)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 3*8, 31*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3233,13 +3233,13 @@ MACHINE_CONFIG_START(taitoz_state::contcirc)
SPEAKER(config, "rear").rear_center();
SPEAKER(config, "subwoofer").subwoofer();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "subwoofer", 0.20);
ymsnd.add_route(1, "2610.1.l", 2.0);
ymsnd.add_route(1, "2610.1.r", 2.0);
ymsnd.add_route(2, "2610.2.l", 2.0);
ymsnd.add_route(2, "2610.2.r", 2.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rear", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "front", 1.0);
@ -3249,22 +3249,21 @@ MACHINE_CONFIG_START(taitoz_state::contcirc)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::chasehq)
}
void taitoz_state::chasehq(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(chasehq_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::chasehq_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(chq_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::chq_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,chasehq)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
@ -3278,13 +3277,13 @@ MACHINE_CONFIG_START(taitoz_state::chasehq)
m_tc0040ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_chasehq)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_chasehq));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_chasehq);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3306,13 +3305,13 @@ MACHINE_CONFIG_START(taitoz_state::chasehq)
SPEAKER(config, "rear").rear_center();
SPEAKER(config, "subwoofer").subwoofer();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "subwoofer", 0.20);
ymsnd.add_route(1, "2610.1.l", 1.0);
ymsnd.add_route(1, "2610.1.r", 1.0);
ymsnd.add_route(2, "2610.2.l", 1.0);
ymsnd.add_route(2, "2610.2.r", 1.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rear", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "front", 1.0);
@ -3322,27 +3321,26 @@ MACHINE_CONFIG_START(taitoz_state::chasehq)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::enforce)
}
void taitoz_state::enforce(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(enforce_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::enforce_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq6_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(enforce_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq6_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::enforce_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq6_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
config.m_minimum_quantum = attotime::from_hz(600);
TC0040IOC(config, m_tc0040ioc, 0);
m_tc0040ioc->read_0_callback().set_ioport("DSWA");
@ -3353,13 +3351,13 @@ MACHINE_CONFIG_START(taitoz_state::enforce)
m_tc0040ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_contcirc)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 31*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_contcirc));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3380,14 +3378,14 @@ MACHINE_CONFIG_START(taitoz_state::enforce)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 20.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 20.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 20.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 20.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 20.0);
ymsnd.add_route(1, "2610.1.r", 20.0);
ymsnd.add_route(2, "2610.2.l", 20.0);
ymsnd.add_route(2, "2610.2.r", 20.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
@ -3397,22 +3395,23 @@ MACHINE_CONFIG_START(taitoz_state::enforce)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(taitoz_state::bshark_base)
void taitoz_state::bshark_base(machine_config &config)
{
/* basic machine hardware */
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::bshark_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(bshark_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::bshark_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
config.m_minimum_quantum = attotime::from_hz(6000);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -3423,13 +3422,13 @@ MACHINE_CONFIG_START(taitoz_state::bshark_base)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_bshark)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_bshark));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3448,20 +3447,20 @@ MACHINE_CONFIG_START(taitoz_state::bshark_base)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
//MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) // DG: this is probably specific to Z80 and wrong?
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 28.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 28.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 28.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 28.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
//ymsnd.irq_handler().set_inputline(m_audiocpu, 0); // DG: this is probably specific to Z80 and wrong?
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 28.0);
ymsnd.add_route(1, "2610.1.r", 28.0);
ymsnd.add_route(2, "2610.2.l", 28.0);
ymsnd.add_route(2, "2610.2.r", 28.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
MACHINE_CONFIG_END
}
void taitoz_state::bshark(machine_config &config)
{
@ -3482,24 +3481,24 @@ void taitoz_state::bsharkjjs(machine_config &config)
}
MACHINE_CONFIG_START(taitoz_state::sci)
void taitoz_state::sci(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sci_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, sci_interrupt)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::sci_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::sci_interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sci_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::sci_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(3000))
config.m_minimum_quantum = attotime::from_hz(3000);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -3510,13 +3509,13 @@ MACHINE_CONFIG_START(taitoz_state::sci)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_sci)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_sci));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3535,14 +3534,14 @@ MACHINE_CONFIG_START(taitoz_state::sci)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 2.0);
ymsnd.add_route(1, "2610.1.r", 2.0);
ymsnd.add_route(2, "2610.2.l", 2.0);
ymsnd.add_route(2, "2610.2.r", 2.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
@ -3552,27 +3551,26 @@ MACHINE_CONFIG_START(taitoz_state::sci)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::nightstr)
}
void taitoz_state::nightstr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(nightstr_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::nightstr_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(nightstr_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::nightstr_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(6000))
config.m_minimum_quantum = attotime::from_hz(6000);
adc0809_device &adc(ADC0809(config, "adc", 500000)); // clock unknown
adc.eoc_ff_callback().set_inputline("maincpu", 6);
@ -3590,13 +3588,13 @@ MACHINE_CONFIG_START(taitoz_state::nightstr)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_chasehq)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_chasehq));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_chasehq);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3618,13 +3616,13 @@ MACHINE_CONFIG_START(taitoz_state::nightstr)
SPEAKER(config, "rear").rear_center();
SPEAKER(config, "subwoofer").subwoofer();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "subwoofer", 0.20)
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "subwoofer", 0.20);
ymsnd.add_route(1, "2610.1.l", 2.0);
ymsnd.add_route(1, "2610.1.r", 2.0);
ymsnd.add_route(2, "2610.2.l", 2.0);
ymsnd.add_route(2, "2610.2.r", 2.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rear", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "front", 1.0);
@ -3634,27 +3632,26 @@ MACHINE_CONFIG_START(taitoz_state::nightstr)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::aquajack)
}
void taitoz_state::aquajack(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(aquajack_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::aquajack_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(aquajack_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::aquajack_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
config.m_minimum_quantum = attotime::from_hz(30000);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -3665,13 +3662,13 @@ MACHINE_CONFIG_START(taitoz_state::aquajack)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_aquajack)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_aquajack));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3692,14 +3689,14 @@ MACHINE_CONFIG_START(taitoz_state::aquajack)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 2.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 2.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 2.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 2.0);
ymsnd.add_route(1, "2610.1.r", 2.0);
ymsnd.add_route(2, "2610.2.l", 2.0);
ymsnd.add_route(2, "2610.2.r", 2.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
@ -3709,24 +3706,23 @@ MACHINE_CONFIG_START(taitoz_state::aquajack)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::spacegun)
}
void taitoz_state::spacegun(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 16000000) /* 16 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(spacegun_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_maincpu, 16000000); /* 16 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::spacegun_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_DEVICE_ADD("sub", M68000, 16000000) /* 16 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(spacegun_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, 16000000); /* 16 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::spacegun_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,bshark)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
EEPROM_93C46_16BIT(config, "eeprom").default_data(spacegun_default_eeprom, 128);
EEPROM_93C46_16BIT(config, m_eeprom).default_data(spacegun_default_eeprom, 128);
adc0809_device &adc(ADC0809(config, "adc", 500000)); // clock unknown
adc.eoc_ff_callback().set_inputline("sub", 5);
@ -3745,13 +3741,13 @@ MACHINE_CONFIG_START(taitoz_state::spacegun)
m_tc0510nio->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_spacegun)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_spacegun));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_taitoz);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3769,41 +3765,40 @@ MACHINE_CONFIG_START(taitoz_state::spacegun)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
//MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) // DG: this is probably specific to Z80 and wrong?
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
//ymsnd.irq_handler().set_inputline(m_audiocpu, 0); // DG: this is probably specific to Z80 and wrong?
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 8.0);
ymsnd.add_route(1, "2610.1.r", 8.0);
ymsnd.add_route(2, "2610.2.l", 8.0);
ymsnd.add_route(2, "2610.2.r", 8.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, "2610.2.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.2.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::dblaxle)
}
void taitoz_state::dblaxle(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(32'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(dblaxle_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_maincpu, XTAL(32'000'000)/2);
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::dblaxle_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(32'000'000)/8)
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, XTAL(32'000'000)/8);
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, XTAL(32'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(dblaxle_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, XTAL(32'000'000)/2);
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::dblaxle_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
// make quantum time to be a multiple of the xtal (fixes road layer stuck on continue)
MCFG_QUANTUM_TIME(attotime::from_hz(XTAL(32'000'000)/1024))
config.m_minimum_quantum = attotime::from_hz(XTAL(32'000'000)/1024);
TC0510NIO(config, m_tc0510nio, 0);
m_tc0510nio->read_0_callback().set_ioport("DSWA");
@ -3814,13 +3809,13 @@ MACHINE_CONFIG_START(taitoz_state::dblaxle)
m_tc0510nio->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_dblaxle)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_dblaxle));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_dblaxle);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3839,14 +3834,14 @@ MACHINE_CONFIG_START(taitoz_state::dblaxle)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(32'000'000)/4)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(32'000'000)/4));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 8.0);
ymsnd.add_route(1, "2610.1.r", 8.0);
ymsnd.add_route(2, "2610.2.l", 8.0);
ymsnd.add_route(2, "2610.2.r", 8.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
@ -3856,22 +3851,21 @@ MACHINE_CONFIG_START(taitoz_state::dblaxle)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
MACHINE_CONFIG_START(taitoz_state::racingb)
}
void taitoz_state::racingb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(32'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(racingb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, sci_interrupt)
M68000(config, m_maincpu, XTAL(32'000'000)/2);
m_maincpu->set_addrmap(AS_PROGRAM, &taitoz_state::racingb_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoz_state::sci_interrupt));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(32'000'000)/8)
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, XTAL(32'000'000)/8);
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoz_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, XTAL(32'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(racingb_cpub_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoz_state, irq4_line_hold)
M68000(config, m_subcpu, XTAL(32'000'000)/2);
m_subcpu->set_addrmap(AS_PROGRAM, &taitoz_state::racingb_cpub_map);
m_subcpu->set_vblank_int("screen", FUNC(taitoz_state::irq4_line_hold));
MCFG_MACHINE_START_OVERRIDE(taitoz_state,taitoz)
MCFG_MACHINE_RESET_OVERRIDE(taitoz_state,taitoz)
@ -3887,13 +3881,13 @@ MACHINE_CONFIG_START(taitoz_state::racingb)
m_tc0510nio->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taitoz_state, screen_update_racingb)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(taitoz_state::screen_update_racingb));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_dblaxle);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 4096);
@ -3912,14 +3906,14 @@ MACHINE_CONFIG_START(taitoz_state::racingb)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(32'000'000)/4)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 8.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 8.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 8.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 8.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(32'000'000)/4));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 8.0);
ymsnd.add_route(1, "2610.1.r", 8.0);
ymsnd.add_route(2, "2610.2.l", 8.0);
ymsnd.add_route(2, "2610.2.r", 8.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
@ -3929,7 +3923,7 @@ MACHINE_CONFIG_START(taitoz_state::racingb)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -200,7 +200,6 @@ perhaps? The two writes seem to take only two values.
#include "audio/taitosnd.h"
#include "cpu/m68000/m68000.h"
#include "cpu/tms32025/tms32025.h"
#include "cpu/z80/z80.h"
#include "sound/2610intf.h"
#include "speaker.h"
@ -702,23 +701,23 @@ void taitoair_state::machine_reset()
}
}
MACHINE_CONFIG_START(taitoair_state::airsys)
void taitoair_state::airsys(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000)) // MC68000P12
MCFG_DEVICE_PROGRAM_MAP(airsys_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taitoair_state, irq5_line_hold)
M68000(config, m_maincpu, XTAL(12'000'000)); // MC68000P12
m_maincpu->set_addrmap(AS_PROGRAM, &taitoair_state::airsys_map);
m_maincpu->set_vblank_int("screen", FUNC(taitoair_state::irq5_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(16'000'000) / 4) // Z8400AB1
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, XTAL(16'000'000) / 4); // Z8400AB1
m_audiocpu->set_addrmap(AS_PROGRAM, &taitoair_state::sound_map);
tms32025_device& dsp(TMS32025(config, m_dsp, XTAL(36'000'000))); // Unverified
dsp.set_addrmap(AS_PROGRAM, &taitoair_state::DSP_map_program);
dsp.set_addrmap(AS_DATA, &taitoair_state::DSP_map_data);
dsp.hold_in_cb().set(FUNC(taitoair_state::dsp_HOLD_signal_r));
dsp.hold_ack_out_cb().set(FUNC(taitoair_state::dsp_HOLDA_signal_w));
TMS32025(config, m_dsp, XTAL(36'000'000)); // Unverified
m_dsp->set_addrmap(AS_PROGRAM, &taitoair_state::DSP_map_program);
m_dsp->set_addrmap(AS_DATA, &taitoair_state::DSP_map_data);
m_dsp->hold_in_cb().set(FUNC(taitoair_state::dsp_HOLD_signal_r));
m_dsp->hold_ack_out_cb().set(FUNC(taitoair_state::dsp_HOLDA_signal_w));
MCFG_QUANTUM_PERFECT_CPU("maincpu")
config.m_perfect_cpu_quantum = subtag("maincpu");
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -731,17 +730,17 @@ MACHINE_CONFIG_START(taitoair_state::airsys)
TAITOIO_YOKE(config, m_yoke, 0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
// MCFG_SCREEN_REFRESH_RATE(60)
// MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
// MCFG_SCREEN_SIZE(64*16, 32*16)
// MCFG_SCREEN_VISIBLE_AREA(0*16, 32*16-1, 3*16, 28*16-1)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(60);
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
// m_screen->set_size(64*16, 32*16);
// m_screen->set_visarea(0*16, 32*16-1, 3*16, 28*16-1);
// Estimated, assume same as mlanding.cpp
MCFG_SCREEN_RAW_PARAMS(16000000, 640, 0, 512, 462, 3*16, 28*16)
MCFG_SCREEN_UPDATE_DRIVER(taitoair_state, screen_update_taitoair)
MCFG_SCREEN_PALETTE(m_palette)
m_screen->set_raw(16000000, 640, 0, 512, 462, 3*16, 28*16);
m_screen->set_screen_update(FUNC(taitoair_state::screen_update_taitoair));
m_screen->set_palette(m_palette);
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_airsys)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_airsys);
PALETTE(config, m_palette, palette_device::BLACK, 512*16+512*16);
@ -755,16 +754,16 @@ MACHINE_CONFIG_START(taitoair_state::airsys)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, XTAL(16'000'000) / 2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.30)
MCFG_SOUND_ROUTE(1, "mono", 0.60)
MCFG_SOUND_ROUTE(2, "mono", 0.60)
ym2610_device &ymsnd(YM2610(config, "ymsnd", XTAL(16'000'000) / 2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.30);
ymsnd.add_route(1, "mono", 0.60);
ymsnd.add_route(2, "mono", 0.60);
tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
tc0140syt.set_master_tag(m_maincpu);
tc0140syt.set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
/*************************************************************

View File

@ -348,15 +348,15 @@ GFXDECODE_END
MACHINE_CONFIG_START(taotaido_state::taotaido)
MCFG_DEVICE_ADD("maincpu", M68000, 32000000/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", taotaido_state, irq1_line_hold)
void taotaido_state::taotaido(machine_config &config)
{
M68000(config, m_maincpu, 32000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &taotaido_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(taotaido_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,20000000/4) // ??
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_port_map)
/* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, 20000000/4); // ??
m_audiocpu->set_addrmap(AS_PROGRAM, &taotaido_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &taotaido_state::sound_port_map); /* IRQs are triggered by the YM2610 */
vs9209_device &io1(VS9209(config, "io1", 0));
io1.porta_input_cb().set_ioport("P1");
@ -372,18 +372,18 @@ MACHINE_CONFIG_START(taotaido_state::taotaido)
io2.porta_input_cb().set_ioport("P3"); // used only by taotaida
io2.portb_input_cb().set_ioport("P4"); // used only by taotaida
MCFG_DEVICE_ADD("watchdog", MB3773, 0)
MB3773(config, m_watchdog, 0);
GFXDECODE(config, m_gfxdecode, "palette", gfx_taotaido);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taotaido_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, taotaido_state, screen_vblank))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(taotaido_state::screen_update));
screen.screen_vblank().set(FUNC(taotaido_state::screen_vblank));
screen.set_palette("palette");
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x800);
@ -400,13 +400,13 @@ MACHINE_CONFIG_START(taotaido_state::taotaido)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
}
ROM_START( taotaido )

View File

@ -435,15 +435,15 @@ void warriorb_state::machine_reset()
machine().sound().system_enable(true); /* mixer enabled */
}
MACHINE_CONFIG_START(warriorb_state::darius2d)
void warriorb_state::darius2d(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? (Might well be 16!) */
MCFG_DEVICE_PROGRAM_MAP(darius2d_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", warriorb_state, irq4_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? (Might well be 16!) */
m_maincpu->set_addrmap(AS_PROGRAM, &warriorb_state::darius2d_map);
m_maincpu->set_vblank_int("lscreen", FUNC(warriorb_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
z80_device &audiocpu(Z80(config, "audiocpu", 16000000/4)); /* 4 MHz ? */
audiocpu.set_addrmap(AS_PROGRAM, &warriorb_state::z80_sound_map);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -454,19 +454,19 @@ MACHINE_CONFIG_START(warriorb_state::darius2d)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_warriorb)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_warriorb);
PALETTE(config, m_palette).set_entries(4096);
PALETTE(config, "palette2").set_entries(4096);
config.set_default_layout(layout_dualhsxs);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_left)
MCFG_SCREEN_PALETTE("palette")
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(40*8, 32*8);
lscreen.set_visarea(0*8, 40*8-1, 3*8, 32*8-1);
lscreen.set_screen_update(FUNC(warriorb_state::screen_update_left));
lscreen.set_palette(m_palette);
TC0100SCN(config, m_tc0100scn[0], 0);
m_tc0100scn[0]->set_gfx_region(1);
@ -477,13 +477,13 @@ MACHINE_CONFIG_START(warriorb_state::darius2d)
TC0110PCR(config, m_tc0110pcr[0], 0, m_palette);
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_right)
MCFG_SCREEN_PALETTE("palette2")
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(40*8, 32*8);
rscreen.set_visarea(0*8, 40*8-1, 3*8, 32*8-1);
rscreen.set_screen_update(FUNC(warriorb_state::screen_update_right));
rscreen.set_palette("palette2");
TC0100SCN(config, m_tc0100scn[1], 0);
m_tc0100scn[1]->set_gfx_region(2);
@ -499,14 +499,14 @@ MACHINE_CONFIG_START(warriorb_state::darius2d)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 1.0);
ymsnd.add_route(1, "2610.1.r", 1.0);
ymsnd.add_route(2, "2610.2.l", 1.0);
ymsnd.add_route(2, "2610.2.r", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
@ -516,18 +516,17 @@ MACHINE_CONFIG_START(warriorb_state::darius2d)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag("audiocpu");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(warriorb_state::warriorb)
}
void warriorb_state::warriorb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 16000000) /* 16 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(warriorb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", warriorb_state, irq4_line_hold)
M68000(config, m_maincpu, 16000000); /* 16 MHz ? */
m_maincpu->set_addrmap(AS_PROGRAM, &warriorb_state::warriorb_map);
m_maincpu->set_vblank_int("lscreen", FUNC(warriorb_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,16000000/4) /* 4 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
z80_device &audiocpu(Z80(config, "audiocpu", 16000000/4)); /* 4 MHz ? */
audiocpu.set_addrmap(AS_PROGRAM, &warriorb_state::z80_sound_map);
TC0510NIO(config, m_tc0510nio, 0);
m_tc0510nio->read_0_callback().set_ioport("DSWA");
@ -538,19 +537,19 @@ MACHINE_CONFIG_START(warriorb_state::warriorb)
m_tc0510nio->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_warriorb)
MCFG_PALETTE_ADD("palette", 4096)
MCFG_PALETTE_ADD("palette2", 4096)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_warriorb);
PALETTE(config, m_palette).set_entries(4096);
PALETTE(config, "palette2").set_entries(4096);
config.set_default_layout(layout_dualhsxs);
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_left)
MCFG_SCREEN_PALETTE("palette")
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(40*8, 32*8);
lscreen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
lscreen.set_screen_update(FUNC(warriorb_state::screen_update_left));
lscreen.set_palette(m_palette);
TC0100SCN(config, m_tc0100scn[0], 0);
m_tc0100scn[0]->set_gfx_region(1);
@ -561,13 +560,13 @@ MACHINE_CONFIG_START(warriorb_state::warriorb)
TC0110PCR(config, m_tc0110pcr[0], 0, m_palette);
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(warriorb_state, screen_update_right)
MCFG_SCREEN_PALETTE("palette2")
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(40*8, 32*8);
rscreen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
rscreen.set_screen_update(FUNC(warriorb_state::screen_update_right));
rscreen.set_palette("palette2");
TC0100SCN(config, m_tc0100scn[1], 0);
m_tc0100scn[1]->set_gfx_region(2);
@ -584,14 +583,14 @@ MACHINE_CONFIG_START(warriorb_state::warriorb)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610B, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "2610.1.l", 1.0)
MCFG_SOUND_ROUTE(1, "2610.1.r", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.l", 1.0)
MCFG_SOUND_ROUTE(2, "2610.2.r", 1.0)
ym2610b_device &ymsnd(YM2610B(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "2610.1.l", 1.0);
ymsnd.add_route(1, "2610.1.r", 1.0);
ymsnd.add_route(2, "2610.2.l", 1.0);
ymsnd.add_route(2, "2610.2.r", 1.0);
FILTER_VOLUME(config, "2610.1.l").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
FILTER_VOLUME(config, "2610.1.r").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
@ -601,7 +600,7 @@ MACHINE_CONFIG_START(warriorb_state::warriorb)
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_maincpu);
m_tc0140syt->set_slave_tag("audiocpu");
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -344,31 +344,31 @@ void wc90_state::machine_start()
}
MACHINE_CONFIG_START(wc90_state::wc90)
void wc90_state::wc90(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD(m_maincpu, Z80, XTAL(8'000'000)) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(wc90_map_1)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", wc90_state, irq0_line_hold)
Z80(config, m_maincpu, XTAL(8'000'000)); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &wc90_state::wc90_map_1);
m_maincpu->set_vblank_int("screen", FUNC(wc90_state::irq0_line_hold));
MCFG_DEVICE_ADD("sub", Z80, XTAL(8'000'000)) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(wc90_map_2)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", wc90_state, irq0_line_hold)
z80_device &sub(Z80(config, "sub", XTAL(8'000'000))); /* verified on pcb */
sub.set_addrmap(AS_PROGRAM, &wc90_state::wc90_map_2);
sub.set_vblank_int("screen", FUNC(wc90_state::irq0_line_hold));
MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(8'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, XTAL(8'000'000)/2); /* verified on pcb */
m_audiocpu->set_addrmap(AS_PROGRAM, &wc90_state::sound_map);
/* NMIs are triggered by the main CPU */
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(59.17) /* verified on pcb */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wc90_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(59.17); /* verified on pcb */
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(wc90_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_wc90);
PALETTE(config, m_palette).set_format(palette_device::xBRG_444, 1024).set_endianness(ENDIANNESS_BIG);
@ -381,17 +381,18 @@ MACHINE_CONFIG_START(wc90_state::wc90)
GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
MCFG_DEVICE_ADD("ymsnd", YM2608, XTAL(8'000'000)) /* verified on pcb */
MCFG_YM2608_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.50)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
MACHINE_CONFIG_END
ym2608_device &ymsnd(YM2608(config, "ymsnd", XTAL(8'000'000))); /* verified on pcb */
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "mono", 0.50);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
}
MACHINE_CONFIG_START(wc90_state::wc90t)
void wc90_state::wc90t(machine_config &config)
{
wc90(config);
MCFG_VIDEO_START_OVERRIDE(wc90_state, wc90t )
MACHINE_CONFIG_END
}
void wc90_state::pac90(machine_config &config)
{

View File

@ -671,25 +671,25 @@ void welltris_state::machine_start()
membank("soundbank")->configure_entries(0, 4, memregion("audiocpu")->base(), 0x8000);
}
MACHINE_CONFIG_START(welltris_state::welltris)
void welltris_state::welltris(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000,20000000/2) /* 10 MHz */
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", welltris_state, irq1_line_hold)
M68000(config, m_maincpu, 20000000/2); /* 10 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &welltris_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(welltris_state::irq1_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,8000000/2) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_port_map) /* IRQs are triggered by the YM2610 */
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &welltris_state::sound_map);
m_audiocpu->set_addrmap(AS_IO, &welltris_state::sound_port_map); /* IRQs are triggered by the YM2610 */
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(15, 367-1, 8, 248-1)
MCFG_SCREEN_UPDATE_DRIVER(welltris_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(512, 256);
m_screen->set_visarea(15, 367-1, 8, 248-1);
m_screen->set_screen_update(FUNC(welltris_state::screen_update));
m_screen->set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_welltris);
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 2048);
@ -708,23 +708,22 @@ MACHINE_CONFIG_START(welltris_state::welltris)
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI);
m_soundlatch->set_separate_acknowledge(true);
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 0.75)
MCFG_SOUND_ROUTE(2, "mono", 0.75)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 0.75);
ymsnd.add_route(2, "mono", 0.75);
}
MACHINE_CONFIG_START(welltris_state::quiz18k)
void welltris_state::quiz18k(machine_config &config)
{
welltris(config);
/* basic machine hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_VISIBLE_AREA(15, 335-1, 0, 224-1)
m_screen->set_visarea(15, 335-1, 0, 224-1);
m_spr_old->set_offsets(6, 1);
MACHINE_CONFIG_END
}

View File

@ -912,22 +912,21 @@ void wgp_state::machine_start()
machine().save().register_postload(save_prepost_delegate(FUNC(wgp_state::postload), this));
}
MACHINE_CONFIG_START(wgp_state::wgp)
void wgp_state::wgp(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", wgp_state, irq4_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &wgp_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(wgp_state::irq4_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, 16000000/4) /* 4 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(z80_sound_map)
Z80(config, m_audiocpu, 16000000/4); /* 4 MHz ??? */
m_audiocpu->set_addrmap(AS_PROGRAM, &wgp_state::z80_sound_map);
MCFG_DEVICE_ADD("sub", M68000, 12000000) /* 12 MHz ??? */
MCFG_DEVICE_PROGRAM_MAP(cpu2_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", wgp_state, cpub_interrupt)
M68000(config, m_subcpu, 12000000); /* 12 MHz ??? */
m_subcpu->set_addrmap(AS_PROGRAM, &wgp_state::cpu2_map);
m_subcpu->set_vblank_int("screen", FUNC(wgp_state::cpub_interrupt));
MCFG_QUANTUM_TIME(attotime::from_hz(30000))
config.m_minimum_quantum = attotime::from_hz(30000);
TC0220IOC(config, m_tc0220ioc, 0);
m_tc0220ioc->read_0_callback().set_ioport("DSWA");
@ -938,13 +937,13 @@ MACHINE_CONFIG_START(wgp_state::wgp)
m_tc0220ioc->read_7_callback().set_ioport("IN2");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(wgp_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(wgp_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_wgp);
PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 4096);
@ -959,28 +958,29 @@ MACHINE_CONFIG_START(wgp_state::wgp)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymsnd", YM2610, 16000000/2)
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0)) // assumes Z80 sandwiched between 68Ks
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(0, "rspeaker", 0.25)
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(2, "rspeaker", 1.0)
ym2610_device &ymsnd(YM2610(config, "ymsnd", 16000000/2));
ymsnd.irq_handler().set_inputline(m_audiocpu, 0); // assumes Z80 sandwiched between 68Ks
ymsnd.add_route(0, "lspeaker", 0.25);
ymsnd.add_route(0, "rspeaker", 0.25);
ymsnd.add_route(1, "lspeaker", 1.0);
ymsnd.add_route(2, "rspeaker", 1.0);
TC0140SYT(config, m_tc0140syt, 0);
m_tc0140syt->set_master_tag(m_subcpu);
m_tc0140syt->set_slave_tag(m_audiocpu);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(wgp_state::wgp2)
void wgp_state::wgp2(machine_config &config)
{
wgp(config);
MCFG_QUANTUM_TIME(attotime::from_hz(12000))
config.m_minimum_quantum = attotime::from_hz(12000);
/* video hardware */
MCFG_VIDEO_START_OVERRIDE(wgp_state, wgp2)
m_tc0100scn->set_offsets(4, 2);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -97,42 +97,45 @@ void yuvomz80_state::hexapres_audio_io_map(address_map &map)
static INPUT_PORTS_START( goldhexa )
INPUT_PORTS_END
MACHINE_CONFIG_START(yuvomz80_state::goldhexa)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(8'000'000))
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
void yuvomz80_state::goldhexa(machine_config &config)
{
Z80(config, m_maincpu, XTAL(8'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &yuvomz80_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &yuvomz80_state::io_map);
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000))
MCFG_DEVICE_PROGRAM_MAP(audio_mem_map)
MCFG_DEVICE_IO_MAP(audio_io_map)
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(8'000'000)));
audiocpu.set_addrmap(AS_PROGRAM, &yuvomz80_state::audio_mem_map);
audiocpu.set_addrmap(AS_IO, &yuvomz80_state::audio_io_map);
MCFG_DEVICE_ADD("ppi0", I8255A, 0)
MCFG_DEVICE_ADD("ppi1", I8255A, 0)
MCFG_DEVICE_ADD("ppi2", I8255A, 0)
MCFG_DEVICE_ADD("ppi3", I8255A, 0)
I8255A(config, "ppi0", 0);
I8255A(config, "ppi1", 0);
I8255A(config, "ppi2", 0);
I8255A(config, "ppi3", 0);
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(16'934'400))
MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(yuvomz80_state::hexapres)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(8'000'000))
MCFG_DEVICE_DISABLE()
ymz280b_device &ymz(YMZ280B(config, "ymz", XTAL(16'934'400)));
ymz.add_route(0, "lspeaker", 1.00);
ymz.add_route(1, "rspeaker", 1.00);
}
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000))
MCFG_DEVICE_PROGRAM_MAP(audio_mem_map)
MCFG_DEVICE_IO_MAP(hexapres_audio_io_map)
void yuvomz80_state::hexapres(machine_config &config)
{
Z80(config, m_maincpu, XTAL(8'000'000));
m_maincpu->set_disable();
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(8'000'000)));
audiocpu.set_addrmap(AS_PROGRAM, &yuvomz80_state::audio_mem_map);
audiocpu.set_addrmap(AS_IO, &yuvomz80_state::hexapres_audio_io_map);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2610, 8000000) // type guessed
MCFG_YM2610_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MCFG_SOUND_ROUTE(2, "mono", 1.0)
MACHINE_CONFIG_END
ym2610_device &ymsnd(YM2610(config, "ymsnd", 8000000)); // type guessed
ymsnd.irq_handler().set_inputline("audiocpu", 0);
ymsnd.add_route(0, "mono", 0.25);
ymsnd.add_route(1, "mono", 1.0);
ymsnd.add_route(2, "mono", 1.0);
}
ROM_START( goldhexa )

View File

@ -29,13 +29,13 @@ public:
m_subcpu(*this, "sub"),
m_spriteram(*this, "spriteram"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_gga(*this, "gga"),
m_spr_old(*this, "vsystem_spr_old"),
m_videoram(*this, "videoram"),
m_sublatch(*this, "sublatch"),
m_msm(*this, "msm"),
m_screen(*this, "screen")
m_msm(*this, "msm")
{ }
void nekkyoku(machine_config &config);
@ -51,6 +51,7 @@ protected:
required_device<cpu_device> m_subcpu;
optional_shared_ptr<uint8_t> m_spriteram;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
required_device<vsystem_gga_device> m_gga;
optional_device<vsystem_spr2_device> m_spr_old; // only used by pipe dream, split this state up and clean things...
@ -82,7 +83,6 @@ private:
optional_device<generic_latch_8_device> m_sublatch;
optional_device<msm5205_device> m_msm;
required_device<screen_device> m_screen;
/* video-related */
tilemap_t *m_bg_tilemap;

View File

@ -5,7 +5,6 @@
#pragma once
#include "machine/taitocchip.h"
#include "machine/taitoio.h"
@ -17,7 +16,7 @@
#include "video/tc0480scp.h"
#include "machine/timer.h"
#include "emupal.h"
#include "screen.h"
class taitof2_state : public driver_device
{
@ -42,6 +41,7 @@ public:
, m_tc0220ioc(*this, "tc0220ioc")
, m_tc0510nio(*this, "tc0510nio")
, m_gfxdecode(*this, "gfxdecode")
, m_screen(*this, "screen")
, m_palette(*this, "palette")
{ }
@ -168,6 +168,7 @@ protected:
optional_device<tc0220ioc_device> m_tc0220ioc;
optional_device<tc0510nio_device> m_tc0510nio;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
DECLARE_WRITE8_MEMBER(coin_nibble_w);

View File

@ -10,6 +10,7 @@
#pragma once
#include "cpu/tms32025/tms32025.h"
#include "machine/taitoio.h"
#include "machine/taitoio_yoke.h"
#include "video/tc0080vco.h"
@ -71,7 +72,7 @@ private:
/* devices */
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<cpu_device> m_dsp;
required_device<tms32025_device> m_dsp;
required_device<tc0080vco_device> m_tc0080vco;
required_device<tc0220ioc_device> m_tc0220ioc;
required_device<taitoio_yoke_device> m_yoke;

View File

@ -7,6 +7,7 @@
#include "machine/gen_latch.h"
#include "video/vsystem_spr2.h"
#include "screen.h"
class welltris_state : public driver_device
{
@ -17,6 +18,7 @@ public:
m_audiocpu(*this, "audiocpu"),
m_spr_old(*this, "vsystem_spr_old"),
m_gfxdecode(*this, "gfxdecode"),
m_screen(*this, "screen"),
m_soundlatch(*this, "soundlatch"),
m_spriteram(*this, "spriteram"),
m_pixelram(*this, "pixelram"),
@ -38,6 +40,7 @@ private:
required_device<cpu_device> m_audiocpu;
required_device<vsystem_spr2_device> m_spr_old;
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<generic_latch_8_device> m_soundlatch;
required_shared_ptr<uint16_t> m_spriteram;