mirror of
https://github.com/holub/mame
synced 2025-10-05 08:41:31 +03:00
mame\drivers: removed most MACHINE_CONFIG and MCFG macros for drivers starting with u and v (nw)
This commit is contained in:
parent
34d7ece8b2
commit
417dab47cb
@ -303,7 +303,8 @@ void uapce_state::pce_io(address_map &map)
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(uapce_state::uapce)
|
||||
void uapce_state::uapce(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
H6280(config, m_maincpu, PCE_MAIN_CLOCK/3);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &uapce_state::pce_mem);
|
||||
@ -313,16 +314,16 @@ MACHINE_CONFIG_START(uapce_state::uapce)
|
||||
m_maincpu->add_route(0, "lspeaker", 0.5);
|
||||
m_maincpu->add_route(1, "rspeaker", 0.5);
|
||||
|
||||
MCFG_DEVICE_ADD("sub", Z80, 1400000)
|
||||
MCFG_DEVICE_PROGRAM_MAP(z80_map)
|
||||
z80_device &sub(Z80(config, "sub", 1400000));
|
||||
sub.set_addrmap(AS_PROGRAM, &uapce_state::z80_map);
|
||||
|
||||
config.m_minimum_quantum = attotime::from_hz(60);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242)
|
||||
MCFG_SCREEN_UPDATE_DRIVER( pce_common_state, screen_update )
|
||||
MCFG_SCREEN_PALETTE("huc6260")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
|
||||
screen.set_screen_update(FUNC(pce_common_state::screen_update));
|
||||
screen.set_palette("huc6260");
|
||||
|
||||
HUC6260(config, m_huc6260, PCE_MAIN_CLOCK);
|
||||
m_huc6260->next_pixel_data().set("huc6270", FUNC(huc6270_device::next_pixel));
|
||||
@ -337,9 +338,8 @@ MACHINE_CONFIG_START(uapce_state::uapce)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD("discrete", DISCRETE, uapce_discrete)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.00)
|
||||
MACHINE_CONFIG_END
|
||||
DISCRETE(config, m_discrete, uapce_discrete).add_route(0, "rspeaker", 1.00);
|
||||
}
|
||||
|
||||
ROM_START(blazlaz)
|
||||
ROM_REGION( 0x0a0000, "maincpu", 0 )
|
||||
|
@ -173,16 +173,16 @@ void ultraman_state::machine_reset()
|
||||
m_soundnmi->in_w<0>(0);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(ultraman_state::ultraman)
|
||||
|
||||
void ultraman_state::ultraman(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000,24000000/2) /* 12 MHz? */
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ultraman_state, irq4_line_hold)
|
||||
M68000(config, m_maincpu, 24000000/2); /* 12 MHz? */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ultraman_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(ultraman_state::irq4_line_hold));
|
||||
|
||||
MCFG_DEVICE_ADD("audiocpu", Z80,24000000/6) /* 4 MHz? */
|
||||
MCFG_DEVICE_PROGRAM_MAP(sound_map)
|
||||
MCFG_DEVICE_IO_MAP(sound_io_map)
|
||||
Z80(config, m_audiocpu, 24000000/6); /* 4 MHz? */
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &ultraman_state::sound_map);
|
||||
m_audiocpu->set_addrmap(AS_IO, &ultraman_state::sound_io_map);
|
||||
|
||||
INPUT_MERGER_ALL_HIGH(config, "soundnmi").output_handler().set_inputline(m_audiocpu, INPUT_LINE_NMI);
|
||||
|
||||
@ -191,13 +191,13 @@ MACHINE_CONFIG_START(ultraman_state::ultraman)
|
||||
WATCHDOG_TIMER(config, "watchdog");
|
||||
|
||||
/* 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(64*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(14*8, (64-14)*8-1, 2*8, 30*8-1 )
|
||||
MCFG_SCREEN_UPDATE_DRIVER(ultraman_state, screen_update_ultraman)
|
||||
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(2500) /* not accurate */);
|
||||
screen.set_size(64*8, 32*8);
|
||||
screen.set_visarea(14*8, (64-14)*8-1, 2*8, 30*8-1 );
|
||||
screen.set_screen_update(FUNC(ultraman_state::screen_update_ultraman));
|
||||
screen.set_palette("palette");
|
||||
|
||||
auto &palette(PALETTE(config, "palette"));
|
||||
palette.set_format(palette_device::xRGB_555, 8192);
|
||||
@ -231,10 +231,10 @@ MACHINE_CONFIG_START(ultraman_state::ultraman)
|
||||
|
||||
YM2151(config, "ymsnd", 24000000/6).add_route(0, "lspeaker", 1.0).add_route(1, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
|
||||
MACHINE_CONFIG_END
|
||||
okim6295_device &oki(OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
|
||||
oki.add_route(ALL_OUTPUTS, "lspeaker", 0.50);
|
||||
oki.add_route(ALL_OUTPUTS, "rspeaker", 0.50);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -290,27 +290,27 @@ static GFXDECODE_START( gfx_ultratnk )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(ultratnk_state::ultratnk)
|
||||
|
||||
void ultratnk_state::ultratnk(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
|
||||
MCFG_DEVICE_PROGRAM_MAP(ultratnk_cpu_map)
|
||||
M6502(config, m_maincpu, PIXEL_CLOCK / 8);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ultratnk_state::ultratnk_cpu_map);
|
||||
|
||||
f9334_device &latch(F9334(config, "latch")); // E11
|
||||
latch.q_out_cb<3>().set(FUNC(ultratnk_state::lockout_w));
|
||||
latch.q_out_cb<4>().set_output("led0"); // LED1 (left player start)
|
||||
latch.q_out_cb<5>().set_output("led1"); // LED2 (right player start)
|
||||
latch.q_out_cb<6>().set("discrete", FUNC(discrete_device::write_line<ULTRATNK_FIRE_EN_2>));
|
||||
latch.q_out_cb<7>().set("discrete", FUNC(discrete_device::write_line<ULTRATNK_FIRE_EN_1>));
|
||||
latch.q_out_cb<6>().set(m_discrete, FUNC(discrete_device::write_line<ULTRATNK_FIRE_EN_2>));
|
||||
latch.q_out_cb<7>().set(m_discrete, FUNC(discrete_device::write_line<ULTRATNK_FIRE_EN_1>));
|
||||
|
||||
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count(m_screen, 8);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD(m_screen, RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, 0, 256, VTOTAL, 0, 224)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(ultratnk_state, screen_update)
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, ultratnk_state, screen_vblank))
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, 0, 256, VTOTAL, 0, 224);
|
||||
m_screen->set_screen_update(FUNC(ultratnk_state::screen_update));
|
||||
m_screen->screen_vblank().set(FUNC(ultratnk_state::screen_vblank));
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ultratnk);
|
||||
PALETTE(config, m_palette, FUNC(ultratnk_state::ultratnk_palette), 10, 4);
|
||||
@ -318,10 +318,8 @@ MACHINE_CONFIG_START(ultratnk_state::ultratnk)
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
MCFG_DEVICE_ADD("discrete", DISCRETE, ultratnk_discrete)
|
||||
MCFG_SOUND_ROUTE(0, "mono", 1.0)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
DISCRETE(config, m_discrete, ultratnk_discrete).add_route(0, "mono", 1.0);
|
||||
}
|
||||
|
||||
|
||||
ROM_START( ultratnk )
|
||||
|
@ -564,12 +564,12 @@ INTERRUPT_GEN_MEMBER(undrfire_state::undrfire_interrupt)
|
||||
device.execute().set_input_line(4, HOLD_LINE);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(undrfire_state::undrfire)
|
||||
|
||||
void undrfire_state::undrfire(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(40'000'000)/2) /* 20 MHz - NOT verified */
|
||||
MCFG_DEVICE_PROGRAM_MAP(undrfire_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", undrfire_state, undrfire_interrupt)
|
||||
M68EC020(config, m_maincpu, XTAL(40'000'000)/2); /* 20 MHz - NOT verified */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &undrfire_state::undrfire_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(undrfire_state::undrfire_interrupt));
|
||||
|
||||
EEPROM_93C46_16BIT(config, "eeprom");
|
||||
|
||||
@ -586,13 +586,13 @@ MACHINE_CONFIG_START(undrfire_state::undrfire)
|
||||
tc0510nio.read_7_callback().set_ioport("SYSTEM");
|
||||
|
||||
/* 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, 40*8-1, 3*8, 32*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(undrfire_state, screen_update_undrfire)
|
||||
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, 40*8-1, 3*8, 32*8-1);
|
||||
screen.set_screen_update(FUNC(undrfire_state::screen_update_undrfire));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_undrfire);
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 16384);
|
||||
@ -613,19 +613,19 @@ MACHINE_CONFIG_START(undrfire_state::undrfire)
|
||||
|
||||
/* sound hardware */
|
||||
TAITO_EN(config, "taito_en", 0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(undrfire_state::cbombers)
|
||||
|
||||
void undrfire_state::cbombers(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(40'000'000)/2) /* 20 MHz - NOT verified */
|
||||
MCFG_DEVICE_PROGRAM_MAP(cbombers_cpua_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", undrfire_state, irq4_line_hold)
|
||||
M68EC020(config, m_maincpu, XTAL(40'000'000)/2); /* 20 MHz - NOT verified */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &undrfire_state::cbombers_cpua_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(undrfire_state::irq4_line_hold));
|
||||
|
||||
MCFG_DEVICE_ADD("sub", M68000, XTAL(32'000'000)/2) /* 16 MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(cbombers_cpub_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", undrfire_state, irq4_line_hold)
|
||||
M68000(config, m_subcpu, XTAL(32'000'000)/2); /* 16 MHz */
|
||||
m_subcpu->set_addrmap(AS_PROGRAM, &undrfire_state::cbombers_cpub_map);
|
||||
m_subcpu->set_vblank_int("screen", FUNC(undrfire_state::irq4_line_hold));
|
||||
|
||||
config.m_minimum_quantum = attotime::from_hz(480); /* CPU slices - Need to interleave Cpu's 1 & 3 */
|
||||
|
||||
@ -648,13 +648,13 @@ MACHINE_CONFIG_START(undrfire_state::cbombers)
|
||||
tc0510nio.read_7_callback().set_ioport("SYSTEM");
|
||||
|
||||
/* 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, 40*8-1, 3*8, 32*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(undrfire_state, screen_update_cbombers)
|
||||
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, 40*8-1, 3*8, 32*8-1);
|
||||
screen.set_screen_update(FUNC(undrfire_state::screen_update_cbombers));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cbombers);
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 16384);
|
||||
@ -676,7 +676,7 @@ MACHINE_CONFIG_START(undrfire_state::cbombers)
|
||||
|
||||
/* sound hardware */
|
||||
TAITO_EN(config, "taito_en", 0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -72,20 +72,20 @@ void unianapc_state::machine_reset()
|
||||
{
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(unianapc_state::unianapc)
|
||||
|
||||
void unianapc_state::unianapc(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", PENTIUM3, 100000000) // actually a Celeron at 1.70 GHz
|
||||
MCFG_DEVICE_PROGRAM_MAP(unianapc_map)
|
||||
PENTIUM3(config, m_maincpu, 100000000); // actually a Celeron at 1.70 GHz
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &unianapc_state::unianapc_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(640, 480)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(unianapc_state, screen_update)
|
||||
MACHINE_CONFIG_END
|
||||
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(640, 480);
|
||||
screen.set_visarea(0, 640-1, 0, 480-1);
|
||||
screen.set_screen_update(FUNC(unianapc_state::screen_update));
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
@ -562,21 +562,21 @@ void unico_state::machine_start()
|
||||
Burglar X
|
||||
***************************************************************************/
|
||||
|
||||
MACHINE_CONFIG_START(unico_state::burglarx)
|
||||
|
||||
void unico_state::burglarx(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, 32_MHz_XTAL/2) /* 16MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(burglarx_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", unico_state, irq2_line_hold)
|
||||
M68000(config, m_maincpu, 32_MHz_XTAL/2); /* 16MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &unico_state::burglarx_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(unico_state::irq2_line_hold));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(384, 224)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(unico_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(384, 224);
|
||||
screen.set_visarea(0, 384-1, 0, 224-1);
|
||||
screen.set_screen_update(FUNC(unico_state::screen_update));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_unico);
|
||||
PALETTE(config, m_palette).set_format(4, &unico_state::unico_R6G6B6X, 8192);
|
||||
@ -585,14 +585,14 @@ MACHINE_CONFIG_START(unico_state::burglarx)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(14'318'181)/4) /* 3.579545 MHz */
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
|
||||
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(14'318'181)/4)); /* 3.579545 MHz */
|
||||
ymsnd.add_route(ALL_OUTPUTS, "lspeaker", 0.40);
|
||||
ymsnd.add_route(ALL_OUTPUTS, "rspeaker", 0.40);
|
||||
|
||||
MCFG_DEVICE_ADD("oki", OKIM6295, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
|
||||
MACHINE_CONFIG_END
|
||||
OKIM6295(config, m_oki, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
|
||||
m_oki->add_route(ALL_OUTPUTS, "lspeaker", 0.80);
|
||||
m_oki->add_route(ALL_OUTPUTS, "rspeaker", 0.80);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -606,21 +606,21 @@ void zeropnt_state::machine_start()
|
||||
m_okibank->configure_entries(0, 4, memregion("oki")->base() + 0x20000, 0x20000);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(zeropnt_state::zeropnt)
|
||||
|
||||
void zeropnt_state::zeropnt(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, 32_MHz_XTAL/2) /* 16MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(zeropnt_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", unico_state, irq2_line_hold)
|
||||
M68000(config, m_maincpu, 32_MHz_XTAL/2); /* 16MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &zeropnt_state::zeropnt_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(zeropnt_state::irq2_line_hold));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(384, 224)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(zeropnt_state, screen_update)
|
||||
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(384, 224);
|
||||
m_screen->set_visarea(0, 384-1, 0, 224-1);
|
||||
m_screen->set_screen_update(FUNC(zeropnt_state::screen_update));
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_unico);
|
||||
PALETTE(config, m_palette).set_format(4, &zeropnt_state::unico_R6G6B6X, 8192);
|
||||
@ -629,15 +629,15 @@ MACHINE_CONFIG_START(zeropnt_state::zeropnt)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD("ymsnd", YM3812, XTAL(14'318'181)/4) /* 3.579545 MHz */
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
|
||||
ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(14'318'181)/4)); /* 3.579545 MHz */
|
||||
ymsnd.add_route(ALL_OUTPUTS, "lspeaker", 0.40);
|
||||
ymsnd.add_route(ALL_OUTPUTS, "rspeaker", 0.40);
|
||||
|
||||
MCFG_DEVICE_ADD("oki", OKIM6295, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, zeropnt_oki_map)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
|
||||
MACHINE_CONFIG_END
|
||||
OKIM6295(config, m_oki, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
|
||||
m_oki->set_addrmap(0, &zeropnt_state::zeropnt_oki_map);
|
||||
m_oki->add_route(ALL_OUTPUTS, "lspeaker", 0.80);
|
||||
m_oki->add_route(ALL_OUTPUTS, "rspeaker", 0.80);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -651,23 +651,23 @@ void zeropnt2_state::machine_start()
|
||||
m_okibank->configure_entries(0, 4, memregion("oki1")->base() + 0x20000, 0x20000);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(zeropnt2_state::zeropnt2)
|
||||
|
||||
void zeropnt2_state::zeropnt2(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68EC020, 32_MHz_XTAL/2) /* 16MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(zeropnt2_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", unico_state, irq2_line_hold)
|
||||
M68000(config, m_maincpu, 32_MHz_XTAL/2); /* 16MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &zeropnt2_state::zeropnt2_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(zeropnt2_state::irq2_line_hold));
|
||||
|
||||
EEPROM_93C46_8BIT(config, "eeprom");
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(384, 224)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 224-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(zeropnt2_state, screen_update)
|
||||
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(384, 224);
|
||||
m_screen->set_visarea(0, 384-1, 0, 224-1);
|
||||
m_screen->set_screen_update(FUNC(zeropnt2_state::screen_update));
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_unico);
|
||||
PALETTE(config, m_palette).set_format(4, &zeropnt2_state::unico_R6G6B6X, 8192);
|
||||
@ -678,15 +678,15 @@ MACHINE_CONFIG_START(zeropnt2_state::zeropnt2)
|
||||
|
||||
YM2151(config, "ymsnd", XTAL(14'318'181)/4).add_route(0, "lspeaker", 0.70).add_route(1, "rspeaker", 0.70); /* 3.579545 MHz */
|
||||
|
||||
MCFG_DEVICE_ADD("oki1", OKIM6295, 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, zeropnt_oki_map)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
|
||||
okim6295_device &oki1(OKIM6295(config, "oki1", 32_MHz_XTAL/32, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
|
||||
oki1.set_addrmap(0, &zeropnt2_state::zeropnt_oki_map);
|
||||
oki1.add_route(ALL_OUTPUTS, "lspeaker", 0.40);
|
||||
oki1.add_route(ALL_OUTPUTS, "rspeaker", 0.40);
|
||||
|
||||
MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(14'318'181)/4, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.20)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
|
||||
MACHINE_CONFIG_END
|
||||
okim6295_device &oki2(OKIM6295(config, "oki2", XTAL(14'318'181)/4, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
|
||||
oki2.add_route(ALL_OUTPUTS, "lspeaker", 0.20);
|
||||
oki2.add_route(ALL_OUTPUTS, "rspeaker", 0.20);
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -377,18 +377,19 @@ void unior_state::machine_reset()
|
||||
m_maincpu->set_state_int(i8080_cpu_device::I8085_PC, 0xF800);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(unior_state::unior)
|
||||
void unior_state::unior(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu",I8080, XTAL(20'000'000) / 9)
|
||||
MCFG_DEVICE_PROGRAM_MAP(unior_mem)
|
||||
MCFG_DEVICE_IO_MAP(unior_io)
|
||||
I8080(config, m_maincpu, XTAL(20'000'000) / 9);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &unior_state::unior_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &unior_state::unior_io);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_SIZE(640, 200)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("crtc", i8275_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_size(640, 200);
|
||||
screen.set_visarea(0, 640-1, 0, 200-1);
|
||||
screen.set_screen_update("crtc", FUNC(i8275_device::screen_update));
|
||||
GFXDECODE(config, "gfxdecode", m_palette, gfx_unior);
|
||||
PALETTE(config, m_palette, FUNC(unior_state::unior_palette), 3);
|
||||
|
||||
@ -431,7 +432,7 @@ MACHINE_CONFIG_START(unior_state::unior)
|
||||
crtc.set_display_callback(FUNC(unior_state::display_pixels), this);
|
||||
crtc.drq_wr_callback().set(m_dma, FUNC(i8257_device::dreq2_w));
|
||||
crtc.set_screen("screen");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( unior )
|
||||
|
@ -340,10 +340,11 @@ static void unixpc_floppies(device_slot_interface &device)
|
||||
device.option_add("525dd", FLOPPY_525_DD);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(unixpc_state::unixpc)
|
||||
void unixpc_state::unixpc(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
MCFG_DEVICE_ADD("maincpu", M68010, 40_MHz_XTAL / 4)
|
||||
MCFG_DEVICE_PROGRAM_MAP(unixpc_mem)
|
||||
M68010(config, m_maincpu, 40_MHz_XTAL / 4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &unixpc_state::unixpc_mem);
|
||||
|
||||
LS259(config, m_gcr); // 7K
|
||||
m_gcr->q_out_cb<0>().set(FUNC(unixpc_state::error_enable_w));
|
||||
@ -364,10 +365,10 @@ MACHINE_CONFIG_START(unixpc_state::unixpc)
|
||||
// bit 7 (D15) = VBL ack (must go high-low-high to ack)
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(unixpc_state, screen_update)
|
||||
MCFG_SCREEN_RAW_PARAMS(40_MHz_XTAL / 2, 896, 0, 720, 367, 0, 348)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_screen_update(FUNC(unixpc_state::screen_update));
|
||||
screen.set_raw(40_MHz_XTAL / 2, 896, 0, 720, 367, 0, 348);
|
||||
screen.set_palette("palette");
|
||||
// vsync should actually last 17264 pixels
|
||||
|
||||
config.set_default_layout(layout_unixpc);
|
||||
@ -407,7 +408,7 @@ MACHINE_CONFIG_START(unixpc_state::unixpc)
|
||||
centronics_device &printer(CENTRONICS(config, "printer", centronics_devices, nullptr));
|
||||
output_latch_device &printlatch(OUTPUT_LATCH(config, "printlatch"));
|
||||
printer.set_output_latch(printlatch);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -192,12 +192,12 @@ INPUT_PORTS_END
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
MACHINE_CONFIG_START(horse_state::horse)
|
||||
|
||||
void horse_state::horse(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8085A, XTAL(12'000'000) / 2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(horse_map)
|
||||
MCFG_DEVICE_IO_MAP(horse_io_map)
|
||||
I8085A(config, m_maincpu, XTAL(12'000'000) / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &horse_state::horse_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &horse_state::horse_io_map);
|
||||
|
||||
i8155_device &i8155(I8155(config, "i8155", XTAL(12'000'000) / 4)); // port A input, B output, C output but unused
|
||||
i8155.in_pa_callback().set(FUNC(horse_state::input_r));
|
||||
@ -205,21 +205,20 @@ MACHINE_CONFIG_START(horse_state::horse)
|
||||
i8155.out_to_callback().set("speaker", FUNC(speaker_sound_device::level_w));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(horse_state, screen_update)
|
||||
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", I8085_RST75_LINE))
|
||||
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(32*8, 32*8);
|
||||
screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1);
|
||||
screen.set_screen_update(FUNC(horse_state::screen_update));
|
||||
screen.screen_vblank().set_inputline(m_maincpu, I8085_RST75_LINE);
|
||||
screen.set_palette("palette");
|
||||
PALETTE(config, "palette", palette_device::BGR_3BIT);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -265,11 +265,11 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(upscope_state::upscope)
|
||||
|
||||
void upscope_state::upscope(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, amiga_state::CLK_7M_NTSC)
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
M68000(config, m_maincpu, amiga_state::CLK_7M_NTSC);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &upscope_state::main_map);
|
||||
|
||||
ADDRESS_MAP_BANK(config, "overlay").set_map(&amiga_state::overlay_512kb_map).set_options(ENDIANNESS_BIG, 16, 22, 0x200000);
|
||||
|
||||
@ -319,7 +319,7 @@ MACHINE_CONFIG_START(upscope_state::upscope)
|
||||
m_ppi->in_pa_callback().set_ioport("IO0");
|
||||
m_ppi->out_pb_callback().set(FUNC(upscope_state::lamps_w));
|
||||
m_ppi->out_pc_callback().set(FUNC(upscope_state::coin_counter_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -89,11 +89,11 @@ void usbilliards_state::video_start()
|
||||
{
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(usbilliards_state::usbilliards)
|
||||
|
||||
void usbilliards_state::usbilliards(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
|
||||
MCFG_NETLIST_SETUP(usbilliards)
|
||||
NETLIST_CPU(config, m_maincpu, NETLIST_CLOCK);
|
||||
m_maincpu->set_constructor(netlist_usbilliards);
|
||||
|
||||
/* video hardware */
|
||||
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
|
||||
@ -103,7 +103,7 @@ MACHINE_CONFIG_START(usbilliards_state::usbilliards)
|
||||
m_video->set_vert_params(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL);
|
||||
m_video->set_fieldcount(1);
|
||||
m_video->set_threshold(0.30);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -218,23 +218,23 @@ static GFXDECODE_START( gfx_usgames )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(usgames_state::usg32)
|
||||
|
||||
void usgames_state::usg32(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", MC6809, 18_MHz_XTAL / 3) // 68B09P (divider not verified)
|
||||
MCFG_DEVICE_PROGRAM_MAP(usgames_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DRIVER(usgames_state, irq0_line_hold, 5*60) /* ?? */
|
||||
MC6809(config, m_maincpu, 18_MHz_XTAL / 3); // 68B09P (divider not verified)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &usgames_state::usgames_map);
|
||||
m_maincpu->set_periodic_int(FUNC(usgames_state::irq0_line_hold), attotime::from_hz(5*60)); /* ?? */
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
/* 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(64*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(7*8, 57*8-1, 0*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(usgames_state, screen_update)
|
||||
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(2500) /* not accurate */);
|
||||
screen.set_size(64*8, 32*8);
|
||||
screen.set_visarea(7*8, 57*8-1, 0*8, 31*8-1);
|
||||
screen.set_screen_update(FUNC(usgames_state::screen_update));
|
||||
screen.set_palette("palette");
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_usgames);
|
||||
PALETTE(config, "palette", FUNC(usgames_state::usgames_palette), 2*256);
|
||||
@ -248,13 +248,13 @@ MACHINE_CONFIG_START(usgames_state::usg32)
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
AY8912(config, "aysnd", 2000000).add_route(ALL_OUTPUTS, "mono", 0.30);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(usgames_state::usg185)
|
||||
void usgames_state::usg185(machine_config &config)
|
||||
{
|
||||
usg32(config);
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(usg185_map)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &usgames_state::usg185_map);
|
||||
}
|
||||
|
||||
|
||||
ROM_START( usg32 )
|
||||
|
@ -187,22 +187,24 @@ static INPUT_PORTS_START( ut88mini )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* Machine driver */
|
||||
MACHINE_CONFIG_START(ut88_state::ut88)
|
||||
void ut88_state::ut88(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8080, 2000000)
|
||||
MCFG_DEVICE_PROGRAM_MAP(ut88_mem)
|
||||
MCFG_DEVICE_IO_MAP(ut88_io)
|
||||
I8080(config, m_maincpu, 2000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ut88_state::ut88_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &ut88_state::ut88_io);
|
||||
MCFG_MACHINE_RESET_OVERRIDE(ut88_state, ut88 )
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(64*8, 28*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 28*8-1)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(64*8, 28*8);
|
||||
screen.set_visarea(0, 64*8-1, 0, 28*8-1);
|
||||
screen.set_screen_update(FUNC(ut88_state::screen_update_ut88));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
MCFG_VIDEO_START_OVERRIDE(ut88_state,ut88)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(ut88_state, screen_update_ut88)
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
|
||||
PALETTE(config, m_palette, palette_device::MONOCHROME);
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ut88);
|
||||
@ -228,13 +230,14 @@ MACHINE_CONFIG_START(ut88_state::ut88)
|
||||
m_cassette->set_interface("ut88_cass");
|
||||
|
||||
SOFTWARE_LIST(config, "cass_list").set_original("ut88");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(ut88_state::ut88mini)
|
||||
void ut88_state::ut88mini(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8080, 2000000)
|
||||
MCFG_DEVICE_PROGRAM_MAP(ut88mini_mem)
|
||||
MCFG_DEVICE_IO_MAP(ut88mini_io)
|
||||
I8080(config, m_maincpu, 2000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ut88_state::ut88mini_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &ut88_state::ut88mini_io);
|
||||
MCFG_MACHINE_START_OVERRIDE(ut88_state,ut88mini)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(ut88_state, ut88mini )
|
||||
|
||||
@ -251,7 +254,7 @@ MACHINE_CONFIG_START(ut88_state::ut88mini)
|
||||
m_cassette->set_interface("ut88_cass");
|
||||
|
||||
SOFTWARE_LIST(config, "cass_list").set_original("ut88");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( ut88 )
|
||||
|
@ -282,26 +282,26 @@ static void v6809_floppies(device_slot_interface &device)
|
||||
|
||||
// *** Machine ****
|
||||
|
||||
MACHINE_CONFIG_START(v6809_state::v6809)
|
||||
void v6809_state::v6809(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", MC6809, 16_MHz_XTAL / 4) // divided by 4 again internally
|
||||
MCFG_DEVICE_PROGRAM_MAP(v6809_mem)
|
||||
MC6809(config, m_maincpu, 16_MHz_XTAL / 4); // divided by 4 again internally
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &v6809_state::v6809_mem);
|
||||
MCFG_MACHINE_RESET_OVERRIDE(v6809_state, v6809)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(640, 480)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("crtc", sy6545_1_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(640, 480);
|
||||
screen.set_visarea(0, 640-1, 0, 480-1);
|
||||
screen.set_screen_update("crtc", FUNC(sy6545_1_device::screen_update));
|
||||
PALETTE(config, m_palette, palette_device::MONOCHROME);
|
||||
GFXDECODE(config, "gfxdecode", m_palette, gfx_v6809);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
|
||||
|
||||
/* devices */
|
||||
SY6545_1(config, m_crtc, 16_MHz_XTAL / 8);
|
||||
@ -350,7 +350,7 @@ MACHINE_CONFIG_START(v6809_state::v6809)
|
||||
|
||||
MB8876(config, m_fdc, 16_MHz_XTAL / 16);
|
||||
FLOPPY_CONNECTOR(config, "fdc:0", v6809_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( v6809 )
|
||||
|
@ -207,30 +207,30 @@ void vaportra_state::machine_reset()
|
||||
m_priority[1] = 0;
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vaportra_state::vaportra)
|
||||
|
||||
void vaportra_state::vaportra(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD(m_maincpu, M68000,XTAL(24'000'000)/2) /* Custom chip 59 */
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vaportra_state, irq6_line_assert)
|
||||
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* Custom chip 59 */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vaportra_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vaportra_state::irq6_line_assert));
|
||||
|
||||
H6280(config, m_audiocpu, XTAL(24'000'000)/4); /* Custom chip 45; Audio section crystal is 32.220 MHz but CPU clock is confirmed as coming from the 24MHz crystal (6Mhz exactly on the CPU) */
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &vaportra_state::sound_map);
|
||||
m_audiocpu->add_route(ALL_OUTPUTS, "mono", 0); // internal sound unused
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD(m_spriteram, BUFFERED_SPRITERAM16)
|
||||
BUFFERED_SPRITERAM16(config, m_spriteram);
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(58)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vaportra_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("colors")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(58);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
|
||||
screen.set_size(32*8, 32*8);
|
||||
screen.set_visarea(0*8, 32*8-1, 1*8, 31*8-1);
|
||||
screen.set_screen_update(FUNC(vaportra_state::screen_update));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, "gfxdecode", m_palette, gfx_vaportra);
|
||||
MCFG_PALETTE_ADD(m_palette, 1280)
|
||||
PALETTE(config, m_palette).set_entries(1280);
|
||||
|
||||
DECO16IC(config, m_deco_tilegen[0], 0);
|
||||
m_deco_tilegen[0]->set_split(0);
|
||||
@ -274,20 +274,17 @@ MACHINE_CONFIG_START(vaportra_state::vaportra)
|
||||
GENERIC_LATCH_8(config, m_soundlatch);
|
||||
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0);
|
||||
|
||||
MCFG_DEVICE_ADD("ym1", YM2203, XTAL(32'220'000)/8)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
|
||||
YM2203(config, "ym1", XTAL(32'220'000)/8).add_route(ALL_OUTPUTS, "mono", 0.60);
|
||||
|
||||
ym2151_device &ym2(YM2151(config, "ym2", XTAL(32'220'000)/9)); // uses a preset LS163 to force the odd speed
|
||||
ym2.irq_handler().set_inputline(m_audiocpu, 1); /* IRQ2 */
|
||||
ym2.add_route(0, "mono", 0.60);
|
||||
ym2.add_route(1, "mono", 0.60);
|
||||
|
||||
MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
|
||||
OKIM6295(config, "oki1", XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.75);
|
||||
|
||||
MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(32'220'000)/16, okim6295_device::PIN7_HIGH)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
|
||||
MACHINE_CONFIG_END
|
||||
OKIM6295(config, "oki2", XTAL(32'220'000)/16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
|
@ -396,26 +396,25 @@ static GFXDECODE_START( gfx_vb )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vball_state::vball)
|
||||
|
||||
void vball_state::vball(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M6502, CPU_CLOCK) /* 2 MHz - measured by guru but it makes the game far far too slow ?! */
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
M6502(config, m_maincpu, CPU_CLOCK); /* 2 MHz - measured by guru but it makes the game far far too slow ?! */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vball_state::main_map);
|
||||
TIMER(config, "scantimer").configure_scanline(FUNC(vball_state::vball_scanline), "screen", 0, 1);
|
||||
|
||||
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) /* 3.579545 MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(sound_map)
|
||||
Z80(config, m_audiocpu, 3579545); /* 3.579545 MHz */
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &vball_state::sound_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, 384, 0, 256, 272, 8, 248) /* based on ddragon driver */
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vball_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_size(32*8, 32*8);
|
||||
m_screen->set_raw(PIXEL_CLOCK, 384, 0, 256, 272, 8, 248); /* based on ddragon driver */
|
||||
m_screen->set_screen_update(FUNC(vball_state::screen_update));
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vb);
|
||||
MCFG_PALETTE_ADD("palette", 256)
|
||||
|
||||
PALETTE(config, m_palette).set_entries(256);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
@ -430,10 +429,10 @@ MACHINE_CONFIG_START(vball_state::vball)
|
||||
ymsnd.add_route(0, "lspeaker", 0.60);
|
||||
ymsnd.add_route(1, "rspeaker", 0.60);
|
||||
|
||||
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
okim6295_device &oki(OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH));
|
||||
oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -1305,12 +1305,12 @@ static void vboy_cart(device_slot_interface &device)
|
||||
device.option_add_internal("vb_eeprom", VBOY_ROM_EEPROM);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vboy_state::vboy)
|
||||
|
||||
void vboy_state::vboy(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD( "maincpu", V810, XTAL(20'000'000) )
|
||||
MCFG_DEVICE_PROGRAM_MAP(vboy_mem)
|
||||
MCFG_DEVICE_IO_MAP(vboy_io)
|
||||
V810(config, m_maincpu, XTAL(20'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vboy_state::vboy_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vboy_state::vboy_io);
|
||||
TIMER(config, "scantimer_l").configure_scanline(FUNC(vboy_state::vboy_scanlineL), "3dleft", 0, 1);
|
||||
//TIMER(config, "scantimer_r").configure_scanline(FUNC(vboy_state::vboy_scanlineR), "3dright", 0, 1);
|
||||
|
||||
@ -1325,16 +1325,16 @@ MACHINE_CONFIG_START(vboy_state::vboy)
|
||||
PALETTE(config, m_palette, FUNC(vboy_state::vboy_palette), 4);
|
||||
|
||||
/* Left screen */
|
||||
MCFG_SCREEN_ADD("3dleft", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(20'000'000)/2,757,0,384,264,0,224)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vboy_state, screen_update_vboy_left)
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
screen_device &lscreen(SCREEN(config, "3dleft", SCREEN_TYPE_RASTER));
|
||||
lscreen.set_raw(XTAL(20'000'000)/2,757,0,384,264,0,224);
|
||||
lscreen.set_screen_update(FUNC(vboy_state::screen_update_vboy_left));
|
||||
lscreen.set_palette(m_palette);
|
||||
|
||||
/* Right screen */
|
||||
MCFG_SCREEN_ADD("3dright", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(20'000'000)/2,757,0,384,264,0,224)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vboy_state, screen_update_vboy_right)
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
screen_device &rscreen(SCREEN(config, "3dright", SCREEN_TYPE_RASTER));
|
||||
rscreen.set_raw(XTAL(20'000'000)/2,757,0,384,264,0,224);
|
||||
rscreen.set_screen_update(FUNC(vboy_state::screen_update_vboy_right));
|
||||
rscreen.set_palette(m_palette);
|
||||
|
||||
/* cartridge */
|
||||
VBOY_CART_SLOT(config, m_cart, vboy_cart, nullptr);
|
||||
@ -1345,10 +1345,10 @@ MACHINE_CONFIG_START(vboy_state::vboy)
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
MCFG_DEVICE_ADD("vbsnd", VBOYSND)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
vboysnd_device &vbsnd(VBOYSND(config, "vbsnd"));
|
||||
vbsnd.add_route(0, "lspeaker", 1.0);
|
||||
vbsnd.add_route(1, "rspeaker", 1.0);
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( vboy )
|
||||
|
@ -560,23 +560,24 @@ WRITE_LINE_MEMBER(vcombat_state::sound_update)
|
||||
m_soundcpu->set_input_line(M68K_IRQ_1, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vcombat_state::vcombat)
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vcombat_state, irq1_line_assert)
|
||||
void vcombat_state::vcombat(machine_config &config)
|
||||
{
|
||||
M68000(config, m_maincpu, XTAL(12'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vcombat_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vcombat_state::irq1_line_assert));
|
||||
|
||||
/* The middle board i860 */
|
||||
MCFG_DEVICE_ADD("vid_0", I860, XTAL(20'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(vid_0_map)
|
||||
I860(config, m_vid_0, XTAL(20'000'000));
|
||||
m_vid_0->set_addrmap(AS_PROGRAM, &vcombat_state::vid_0_map);
|
||||
|
||||
/* The top board i860 */
|
||||
MCFG_DEVICE_ADD("vid_1", I860, XTAL(20'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(vid_1_map)
|
||||
I860(config, m_vid_1, XTAL(20'000'000));
|
||||
m_vid_1->set_addrmap(AS_PROGRAM, &vcombat_state::vid_1_map);
|
||||
|
||||
/* Sound CPU */
|
||||
MCFG_DEVICE_ADD("soundcpu", M68000, XTAL(12'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(sound_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DRIVER(vcombat_state, irq1_line_hold, 15000) /* Remove this if MC6845 is enabled */
|
||||
M68000(config, m_soundcpu, XTAL(12'000'000));
|
||||
m_soundcpu->set_addrmap(AS_PROGRAM, &vcombat_state::sound_map);
|
||||
m_soundcpu->set_periodic_int(FUNC(vcombat_state::irq1_line_hold), attotime::from_hz(15000)); /* Remove this if MC6845 is enabled */
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,vcombat)
|
||||
@ -594,13 +595,13 @@ MACHINE_CONFIG_START(vcombat_state::vcombat)
|
||||
// m_crtc->set_screen("screen");
|
||||
config.set_default_layout(layout_dualhsxs);
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vcombat_state, screen_update_vcombat_main)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208);
|
||||
screen.set_screen_update(FUNC(vcombat_state::screen_update_vcombat_main));
|
||||
|
||||
MCFG_SCREEN_ADD("aux", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vcombat_state, screen_update_vcombat_aux)
|
||||
screen_device &aux(SCREEN(config, "aux", SCREEN_TYPE_RASTER));
|
||||
aux.set_raw(XTAL(12'000'000) / 2, 400, 0, 256, 291, 0, 208);
|
||||
aux.set_screen_update(FUNC(vcombat_state::screen_update_vcombat_aux));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_10BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC
|
||||
@ -608,21 +609,22 @@ MACHINE_CONFIG_START(vcombat_state::vcombat)
|
||||
vref.set_output(5.0);
|
||||
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vcombat_state::shadfgtr)
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vcombat_state, irq1_line_assert)
|
||||
void vcombat_state::shadfgtr(machine_config &config)
|
||||
{
|
||||
M68000(config, m_maincpu, XTAL(12'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vcombat_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vcombat_state::irq1_line_assert));
|
||||
|
||||
/* The middle board i860 */
|
||||
MCFG_DEVICE_ADD("vid_0", I860, XTAL(20'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(vid_0_map)
|
||||
I860(config, m_vid_0, XTAL(20'000'000));
|
||||
m_vid_0->set_addrmap(AS_PROGRAM, &vcombat_state::vid_0_map);
|
||||
|
||||
/* Sound CPU */
|
||||
MCFG_DEVICE_ADD("soundcpu", M68000, XTAL(12'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(sound_map)
|
||||
M68000(config, m_soundcpu, XTAL(12'000'000));
|
||||
m_soundcpu->set_addrmap(AS_PROGRAM, &vcombat_state::sound_map);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
MCFG_MACHINE_RESET_OVERRIDE(vcombat_state,shadfgtr)
|
||||
@ -635,9 +637,9 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr)
|
||||
m_crtc->set_char_width(16);
|
||||
m_crtc->out_hsync_callback().set(FUNC(vcombat_state::sound_update));
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(20'000'000) / 4, 320, 0, 256, 277, 0, 224)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vcombat_state, screen_update_vcombat_main)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(20'000'000) / 4, 320, 0, 256, 277, 0, 224);
|
||||
screen.set_screen_update(FUNC(vcombat_state::screen_update_vcombat_main));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_10BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 1.0); // unknown DAC
|
||||
@ -645,7 +647,7 @@ MACHINE_CONFIG_START(vcombat_state::shadfgtr)
|
||||
vref.set_output(5.0);
|
||||
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
ROM_START( vcombat )
|
||||
|
@ -50,13 +50,14 @@ void vectrix_state::io_map(address_map &map)
|
||||
static INPUT_PORTS_START( vectrix )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(vectrix_state::vectrix)
|
||||
MCFG_DEVICE_ADD("maincpu", I8088, XTAL(14'318'181)/3) // no idea of clock
|
||||
MCFG_DEVICE_PROGRAM_MAP(mem_map)
|
||||
MCFG_DEVICE_IO_MAP(io_map)
|
||||
void vectrix_state::vectrix(machine_config &config)
|
||||
{
|
||||
i8088_cpu_device &maincpu(I8088(config, "maincpu", XTAL(14'318'181)/3)); // no idea of clock
|
||||
maincpu.set_addrmap(AS_PROGRAM, &vectrix_state::mem_map);
|
||||
maincpu.set_addrmap(AS_IO, &vectrix_state::io_map);
|
||||
|
||||
MCFG_DEVICE_ADD("uart1", I8251, 0)
|
||||
MACHINE_CONFIG_END
|
||||
I8251(config, "uart1", 0);
|
||||
}
|
||||
|
||||
ROM_START( vectrix )
|
||||
ROM_REGION( 0x4000, "roms", 0 )
|
||||
|
@ -1739,7 +1739,8 @@ void vegas_state::vegas_cs8_map(address_map &map)
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::vegascore)
|
||||
void vegas_state::vegascore(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
R5000LE(config, m_maincpu, vegas_state::SYSTEM_CLOCK * 2);
|
||||
m_maincpu->set_icache_size(16384);
|
||||
@ -1782,35 +1783,40 @@ MACHINE_CONFIG_START(vegas_state::vegascore)
|
||||
screen.set_size(640, 480);
|
||||
screen.set_visarea(0, 640 - 1, 0, 480 - 1);
|
||||
screen.set_screen_update(PCI_ID_VIDEO, FUNC(voodoo_pci_device::screen_update));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::vegas)
|
||||
void vegas_state::vegas(machine_config &config)
|
||||
{
|
||||
vegascore(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::vegas250)
|
||||
void vegas_state::vegas250(machine_config &config)
|
||||
{
|
||||
vegascore(config);
|
||||
m_maincpu->set_clock(vegas_state::SYSTEM_CLOCK*2.5);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::vegas32m)
|
||||
void vegas_state::vegas32m(machine_config &config)
|
||||
{
|
||||
vegas250(config);
|
||||
m_nile->set_sdram_size(0, 0x02000000);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::vegasban)
|
||||
void vegas_state::vegasban(machine_config &config)
|
||||
{
|
||||
vegas32m(config);
|
||||
voodoo_banshee_pci_device &voodoo(VOODOO_BANSHEE_PCI(config.replace(), PCI_ID_VIDEO, 0, m_maincpu, "screen"));
|
||||
voodoo.set_fbmem(16);
|
||||
subdevice<voodoo_device>(PCI_ID_VIDEO":voodoo")->vblank_callback().set(FUNC(vegas_state::vblank_assert));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::vegasv3)
|
||||
void vegas_state::vegasv3(machine_config &config)
|
||||
{
|
||||
vegas32m(config);
|
||||
RM7000LE(config.replace(), m_maincpu, vegas_state::SYSTEM_CLOCK * 2.5);
|
||||
m_maincpu->set_icache_size(16384);
|
||||
@ -1820,10 +1826,11 @@ MACHINE_CONFIG_START(vegas_state::vegasv3)
|
||||
voodoo_3_pci_device &voodoo(VOODOO_3_PCI(config.replace(), PCI_ID_VIDEO, 0, m_maincpu, "screen"));
|
||||
voodoo.set_fbmem(16);
|
||||
subdevice<voodoo_device>(PCI_ID_VIDEO":voodoo")->vblank_callback().set(FUNC(vegas_state::vblank_assert));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::denver)
|
||||
void vegas_state::denver(machine_config &config)
|
||||
{
|
||||
vegascore(config);
|
||||
RM7000LE(config.replace(), m_maincpu, vegas_state::SYSTEM_CLOCK * 2.5);
|
||||
|
||||
@ -1864,11 +1871,12 @@ MACHINE_CONFIG_START(vegas_state::denver)
|
||||
ttys02.ri_handler().set(m_uart2, FUNC(ins8250_uart_device::ri_w));
|
||||
ttys02.cts_handler().set(m_uart2, FUNC(ins8250_uart_device::cts_w));
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
// Per driver configs
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::gauntleg)
|
||||
void vegas_state::gauntleg(machine_config &config)
|
||||
{
|
||||
vegas(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1880,9 +1888,10 @@ MACHINE_CONFIG_START(vegas_state::gauntleg)
|
||||
m_ioasic->set_yearoffs(80);
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::gauntdl)
|
||||
void vegas_state::gauntdl(machine_config &config)
|
||||
{
|
||||
vegas(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1894,9 +1903,10 @@ MACHINE_CONFIG_START(vegas_state::gauntdl)
|
||||
m_ioasic->set_yearoffs(80);
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::warfa)
|
||||
void vegas_state::warfa(machine_config &config)
|
||||
{
|
||||
vegas250(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1908,9 +1918,10 @@ MACHINE_CONFIG_START(vegas_state::warfa)
|
||||
m_ioasic->set_yearoffs(80);
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::tenthdeg)
|
||||
void vegas_state::tenthdeg(machine_config &config)
|
||||
{
|
||||
vegas(config);
|
||||
dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1922,9 +1933,10 @@ MACHINE_CONFIG_START(vegas_state::tenthdeg)
|
||||
m_ioasic->set_yearoffs(80);
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::roadburn)
|
||||
void vegas_state::roadburn(machine_config &config)
|
||||
{
|
||||
vegas32m(config);
|
||||
dcs2_audio_dsio_device &dcs(DCS2_AUDIO_DSIO(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1936,9 +1948,10 @@ MACHINE_CONFIG_START(vegas_state::roadburn)
|
||||
m_ioasic->set_yearoffs(80);
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::nbashowt)
|
||||
void vegas_state::nbashowt(machine_config &config)
|
||||
{
|
||||
vegasban(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1952,9 +1965,10 @@ MACHINE_CONFIG_START(vegas_state::nbashowt)
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
//m_ioasic->set_auto_ack(1)
|
||||
m_ioasic->aux_output_handler().set(FUNC(vegas_state::i40_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::nbanfl)
|
||||
void vegas_state::nbanfl(machine_config &config)
|
||||
{
|
||||
vegasban(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -1967,9 +1981,10 @@ MACHINE_CONFIG_START(vegas_state::nbanfl)
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
//m_ioasic->set_auto_ack(1)
|
||||
m_ioasic->aux_output_handler().set(FUNC(vegas_state::i40_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::nbagold)
|
||||
void vegas_state::nbagold(machine_config &config)
|
||||
{
|
||||
vegasban(config);
|
||||
QED5271LE(config.replace(), m_maincpu, vegas_state::SYSTEM_CLOCK * 2.5);
|
||||
m_maincpu->set_icache_size(32768);
|
||||
@ -1987,9 +2002,10 @@ MACHINE_CONFIG_START(vegas_state::nbagold)
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
//m_ioasic->set_auto_ack(1)
|
||||
m_ioasic->aux_output_handler().set(FUNC(vegas_state::i40_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::sf2049)
|
||||
void vegas_state::sf2049(machine_config &config)
|
||||
{
|
||||
denver(config);
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(8);
|
||||
@ -2002,9 +2018,10 @@ MACHINE_CONFIG_START(vegas_state::sf2049)
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
m_ioasic->aux_output_handler().set(FUNC(vegas_state::wheel_board_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::sf2049se)
|
||||
void vegas_state::sf2049se(machine_config &config)
|
||||
{
|
||||
denver(config);
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(8);
|
||||
@ -2017,9 +2034,10 @@ MACHINE_CONFIG_START(vegas_state::sf2049se)
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
m_ioasic->aux_output_handler().set(FUNC(vegas_state::wheel_board_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::sf2049te)
|
||||
void vegas_state::sf2049te(machine_config &config)
|
||||
{
|
||||
denver(config);
|
||||
dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(8);
|
||||
@ -2032,9 +2050,10 @@ MACHINE_CONFIG_START(vegas_state::sf2049te)
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
m_ioasic->set_auto_ack(1);
|
||||
m_ioasic->aux_output_handler().set(FUNC(vegas_state::wheel_board_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vegas_state::cartfury)
|
||||
void vegas_state::cartfury(machine_config &config)
|
||||
{
|
||||
vegasv3(config);
|
||||
dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
|
||||
dcs.set_dram_in_mb(4);
|
||||
@ -2047,7 +2066,7 @@ MACHINE_CONFIG_START(vegas_state::cartfury)
|
||||
m_ioasic->set_yearoffs(80);
|
||||
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
|
||||
//m_ioasic->set_auto_ack(1)
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -106,12 +106,12 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(vertigo_state::vertigo)
|
||||
|
||||
void vertigo_state::vertigo(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, 24_MHz_XTAL / 3)
|
||||
MCFG_DEVICE_PROGRAM_MAP(vertigo_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DRIVER(vertigo_state, vertigo_interrupt, 60)
|
||||
M68000(config, m_maincpu, 24_MHz_XTAL / 3);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vertigo_state::vertigo_map);
|
||||
m_maincpu->set_periodic_int(FUNC(vertigo_state::vertigo_interrupt), attotime::from_hz(60));
|
||||
|
||||
ADC0808(config, m_adc, 24_MHz_XTAL / 30); // E clock from 68000
|
||||
m_adc->eoc_ff_callback().set(FUNC(vertigo_state::adc_eoc_w));
|
||||
@ -123,9 +123,9 @@ MACHINE_CONFIG_START(vertigo_state::vertigo)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD("440audio", EXIDY440, EXIDY440_MC3418_CLOCK)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
EXIDY440(config, m_custom, EXIDY440_MC3418_CLOCK);
|
||||
m_custom->add_route(0, "lspeaker", 1.0);
|
||||
m_custom->add_route(1, "rspeaker", 1.0);
|
||||
|
||||
pit8254_device &pit(PIT8254(config, "pit", 0));
|
||||
pit.set_clk<0>(24_MHz_XTAL / 100);
|
||||
@ -144,12 +144,12 @@ MACHINE_CONFIG_START(vertigo_state::vertigo)
|
||||
|
||||
/* video hardware */
|
||||
VECTOR(config, m_vector, 0);
|
||||
MCFG_SCREEN_ADD("screen", VECTOR)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_SIZE(400, 300)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 510, 0, 400)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vector", vector_device, screen_update)
|
||||
MACHINE_CONFIG_END
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_VECTOR));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_size(400, 300);
|
||||
screen.set_visarea(0, 510, 0, 400);
|
||||
screen.set_screen_update("vector", FUNC(vector_device::screen_update));
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -366,12 +366,12 @@ void vg5k_state::init_vg5k()
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vg5k_state::vg5k)
|
||||
|
||||
void vg5k_state::vg5k(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(4'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(vg5k_mem)
|
||||
MCFG_DEVICE_IO_MAP(vg5k_io)
|
||||
Z80(config, m_maincpu, XTAL(4'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vg5k_state::vg5k_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vg5k_state::vg5k_io);
|
||||
|
||||
TIMER(config, "vg5k_scanline").configure_scanline(FUNC(vg5k_state::vg5k_scanline), "screen", 0, 10);
|
||||
|
||||
@ -381,15 +381,15 @@ MACHINE_CONFIG_START(vg5k_state::vg5k)
|
||||
m_ef9345->set_palette_tag("palette");
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_UPDATE_DEVICE("ef9345", ef9345_device, screen_update)
|
||||
MCFG_SCREEN_SIZE(336, 300)
|
||||
MCFG_SCREEN_VISIBLE_AREA(00, 336-1, 00, 270-1)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_screen_update("ef9345", FUNC(ef9345_device::screen_update));
|
||||
screen.set_size(336, 300);
|
||||
screen.set_visarea(00, 336-1, 00, 270-1);
|
||||
|
||||
GFXDECODE(config, "gfxdecode", "palette", gfx_vg5k);
|
||||
MCFG_PALETTE_ADD("palette", 8)
|
||||
PALETTE(config, "palette").set_entries(8);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
@ -414,7 +414,7 @@ MACHINE_CONFIG_START(vg5k_state::vg5k)
|
||||
|
||||
/* Software lists */
|
||||
SOFTWARE_LIST(config, "cass_list").set_original("vg5k");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( vg5k )
|
||||
|
@ -637,7 +637,7 @@ void vic10_state::machine_reset()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG( vic10 )
|
||||
// machine_config( vic10 )
|
||||
//-------------------------------------------------
|
||||
|
||||
void vic10_state::vic10(machine_config &config)
|
||||
|
@ -346,22 +346,22 @@ static INPUT_PORTS_START( depthch )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::depthch)
|
||||
void vicdual_state::depthch(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_REPLACE("maincpu", I8080, VICDUAL_MAIN_CPU_CLOCK)
|
||||
MCFG_DEVICE_PROGRAM_MAP(depthch_map)
|
||||
MCFG_DEVICE_IO_MAP(depthch_io_map)
|
||||
I8080(config.replace(), m_maincpu, VICDUAL_MAIN_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::depthch_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::depthch_io_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw)
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw));
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
depthch_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -436,18 +436,17 @@ static INPUT_PORTS_START( safari )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::safari)
|
||||
void vicdual_state::safari(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(safari_map)
|
||||
MCFG_DEVICE_IO_MAP(safari_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::safari_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::safari_io_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -543,24 +542,23 @@ static INPUT_PORTS_START( frogs )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::frogs)
|
||||
void vicdual_state::frogs(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(frogs_map)
|
||||
MCFG_DEVICE_IO_MAP(frogs_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::frogs_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::frogs_io_map);
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(vicdual_state,frogs_audio)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw)
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw));
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
frogs_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -815,44 +813,42 @@ static INPUT_PORTS_START( sspaceat )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::headon)
|
||||
void vicdual_state::headon(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(headon_map)
|
||||
MCFG_DEVICE_IO_MAP(headon_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::headon_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::headon_io_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw_or_color)
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw_or_color));
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
headon_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::headons)
|
||||
void vicdual_state::headons(machine_config &config)
|
||||
{
|
||||
headon(config);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw));
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::sspaceat)
|
||||
void vicdual_state::sspaceat(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(headon_map)
|
||||
MCFG_DEVICE_IO_MAP(sspaceat_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::headon_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::sspaceat_io_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw_or_color)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw_or_color));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1046,47 +1042,44 @@ MACHINE_RESET_MEMBER( vicdual_state, headon2 )
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::headon2)
|
||||
void vicdual_state::headon2(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(headon2_map)
|
||||
MCFG_DEVICE_IO_MAP(headon2_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::headon2_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::headon2_io_map);
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(vicdual_state, headon2)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_color)
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_color));
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
headon_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::headon2bw)
|
||||
void vicdual_state::headon2bw(machine_config &config)
|
||||
{
|
||||
headon2(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_bw)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_bw));
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::digger)
|
||||
void vicdual_state::digger(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(headon2_map)
|
||||
MCFG_DEVICE_IO_MAP(digger_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::headon2_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::digger_io_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_color)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_color));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2121,170 +2114,169 @@ static INPUT_PORTS_START( headonn )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::vicdual_dualgame_root)
|
||||
void vicdual_state::vicdual_dualgame_root(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(vicdual_dualgame_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::vicdual_dualgame_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_color)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_color));
|
||||
}
|
||||
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::invho2)
|
||||
void vicdual_state::invho2(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(invho2_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::invho2_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
invinco_audio(config);
|
||||
headon_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::invds)
|
||||
void vicdual_state::invds(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(invds_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::invds_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
invinco_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::carhntds)
|
||||
void vicdual_state::carhntds(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(carhntds_dualgame_map)
|
||||
MCFG_DEVICE_IO_MAP(carhntds_io_map)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::carhntds_dualgame_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::carhntds_io_map);
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::sspacaho)
|
||||
void vicdual_state::sspacaho(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(sspacaho_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::sspacaho_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
headon_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::spacetrk)
|
||||
void vicdual_state::spacetrk(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(spacetrk_io_map)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::spacetrk_io_map);
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::carnival)
|
||||
void vicdual_state::carnival(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(carnival_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::carnival_io_map);
|
||||
|
||||
config.m_perfect_cpu_quantum = subtag("maincpu");
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
carnival_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::carnivalh)
|
||||
void vicdual_state::carnivalh(machine_config &config)
|
||||
{
|
||||
carnival(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(headon_io_map)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::headon_io_map);
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::tranqgun)
|
||||
void vicdual_state::tranqgun(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(tranqgun_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::tranqgun_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
tranqgun_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::brdrline)
|
||||
void vicdual_state::brdrline(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(brdrline_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::brdrline_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
brdrline_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::pulsar)
|
||||
void vicdual_state::pulsar(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(pulsar_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::pulsar_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
pulsar_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::heiankyo)
|
||||
void vicdual_state::heiankyo(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(heiankyo_io_map)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::heiankyo_io_map);
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::alphaho)
|
||||
void vicdual_state::alphaho(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(alphaho_io_map)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::alphaho_io_map);
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::headonn)
|
||||
void vicdual_state::headonn(machine_config &config)
|
||||
{
|
||||
vicdual_dualgame_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(headonn_io_map)
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::headonn_io_map);
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
headon_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
@ -2405,20 +2397,19 @@ MACHINE_START_MEMBER(vicdual_state,samurai)
|
||||
machine_start();
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::samurai)
|
||||
void vicdual_state::samurai(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(samurai_map)
|
||||
MCFG_DEVICE_IO_MAP(samurai_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::samurai_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::samurai_io_map);
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(vicdual_state,samurai)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_color)
|
||||
MACHINE_CONFIG_END
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_color));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2593,28 +2584,29 @@ MACHINE_RESET_MEMBER(nsub_state, nsub)
|
||||
machine_reset();
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(nsub_state::nsub)
|
||||
void nsub_state::nsub(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, VICDUAL_MAIN_CPU_CLOCK)
|
||||
MCFG_DEVICE_PROGRAM_MAP(nsub_map)
|
||||
MCFG_DEVICE_IO_MAP(nsub_io_map)
|
||||
Z80(config, m_maincpu, VICDUAL_MAIN_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &nsub_state::nsub_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &nsub_state::nsub_io_map);
|
||||
|
||||
TIMER(config, m_coinstate_timer).configure_generic(FUNC(nsub_state::clear_coin_status));
|
||||
TIMER(config, m_nsub_coinage_timer).configure_generic(FUNC(nsub_state::nsub_coin_pulse));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(VICDUAL_PIXEL_CLOCK, VICDUAL_HTOTAL, VICDUAL_HBEND, VICDUAL_HBSTART, VICDUAL_VTOTAL, VICDUAL_VBEND, VICDUAL_VBSTART)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nsub_state, screen_update_color)
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_raw(VICDUAL_PIXEL_CLOCK, VICDUAL_HTOTAL, VICDUAL_HBEND, VICDUAL_HBSTART, VICDUAL_VTOTAL, VICDUAL_VBEND, VICDUAL_VBSTART);
|
||||
m_screen->set_screen_update(FUNC(nsub_state::screen_update_color));
|
||||
|
||||
MCFG_DEVICE_ADD("s97269pb", S97269PB, 0)
|
||||
S97269PB(config, m_s97269pb, 0);
|
||||
|
||||
MCFG_MACHINE_START_OVERRIDE(nsub_state, nsub)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(nsub_state, nsub)
|
||||
|
||||
/* audio hardware */
|
||||
S97271P(config, m_s97271p, 0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2704,22 +2696,21 @@ static INPUT_PORTS_START( invinco )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vicdual_state::invinco)
|
||||
void vicdual_state::invinco(machine_config &config)
|
||||
{
|
||||
vicdual_root(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(invinco_map)
|
||||
MCFG_DEVICE_IO_MAP(invinco_io_map)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vicdual_state::invinco_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vicdual_state::invinco_io_map);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vicdual_state, screen_update_color)
|
||||
m_screen->set_screen_update(FUNC(vicdual_state::screen_update_color));
|
||||
|
||||
/* audio hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
invinco_audio(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -676,7 +676,7 @@ void victor9k_state::machine_reset()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG( victor9k )
|
||||
// machine_config( victor9k )
|
||||
//-------------------------------------------------
|
||||
|
||||
void victor9k_state::victor9k(machine_config &config)
|
||||
|
@ -210,13 +210,13 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(victory_state::victory)
|
||||
|
||||
void victory_state::victory(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, VICTORY_MAIN_CPU_CLOCK)
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_IO_MAP(main_io_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", victory_state, vblank_interrupt)
|
||||
Z80(config, m_maincpu, VICTORY_MAIN_CPU_CLOCK);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &victory_state::main_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &victory_state::main_io_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(victory_state::vblank_interrupt));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
@ -230,19 +230,18 @@ MACHINE_CONFIG_START(victory_state::victory)
|
||||
pio2.in_pb_callback().set_ioport("UNUSED");
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_ALWAYS_UPDATE)
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK | VIDEO_ALWAYS_UPDATE);
|
||||
/* using the standard Exidy video parameters for now, needs to be confirmed */
|
||||
MCFG_SCREEN_RAW_PARAMS(VICTORY_PIXEL_CLOCK, VICTORY_HTOTAL, VICTORY_HBEND, VICTORY_HBSTART, VICTORY_VTOTAL, VICTORY_VBEND, VICTORY_VBSTART)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(victory_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 64)
|
||||
m_screen->set_raw(VICTORY_PIXEL_CLOCK, VICTORY_HTOTAL, VICTORY_HBEND, VICTORY_HBSTART, VICTORY_VTOTAL, VICTORY_VBEND, VICTORY_VBSTART);
|
||||
m_screen->set_screen_update(FUNC(victory_state::screen_update));
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
PALETTE(config, m_palette).set_entries(64);
|
||||
|
||||
/* audio hardware */
|
||||
EXIDY_VICTORY(config, "soundbd", 0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -392,7 +392,7 @@ void vidbrain_state::machine_reset()
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG( vidbrain )
|
||||
// machine_config( vidbrain )
|
||||
//-------------------------------------------------
|
||||
|
||||
void vidbrain_state::vidbrain(machine_config &config)
|
||||
|
@ -359,11 +359,11 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(videopin_state::videopin)
|
||||
|
||||
void videopin_state::videopin(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M6502, 12096000 / 16)
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
M6502(config, m_maincpu, 12096000 / 16);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &videopin_state::main_map);
|
||||
|
||||
WATCHDOG_TIMER(config, "watchdog");
|
||||
|
||||
@ -383,7 +383,7 @@ MACHINE_CONFIG_START(videopin_state::videopin)
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
DISCRETE(config, m_discrete, videopin_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -1220,8 +1220,8 @@ void videopkr_state::machine_start()
|
||||
* Machine Drivers *
|
||||
************************/
|
||||
|
||||
MACHINE_CONFIG_START(videopkr_state::videopkr)
|
||||
|
||||
void videopkr_state::videopkr(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
i8039_device &maincpu(I8039(config, m_maincpu, CPU_CLOCK));
|
||||
maincpu.set_addrmap(AS_PROGRAM, &videopkr_state::i8039_map);
|
||||
@ -1246,13 +1246,13 @@ MACHINE_CONFIG_START(videopkr_state::videopkr)
|
||||
TIMER(config, "t1_timer").configure_periodic(FUNC(videopkr_state::sound_t1_callback), attotime::from_hz(50));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(5*8, 31*8-1, 3*8, 29*8-1)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(2080)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(videopkr_state, screen_update_videopkr)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_size(32*8, 32*8);
|
||||
screen.set_visarea(5*8, 31*8-1, 3*8, 29*8-1);
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_vblank_time(2080);
|
||||
screen.set_screen_update(FUNC(videopkr_state::screen_update_videopkr));
|
||||
screen.set_palette("palette");
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_videopkr);
|
||||
PALETTE(config, "palette", FUNC(videopkr_state::videopkr_palette), 256);
|
||||
@ -1264,38 +1264,41 @@ MACHINE_CONFIG_START(videopkr_state::videopkr)
|
||||
vref.set_output(5.0);
|
||||
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(videopkr_state::blckjack)
|
||||
void videopkr_state::blckjack(machine_config &config)
|
||||
{
|
||||
videopkr(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_SIZE(32*8, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(4*8, 31*8-1, 2*8, 30*8-1)
|
||||
MACHINE_CONFIG_END
|
||||
screen_device &screen(*subdevice<screen_device>("screen"));
|
||||
screen.set_size(32*8, 32*8);
|
||||
screen.set_visarea(4*8, 31*8-1, 2*8, 30*8-1);
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(videopkr_state::videodad)
|
||||
void videopkr_state::videodad(machine_config &config)
|
||||
{
|
||||
videopkr(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
m_maincpu->set_clock(CPU_CLOCK_ALT);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_SIZE(32*16, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(4*16, 31*16-1, 2*8, 30*8-1)
|
||||
screen_device &screen(*subdevice<screen_device>("screen"));
|
||||
screen.set_size(32*16, 32*8);
|
||||
screen.set_visarea(4*16, 31*16-1, 2*8, 30*8-1);
|
||||
|
||||
m_gfxdecode->set_info(gfx_videodad);
|
||||
MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(videopkr_state::babypkr)
|
||||
void videopkr_state::babypkr(machine_config &config)
|
||||
{
|
||||
videopkr(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -1312,27 +1315,29 @@ MACHINE_CONFIG_START(videopkr_state::babypkr)
|
||||
soundcpu.port_out_cb<3>().set(FUNC(videopkr_state::baby_sound_p3_w));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_SIZE(32*16, 32*8)
|
||||
MCFG_SCREEN_VISIBLE_AREA(5*16, 31*16-1, 3*8, 29*8-1)
|
||||
screen_device &screen(*subdevice<screen_device>("screen"));
|
||||
screen.set_size(32*16, 32*8);
|
||||
screen.set_visarea(5*16, 31*16-1, 3*8, 29*8-1);
|
||||
|
||||
subdevice<palette_device>("palette")->set_init(FUNC(videopkr_state::babypkr_palette));
|
||||
m_gfxdecode->set_info(gfx_videodad);
|
||||
MCFG_VIDEO_START_OVERRIDE(videopkr_state,vidadcba)
|
||||
|
||||
AY8910(config, m_aysnd, CPU_CLOCK / 6).add_route(ALL_OUTPUTS, "speaker", 0.3); /* no ports used */
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(videopkr_state::fortune1)
|
||||
void videopkr_state::fortune1(machine_config &config)
|
||||
{
|
||||
videopkr(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
m_maincpu->set_clock(CPU_CLOCK_ALT);
|
||||
|
||||
subdevice<palette_device>("palette")->set_init(FUNC(videopkr_state::fortune1_palette));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(videopkr_state::bpoker)
|
||||
void videopkr_state::bpoker(machine_config &config)
|
||||
{
|
||||
babypkr(config);
|
||||
i8751_device &maincpu(I8751(config.replace(), m_maincpu, XTAL(6'000'000)));
|
||||
maincpu.set_addrmap(AS_PROGRAM, &videopkr_state::i8751_map);
|
||||
@ -1346,7 +1351,7 @@ MACHINE_CONFIG_START(videopkr_state::bpoker)
|
||||
//ppi.in_pb_callback()
|
||||
//ppi.out_pc_callback()
|
||||
//ppi.in_pc_callback()
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
|
@ -182,11 +182,11 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START(vindictr_state::vindictr)
|
||||
|
||||
void vindictr_state::vindictr(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68010, ATARI_CLOCK_14MHz/2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
M68010(config, m_maincpu, ATARI_CLOCK_14MHz/2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vindictr_state::main_map);
|
||||
|
||||
EEPROM_2804(config, "eeprom").lock_after_write(true);
|
||||
|
||||
@ -194,21 +194,21 @@ MACHINE_CONFIG_START(vindictr_state::vindictr)
|
||||
|
||||
/* video hardware */
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vindictr);
|
||||
MCFG_PALETTE_ADD("palette", 2048*8)
|
||||
PALETTE(config, m_palette).set_entries(2048*8);
|
||||
|
||||
MCFG_TILEMAP_ADD_STANDARD("playfield", "gfxdecode", 2, vindictr_state, get_playfield_tile_info, 8,8, SCAN_COLS, 64,64)
|
||||
MCFG_TILEMAP_ADD_STANDARD_TRANSPEN("alpha", "gfxdecode", 2, vindictr_state, get_alpha_tile_info, 8,8, SCAN_ROWS, 64,32, 0)
|
||||
TILEMAP(config, m_playfield_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_COLS, 64,64).set_info_callback(FUNC(vindictr_state::get_playfield_tile_info));
|
||||
TILEMAP(config, m_alpha_tilemap, m_gfxdecode, 2, 8,8, TILEMAP_SCAN_ROWS, 64,32, 0).set_info_callback(FUNC(vindictr_state::get_alpha_tile_info));
|
||||
|
||||
ATARI_MOTION_OBJECTS(config, m_mob, 0, m_screen, vindictr_state::s_mob_config);
|
||||
m_mob->set_gfxdecode(m_gfxdecode);
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_BEFORE_VBLANK)
|
||||
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||
m_screen->set_video_attributes(VIDEO_UPDATE_BEFORE_VBLANK);
|
||||
/* note: these parameters are from published specs, not derived */
|
||||
/* the board uses a SYNGEN chip to generate video signals */
|
||||
MCFG_SCREEN_RAW_PARAMS(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vindictr_state, screen_update_vindictr)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
m_screen->set_raw(ATARI_CLOCK_14MHz/2, 456, 0, 336, 262, 0, 240);
|
||||
m_screen->set_screen_update(FUNC(vindictr_state::screen_update_vindictr));
|
||||
m_screen->set_palette(m_palette);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
@ -220,7 +220,7 @@ MACHINE_CONFIG_START(vindictr_state::vindictr)
|
||||
m_jsa->add_route(0, "lspeaker", 1.0);
|
||||
m_jsa->add_route(1, "rspeaker", 1.0);
|
||||
config.device_remove("jsa:tms");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -695,7 +695,7 @@ QUICKLOAD_LOAD_MEMBER( vip_state, vip )
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG( vip )
|
||||
// machine_config( vip )
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(vip_state::vip)
|
||||
@ -753,7 +753,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG( vp111 )
|
||||
// machine_config( vp111 )
|
||||
//-------------------------------------------------
|
||||
|
||||
void vip_state::vp111(machine_config &config)
|
||||
|
@ -1031,16 +1031,17 @@ MC6845_UPDATE_ROW( vk100_state::crtc_update_row )
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vk100_state::vk100)
|
||||
void vk100_state::vk100(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8085A, XTAL(5'068'800))
|
||||
MCFG_DEVICE_PROGRAM_MAP(vk100_mem)
|
||||
MCFG_DEVICE_IO_MAP(vk100_io)
|
||||
I8085A(config, m_maincpu, XTAL(5'068'800));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vk100_state::vk100_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vk100_state::vk100_io);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(45'619'200)/3, 882, 0, 720, 370, 0, 350 ) // fake screen timings for startup until 6845 sets real ones
|
||||
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(45'619'200)/3, 882, 0, 720, 370, 0, 350 ); // fake screen timings for startup until 6845 sets real ones
|
||||
screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
|
||||
|
||||
H46505(config, m_crtc, 45.6192_MHz_XTAL/3/12);
|
||||
m_crtc->set_screen("screen");
|
||||
@ -1069,7 +1070,7 @@ MACHINE_CONFIG_START(vk100_state::vk100)
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
BEEP(config, m_speaker, 116).add_route(ALL_OUTPUTS, "mono", 0.25); // 116 hz (page 172 of TM), but duty cycle is wrong here!
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
/* according to http://www.computer.museum.uq.edu.au/pdf/EK-VK100-TM-001%20VK100%20Technical%20Manual.pdf
|
||||
|
@ -1,6 +1,6 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Yves
|
||||
/* vlc.c
|
||||
/* vlc.cpp
|
||||
Multi-games from VLC Nevada 1995
|
||||
CGA monitor 15Khz 60hz
|
||||
// CPU CLOCK use Crystal 16.000MHZ
|
||||
@ -49,7 +49,7 @@ Boot Section is locate in NVRAM. Interrupts Pointers are changed on the fly.
|
||||
seem to check hardware WDT ,Power Failure , interrupt system,etc.. before game start.
|
||||
|
||||
INT7 seem to control POWER FAILURE ,WDT.
|
||||
INT7 initialisation is needed to boot the game.
|
||||
INT7 initialization is needed to boot the game.
|
||||
|
||||
******************************************************
|
||||
******************************************************
|
||||
@ -570,10 +570,11 @@ MACHINE_START_MEMBER(nevada_state, nevada)
|
||||
* Machine Driver *
|
||||
*************************/
|
||||
|
||||
MACHINE_CONFIG_START(nevada_state::nevada)
|
||||
void nevada_state::nevada(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, MASTER_CPU)
|
||||
MCFG_DEVICE_PROGRAM_MAP(nevada_map)
|
||||
M68000(config, m_maincpu, MASTER_CPU);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &nevada_state::nevada_map);
|
||||
|
||||
WATCHDOG_TIMER(config, "watchdog").set_time(attotime::from_msec(150)); /* 150ms Ds1232 TD to Ground */
|
||||
|
||||
@ -582,13 +583,13 @@ MACHINE_CONFIG_START(nevada_state::nevada)
|
||||
NVRAM(config, "nvram").set_custom_handler(FUNC(nevada_state::nvram_init));
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE((42+1)*8, (32+1)*8) /* From MC6845 init, registers 00 & 04 (programmed with value-1). */
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 31*8-1, 0*8, 31*8-1) /* From MC6845 init, registers 01 & 06. */
|
||||
MCFG_SCREEN_UPDATE_DRIVER(nevada_state, screen_update_nevada)
|
||||
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((42+1)*8, (32+1)*8); /* From MC6845 init, registers 00 & 04 (programmed with value-1). */
|
||||
screen.set_visarea(0*8, 31*8-1, 0*8, 31*8-1); /* From MC6845 init, registers 01 & 06. */
|
||||
screen.set_screen_update(FUNC(nevada_state::screen_update_nevada));
|
||||
screen.set_palette("palette");
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, "palette", gfx_nevada);
|
||||
PALETTE(config, "palette", FUNC(nevada_state::nevada_palette), 256);
|
||||
@ -621,8 +622,7 @@ MACHINE_CONFIG_START(nevada_state::nevada)
|
||||
/* devices */
|
||||
MSM6242(config, m_rtc, XTAL(32'768));
|
||||
m_rtc->out_int_handler().set_inputline(m_maincpu, M68K_IRQ_1); // rtc interrupt on INT1
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
ROM_START( nevada )
|
||||
|
@ -239,15 +239,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(volfied_state::cchip_irq_clear_cb)
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(volfied_state::volfied)
|
||||
|
||||
void volfied_state::volfied(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, CPU_CLOCK) /* 8MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", volfied_state, interrupt)
|
||||
M68000(config, m_maincpu, CPU_CLOCK); /* 8MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &volfied_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(volfied_state::interrupt));
|
||||
|
||||
MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CPU_CLOCK) /* 4MHz sound CPU, required to run the game */
|
||||
MCFG_DEVICE_PROGRAM_MAP(z80_map)
|
||||
Z80(config, m_audiocpu, SOUND_CPU_CLOCK); /* 4MHz sound CPU, required to run the game */
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &volfied_state::z80_map);
|
||||
|
||||
TAITO_CCHIP(config, m_cchip, 20_MHz_XTAL/2); // 20MHz OSC next to C-Chip
|
||||
m_cchip->in_pa_callback().set_ioport("F00007");
|
||||
@ -261,13 +261,13 @@ MACHINE_CONFIG_START(volfied_state::volfied)
|
||||
TIMER(config, m_cchip_irq_clear).configure_generic(FUNC(volfied_state::cchip_irq_clear_cb));
|
||||
|
||||
/* 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, 319, 8, 247)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(volfied_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(320, 256);
|
||||
m_screen->set_visarea(0, 319, 8, 247);
|
||||
m_screen->set_screen_update(FUNC(volfied_state::screen_update));
|
||||
m_screen->set_palette("palette");
|
||||
|
||||
GFXDECODE(config, "gfxdecode", "palette", gfx_volfied);
|
||||
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 8192);
|
||||
@ -291,7 +291,7 @@ MACHINE_CONFIG_START(volfied_state::volfied)
|
||||
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
|
||||
ciu.set_master_tag(m_maincpu);
|
||||
ciu.set_slave_tag(m_audiocpu);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -242,12 +242,13 @@ void votrpss_state::kbd_put(u8 data)
|
||||
Machine Drivers
|
||||
******************************************************************************/
|
||||
|
||||
MACHINE_CONFIG_START(votrpss_state::votrpss)
|
||||
void votrpss_state::votrpss(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(8'000'000)/2) /* 4.000 MHz, verified */
|
||||
MCFG_DEVICE_PROGRAM_MAP(votrpss_mem)
|
||||
MCFG_DEVICE_IO_MAP(votrpss_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(votrpss_state,irq_ack)
|
||||
Z80(config, m_maincpu, XTAL(8'000'000)/2); /* 4.000 MHz, verified */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &votrpss_state::votrpss_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &votrpss_state::votrpss_io);
|
||||
m_maincpu->set_irq_acknowledge_callback(FUNC(votrpss_state::irq_ack));
|
||||
|
||||
/* video hardware */
|
||||
//config.set_default_layout(layout_votrpss);
|
||||
@ -258,8 +259,7 @@ MACHINE_CONFIG_START(votrpss_state::votrpss)
|
||||
ay.port_b_read_callback().set_ioport("DSW1");
|
||||
ay.port_a_write_callback().set("votrax", FUNC(votrax_sc01_device::write));
|
||||
ay.add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
MCFG_DEVICE_ADD("votrax", VOTRAX_SC01, 720000) /* 720 kHz? needs verify */
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
||||
VOTRAX_SC01(config, "votrax", 720000).add_route(ALL_OUTPUTS, "mono", 1.00); /* 720 kHz? needs verify */
|
||||
|
||||
/* Devices */
|
||||
GENERIC_TERMINAL(config, m_terminal, 0);
|
||||
@ -292,7 +292,7 @@ MACHINE_CONFIG_START(votrpss_state::votrpss)
|
||||
m_ppi->out_pc_callback().set(FUNC(votrpss_state::ppi_pc_w));
|
||||
|
||||
TIMER(config, "irq_timer").configure_periodic(FUNC(votrpss_state::irq_timer), attotime::from_msec(10));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -503,10 +503,10 @@ void voyager_state::machine_reset()
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(voyager_state::voyager)
|
||||
MCFG_DEVICE_ADD("maincpu", PENTIUM3, 133000000) // actually AMD Duron CPU of unknown clock
|
||||
MCFG_DEVICE_PROGRAM_MAP(voyager_map)
|
||||
MCFG_DEVICE_IO_MAP(voyager_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
|
||||
PENTIUM3(config, m_maincpu, 133000000); // actually AMD Duron CPU of unknown clock
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &voyager_state::voyager_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &voyager_state::voyager_io);
|
||||
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
|
||||
|
||||
pcat_common(config);
|
||||
|
||||
|
@ -634,22 +634,22 @@ WRITE_LINE_MEMBER(vpoker_state::ptm_irq)
|
||||
m_maincpu->set_input_line(M6809_IRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vpoker_state::vpoker)
|
||||
|
||||
void vpoker_state::vpoker(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vpoker_state, irq0_line_hold) //irq0 valid too
|
||||
MC6809(config, m_maincpu, XTAL(4'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vpoker_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vpoker_state::irq0_line_hold));
|
||||
|
||||
/* 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(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 480-1, 0*8, 240-1)
|
||||
// MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 256-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vpoker_state, screen_update_vpoker)
|
||||
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(2500)); // not accurate
|
||||
screen.set_size(512, 256);
|
||||
screen.set_visarea(0*8, 480-1, 0*8, 240-1);
|
||||
// screen.set_visarea(0*8, 512-1, 0*8, 256-1);
|
||||
screen.set_screen_update(FUNC(vpoker_state::screen_update_vpoker));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vpoker);
|
||||
|
||||
@ -663,7 +663,7 @@ MACHINE_CONFIG_START(vpoker_state::vpoker)
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
// AY8910(config, "aysnd", 8000000/4 /* guess */).add_route(ALL_OUTPUTS, "mono", 0.30);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
@ -279,12 +279,13 @@ WRITE8_MEMBER(vroulet_state::ppi8255_c_w){}
|
||||
|
||||
/* Machine Driver */
|
||||
|
||||
MACHINE_CONFIG_START(vroulet_state::vroulet)
|
||||
void vroulet_state::vroulet(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) //???
|
||||
MCFG_DEVICE_PROGRAM_MAP(vroulet_map)
|
||||
MCFG_DEVICE_IO_MAP(vroulet_io_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vroulet_state, irq0_line_hold)
|
||||
Z80(config, m_maincpu, 4000000); //???
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vroulet_state::vroulet_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vroulet_state::vroulet_io_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vroulet_state::irq0_line_hold));
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
|
||||
|
||||
@ -299,16 +300,16 @@ MACHINE_CONFIG_START(vroulet_state::vroulet)
|
||||
ppi1.out_pc_callback().set(FUNC(vroulet_state::ppi8255_c_w));
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
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(vroulet_state, screen_update)
|
||||
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(32*8, 32*8);
|
||||
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
|
||||
screen.set_screen_update(FUNC(vroulet_state::screen_update));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vroulet);
|
||||
MCFG_PALETTE_ADD("palette", 128*4)
|
||||
PALETTE(config, m_palette).set_entries(128*4);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "mono").front_center();
|
||||
@ -317,8 +318,7 @@ MACHINE_CONFIG_START(vroulet_state::vroulet)
|
||||
aysnd.port_a_read_callback().set_ioport("DSWA");
|
||||
aysnd.port_b_read_callback().set_ioport("DSWB");
|
||||
aysnd.add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROMs */
|
||||
|
||||
|
@ -311,12 +311,13 @@ static GFXDECODE_START( gfx_vt100 )
|
||||
GFXDECODE_ENTRY( "chargen", 0x0000, vt100_charlayout, 0, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
MACHINE_CONFIG_START(vt100_state::vt100)
|
||||
void vt100_state::vt100(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8080, XTAL(24'883'200) / 9)
|
||||
MCFG_DEVICE_PROGRAM_MAP(vt100_mem)
|
||||
MCFG_DEVICE_IO_MAP(vt100_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("rstbuf", rst_pos_buffer_device, inta_cb)
|
||||
I8080(config, m_maincpu, XTAL(24'883'200) / 9);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt100_state::vt100_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vt100_state::vt100_io);
|
||||
m_maincpu->set_irq_acknowledge_callback("rstbuf", FUNC(rst_pos_buffer_device::inta_cb));
|
||||
|
||||
/* video hardware */
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
|
||||
@ -326,7 +327,7 @@ MACHINE_CONFIG_START(vt100_state::vt100)
|
||||
screen.set_palette("vt100_video:palette");
|
||||
|
||||
GFXDECODE(config, "gfxdecode", "vt100_video:palette", gfx_vt100);
|
||||
// MCFG_PALETTE_ADD_MONOCHROME("palette")
|
||||
// PALETTE(config, "palette", palette_device::MONOCHROME);
|
||||
|
||||
config.set_default_layout(layout_vt100);
|
||||
|
||||
@ -361,7 +362,7 @@ MACHINE_CONFIG_START(vt100_state::vt100)
|
||||
m_kbduart->set_auto_rdav(true);
|
||||
|
||||
RST_POS_BUFFER(config, m_rstbuf, 0).int_callback().set_inputline(m_maincpu, 0);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
void vt100_state::stp_mem(address_map &map)
|
||||
{
|
||||
@ -422,13 +423,14 @@ void vt100_state::vt180(machine_config &config)
|
||||
z80cpu.set_io_map(&vt100_state::vt180_io);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vt100_state::vt101)
|
||||
void vt100_state::vt101(machine_config &config)
|
||||
{
|
||||
vt100(config);
|
||||
|
||||
MCFG_DEVICE_REPLACE(m_maincpu, I8085A, XTAL(24'073'400) / 4)
|
||||
MCFG_DEVICE_PROGRAM_MAP(vt100_mem)
|
||||
MCFG_DEVICE_IO_MAP(vt100_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(vt100_state, vt102_irq_callback)
|
||||
I8085A(config.replace(), m_maincpu, XTAL(24'073'400) / 4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt100_state::vt100_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vt100_state::vt100_io);
|
||||
m_maincpu->set_irq_acknowledge_callback(FUNC(vt100_state::vt102_irq_callback));
|
||||
|
||||
m_pusart->set_clock(XTAL(24'073'400) / 8);
|
||||
m_pusart->txrdy_handler().set_inputline(m_maincpu, I8085_RST55_LINE); // 8085 pin 9, mislabeled RST 7.5 on schematics
|
||||
@ -438,13 +440,13 @@ MACHINE_CONFIG_START(vt100_state::vt101)
|
||||
dbrg.ft_handler().set(m_pusart, FUNC(i8251_device::write_txc));
|
||||
|
||||
m_kbduart->write_tbmt_callback().set_inputline(m_maincpu, I8085_RST65_LINE);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vt100_state::vt102)
|
||||
void vt100_state::vt102(machine_config &config)
|
||||
{
|
||||
vt101(config);
|
||||
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_IO_MAP(vt102_io)
|
||||
m_maincpu->set_addrmap(AS_IO, &vt100_state::vt102_io);
|
||||
|
||||
ins8250_device &printuart(INS8250(config, "printuart", XTAL(24'073'400) / 16));
|
||||
printuart.out_tx_callback().set("printer", FUNC(rs232_port_device::write_txd));
|
||||
@ -453,7 +455,7 @@ MACHINE_CONFIG_START(vt100_state::vt102)
|
||||
rs232_port_device &printer(RS232_PORT(config, "printer", default_rs232_devices, nullptr));
|
||||
printer.rxd_handler().set("printuart", FUNC(ins8250_device::rx_w));
|
||||
printer.dsr_handler().set("printuart", FUNC(ins8250_device::dsr_w));
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* VT1xx models:
|
||||
* VT100 - 1978 base model. the 'later' ROM is from 1979 or 1980.
|
||||
|
@ -134,12 +134,12 @@ void vt220_state::vt220(machine_config &config)
|
||||
RAM(config, RAM_TAG).set_default_size("16K");
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vt220_state::vt220a)
|
||||
void vt220_state::vt220a(machine_config &config)
|
||||
{
|
||||
vt220(config);
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(vt220a_mem)
|
||||
MCFG_DEVICE_IO_MAP(vt220a_io)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt220_state::vt220a_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vt220_state::vt220a_io);
|
||||
}
|
||||
|
||||
/* ROM definitions */
|
||||
ROM_START(vt220)
|
||||
|
@ -92,27 +92,27 @@ uint32_t vt320_state::screen_update_vt320(screen_device &screen, bitmap_ind16 &b
|
||||
}
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vt320_state::vt320)
|
||||
void vt320_state::vt320(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I8051, XTAL(16'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(vt320_mem)
|
||||
MCFG_DEVICE_IO_MAP(vt320_io)
|
||||
|
||||
I8051(config, m_maincpu, XTAL(16'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt320_state::vt320_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vt320_state::vt320_io);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(640, 480)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vt320_state, screen_update_vt320)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(640, 480);
|
||||
screen.set_visarea(0, 640-1, 0, 480-1);
|
||||
screen.set_screen_update(FUNC(vt320_state::screen_update_vt320));
|
||||
screen.set_palette("palette");
|
||||
|
||||
PALETTE(config, "palette", palette_device::MONOCHROME);
|
||||
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("16K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/* ROM definition */
|
||||
ROM_START( vt320 )
|
||||
|
@ -85,38 +85,40 @@ uint32_t vt520_state::screen_update_vt520(screen_device &screen, bitmap_ind16 &b
|
||||
return 0;
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vt520_state::vt420)
|
||||
void vt520_state::vt420(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I80C31, XTAL(43'320'000) / 3) // SCN8031HCFN40 (divider not verified)
|
||||
MCFG_DEVICE_PROGRAM_MAP(vt520_mem)
|
||||
MCFG_DEVICE_IO_MAP(vt520_io)
|
||||
I80C31(config, m_maincpu, XTAL(43'320'000) / 3); // SCN8031HCFN40 (divider not verified)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt520_state::vt520_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vt520_state::vt520_io);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(802, 480)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 802-1, 0, 480-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vt520_state, screen_update_vt520)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(802, 480);
|
||||
screen.set_visarea(0, 802-1, 0, 480-1);
|
||||
screen.set_screen_update(FUNC(vt520_state::screen_update_vt520));
|
||||
screen.set_palette("palette");
|
||||
|
||||
PALETTE(config, "palette", palette_device::MONOCHROME);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vt520_state::vt520)
|
||||
void vt520_state::vt520(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I80C32, XTAL(20'000'000)) // Philips P80C32IBPN
|
||||
MCFG_DEVICE_PROGRAM_MAP(vt520_mem)
|
||||
MCFG_DEVICE_IO_MAP(vt520_io)
|
||||
I80C32(config, m_maincpu, XTAL(20'000'000)); // Philips P80C32IBPN
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vt520_state::vt520_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &vt520_state::vt520_io);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(802, 480)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 802-1, 0, 480-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vt520_state, screen_update_vt520)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(802, 480);
|
||||
screen.set_visarea(0, 802-1, 0, 480-1);
|
||||
screen.set_screen_update(FUNC(vt520_state::screen_update_vt520));
|
||||
screen.set_palette("palette");
|
||||
|
||||
PALETTE(config, "palette", palette_device::MONOCHROME);
|
||||
|
||||
@ -124,7 +126,7 @@ MACHINE_CONFIG_START(vt520_state::vt520)
|
||||
// Which are DRAM 256K x 4bit
|
||||
/* internal ram */
|
||||
RAM(config, RAM_TAG).set_default_size("256K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
/**************************************************************************************************************
|
||||
|
||||
|
@ -188,12 +188,13 @@ void vta2000_state::vta2000_palette(palette_device &palette) const
|
||||
palette.set_pen_color(2, 0x00, 0xff, 0x00); // highlight
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(vta2000_state::vta2000)
|
||||
void vta2000_state::vta2000(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD(m_maincpu, I8080, XTAL(4'000'000) / 4)
|
||||
MCFG_DEVICE_PROGRAM_MAP(mem_map)
|
||||
MCFG_DEVICE_IO_MAP(io_map)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic", pic8259_device, inta_cb)
|
||||
I8080(config, m_maincpu, XTAL(4'000'000) / 4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vta2000_state::mem_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vta2000_state::io_map);
|
||||
m_maincpu->set_irq_acknowledge_callback("pic", FUNC(pic8259_device::inta_cb));
|
||||
|
||||
PIT8253(config, m_mainpit, 0);
|
||||
m_mainpit->set_clk<0>(500'000);
|
||||
@ -213,20 +214,20 @@ MACHINE_CONFIG_START(vta2000_state::vta2000)
|
||||
brgpit.out_handler<1>().set("usart", FUNC(i8251_device::write_txc)); // or vice versa?
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(80*8, 25*12)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 80*8-1, 0, 25*12-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vta2000_state, screen_update_vta2000)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(80*8, 25*12);
|
||||
screen.set_visarea(0, 80*8-1, 0, 25*12-1);
|
||||
screen.set_screen_update(FUNC(vta2000_state::screen_update_vta2000));
|
||||
screen.set_palette("palette");
|
||||
|
||||
PALETTE(config, "palette", FUNC(vta2000_state::vta2000_palette), 3);
|
||||
GFXDECODE(config, "gfxdecode", "palette", gfx_vta2000);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.5);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
/* ROM definition */
|
||||
|
@ -486,10 +486,10 @@ static const floppy_interface vtech2_floppy_interface =
|
||||
|
||||
MACHINE_CONFIG_START(vtech2_state::laser350)
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, 3694700) /* 3.694700 MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(mem_map)
|
||||
MCFG_DEVICE_IO_MAP(io_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vtech2_state, vtech2_interrupt)
|
||||
Z80(config, m_maincpu, 3694700); /* 3.694700 MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vtech2_state::mem_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &vtech2_state::io_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vtech2_state::vtech2_interrupt));
|
||||
config.m_minimum_quantum = attotime::from_hz(60);
|
||||
|
||||
ADDRESS_MAP_BANK(config, "banka").set_map(&vtech2_state::m_map350).set_options(ENDIANNESS_LITTLE, 8, 18, 0x4000);
|
||||
@ -498,13 +498,13 @@ MACHINE_CONFIG_START(vtech2_state::laser350)
|
||||
ADDRESS_MAP_BANK(config, "bankd").set_map(&vtech2_state::m_map350).set_options(ENDIANNESS_LITTLE, 8, 18, 0x4000);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(0)
|
||||
MCFG_SCREEN_SIZE(88*8, 24*8+32)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0*8, 88*8-1, 0*8, 24*8+32-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(vtech2_state, screen_update_laser)
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(0);
|
||||
screen.set_size(88*8, 24*8+32);
|
||||
screen.set_visarea(0*8, 88*8-1, 0*8, 24*8+32-1);
|
||||
screen.set_screen_update(FUNC(vtech2_state::screen_update_laser));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vtech2);
|
||||
PALETTE(config, m_palette, FUNC(vtech2_state::vtech2_palette), 512 + 16, 16);
|
||||
|
@ -27,18 +27,18 @@ uint32_t vreadere_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm
|
||||
static INPUT_PORTS_START( vreadere )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(vreadere_state::vreadere)
|
||||
/* basic machine hardware */
|
||||
// MCFG_DEVICE_ADD("maincpu", unknown, unknown) // CPU type is unknown, epoxy blob
|
||||
void vreadere_state::vreadere(machine_config &config)
|
||||
{
|
||||
// UNKNOWN(config, "maincpu", unknown); // CPU type is unknown, epoxy blob
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER( vreadere_state, screen_update )
|
||||
MACHINE_CONFIG_END
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(512, 256);
|
||||
screen.set_visarea(0, 512-1, 0, 256-1);
|
||||
screen.set_screen_update(FUNC(vreadere_state::screen_update));
|
||||
}
|
||||
|
||||
ROM_START( vreadere )
|
||||
ROM_REGION(0x400000, "maincpu", 0)
|
||||
|
@ -66,18 +66,19 @@ uint32_t gl8008cx_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm
|
||||
static INPUT_PORTS_START( gl8008cx )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(gl8008cx_state::gl8008cx)
|
||||
void gl8008cx_state::gl8008cx(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
// MCFG_DEVICE_ADD("maincpu", unknown, unknown) // CPU type is unknown, epoxy blob
|
||||
// UNKNOWN(config, "maincpu", unknown); // CPU type is unknown, epoxy blob
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER( gl8008cx_state, screen_update )
|
||||
MACHINE_CONFIG_END
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(512, 256);
|
||||
screen.set_visarea(0, 512-1, 0, 256-1);
|
||||
screen.set_screen_update(FUNC(gl8008cx_state::screen_update));
|
||||
}
|
||||
|
||||
ROM_START( gl8008cx )
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
|
@ -27,18 +27,19 @@ uint32_t glmmc_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
|
||||
static INPUT_PORTS_START( glmmc )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(glmmc_state::glmmc)
|
||||
void glmmc_state::glmmc(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
// MCFG_DEVICE_ADD("maincpu", unknown, unknown) // CPU type is unknown, epoxy blob
|
||||
// UNKNOWN(config, "maincpu", unknown); // CPU type is unknown, epoxy blob
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(50)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_SIZE(512, 256)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER( glmmc_state, screen_update )
|
||||
MACHINE_CONFIG_END
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(50);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
|
||||
screen.set_size(512, 256);
|
||||
screen.set_visarea(0, 512-1, 0, 256-1);
|
||||
screen.set_screen_update(FUNC(glmmc_state::screen_update));
|
||||
}
|
||||
|
||||
ROM_START( glmmc )
|
||||
ROM_REGION(0x200000, "maincpu", 0)
|
||||
|
@ -216,25 +216,25 @@ GFXDECODE_END
|
||||
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(vulgus_state::vulgus)
|
||||
|
||||
void vulgus_state::vulgus(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/4) /* 3 MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(main_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", vulgus_state, vblank_irq)
|
||||
Z80(config, m_maincpu, XTAL(12'000'000)/4); /* 3 MHz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &vulgus_state::main_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(vulgus_state::vblank_irq));
|
||||
|
||||
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(12'000'000)/4) /* 3 MHz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(sound_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DRIVER(vulgus_state, irq0_line_hold, 8*60)
|
||||
Z80(config, m_audiocpu, XTAL(12'000'000)/4); /* 3 MHz */
|
||||
m_audiocpu->set_addrmap(AS_PROGRAM, &vulgus_state::sound_map);
|
||||
m_audiocpu->set_periodic_int(FUNC(vulgus_state::irq0_line_hold), attotime::from_hz(8*60));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(59.59)
|
||||
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(vulgus_state, screen_update)
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(59.59);
|
||||
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(vulgus_state::screen_update));
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_vulgus);
|
||||
|
||||
@ -248,7 +248,7 @@ MACHINE_CONFIG_START(vulgus_state::vulgus)
|
||||
AY8910(config, "ay1", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.5 MHz */
|
||||
|
||||
AY8910(config, "ay2", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.5 MHz */
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -15,14 +15,14 @@ class unico_state : public driver_device
|
||||
public:
|
||||
unico_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_palette(*this, "palette"),
|
||||
m_gfxdecode(*this, "gfxdecode"),
|
||||
m_oki(*this, "oki"),
|
||||
m_leds(*this, "led%u", 0U),
|
||||
m_vram(*this, "vram", 0),
|
||||
m_scroll(*this, "scroll", 0),
|
||||
m_spriteram(*this, "spriteram", 0),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_oki(*this, "oki")
|
||||
m_spriteram(*this, "spriteram", 0)
|
||||
{ }
|
||||
|
||||
void burglarx(machine_config &config);
|
||||
@ -45,8 +45,10 @@ protected:
|
||||
|
||||
void burglarx_map(address_map &map);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<palette_device> m_palette;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
optional_device<okim6295_device> m_oki;
|
||||
output_finder<2> m_leds;
|
||||
|
||||
private:
|
||||
@ -56,9 +58,6 @@ private:
|
||||
int m_sprites_scrolldx;
|
||||
int m_sprites_scrolldy;
|
||||
required_shared_ptr<uint16_t> m_spriteram;
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<okim6295_device> m_oki;
|
||||
};
|
||||
|
||||
class zeropnt_state : public unico_state
|
||||
@ -84,13 +83,14 @@ protected:
|
||||
|
||||
required_memory_bank m_okibank;
|
||||
|
||||
required_device<screen_device> m_screen;
|
||||
|
||||
void zeropnt_map(address_map &map);
|
||||
void zeropnt_oki_map(address_map &map);
|
||||
|
||||
private:
|
||||
enum { Y0, X0, Y1, X1 }; // gun axis indices
|
||||
|
||||
required_device<screen_device> m_screen;
|
||||
required_ioport_array<4> m_gun_axes;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user