mame\drivers: removed most MCFG and MACHINE_CONFIG macros from drivers starting with f and g (nw)

This commit is contained in:
Ivan Vangelista 2019-03-07 17:52:30 +01:00
parent 023d907486
commit b090ac4af1
87 changed files with 1706 additions and 1732 deletions

View File

@ -168,26 +168,26 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(mosaicf2_state::mosaicf2) void mosaicf2_state::mosaicf2(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", E132XN, XTAL(20'000'000)*4) /* 4x internal multiplier */ E132XN(config, m_maincpu, XTAL(20'000'000)*4); /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(common_map) m_maincpu->set_addrmap(AS_PROGRAM, &mosaicf2_state::common_map);
MCFG_DEVICE_IO_MAP(mosaicf2_io) m_maincpu->set_addrmap(AS_IO, &mosaicf2_state::mosaicf2_io);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", mosaicf2_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(mosaicf2_state::irq0_line_hold));
EEPROM_93C46_16BIT(config, "eeprom") EEPROM_93C46_16BIT(config, "eeprom")
.erase_time(attotime::from_usec(1)) .erase_time(attotime::from_usec(1))
.write_time(attotime::from_usec(1)); .write_time(attotime::from_usec(1));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(512, 512) screen.set_size(512, 512);
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223) screen.set_visarea(0, 319, 0, 223);
MCFG_SCREEN_UPDATE_DRIVER(mosaicf2_state, screen_update_mosaicf2) screen.set_screen_update(FUNC(mosaicf2_state::screen_update_mosaicf2));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
PALETTE(config, "palette", palette_device::RGB_555); PALETTE(config, "palette", palette_device::RGB_555);
@ -199,10 +199,10 @@ MACHINE_CONFIG_START(mosaicf2_state::mosaicf2)
ymsnd.add_route(0, "lspeaker", 1.0); ymsnd.add_route(0, "lspeaker", 1.0);
ymsnd.add_route(1, "rspeaker", 1.0); ymsnd.add_route(1, "rspeaker", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */ okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH)); /* 1.7897725 MHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
MACHINE_CONFIG_END }
@ -247,26 +247,26 @@ void mosaicf2_state::royalpk2_io(address_map &map)
map(0x6a00, 0x6a03).portw("EEPROMOUT"); map(0x6a00, 0x6a03).portw("EEPROMOUT");
} }
MACHINE_CONFIG_START(mosaicf2_state::royalpk2) void mosaicf2_state::royalpk2(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", GMS30C2132, XTAL(50'000'000)) GMS30C2132(config, m_maincpu, XTAL(50'000'000));
MCFG_DEVICE_PROGRAM_MAP(royalpk2_map) m_maincpu->set_addrmap(AS_PROGRAM, &mosaicf2_state::royalpk2_map);
MCFG_DEVICE_IO_MAP(royalpk2_io) m_maincpu->set_addrmap(AS_IO, &mosaicf2_state::royalpk2_io);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", mosaicf2_state, irq1_line_hold) m_maincpu->set_vblank_int("screen", FUNC(mosaicf2_state::irq1_line_hold));
EEPROM_93C46_16BIT(config, "eeprom") EEPROM_93C46_16BIT(config, "eeprom")
.erase_time(attotime::from_usec(1)) .erase_time(attotime::from_usec(1))
.write_time(attotime::from_usec(1)); .write_time(attotime::from_usec(1));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(512, 512) screen.set_size(512, 512);
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223) screen.set_visarea(0, 319, 0, 223);
MCFG_SCREEN_UPDATE_DRIVER(mosaicf2_state, screen_update_mosaicf2) screen.set_screen_update(FUNC(mosaicf2_state::screen_update_mosaicf2));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
PALETTE(config, "palette", palette_device::RGB_555); PALETTE(config, "palette", palette_device::RGB_555);
@ -278,12 +278,12 @@ MACHINE_CONFIG_START(mosaicf2_state::royalpk2)
// ymsnd.add_route(0, "lspeaker", 1.0); // ymsnd.add_route(0, "lspeaker", 1.0);
// ymsnd.add_route(1, "rspeaker", 1.0); // ymsnd.add_route(1, "rspeaker", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */ okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH)); /* 1.7897725 MHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
// there is a 16c550 for communication // there is a 16c550 for communication
MACHINE_CONFIG_END }
/* /*

View File

@ -808,29 +808,29 @@ INTERRUPT_GEN_MEMBER(fantland_state::fantland_sound_irq)
device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x80 / 4); device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x80 / 4);
} }
MACHINE_CONFIG_START(fantland_state::fantland) void fantland_state::fantland(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8086, 8000000) // ? I8086(config, m_maincpu, 8000000); // ?
MCFG_DEVICE_PROGRAM_MAP(fantland_map) m_maincpu->set_addrmap(AS_PROGRAM, &fantland_state::fantland_map);
MCFG_DEVICE_ADD("audiocpu", I8088, 8000000) // ? I8088(config, m_audiocpu, 8000000); // ?
MCFG_DEVICE_PROGRAM_MAP(fantland_sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &fantland_state::fantland_sound_map);
MCFG_DEVICE_IO_MAP(fantland_sound_iomap) m_audiocpu->set_addrmap(AS_IO, &fantland_state::fantland_sound_iomap);
MCFG_DEVICE_PERIODIC_INT_DRIVER(fantland_state, fantland_sound_irq, 8000) m_audiocpu->set_periodic_int(FUNC(fantland_state::fantland_sound_irq), attotime::from_hz(8000));
// NMI when soundlatch is written // NMI when soundlatch is written
config.m_minimum_quantum = attotime::from_hz(8000); // sound irq must feed the DAC at 8kHz config.m_minimum_quantum = attotime::from_hz(8000); // sound irq must feed the DAC at 8kHz
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(352,256) m_screen->set_size(352,256);
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1) m_screen->set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update) m_screen->set_screen_update(FUNC(fantland_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq)) m_screen->screen_vblank().set(FUNC(fantland_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fantland); GFXDECODE(config, m_gfxdecode, m_palette, gfx_fantland);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 256); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 256);
@ -846,7 +846,7 @@ MACHINE_CONFIG_START(fantland_state::fantland)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END }
WRITE_LINE_MEMBER(fantland_state::galaxygn_sound_irq) WRITE_LINE_MEMBER(fantland_state::galaxygn_sound_irq)
@ -854,26 +854,26 @@ WRITE_LINE_MEMBER(fantland_state::galaxygn_sound_irq)
m_audiocpu->set_input_line_and_vector(0, state ? ASSERT_LINE : CLEAR_LINE, 0x80/4); m_audiocpu->set_input_line_and_vector(0, state ? ASSERT_LINE : CLEAR_LINE, 0x80/4);
} }
MACHINE_CONFIG_START(fantland_state::galaxygn) void fantland_state::galaxygn(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8088, XTAL(16'000'000) / 2) // AMD P8088-2 I8088(config, m_maincpu, XTAL(16'000'000) / 2); // AMD P8088-2
MCFG_DEVICE_PROGRAM_MAP(galaxygn_map) m_maincpu->set_addrmap(AS_PROGRAM, &fantland_state::galaxygn_map);
MCFG_DEVICE_ADD("audiocpu", V20, XTAL(7'995'500)) // NEC D70108C-8 V20(config, m_audiocpu, XTAL(7'995'500)); // NEC D70108C-8
MCFG_DEVICE_PROGRAM_MAP(fantland_sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &fantland_state::fantland_sound_map);
MCFG_DEVICE_IO_MAP(galaxygn_sound_iomap) m_audiocpu->set_addrmap(AS_IO, &fantland_state::galaxygn_sound_iomap);
// IRQ by YM2151, NMI when soundlatch is written // IRQ by YM2151, NMI when soundlatch is written
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(352,256) m_screen->set_size(352,256);
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1) m_screen->set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update) m_screen->set_screen_update(FUNC(fantland_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq)) m_screen->screen_vblank().set(FUNC(fantland_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fantland); GFXDECODE(config, m_gfxdecode, m_palette, gfx_fantland);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 256); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 256);
@ -887,7 +887,7 @@ MACHINE_CONFIG_START(fantland_state::galaxygn)
ymsnd.irq_handler().set(FUNC(fantland_state::galaxygn_sound_irq)); ymsnd.irq_handler().set(FUNC(fantland_state::galaxygn_sound_irq));
ymsnd.add_route(0, "speaker", 1.0); ymsnd.add_route(0, "speaker", 1.0);
ymsnd.add_route(1, "speaker", 1.0); ymsnd.add_route(1, "speaker", 1.0);
MACHINE_CONFIG_END }
void borntofi_state::machine_start() void borntofi_state::machine_start()

View File

@ -370,23 +370,24 @@ void fanucs15_state::machine_reset()
{ {
} }
MACHINE_CONFIG_START(fanucs15_state::fanucs15) void fanucs15_state::fanucs15(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68020, XTAL(12'000'000)) M68020(config, m_maincpu, XTAL(12'000'000));
MCFG_DEVICE_PROGRAM_MAP(maincpu_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fanucs15_state::maincpu_mem);
MCFG_DEVICE_DISABLE() m_maincpu->set_disable();
MCFG_DEVICE_ADD("pmccpu", M68000, XTAL(12'000'000)) M68000(config, m_pmccpu, XTAL(12'000'000));
MCFG_DEVICE_PROGRAM_MAP(pmccpu_mem) m_pmccpu->set_addrmap(AS_PROGRAM, &fanucs15_state::pmccpu_mem);
MCFG_DEVICE_DISABLE() m_pmccpu->set_disable();
MCFG_DEVICE_ADD("gfxcpu", M68000, XTAL(10'000'000)) // wants bit 15 of 70500 to be set M68000(config, m_gfxcpu, XTAL(10'000'000)); // wants bit 15 of 70500 to be set
MCFG_DEVICE_PROGRAM_MAP(gfxcpu_mem) m_gfxcpu->set_addrmap(AS_PROGRAM, &fanucs15_state::gfxcpu_mem);
MCFG_DEVICE_DISABLE() m_gfxcpu->set_disable();
MCFG_DEVICE_ADD("convcpu", I80286, XTAL(8'000'000)) // wants 70500 to return 0x8000 (same as what gfxcpu looks for, basically) I80286(config, m_convcpu, XTAL(8'000'000)); // wants 70500 to return 0x8000 (same as what gfxcpu looks for, basically)
MCFG_DEVICE_PROGRAM_MAP(convcpu_mem) m_convcpu->set_addrmap(AS_PROGRAM, &fanucs15_state::convcpu_mem);
MACHINE_CONFIG_END }
/* ROM definition */ /* ROM definition */
ROM_START( fanucs15 ) ROM_START( fanucs15 )

View File

@ -179,20 +179,21 @@ void fb01_state::fb01_palette(palette_device &palette) const
} }
MACHINE_CONFIG_START(fb01_state::fb01) void fb01_state::fb01(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) Z80(config, m_maincpu, XTAL(12'000'000)/2);
MCFG_DEVICE_PROGRAM_MAP(fb01_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fb01_state::fb01_mem);
MCFG_DEVICE_IO_MAP(fb01_io) m_maincpu->set_addrmap(AS_IO, &fb01_state::fb01_io);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", LCD) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
MCFG_SCREEN_REFRESH_RATE(50) screen.set_refresh_hz(50);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_SIZE(6*16, 9) screen.set_size(6*16, 9);
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update) screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
config.set_default_layout(layout_fb01); config.set_default_layout(layout_fb01);
@ -224,7 +225,7 @@ MACHINE_CONFIG_START(fb01_state::fb01)
ym2164.add_route(1, "rspeaker", 1.00); ym2164.add_route(1, "rspeaker", 1.00);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END }
/* ROM definition */ /* ROM definition */

View File

@ -764,53 +764,53 @@ void cpu30_state::cpu30(machine_config &config)
} }
/* SYS68K/CPU-30X Part No.1 01300: 16.7 MHz 68030 based CPU board with 68882 FPCP, DMAC, 1 Mbyte Dual Ported RAM capacity and VMEPROM. */ /* SYS68K/CPU-30X Part No.1 01300: 16.7 MHz 68030 based CPU board with 68882 FPCP, DMAC, 1 Mbyte Dual Ported RAM capacity and VMEPROM. */
MACHINE_CONFIG_START(cpu30_state::cpu30x) void cpu30_state::cpu30x(machine_config &config)
{
cpu30(config); cpu30(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_clock(XTAL(16'777'216)); /* 16.7 MHz from description, crystal needs verification */
MCFG_DEVICE_CLOCK(XTAL(16'777'216)) /* 16.7 MHz from description, crystal needs verification */
// config.device_remove(""); // config.device_remove("");
// dual ported ram // dual ported ram
m_ram->set_default_size("1M").set_extra_options("1M, 2M, 4M"); m_ram->set_default_size("1M").set_extra_options("1M, 2M, 4M");
MACHINE_CONFIG_END }
/* SYS68K/CPU-30XA Part No.1 01301: 20.0 MHz 68030 based CPU board with 68882 FPCP, DMAC, 1 Mbyte Dual Ported RAM capacity and VMEPROM. Documentation included.*/ /* SYS68K/CPU-30XA Part No.1 01301: 20.0 MHz 68030 based CPU board with 68882 FPCP, DMAC, 1 Mbyte Dual Ported RAM capacity and VMEPROM. Documentation included.*/
MACHINE_CONFIG_START(cpu30_state::cpu30xa) void cpu30_state::cpu30xa(machine_config &config)
{
cpu30x(config); cpu30x(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_clock(XTAL(20'000'000)); /* 20.0 MHz from description, crystal needs verification */
MCFG_DEVICE_CLOCK(XTAL(20'000'000)) /* 20.0 MHz from description, crystal needs verification */ }
MACHINE_CONFIG_END
/* SYS68K/CPU-30ZA Part No.1 01302: 20.0 MHz 68030 based CPU board with 68882 FPCP, DMAC, 4 Mbyte Dual Ported RAM capacity and VMEPROM. Documentation included.*/ /* SYS68K/CPU-30ZA Part No.1 01302: 20.0 MHz 68030 based CPU board with 68882 FPCP, DMAC, 4 Mbyte Dual Ported RAM capacity and VMEPROM. Documentation included.*/
MACHINE_CONFIG_START(cpu30_state::cpu30za) void cpu30_state::cpu30za(machine_config &config)
{
cpu30xa(config); cpu30xa(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_clock(XTAL(20'000'000)); /* 20.0 MHz from description, crystal needs verification */
MCFG_DEVICE_CLOCK(XTAL(20'000'000)) /* 20.0 MHz from description, crystal needs verification */
// dual ported ram // dual ported ram
m_ram->set_default_size("4M").set_extra_options("1M, 2M, 4M"); m_ram->set_default_size("4M").set_extra_options("1M, 2M, 4M");
MACHINE_CONFIG_END }
/* SYS68K/CPU-30ZBE 68030/68882 CPU, 25 MHz, 4 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface */ /* SYS68K/CPU-30ZBE 68030/68882 CPU, 25 MHz, 4 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface */
MACHINE_CONFIG_START(cpu30_state::cpu30zbe) void cpu30_state::cpu30zbe(machine_config &config)
{
cpu30za(config); cpu30za(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_clock(XTAL(25'000'000)); /* 25.0 MHz from description, crystal needs verification */
MCFG_DEVICE_CLOCK(XTAL(25'000'000)) /* 25.0 MHz from description, crystal needs verification */
// dual ported ram // dual ported ram
m_ram->set_default_size("4M").set_extra_options("256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M"); m_ram->set_default_size("4M").set_extra_options("256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M");
MACHINE_CONFIG_END }
/* SYS68K/CPU-33 */ /* SYS68K/CPU-33 */
MACHINE_CONFIG_START(cpu30_state::cpu33) void cpu30_state::cpu33(machine_config &config)
{
cpu30zbe(config); cpu30zbe(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_clock(XTAL(25'000'000)); /* 25.0 MHz from description, crystal needs verification */
MCFG_DEVICE_CLOCK(XTAL(25'000'000)) /* 25.0 MHz from description, crystal needs verification */
// dual ported ram // dual ported ram
m_ram->set_default_size("4M").set_extra_options("256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M"); m_ram->set_default_size("4M").set_extra_options("256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M");
MACHINE_CONFIG_END }
/* SYS68K/CPU-30BE/8 68030/68882 CPU, 25 MHz, 8 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface, VMEPROM firmware*/ /* SYS68K/CPU-30BE/8 68030/68882 CPU, 25 MHz, 8 Mbyte shared DRAM, 4 Mbyte Flash, SCSI, Ethernet, Floppy disk, 4 serial I/O ports, 32-bit VMEbus interface, VMEPROM firmware*/
void cpu30_state::cpu30be8(machine_config &config) void cpu30_state::cpu30be8(machine_config &config)

View File

@ -288,20 +288,20 @@ void fcombat_state::machine_reset()
m_ty = 0; m_ty = 0;
} }
MACHINE_CONFIG_START(fcombat_state::fcombat) void fcombat_state::fcombat(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 10000000/3) Z80(config, m_maincpu, 10000000/3);
MCFG_DEVICE_PROGRAM_MAP(main_map) m_maincpu->set_addrmap(AS_PROGRAM, &fcombat_state::main_map);
MCFG_DEVICE_ADD("audiocpu", Z80, 10000000/3) z80_device &audiocpu(Z80(config, "audiocpu", 10000000/3));
MCFG_DEVICE_PROGRAM_MAP(audio_map) audiocpu.set_addrmap(AS_PROGRAM, &fcombat_state::audio_map);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_RAW_PARAMS(FCOMBAT_PIXEL_CLOCK, FCOMBAT_HTOTAL, FCOMBAT_HBEND, FCOMBAT_HBSTART, FCOMBAT_VTOTAL, FCOMBAT_VBEND, FCOMBAT_VBSTART) screen.set_raw(FCOMBAT_PIXEL_CLOCK, FCOMBAT_HTOTAL, FCOMBAT_HBEND, FCOMBAT_HBSTART, FCOMBAT_VTOTAL, FCOMBAT_VBEND, FCOMBAT_VBSTART);
MCFG_SCREEN_UPDATE_DRIVER(fcombat_state, screen_update_fcombat) screen.set_screen_update(FUNC(fcombat_state::screen_update_fcombat));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fcombat); GFXDECODE(config, m_gfxdecode, m_palette, gfx_fcombat);
PALETTE(config, m_palette, FUNC(fcombat_state::fcombat_palette), 256*3, 32); PALETTE(config, m_palette, FUNC(fcombat_state::fcombat_palette), 256*3, 32);
@ -316,7 +316,7 @@ MACHINE_CONFIG_START(fcombat_state::fcombat)
YM2149(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "mono", 0.12); YM2149(config, "ay2", 1500000).add_route(ALL_OUTPUTS, "mono", 0.12);
YM2149(config, "ay3", 1500000).add_route(ALL_OUTPUTS, "mono", 0.12); YM2149(config, "ay3", 1500000).add_route(ALL_OUTPUTS, "mono", 0.12);
MACHINE_CONFIG_END }
/************************************* /*************************************
* *

View File

@ -2294,42 +2294,40 @@ MACHINE_START_MEMBER(cps_state, dinopic)
m_sprite_x_offset = 0; m_sprite_x_offset = 0;
} }
MACHINE_CONFIG_START(cps_state::dinopic) void cps_state::dinopic(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(dinopic_map) m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::dinopic_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000) //PIC16C57(config, m_audiocpu, 12000000).set_disable(); /* no valid dumps .. */
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
MCFG_MACHINE_START_OVERRIDE(cps_state, dinopic) MCFG_MACHINE_START_OVERRIDE(cps_state, dinopic)
EEPROM_93C46_8BIT(config, "eeprom"); EEPROM_93C46_8BIT(config, "eeprom");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) m_screen->set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00) PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) }
MACHINE_CONFIG_END
/* /*
@ -2485,29 +2483,30 @@ void cps_state::init_mtwinsb()
// sound cpu is (239 V 249521 VC5006 KABUKI DL-030P-110V) - recycled Kabuki Z80 from genuine Capcom HW? // sound cpu is (239 V 249521 VC5006 KABUKI DL-030P-110V) - recycled Kabuki Z80 from genuine Capcom HW?
// 3x8 dsws // 3x8 dsws
MACHINE_CONFIG_START(cps_state::sgyxz) void cps_state::sgyxz(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(sgyxz_map) m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) Z80(config, m_audiocpu, 3579545);
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_sound_map);
MCFG_MACHINE_START_OVERRIDE(cps_state,sgyxz) MCFG_MACHINE_START_OVERRIDE(cps_state,sgyxz)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) m_screen->set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00) PALETTE(config, m_palette).set_entries(0xc00);
EEPROM_93C46_8BIT(config, "eeprom"); EEPROM_93C46_8BIT(config, "eeprom");
@ -2523,9 +2522,8 @@ MACHINE_CONFIG_START(cps_state::sgyxz)
ym2151.add_route(1, "mono", 0.35); ym2151.add_route(1, "mono", 0.35);
/* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */ /* CPS PPU is fed by a 16mhz clock,pin 117 outputs a 4mhz clock which is divided by 4 using 2 74ls74 */
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) // pin 7 can be changed by the game code, see f006 on z80 OKIM6295(config, m_oki, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30); // pin 7 can be changed by the game code, see f006 on z80
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) }
MACHINE_CONFIG_END
ROM_START( sgyxz ) ROM_START( sgyxz )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */
@ -2560,12 +2558,12 @@ ROM_START( sgyxz )
ROM_LOAD( "sgyxz_snd1.bin", 0x00000, 0x40000, CRC(c15ac0f2) SHA1(8d9e5519d9820e4ac4f70555088c80e64d052c9d) ) ROM_LOAD( "sgyxz_snd1.bin", 0x00000, 0x40000, CRC(c15ac0f2) SHA1(8d9e5519d9820e4ac4f70555088c80e64d052c9d) )
ROM_END ROM_END
MACHINE_CONFIG_START(cps_state::wofabl) void cps_state::wofabl(machine_config &config)
{
sgyxz(config); sgyxz(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::wofabl_map);
MCFG_DEVICE_PROGRAM_MAP(wofabl_map) }
MACHINE_CONFIG_END
ROM_START( wofabl ) ROM_START( wofabl )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */
@ -2608,42 +2606,40 @@ MACHINE_START_MEMBER(cps_state, punipic)
m_sprite_x_offset = 0; m_sprite_x_offset = 0;
} }
MACHINE_CONFIG_START(cps_state::punipic) void cps_state::punipic(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(punipic_map) m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::punipic_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000) //PIC16C57(config, m_audiocpu, 12000000).set_disable(); /* no valid dumps .. */
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
MCFG_MACHINE_START_OVERRIDE(cps_state, punipic) MCFG_MACHINE_START_OVERRIDE(cps_state, punipic)
EEPROM_93C46_8BIT(config, "eeprom"); EEPROM_93C46_8BIT(config, "eeprom");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) m_screen->set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00) PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) }
MACHINE_CONFIG_END
/* bootleg with pic, like dinopic / dinopic2 */ /* bootleg with pic, like dinopic / dinopic2 */
ROM_START( punipic ) ROM_START( punipic )
@ -2802,28 +2798,28 @@ void cps_state::init_punipic3()
// ************************************************************************* SF2M1 // ************************************************************************* SF2M1
MACHINE_CONFIG_START(cps_state::sf2m1) void cps_state::sf2m1(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000) ) M68000(config, m_maincpu, XTAL(12'000'000));
MCFG_DEVICE_PROGRAM_MAP(sf2m1_map) m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::sf2m1_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545)) Z80(config, m_audiocpu, XTAL(3'579'545));
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_sound_map);
MCFG_MACHINE_START_OVERRIDE(cps_state,sf2m1) MCFG_MACHINE_START_OVERRIDE(cps_state,sf2m1)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART) m_screen->set_raw(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART);
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00) PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -2833,9 +2829,8 @@ MACHINE_CONFIG_START(cps_state::sf2m1)
ym2151.irq_handler().set_inputline(m_audiocpu, 0); ym2151.irq_handler().set_inputline(m_audiocpu, 0);
ym2151.add_route(0, "mono", 0.35); ym2151.add_route(0, "mono", 0.35);
ym2151.add_route(1, "mono", 0.35); ym2151.add_route(1, "mono", 0.35);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) }
MACHINE_CONFIG_END
ROM_START( sf2m1 ) ROM_START( sf2m1 )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
@ -3178,40 +3173,38 @@ MACHINE_START_MEMBER(cps_state, slampic)
m_sprite_x_offset = 0; m_sprite_x_offset = 0;
} }
MACHINE_CONFIG_START(cps_state::slampic) void cps_state::slampic(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(slampic_map) m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::slampic_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000) //PIC16C57(config, m_audiocpu, 12000000).set_disable(); /* no valid dumps .. */
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
MCFG_MACHINE_START_OVERRIDE(cps_state, slampic) MCFG_MACHINE_START_OVERRIDE(cps_state, slampic)
EEPROM_93C46_8BIT(config, "eeprom"); EEPROM_93C46_8BIT(config, "eeprom");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) m_screen->set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash) m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00) PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) }
MACHINE_CONFIG_END
ROM_START( slampic ) ROM_START( slampic )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
@ -3279,31 +3272,31 @@ void cps_state::varthb_map(address_map &map)
map(0xff0000, 0xffffff).ram().share("mainram"); map(0xff0000, 0xffffff).ram().share("mainram");
} }
MACHINE_CONFIG_START(cps_state::varthb) void cps_state::varthb(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(varthb_map) m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::varthb_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545) Z80(config, m_audiocpu, 3579545);
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_sound_map);
MCFG_MACHINE_START_OVERRIDE(cps_state,cps1) MCFG_MACHINE_START_OVERRIDE(cps_state,cps1)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) m_screen->set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 ) m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1) m_screen->set_screen_update(FUNC(cps_state::screen_update_cps1));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1)) m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00) PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -3316,9 +3309,8 @@ MACHINE_CONFIG_START(cps_state::varthb)
ym2151.add_route(0, "mono", 0.35); ym2151.add_route(0, "mono", 0.35);
ym2151.add_route(1, "mono", 0.35); ym2151.add_route(1, "mono", 0.35);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30) }
MACHINE_CONFIG_END
ROM_START( varthb ) ROM_START( varthb )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */

View File

@ -286,29 +286,28 @@ void feversoc_state::machine_start()
m_lamps.resolve(); m_lamps.resolve();
} }
MACHINE_CONFIG_START(feversoc_state::feversoc) void feversoc_state::feversoc(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",SH2,MASTER_CLOCK) SH2(config, m_maincpu, MASTER_CLOCK);
MCFG_DEVICE_PROGRAM_MAP(feversoc_map) m_maincpu->set_addrmap(AS_PROGRAM, &feversoc_state::feversoc_map);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(40*8, 32*8) screen.set_size(40*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1) //dynamic resolution? screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1); //dynamic resolution?
MCFG_SCREEN_UPDATE_DRIVER(feversoc_state, screen_update_feversoc) screen.set_screen_update(FUNC(feversoc_state::screen_update_feversoc));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, feversoc_state, feversoc_irq)) screen.screen_vblank().set(FUNC(feversoc_state::feversoc_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_feversoc); GFXDECODE(config, m_gfxdecode, m_palette, gfx_feversoc);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x1000); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x1000);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, MASTER_CLOCK/16, okim6295_device::PIN7_LOW) //pin 7 & frequency not verified (clock should be 28,6363 / n) OKIM6295(config, m_oki, MASTER_CLOCK/16, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.6); //pin 7 & frequency not verified (clock should be 28,6363 / n)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.6)
EEPROM_93C56_16BIT(config, "eeprom"); EEPROM_93C56_16BIT(config, "eeprom");
@ -317,7 +316,7 @@ MACHINE_CONFIG_START(feversoc_state::feversoc)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
TICKET_DISPENSER(config, m_hopper, attotime::from_msec(60), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH); TICKET_DISPENSER(config, m_hopper, attotime::from_msec(60), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH);
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************

View File

@ -359,28 +359,28 @@ void fgoal_state::machine_reset()
m_prev_coin = 0; m_prev_coin = 0;
} }
MACHINE_CONFIG_START(fgoal_state::fgoal) void fgoal_state::fgoal(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6800, 10065000 / 10) /* ? */ M6800(config, m_maincpu, 10065000 / 10); /* ? */
MCFG_DEVICE_PROGRAM_MAP(cpu_map) m_maincpu->set_addrmap(AS_PROGRAM, &fgoal_state::cpu_map);
/* add shifter */ /* add shifter */
MB14241(config, "mb14241"); MB14241(config, "mb14241");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_SIZE(256, 263) m_screen->set_size(256, 263);
MCFG_SCREEN_VISIBLE_AREA(0, 255, 16, 255) m_screen->set_visarea(0, 255, 16, 255);
MCFG_SCREEN_UPDATE_DRIVER(fgoal_state, screen_update) m_screen->set_screen_update(FUNC(fgoal_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette); m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fgoal); GFXDECODE(config, m_gfxdecode, m_palette, gfx_fgoal);
PALETTE(config, m_palette, FUNC(fgoal_state::fgoal_palette), 128 + 16 + 1); PALETTE(config, m_palette, FUNC(fgoal_state::fgoal_palette), 128 + 16 + 1);
/* sound hardware */ /* sound hardware */
MACHINE_CONFIG_END }
ROM_START( fgoal ) ROM_START( fgoal )

View File

@ -262,11 +262,11 @@ void finalizr_state::machine_reset()
m_irq_enable = 0; m_irq_enable = 0;
} }
MACHINE_CONFIG_START(finalizr_state::finalizr) void finalizr_state::finalizr(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", KONAMI1, XTAL(18'432'000)/6) /* ??? */ KONAMI1(config, m_maincpu, XTAL(18'432'000)/6); /* ??? */
MCFG_DEVICE_PROGRAM_MAP(main_map) m_maincpu->set_addrmap(AS_PROGRAM, &finalizr_state::main_map);
TIMER(config, "scantimer").configure_scanline(FUNC(finalizr_state::finalizr_scanline), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(finalizr_state::finalizr_scanline), "screen", 0, 1);
I8039(config, m_audiocpu, XTAL(18'432'000)/2); /* 9.216MHz clkin ?? */ I8039(config, m_audiocpu, XTAL(18'432'000)/2); /* 9.216MHz clkin ?? */
@ -279,13 +279,13 @@ MACHINE_CONFIG_START(finalizr_state::finalizr)
WATCHDOG_TIMER(config, "watchdog"); WATCHDOG_TIMER(config, "watchdog");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(36*8, 32*8) screen.set_size(36*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(1*8, 35*8-1, 2*8, 30*8-1) screen.set_visarea(1*8, 35*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(finalizr_state, screen_update_finalizr) screen.set_screen_update(FUNC(finalizr_state::screen_update_finalizr));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_finalizr); GFXDECODE(config, m_gfxdecode, m_palette, gfx_finalizr);
PALETTE(config, m_palette, FUNC(finalizr_state::finalizr_palette), 2*16*16, 32); PALETTE(config, m_palette, FUNC(finalizr_state::finalizr_palette), 2*16*16, 32);
@ -295,14 +295,13 @@ MACHINE_CONFIG_START(finalizr_state::finalizr)
GENERIC_LATCH_8(config, "soundlatch"); GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("snsnd", SN76489A, XTAL(18'432'000)/12) SN76489A(config, "snsnd", XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "speaker", 0.75);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75)
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.325); // unknown DAC DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.325); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END }

View File

@ -492,7 +492,8 @@ TIMER_DEVICE_CALLBACK_MEMBER( fireball_state::int_0 )
*************************/ *************************/
MACHINE_CONFIG_START(fireball_state::fireball) void fireball_state::fireball(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
I8031(config, m_maincpu, CPU_CLK); // I8031(config, m_maincpu, CPU_CLK); //
m_maincpu->set_addrmap(AS_PROGRAM, &fireball_state::fireball_map); m_maincpu->set_addrmap(AS_PROGRAM, &fireball_state::fireball_map);
@ -513,7 +514,7 @@ MACHINE_CONFIG_START(fireball_state::fireball)
/* Video */ /* Video */
config.set_default_layout(layout_fireball); config.set_default_layout(layout_fireball);
MACHINE_CONFIG_END }
/************************* /*************************

View File

@ -854,21 +854,21 @@ static GFXDECODE_START( gfx_montecar )
GFXDECODE_END GFXDECODE_END
MACHINE_CONFIG_START(firetrk_state::firetrk) void firetrk_state::firetrk(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6800, MASTER_CLOCK/12) /* 750Khz during service mode */ M6800(config, m_maincpu, MASTER_CLOCK/12); /* 750Khz during service mode */
MCFG_DEVICE_PROGRAM_MAP(firetrk_map) m_maincpu->set_addrmap(AS_PROGRAM, &firetrk_state::firetrk_map);
TIMER(config, "scantimer").configure_scanline(FUNC(firetrk_state::firetrk_scanline), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(firetrk_state::firetrk_scanline), "screen", 0, 1);
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count("screen", 5); WATCHDOG_TIMER(config, m_watchdog).set_vblank_count("screen", 5);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/2, 384, 0, 320, 262, 0, 240) m_screen->set_raw(MASTER_CLOCK/2, 384, 0, 320, 262, 0, 240);
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_firetrk) m_screen->set_screen_update(FUNC(firetrk_state::screen_update_firetrk));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
PALETTE(config, m_palette, FUNC(firetrk_state::firetrk_palette), 28); PALETTE(config, m_palette, FUNC(firetrk_state::firetrk_palette), 28);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_firetrk); GFXDECODE(config, m_gfxdecode, m_palette, gfx_firetrk);
@ -876,41 +876,37 @@ MACHINE_CONFIG_START(firetrk_state::firetrk)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("discrete", DISCRETE, firetrk_discrete) DISCRETE(config, m_discrete, firetrk_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(firetrk_state::superbug) void firetrk_state::superbug(machine_config &config)
{
firetrk(config); firetrk(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &firetrk_state::superbug_map);
MCFG_DEVICE_PROGRAM_MAP(superbug_map)
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") m_screen->set_screen_update(FUNC(firetrk_state::screen_update_superbug));
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_superbug)
MCFG_VIDEO_START_OVERRIDE(firetrk_state,superbug) MCFG_VIDEO_START_OVERRIDE(firetrk_state,superbug)
m_gfxdecode->set_info(gfx_superbug); m_gfxdecode->set_info(gfx_superbug);
/* sound hardware */ /* sound hardware */
MCFG_DEVICE_REPLACE("discrete", DISCRETE, superbug_discrete) DISCRETE(config.replace(), m_discrete, superbug_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(firetrk_state::montecar) void firetrk_state::montecar(machine_config &config)
{
firetrk(config); firetrk(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &firetrk_state::montecar_map);
MCFG_DEVICE_PROGRAM_MAP(montecar_map)
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") m_screen->set_screen_update(FUNC(firetrk_state::screen_update_montecar));
MCFG_SCREEN_UPDATE_DRIVER(firetrk_state, screen_update_montecar)
MCFG_VIDEO_START_OVERRIDE(firetrk_state,montecar) MCFG_VIDEO_START_OVERRIDE(firetrk_state,montecar)
m_gfxdecode->set_info(gfx_montecar); m_gfxdecode->set_info(gfx_montecar);
@ -919,9 +915,8 @@ MACHINE_CONFIG_START(firetrk_state::montecar)
m_palette->set_init(FUNC(firetrk_state::montecar_palette)); m_palette->set_init(FUNC(firetrk_state::montecar_palette));
/* sound hardware */ /* sound hardware */
MCFG_DEVICE_REPLACE("discrete", DISCRETE, montecar_discrete) DISCRETE(config.replace(), m_discrete, montecar_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
ROM_START( firetrk ) ROM_START( firetrk )

View File

@ -720,11 +720,11 @@ void fitfight_state::machine_reset()
m_fof_700000_data = 0; m_fof_700000_data = 0;
} }
MACHINE_CONFIG_START(fitfight_state::fitfight) void fitfight_state::fitfight(machine_config &config)
{
MCFG_DEVICE_ADD("maincpu",M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(fitfight_main_map) m_maincpu->set_addrmap(AS_PROGRAM, &fitfight_state::fitfight_main_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fitfight_state, irq2_line_hold) m_maincpu->set_vblank_int("screen", FUNC(fitfight_state::irq2_line_hold));
upd7810_device &audiocpu(UPD7810(config, m_audiocpu, 12000000)); upd7810_device &audiocpu(UPD7810(config, m_audiocpu, 12000000));
audiocpu.set_addrmap(AS_PROGRAM, &fitfight_state::snd_mem); audiocpu.set_addrmap(AS_PROGRAM, &fitfight_state::snd_mem);
@ -750,33 +750,31 @@ MACHINE_CONFIG_START(fitfight_state::fitfight)
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1333333, okim6295_device::PIN7_LOW) // ~8080Hz ??? TODO: find out the real frequency OKIM6295(config, "oki", 1333333, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 1.0); // ~8080Hz ??? TODO: find out the real frequency
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(fitfight_state::bbprot) void fitfight_state::bbprot(machine_config &config)
{
MCFG_DEVICE_ADD("maincpu",M68000, 12000000) M68000(config, m_maincpu, 12000000);
MCFG_DEVICE_PROGRAM_MAP(bbprot_main_map) m_maincpu->set_addrmap(AS_PROGRAM, &fitfight_state::bbprot_main_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fitfight_state, irq2_line_hold) m_maincpu->set_vblank_int("screen", FUNC(fitfight_state::irq2_line_hold));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_prot); GFXDECODE(config, m_gfxdecode, m_palette, gfx_prot);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(40*8, 32*8) screen.set_size(40*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(2*8, 39*8-1, 2*8, 30*8-1) screen.set_visarea(2*8, 39*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(fitfight_state, screen_update_fitfight) screen.set_screen_update(FUNC(fitfight_state::screen_update_fitfight));
MCFG_SCREEN_PALETTE("palette") screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x2000); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x2000);
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1333333, okim6295_device::PIN7_LOW) // ~8080Hz ??? TODO: find out the real frequency OKIM6295(config, "oki", 1333333, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 1.0); // ~8080Hz ??? TODO: find out the real frequency
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
/*** /***

View File

@ -412,12 +412,13 @@ uint32_t fk1_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c
return 0; return 0;
} }
MACHINE_CONFIG_START(fk1_state::fk1) void fk1_state::fk1(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(8'000'000) / 2) Z80(config, m_maincpu, XTAL(8'000'000) / 2);
MCFG_DEVICE_PROGRAM_MAP(fk1_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fk1_state::fk1_mem);
MCFG_DEVICE_IO_MAP(fk1_io) m_maincpu->set_addrmap(AS_IO, &fk1_state::fk1_io);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fk1_state,fk1_irq_callback) m_maincpu->set_irq_acknowledge_callback(FUNC(fk1_state::fk1_irq_callback));
/* video hardware */ /* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green())); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER, rgb_t::green()));
@ -468,7 +469,7 @@ MACHINE_CONFIG_START(fk1_state::fk1)
TIMER(config, "keyboard_timer").configure_periodic(FUNC(fk1_state::keyboard_callback), attotime::from_hz(24000)); TIMER(config, "keyboard_timer").configure_periodic(FUNC(fk1_state::keyboard_callback), attotime::from_hz(24000));
TIMER(config, "vsync_timer").configure_periodic(FUNC(fk1_state::vsync_callback), attotime::from_hz(50)); TIMER(config, "vsync_timer").configure_periodic(FUNC(fk1_state::vsync_callback), attotime::from_hz(50));
MACHINE_CONFIG_END }
/* ROM definition */ /* ROM definition */
ROM_START( fk1 ) ROM_START( fk1 )

View File

@ -419,8 +419,8 @@ void flipjack_state::machine_start()
} }
MACHINE_CONFIG_START(flipjack_state::flipjack) void flipjack_state::flipjack(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
Z80(config, m_maincpu, MASTER_CLOCK/4); Z80(config, m_maincpu, MASTER_CLOCK/4);
m_maincpu->set_addrmap(AS_PROGRAM, &flipjack_state::main_map); m_maincpu->set_addrmap(AS_PROGRAM, &flipjack_state::main_map);
@ -462,7 +462,7 @@ MACHINE_CONFIG_START(flipjack_state::flipjack)
ay1.add_route(ALL_OUTPUTS, "mono", 0.50); ay1.add_route(ALL_OUTPUTS, "mono", 0.50);
AY8910(config, "ay2", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 0.50); AY8910(config, "ay2", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END }
ROM_START( flipjack ) ROM_START( flipjack )

View File

@ -494,25 +494,26 @@ INTERRUPT_GEN_MEMBER(flower_state::slave_vblank_irq)
} }
MACHINE_CONFIG_START(flower_state::flower) void flower_state::flower(machine_config &config)
MCFG_DEVICE_ADD("mastercpu",Z80,MASTER_CLOCK/4) {
MCFG_DEVICE_PROGRAM_MAP(shared_map) Z80(config, m_mastercpu, MASTER_CLOCK/4);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", flower_state, master_vblank_irq) m_mastercpu->set_addrmap(AS_PROGRAM, &flower_state::shared_map);
m_mastercpu->set_vblank_int("screen", FUNC(flower_state::master_vblank_irq));
MCFG_DEVICE_ADD("slavecpu",Z80,MASTER_CLOCK/4) Z80(config, m_slavecpu, MASTER_CLOCK/4);
MCFG_DEVICE_PROGRAM_MAP(shared_map) m_slavecpu->set_addrmap(AS_PROGRAM, &flower_state::shared_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", flower_state, slave_vblank_irq) m_slavecpu->set_vblank_int("screen", FUNC(flower_state::slave_vblank_irq));
MCFG_DEVICE_ADD("audiocpu",Z80,MASTER_CLOCK/4) Z80(config, m_audiocpu, MASTER_CLOCK/4);
MCFG_DEVICE_PROGRAM_MAP(audio_map) m_audiocpu->set_addrmap(AS_PROGRAM, &flower_state::audio_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 90) m_audiocpu->set_periodic_int(FUNC(flower_state::irq0_line_hold), attotime::from_hz(90));
config.m_perfect_cpu_quantum = subtag("mastercpu"); config.m_perfect_cpu_quantum = subtag("mastercpu");
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_UPDATE_DRIVER(flower_state, screen_update) m_screen->set_screen_update(FUNC(flower_state::screen_update));
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3,384,0,288,264,16,240) // derived from Galaxian HW, 60.606060 m_screen->set_raw(MASTER_CLOCK/3,384,0,288,264,16,240); // derived from Galaxian HW, 60.606060
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_flower); GFXDECODE(config, m_gfxdecode, m_palette, gfx_flower);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256); PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256);
@ -521,9 +522,8 @@ MACHINE_CONFIG_START(flower_state::flower)
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("flower", FLOWER_CUSTOM, 96000) FLOWER_CUSTOM(config, "flower", 96000).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
ROM_START( flower ) /* Komax version */ ROM_START( flower ) /* Komax version */

View File

@ -459,11 +459,11 @@ void flyball_state::machine_reset()
} }
MACHINE_CONFIG_START(flyball_state::flyball) void flyball_state::flyball(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6502, MASTER_CLOCK/16) M6502(config, m_maincpu, MASTER_CLOCK/16);
MCFG_DEVICE_PROGRAM_MAP(flyball_map) m_maincpu->set_addrmap(AS_PROGRAM, &flyball_state::flyball_map);
F9334(config, m_outlatch); // F7 F9334(config, m_outlatch); // F7
m_outlatch->q_out_cb<2>().set_nop(); // bat hit m_outlatch->q_out_cb<2>().set_nop(); // bat hit
@ -474,19 +474,19 @@ MACHINE_CONFIG_START(flyball_state::flyball)
m_outlatch->q_out_cb<7>().set(FUNC(flyball_state::lamp_w)); // 1 player lamp m_outlatch->q_out_cb<7>().set(FUNC(flyball_state::lamp_w)); // 1 player lamp
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_SIZE(256, 262) m_screen->set_size(256, 262);
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239) m_screen->set_visarea(0, 255, 0, 239);
MCFG_SCREEN_UPDATE_DRIVER(flyball_state, screen_update) m_screen->set_screen_update(FUNC(flyball_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_flyball); GFXDECODE(config, m_gfxdecode, m_palette, gfx_flyball);
PALETTE(config, m_palette, FUNC(flyball_state::flyball_palette), 4); PALETTE(config, m_palette, FUNC(flyball_state::flyball_palette), 4);
/* sound hardware */ /* sound hardware */
MACHINE_CONFIG_END }
/************************************* /*************************************

View File

@ -2031,16 +2031,17 @@ static void fm7_floppies(device_slot_interface &device)
} }
MACHINE_CONFIG_START(fm7_state::fm7) void fm7_state::fm7(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, 16.128_MHz_XTAL / 2) MC6809(config, m_maincpu, 16.128_MHz_XTAL / 2);
MCFG_DEVICE_PROGRAM_MAP(fm7_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm7_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu"); config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 16.128_MHz_XTAL / 2) MC6809(config, m_sub, 16.128_MHz_XTAL / 2);
MCFG_DEVICE_PROGRAM_MAP(fm7_sub_mem) m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm7_sub_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack) m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub"); config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -2051,9 +2052,9 @@ MACHINE_CONFIG_START(fm7_state::fm7)
MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7) MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200) // H = 15.75 KHz, V = 60.1145 Hz m_screen->set_raw(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200); // H = 15.75 KHz, V = 60.1145 Hz
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7) m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
PALETTE(config, m_palette, palette_device::BRG_3BIT); PALETTE(config, m_palette, palette_device::BRG_3BIT);
@ -2082,18 +2083,19 @@ MACHINE_CONFIG_START(fm7_state::fm7)
OUTPUT_LATCH(config, m_cent_data_out); OUTPUT_LATCH(config, m_cent_data_out);
m_centronics->set_output_latch(*m_cent_data_out); m_centronics->set_output_latch(*m_cent_data_out);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(fm7_state::fm8) void fm7_state::fm8(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, 4.9152_MHz_XTAL) // 1.2MHz 68A09 MC6809(config, m_maincpu, 4.9152_MHz_XTAL); // 1.2MHz 68A09
MCFG_DEVICE_PROGRAM_MAP(fm8_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm8_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu"); config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 16.128_MHz_XTAL / 2) MC6809(config, m_sub, 16.128_MHz_XTAL / 2);
MCFG_DEVICE_PROGRAM_MAP(fm7_sub_mem) m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm7_sub_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack) m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub"); config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -2103,9 +2105,9 @@ MACHINE_CONFIG_START(fm7_state::fm8)
MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7) MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200) m_screen->set_raw(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200);
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7) m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
PALETTE(config, m_palette, palette_device::BRG_3BIT); PALETTE(config, m_palette, palette_device::BRG_3BIT);
@ -2129,18 +2131,19 @@ MACHINE_CONFIG_START(fm7_state::fm8)
OUTPUT_LATCH(config, m_cent_data_out); OUTPUT_LATCH(config, m_cent_data_out);
m_centronics->set_output_latch(*m_cent_data_out); m_centronics->set_output_latch(*m_cent_data_out);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(fm7_state::fm77av) void fm7_state::fm77av(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809E, 16.128_MHz_XTAL / 8) MC6809E(config, m_maincpu, 16.128_MHz_XTAL / 8);
MCFG_DEVICE_PROGRAM_MAP(fm77av_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm77av_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu"); config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809E, 16.128_MHz_XTAL / 8) MC6809E(config, m_sub, 16.128_MHz_XTAL / 8);
MCFG_DEVICE_PROGRAM_MAP(fm77av_sub_mem) m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm77av_sub_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack) m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub"); config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -2160,12 +2163,12 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
} }
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200) m_screen->set_raw(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200);
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7) m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
PALETTE(config, m_palette, palette_device::BRG_3BIT); PALETTE(config, m_palette, palette_device::BRG_3BIT);
MCFG_PALETTE_ADD("av_palette", 4096) PALETTE(config, m_av_palette).set_entries(4096);
CASSETTE(config, m_cassette); CASSETTE(config, m_cassette);
m_cassette->set_formats(fm7_cassette_formats); m_cassette->set_formats(fm7_cassette_formats);
@ -2192,23 +2195,24 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
OUTPUT_LATCH(config, m_cent_data_out); OUTPUT_LATCH(config, m_cent_data_out);
m_centronics->set_output_latch(*m_cent_data_out); m_centronics->set_output_latch(*m_cent_data_out);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(fm7_state::fm11) void fm7_state::fm11(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809E, 2000000) // 2MHz 68B09E MC6809E(config, m_maincpu, 2000000); // 2MHz 68B09E
MCFG_DEVICE_PROGRAM_MAP(fm11_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm11_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack) m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu"); config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 8000000) // 2MHz 68B09 MC6809(config, m_sub, 8000000); // 2MHz 68B09
MCFG_DEVICE_PROGRAM_MAP(fm11_sub_mem) m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm11_sub_mem);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack) m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub"); config.m_perfect_cpu_quantum = subtag("sub");
MCFG_DEVICE_ADD("x86", I8088, 8000000) // 8MHz i8088 I8088(config, m_x86, 8000000); // 8MHz i8088
MCFG_DEVICE_PROGRAM_MAP(fm11_x86_mem) m_x86->set_addrmap(AS_PROGRAM, &fm7_state::fm11_x86_mem);
MCFG_DEVICE_IO_MAP(fm11_x86_io) m_x86->set_addrmap(AS_IO, &fm7_state::fm11_x86_io);
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 1200).add_route(ALL_OUTPUTS, "mono", 0.50); BEEP(config, m_beeper, 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
@ -2222,9 +2226,9 @@ MACHINE_CONFIG_START(fm7_state::fm11)
} }
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(16128000, 1024, 0, 640, 262, 0, 200) m_screen->set_raw(16128000, 1024, 0, 640, 262, 0, 200);
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7) m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
PALETTE(config, m_palette, palette_device::BRG_3BIT); PALETTE(config, m_palette, palette_device::BRG_3BIT);
@ -2248,18 +2252,19 @@ MACHINE_CONFIG_START(fm7_state::fm11)
OUTPUT_LATCH(config, m_cent_data_out); OUTPUT_LATCH(config, m_cent_data_out);
m_centronics->set_output_latch(*m_cent_data_out); m_centronics->set_output_latch(*m_cent_data_out);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(fm7_state::fm16beta) void fm7_state::fm16beta(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8086, 8000000) // 8MHz i8086 I8086(config, m_maincpu, 8000000); // 8MHz i8086
MCFG_DEVICE_PROGRAM_MAP(fm16_mem) m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm16_mem);
MCFG_DEVICE_IO_MAP(fm16_io) m_maincpu->set_addrmap(AS_IO, &fm7_state::fm16_io);
config.m_perfect_cpu_quantum = subtag("maincpu"); config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 8000000) MC6809(config, m_sub, 8000000);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack) m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
MCFG_DEVICE_PROGRAM_MAP(fm16_sub_mem) m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm16_sub_mem);
config.m_perfect_cpu_quantum = subtag("sub"); config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
@ -2269,9 +2274,9 @@ MACHINE_CONFIG_START(fm7_state::fm16beta)
MCFG_MACHINE_START_OVERRIDE(fm7_state,fm16) MCFG_MACHINE_START_OVERRIDE(fm7_state,fm16)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(16128000, 1024, 0, 640, 262, 0, 200) m_screen->set_raw(16128000, 1024, 0, 640, 262, 0, 200);
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7) m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
PALETTE(config, m_palette, palette_device::BRG_3BIT); PALETTE(config, m_palette, palette_device::BRG_3BIT);
@ -2295,7 +2300,7 @@ MACHINE_CONFIG_START(fm7_state::fm16beta)
OUTPUT_LATCH(config, m_cent_data_out); OUTPUT_LATCH(config, m_cent_data_out);
m_centronics->set_output_latch(*m_cent_data_out); m_centronics->set_output_latch(*m_cent_data_out);
MACHINE_CONFIG_END }
/* ROM definition */ /* ROM definition */
ROM_START( fm8 ) ROM_START( fm8 )

View File

@ -112,35 +112,37 @@ void fontwriter_state::fw600_map(address_map &map)
static INPUT_PORTS_START( fontwriter ) static INPUT_PORTS_START( fontwriter )
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(fontwriter_state::fontwriter) void fontwriter_state::fontwriter(machine_config &config)
MCFG_DEVICE_ADD("maincpu", M37720S1, XTAL(16'000'000)) /* M37720S1 @ 16MHz - main CPU */ {
MCFG_DEVICE_PROGRAM_MAP(main_map) M37720S1(config, m_maincpu, XTAL(16'000'000)); /* M37720S1 @ 16MHz - main CPU */
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_PROGRAM, &fontwriter_state::main_map);
m_maincpu->set_addrmap(AS_IO, &fontwriter_state::io_map);
MCFG_DEVICE_ADD("at28c16", AT28C16, 0) AT28C16(config, "at28c16", 0);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_UPDATE_DRIVER(fontwriter_state, screen_update) screen.set_screen_update(FUNC(fontwriter_state::screen_update));
MCFG_SCREEN_SIZE(640, 400) screen.set_size(640, 400);
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 399) screen.set_visarea_full();
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(fontwriter_state::fw600) void fontwriter_state::fw600(machine_config &config)
MCFG_DEVICE_ADD("maincpu", M37720S1, XTAL(16'000'000)) /* M37720S1 @ 16MHz - main CPU */ {
MCFG_DEVICE_PROGRAM_MAP(fw600_map) M37720S1(config, m_maincpu, XTAL(16'000'000)); /* M37720S1 @ 16MHz - main CPU */
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_PROGRAM, &fontwriter_state::fw600_map);
m_maincpu->set_addrmap(AS_IO, &fontwriter_state::io_map);
MCFG_DEVICE_ADD("at28c16", AT28C16, 0) AT28C16(config, "at28c16", 0);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_UPDATE_DRIVER(fontwriter_state, screen_update) screen.set_screen_update(FUNC(fontwriter_state::screen_update));
MCFG_SCREEN_SIZE(640, 400) screen.set_size(640, 400);
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 399) screen.set_visarea_full();
MACHINE_CONFIG_END }
ROM_START(fw600) ROM_START(fw600)
ROM_REGION(0x200000, "maincpu", 0) /* M37720 program ROM */ ROM_REGION(0x200000, "maincpu", 0) /* M37720 program ROM */

View File

@ -617,30 +617,35 @@ void force68k_state::fccpu1(machine_config &config)
* CPU-6 family is device and adressmap compatible with CPU-1 but with additions * CPU-6 family is device and adressmap compatible with CPU-1 but with additions
* such as an optional 68881 FPU * such as an optional 68881 FPU
*/ */
MACHINE_CONFIG_START (force68k_state::fccpu6) void force68k_state::fccpu6(machine_config &config)
MCFG_DEVICE_ADD ("maincpu", M68000, XTAL(8'000'000)) /* Jumper B10 Mode B */ {
MCFG_DEVICE_PROGRAM_MAP (force68k_mem) M68000(config, m_maincpu, XTAL(8'000'000)); /* Jumper B10 Mode B */
MACHINE_CONFIG_END m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6a) void force68k_state::fccpu6a(machine_config &config)
MCFG_DEVICE_ADD ("maincpu", M68000, XTAL(12'500'000)) /* Jumper B10 Mode A */ {
MCFG_DEVICE_PROGRAM_MAP (force68k_mem) M68000(config, m_maincpu, XTAL(12'500'000)); /* Jumper B10 Mode A */
MACHINE_CONFIG_END m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6v) void force68k_state::fccpu6v(machine_config &config)
MCFG_DEVICE_ADD ("maincpu", M68010, XTAL(8'000'000)) /* Jumper B10 Mode B */ {
MCFG_DEVICE_PROGRAM_MAP (force68k_mem) M68010(config, m_maincpu, XTAL(8'000'000)); /* Jumper B10 Mode B */
MACHINE_CONFIG_END m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6va) void force68k_state::fccpu6va(machine_config &config)
MCFG_DEVICE_ADD ("maincpu", M68010, XTAL(12'500'000)) /* Jumper B10 Mode A */ {
MCFG_DEVICE_PROGRAM_MAP (force68k_mem) M68010(config, m_maincpu, XTAL(12'500'000)); /* Jumper B10 Mode A */
MACHINE_CONFIG_END m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6vb) void force68k_state::fccpu6vb(machine_config &config)
MCFG_DEVICE_ADD ("maincpu", M68010, XTAL(12'500'000)) /* Jumper B10 Mode A */ {
MCFG_DEVICE_PROGRAM_MAP (force68k_mem) M68010(config, m_maincpu, XTAL(12'500'000)); /* Jumper B10 Mode A */
MACHINE_CONFIG_END m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
#endif #endif
/* ROM definitions */ /* ROM definitions */

View File

@ -682,24 +682,25 @@ void fortecar_state::machine_reset()
* Machine Drivers * * Machine Drivers *
***********************************/ ***********************************/
MACHINE_CONFIG_START(fortecar_state::fortecar) void fortecar_state::fortecar(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, CPU_CLOCK) /* 3 MHz, measured */ Z80(config, m_maincpu, CPU_CLOCK); /* 3 MHz, measured */
MCFG_DEVICE_PROGRAM_MAP(fortecar_map) m_maincpu->set_addrmap(AS_PROGRAM, &fortecar_state::fortecar_map);
MCFG_DEVICE_IO_MAP(fortecar_ports) m_maincpu->set_addrmap(AS_IO, &fortecar_state::fortecar_ports);
WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_msec(200)); /* guess */ WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_msec(200)); /* guess */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(640, 256) screen.set_size(640, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 600-1, 0, 240-1) /* driven by CRTC */ screen.set_visarea(0, 600-1, 0, 240-1); /* driven by CRTC */
MCFG_SCREEN_UPDATE_DRIVER(fortecar_state, screen_update) screen.set_screen_update(FUNC(fortecar_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
EEPROM_93C56_16BIT(config, "eeprom").default_value(0); EEPROM_93C56_16BIT(config, "eeprom").default_value(0);
@ -728,7 +729,7 @@ MACHINE_CONFIG_START(fortecar_state::fortecar)
aysnd.port_a_write_callback().set(FUNC(fortecar_state::ayporta_w)); aysnd.port_a_write_callback().set(FUNC(fortecar_state::ayporta_w));
aysnd.port_b_write_callback().set(FUNC(fortecar_state::ayportb_w)); aysnd.port_b_write_callback().set(FUNC(fortecar_state::ayportb_w));
aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END }
/******************************* /*******************************

View File

@ -638,12 +638,13 @@ void fp1100_state::init_fp1100()
membank("bankw0")->configure_entry(0, &wram[0x0000]); membank("bankw0")->configure_entry(0, &wram[0x0000]);
} }
MACHINE_CONFIG_START(fp1100_state::fp1100) void fp1100_state::fp1100(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, MAIN_CLOCK/4) Z80(config, m_maincpu, MAIN_CLOCK/4);
MCFG_DEVICE_PROGRAM_MAP(main_map) m_maincpu->set_addrmap(AS_PROGRAM, &fp1100_state::main_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &fp1100_state::io_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fp1100_state, vblank_irq) m_maincpu->set_vblank_int("screen", FUNC(fp1100_state::vblank_irq));
upd7801_device &sub(UPD7801(config, m_subcpu, MAIN_CLOCK/4)); upd7801_device &sub(UPD7801(config, m_subcpu, MAIN_CLOCK/4));
sub.set_addrmap(AS_PROGRAM, &fp1100_state::sub_map); sub.set_addrmap(AS_PROGRAM, &fp1100_state::sub_map);
@ -655,13 +656,13 @@ MACHINE_CONFIG_START(fp1100_state::fp1100)
sub.txd_func().set(FUNC(fp1100_state::cass_w)); sub.txd_func().set(FUNC(fp1100_state::cass_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_SIZE(640, 480) screen.set_size(640, 480);
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update) screen.set_screen_update("crtc", FUNC(h46505_device::screen_update));
MCFG_PALETTE_ADD("palette", 8) PALETTE(config, m_palette).set_entries(8);
GFXDECODE(config, "gfxdecode", m_palette, gfx_fp1100); GFXDECODE(config, "gfxdecode", m_palette, gfx_fp1100);
/* sound hardware */ /* sound hardware */
@ -687,7 +688,7 @@ MACHINE_CONFIG_START(fp1100_state::fp1100)
CASSETTE(config, m_cass); CASSETTE(config, m_cass);
m_cass->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED); m_cass->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
TIMER(config, "timer_c").configure_periodic(FUNC(fp1100_state::timer_c), attotime::from_hz(4800)); // cass write TIMER(config, "timer_c").configure_periodic(FUNC(fp1100_state::timer_c), attotime::from_hz(4800)); // cass write
MACHINE_CONFIG_END }
/* ROM definition */ /* ROM definition */
ROM_START( fp1100 ) ROM_START( fp1100 )

View File

@ -297,31 +297,31 @@ void fp6000_state::machine_reset()
{ {
} }
MACHINE_CONFIG_START(fp6000_state::fp6000) void fp6000_state::fp6000(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8086, 16000000/2) I8086(config, m_maincpu, 16000000/2);
MCFG_DEVICE_PROGRAM_MAP(fp6000_map) m_maincpu->set_addrmap(AS_PROGRAM, &fp6000_state::fp6000_map);
MCFG_DEVICE_IO_MAP(fp6000_io) m_maincpu->set_addrmap(AS_IO, &fp6000_state::fp6000_io);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_SIZE(640, 480) screen.set_size(640, 480);
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(fp6000_state, screen_update_fp6000) screen.set_screen_update(FUNC(fp6000_state::screen_update_fp6000));
MCFG_SCREEN_PALETTE("palette") screen.set_palette(m_palette);
H46505(config, m_crtc, 16000000/5); /* unknown clock, hand tuned to get ~60 fps */ H46505(config, m_crtc, 16000000/5); /* unknown clock, hand tuned to get ~60 fps */
m_crtc->set_screen("screen"); m_crtc->set_screen("screen");
m_crtc->set_show_border_area(false); m_crtc->set_show_border_area(false);
m_crtc->set_char_width(8); m_crtc->set_char_width(8);
MCFG_PALETTE_ADD("palette", 8) PALETTE(config, m_palette).set_entries(8);
// MCFG_PALETTE_INIT(black_and_white)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fp6000);
MACHINE_CONFIG_END GFXDECODE(config, m_gfxdecode, m_palette, gfx_fp6000);
}
/* ROM definition */ /* ROM definition */
ROM_START( fp6000 ) ROM_START( fp6000 )

View File

@ -730,12 +730,13 @@ MACHINE_RESET_MEMBER(freekick_state,oigas)
m_cnt = 0; m_cnt = 0;
} }
MACHINE_CONFIG_START(freekick_state::omega) void freekick_state::omega(machine_config &config)
MCFG_DEVICE_ADD("maincpu", MC8123, XTAL(18'432'000)/6) // unknown divisor {
MCFG_DEVICE_PROGRAM_MAP(omega_map) MC8123(config, m_maincpu, XTAL(18'432'000)/6); // unknown divisor
MCFG_DEVICE_IO_MAP(omega_io_map) m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::omega_map);
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map) m_maincpu->set_addrmap(AS_IO, &freekick_state::omega_io_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB m_maincpu->set_addrmap(AS_OPCODES, &freekick_state::decrypted_opcodes_map);
m_maincpu->set_periodic_int(FUNC(freekick_state::irq0_line_hold), attotime::from_hz(120)); // measured on PCB
LS259(config, m_outlatch); // 3M LS259(config, m_outlatch); // 3M
m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w)); m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w));
@ -745,11 +746,11 @@ MACHINE_CONFIG_START(freekick_state::omega)
m_outlatch->q_out_cb<5>().set_nop(); // ??? m_outlatch->q_out_cb<5>().set_nop(); // ???
// video hardware // video hardware
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_RAW_PARAMS(XTAL(18'432'000)/3, 768/2, 0, 512/2, 263, 0+16, 224+16) // unknown divisor screen.set_raw(XTAL(18'432'000)/3, 768/2, 0, 512/2, 263, 0+16, 224+16); // unknown divisor
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas) screen.set_screen_update(FUNC(freekick_state::screen_update_gigas));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, freekick_state, vblank_irq)) screen.screen_vblank().set(FUNC(freekick_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_freekick); GFXDECODE(config, m_gfxdecode, m_palette, gfx_freekick);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x200); PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x200);
@ -757,25 +758,21 @@ MACHINE_CONFIG_START(freekick_state::omega)
// sound hardware // sound hardware
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("sn1", SN76489A, XTAL(18'432'000)/6) // unknown divisor SN76489A(config, "sn1", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("sn2", SN76489A, XTAL(18'432'000)/6) // unknown divisor SN76489A(config, "sn2", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("sn3", SN76489A, XTAL(18'432'000)/6) // unknown divisor SN76489A(config, "sn3", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("sn4", SN76489A, XTAL(18'432'000)/6) // unknown divisor SN76489A(config, "sn4", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::base)
void freekick_state::base(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/4) Z80(config, m_maincpu, XTAL(12'000'000)/4);
MCFG_DEVICE_PROGRAM_MAP(pbillrd_map) m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::pbillrd_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB m_maincpu->set_periodic_int(FUNC(freekick_state::irq0_line_hold), attotime::from_hz(120)); // measured on PCB
LS259(config, m_outlatch); LS259(config, m_outlatch);
m_outlatch->q_out_cb<2>().set(FUNC(freekick_state::coin1_w)); m_outlatch->q_out_cb<2>().set(FUNC(freekick_state::coin1_w));
@ -783,11 +780,11 @@ MACHINE_CONFIG_START(freekick_state::base)
m_outlatch->q_out_cb<4>().set(FUNC(freekick_state::nmi_enable_w)); m_outlatch->q_out_cb<4>().set(FUNC(freekick_state::nmi_enable_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000)/2, 768/2, 0, 512/2, 263, 0+16, 224+16) screen.set_raw(XTAL(12'000'000)/2, 768/2, 0, 512/2, 263, 0+16, 224+16);
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_pbillrd) screen.set_screen_update(FUNC(freekick_state::screen_update_pbillrd));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, freekick_state, vblank_irq)) screen.screen_vblank().set(FUNC(freekick_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_freekick); GFXDECODE(config, m_gfxdecode, m_palette, gfx_freekick);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x200); PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x200);
@ -795,18 +792,14 @@ MACHINE_CONFIG_START(freekick_state::base)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("sn1", SN76489A, XTAL(12'000'000)/4) SN76489A(config, "sn1", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("sn2", SN76489A, XTAL(12'000'000)/4) SN76489A(config, "sn2", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("sn3", SN76489A, XTAL(12'000'000)/4) SN76489A(config, "sn3", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADD("sn4", SN76489A, XTAL(12'000'000)/4) SN76489A(config, "sn4", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) }
MACHINE_CONFIG_END
void freekick_state::pbillrd(machine_config &config) void freekick_state::pbillrd(machine_config &config)
{ {
@ -821,21 +814,22 @@ void freekick_state::pbillrd(machine_config &config)
MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick) MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
} }
MACHINE_CONFIG_START(freekick_state::pbillrdm) void freekick_state::pbillrdm(machine_config &config)
{
pbillrd(config); pbillrd(config);
MCFG_DEVICE_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4) MC8123(config.replace(), m_maincpu, XTAL(12'000'000)/4);
MCFG_DEVICE_PROGRAM_MAP(pbillrd_map) m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::pbillrd_map);
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map) m_maincpu->set_addrmap(AS_OPCODES, &freekick_state::decrypted_opcodes_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB m_maincpu->set_periodic_int(FUNC(freekick_state::irq0_line_hold), attotime::from_hz(120)); // measured on PCB
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(freekick_state::freekick) void freekick_state::freekick(machine_config &config)
{
base(config); base(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::freekick_map);
MCFG_DEVICE_PROGRAM_MAP(freekick_map) m_maincpu->set_addrmap(AS_IO, &freekick_state::freekick_io_map);
MCFG_DEVICE_IO_MAP(freekick_io_map)
// 5C // 5C
m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w)); m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w));
@ -855,18 +849,17 @@ MACHINE_CONFIG_START(freekick_state::freekick)
ppi1.in_pc_callback().set_ioport("DSW3"); ppi1.in_pc_callback().set_ioport("DSW3");
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") subdevice<screen_device>("screen")->set_screen_update(FUNC(freekick_state::screen_update_freekick));
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_freekick) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::gigas) void freekick_state::gigas(machine_config &config)
{
base(config); base(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::gigas_map);
MCFG_DEVICE_PROGRAM_MAP(gigas_map) m_maincpu->set_addrmap(AS_IO, &freekick_state::gigas_io_map);
MCFG_DEVICE_IO_MAP(gigas_io_map) m_maincpu->set_addrmap(AS_OPCODES, &freekick_state::decrypted_opcodes_map);
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w)); m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w));
m_outlatch->q_out_cb<5>().set_nop(); // ??? m_outlatch->q_out_cb<5>().set_nop(); // ???
@ -875,19 +868,19 @@ MACHINE_CONFIG_START(freekick_state::gigas)
MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick) MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") subdevice<screen_device>("screen")->set_screen_update(FUNC(freekick_state::screen_update_gigas));
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::gigasm) void freekick_state::gigasm(machine_config &config)
{
base(config); base(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4) MC8123(config.replace(), m_maincpu, XTAL(12'000'000)/4);
MCFG_DEVICE_PROGRAM_MAP(gigas_map) m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::gigas_map);
MCFG_DEVICE_IO_MAP(gigas_io_map) m_maincpu->set_addrmap(AS_IO, &freekick_state::gigas_io_map);
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map) m_maincpu->set_addrmap(AS_OPCODES, &freekick_state::decrypted_opcodes_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB m_maincpu->set_periodic_int(FUNC(freekick_state::irq0_line_hold), attotime::from_hz(120)); // measured on PCB
m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w)); m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w));
m_outlatch->q_out_cb<5>().set_nop(); // ??? m_outlatch->q_out_cb<5>().set_nop(); // ???
@ -896,20 +889,19 @@ MACHINE_CONFIG_START(freekick_state::gigasm)
MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick) MCFG_MACHINE_RESET_OVERRIDE(freekick_state,freekick)
/* video hardware */ /* video hardware */
MCFG_SCREEN_MODIFY("screen") subdevice<screen_device>("screen")->set_screen_update(FUNC(freekick_state::screen_update_gigas));
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::oigas) void freekick_state::oigas(machine_config &config)
{
gigas(config); gigas(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_IO, &freekick_state::oigas_io_map);
MCFG_DEVICE_IO_MAP(oigas_io_map)
MCFG_MACHINE_START_OVERRIDE(freekick_state,oigas) MCFG_MACHINE_START_OVERRIDE(freekick_state,oigas)
MCFG_MACHINE_RESET_OVERRIDE(freekick_state,oigas) MCFG_MACHINE_RESET_OVERRIDE(freekick_state,oigas)
MACHINE_CONFIG_END }

View File

@ -597,21 +597,21 @@ TIMER_DEVICE_CALLBACK_MEMBER(fresh_state::fake_scanline)
} }
MACHINE_CONFIG_START(fresh_state::fresh) void fresh_state::fresh(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 24000000/2 ) M68000(config, m_maincpu, 24000000/2);
MCFG_DEVICE_PROGRAM_MAP(fresh_map) m_maincpu->set_addrmap(AS_PROGRAM, &fresh_state::fresh_map);
TIMER(config, "scantimer").configure_scanline(FUNC(fresh_state::fake_scanline), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(fresh_state::fake_scanline), "screen", 0, 1);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) screen.set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(fresh_state, screen_update_fresh) screen.set_screen_update(FUNC(fresh_state::screen_update_fresh));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 0x1000); // or 0xc00 PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 0x1000); // or 0xc00
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fresh); GFXDECODE(config, m_gfxdecode, m_palette, gfx_fresh);
@ -619,9 +619,8 @@ MACHINE_CONFIG_START(fresh_state::fresh)
/* sound hw? */ /* sound hw? */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2413, 4000000) // actual clock and type unknown YM2413(config, "ymsnd", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0); // actual clock and type unknown
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
ROM_START( fresh ) ROM_START( fresh )

View File

@ -115,11 +115,12 @@ void fruitpc_state::fruitpc_sb_conf(device_t *device)
MCFG_DEVICE_SLOT_INTERFACE(pc_joysticks, nullptr, true) // remove joystick MCFG_DEVICE_SLOT_INTERFACE(pc_joysticks, nullptr, true) // remove joystick
} }
MACHINE_CONFIG_START(fruitpc_state::fruitpc) void fruitpc_state::fruitpc(machine_config &config)
MCFG_DEVICE_ADD("maincpu", I486, 66000000) // ST STPCD0166BTC3 66 MHz 486 CPU {
MCFG_DEVICE_PROGRAM_MAP(fruitpc_map) I486(config, m_maincpu, 66000000); // ST STPCD0166BTC3 66 MHz 486 CPU
MCFG_DEVICE_IO_MAP(fruitpc_io) m_maincpu->set_addrmap(AS_PROGRAM, &fruitpc_state::fruitpc_map);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) m_maincpu->set_addrmap(AS_IO, &fruitpc_state::fruitpc_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config); pcat_common(config);
@ -145,10 +146,10 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w)); m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
// FIXME: determine ISA bus clock // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", fruitpc_isa8_cards, "sb15", true) isa8_slot_device &isa1(ISA8_SLOT(config, "isa1", 0, "isa", fruitpc_isa8_cards, "sb15", true));
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", fruitpc_sb_def) isa1.set_option_device_input_defaults("sb15", DEVICE_INPUT_DEFAULTS_NAME(fruitpc_sb_def));
MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", fruitpc_sb_conf) isa1.set_option_machine_config("sb15", fruitpc_sb_conf);
MACHINE_CONFIG_END }
ROM_START( fruitpc ) ROM_START( fruitpc )
ROM_REGION( 0x20000, "bios", 0 ) ROM_REGION( 0x20000, "bios", 0 )

View File

@ -88,11 +88,11 @@ void fungames_state::video_start()
{ {
} }
MACHINE_CONFIG_START(fungames_state::fungames) void fungames_state::fungames(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK) NETLIST_CPU(config, m_maincpu, NETLIST_CLOCK);
MCFG_NETLIST_SETUP(fungames) m_maincpu->set_constructor(netlist_fungames);
/* video hardware */ /* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER); SCREEN(config, "screen", SCREEN_TYPE_RASTER);
@ -102,7 +102,7 @@ MACHINE_CONFIG_START(fungames_state::fungames)
m_video->set_vert_params(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL); m_video->set_vert_params(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL);
m_video->set_fieldcount(1); m_video->set_fieldcount(1);
m_video->set_threshold(0.30); m_video->set_threshold(0.30);
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************

View File

@ -764,10 +764,10 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS_END DEVICE_INPUT_DEFAULTS_END
MACHINE_CONFIG_START(funkball_state::funkball) MACHINE_CONFIG_START(funkball_state::funkball)
MCFG_DEVICE_ADD("maincpu", MEDIAGX, 66666666*3.5) // 66,6 MHz x 3.5 MEDIAGX(config, m_maincpu, 66666666*3.5); // 66,6 MHz x 3.5
MCFG_DEVICE_PROGRAM_MAP(funkball_map) m_maincpu->set_addrmap(AS_PROGRAM, &funkball_state::funkball_map);
MCFG_DEVICE_IO_MAP(funkball_io) m_maincpu->set_addrmap(AS_IO, &funkball_state::funkball_io);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config); pcat_common(config);
@ -787,12 +787,12 @@ MACHINE_CONFIG_START(funkball_state::funkball)
m_voodoo->set_screen_tag("screen"); m_voodoo->set_screen_tag("screen");
m_voodoo->set_cpu_tag(m_maincpu); m_voodoo->set_cpu_tag(m_maincpu);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_UPDATE_DRIVER(funkball_state, screen_update) screen.set_screen_update(FUNC(funkball_state::screen_update));
MCFG_SCREEN_SIZE(1024, 1024) screen.set_size(1024, 1024);
MCFG_SCREEN_VISIBLE_AREA(0, 511, 16, 447) screen.set_visarea(0, 511, 16, 447);
ns16550_device &uart(NS16550(config, "uart", 1843200)); // exact type unknown ns16550_device &uart(NS16550(config, "uart", 1843200)); // exact type unknown
uart.out_tx_callback().set("rs232", FUNC(rs232_port_device::write_txd)); uart.out_tx_callback().set("rs232", FUNC(rs232_port_device::write_txd));

View File

@ -285,13 +285,13 @@ void funkybee_state::machine_start()
m_gfx_bank = 0; m_gfx_bank = 0;
} }
MACHINE_CONFIG_START(funkybee_state::funkybee) void funkybee_state::funkybee(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 3072000) /* 3.072 MHz */ Z80(config, m_maincpu, 3072000); /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(funkybee_map) m_maincpu->set_addrmap(AS_PROGRAM, &funkybee_state::funkybee_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &funkybee_state::io_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", funkybee_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(funkybee_state::irq0_line_hold));
ls259_device &mainlatch(LS259(config, "mainlatch")); ls259_device &mainlatch(LS259(config, "mainlatch"));
mainlatch.q_out_cb<0>().set(FUNC(funkybee_state::flipscreen_w)); mainlatch.q_out_cb<0>().set(FUNC(funkybee_state::flipscreen_w));
@ -302,13 +302,13 @@ MACHINE_CONFIG_START(funkybee_state::funkybee)
WATCHDOG_TIMER(config, m_watchdog); WATCHDOG_TIMER(config, m_watchdog);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(12, 32*8-8-1, 0*8, 28*8-1) screen.set_visarea(12, 32*8-8-1, 0*8, 28*8-1);
MCFG_SCREEN_UPDATE_DRIVER(funkybee_state, screen_update_funkybee) screen.set_screen_update(FUNC(funkybee_state::screen_update_funkybee));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_funkybee); GFXDECODE(config, m_gfxdecode, m_palette, gfx_funkybee);
PALETTE(config, m_palette, FUNC(funkybee_state::funkybee_palette), 32); PALETTE(config, m_palette, FUNC(funkybee_state::funkybee_palette), 32);
@ -319,7 +319,7 @@ MACHINE_CONFIG_START(funkybee_state::funkybee)
ay8912_device &ay8912(AY8912(config, "aysnd", 1500000)); // AY-3-8912 verified for Sky Lancer ay8912_device &ay8912(AY8912(config, "aysnd", 1500000)); // AY-3-8912 verified for Sky Lancer
ay8912.port_a_read_callback().set_ioport("DSW"); ay8912.port_a_read_callback().set_ioport("DSW");
ay8912.add_route(ALL_OUTPUTS, "mono", 0.50); ay8912.add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************

View File

@ -302,12 +302,12 @@ GFXDECODE_END
/******************************************************************************/ /******************************************************************************/
MACHINE_CONFIG_START(funkyjet_state::funkyjet) void funkyjet_state::funkyjet(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD(m_maincpu, M68000, XTAL(28'000'000)/2) /* 28 MHz crystal */ M68000(config, m_maincpu, XTAL(28'000'000)/2); /* 28 MHz crystal */
MCFG_DEVICE_PROGRAM_MAP(funkyjet_map) m_maincpu->set_addrmap(AS_PROGRAM, &funkyjet_state::funkyjet_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", funkyjet_state, irq6_line_hold) m_maincpu->set_vblank_int("screen", FUNC(funkyjet_state::irq6_line_hold));
H6280(config, m_audiocpu, XTAL(32'220'000)/4); /* Custom chip 45, Audio section crystal is 32.220 MHz */ H6280(config, m_audiocpu, XTAL(32'220'000)/4); /* Custom chip 45, Audio section crystal is 32.220 MHz */
m_audiocpu->set_addrmap(AS_PROGRAM, &funkyjet_state::sound_map); m_audiocpu->set_addrmap(AS_PROGRAM, &funkyjet_state::sound_map);
@ -315,13 +315,13 @@ MACHINE_CONFIG_START(funkyjet_state::funkyjet)
m_audiocpu->add_route(ALL_OUTPUTS, "rspeaker", 0); m_audiocpu->add_route(ALL_OUTPUTS, "rspeaker", 0);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(58) screen.set_refresh_hz(58);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
MCFG_SCREEN_SIZE(40*8, 32*8) screen.set_size(40*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1) screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
MCFG_SCREEN_UPDATE_DRIVER(funkyjet_state, screen_update) screen.set_screen_update(FUNC(funkyjet_state::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
DECO146PROT(config, m_deco146, 0); DECO146PROT(config, m_deco146, 0);
m_deco146->port_a_cb().set_ioport("INPUTS"); m_deco146->port_a_cb().set_ioport("INPUTS");
@ -360,10 +360,10 @@ MACHINE_CONFIG_START(funkyjet_state::funkyjet)
ymsnd.add_route(0, "lspeaker", 0.45); ymsnd.add_route(0, "lspeaker", 0.45);
ymsnd.add_route(1, "rspeaker", 0.45); ymsnd.add_route(1, "rspeaker", 0.45);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'000'000)/28, okim6295_device::PIN7_HIGH) okim6295_device &oki(OKIM6295(config, "oki", XTAL(28'000'000)/28, okim6295_device::PIN7_HIGH));
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50) oki.add_route(ALL_OUTPUTS, "lspeaker", 0.50);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50) oki.add_route(ALL_OUTPUTS, "rspeaker", 0.50);
MACHINE_CONFIG_END }
/******************************************************************************/ /******************************************************************************/

View File

@ -487,22 +487,22 @@ void fun_tech_corp_state::machine_start()
} }
MACHINE_CONFIG_START(fun_tech_corp_state::funtech) void fun_tech_corp_state::funtech(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* ? MHz */ Z80(config, m_maincpu, 4000000); /* ? MHz */
MCFG_DEVICE_PROGRAM_MAP(funtech_map) m_maincpu->set_addrmap(AS_PROGRAM, &fun_tech_corp_state::funtech_map);
MCFG_DEVICE_IO_MAP(funtech_io_map) m_maincpu->set_addrmap(AS_IO, &fun_tech_corp_state::funtech_io_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fun_tech_corp_state, vblank_interrupt) m_maincpu->set_vblank_int("screen", FUNC(fun_tech_corp_state::vblank_interrupt));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(512, 256) screen.set_size(512, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 8, 256-8-1) screen.set_visarea(0, 512-1, 8, 256-8-1);
MCFG_SCREEN_UPDATE_DRIVER(fun_tech_corp_state, screen_update) screen.set_screen_update(FUNC(fun_tech_corp_state::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_funtech); GFXDECODE(config, m_gfxdecode, "palette", gfx_funtech);
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 0x200); PALETTE(config, "palette").set_format(palette_device::xBGR_555, 0x200);
@ -515,7 +515,7 @@ MACHINE_CONFIG_START(fun_tech_corp_state::funtech)
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
AY8910(config, "aysnd", 1500000).add_route(ALL_OUTPUTS, "mono", 1.00); /* M5255, ? MHz */ AY8910(config, "aysnd", 1500000).add_route(ALL_OUTPUTS, "mono", 1.00); /* M5255, ? MHz */
MACHINE_CONFIG_END }

View File

@ -3067,10 +3067,11 @@ void lunapark_state::machine_reset()
* Machine Drivers * * Machine Drivers *
**************************/ **************************/
MACHINE_CONFIG_START(funworld_state::fw1stpal) void funworld_state::fw1stpal(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M65SC02, CPU_CLOCK) /* 2MHz */ M65SC02(config, m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(funworld_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -3085,13 +3086,13 @@ MACHINE_CONFIG_START(funworld_state::fw1stpal)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE((124+1)*4, (30+1)*8) /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */ screen.set_size((124+1)*4, (30+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */
MCFG_SCREEN_VISIBLE_AREA(0*4, 96*4-1, 0*8, 29*8-1) /* Taken from MC6845 init, registers 01 & 06 */ screen.set_visarea(0*4, 96*4-1, 0*8, 29*8-1); /* Taken from MC6845 init, registers 01 & 06 */
MCFG_SCREEN_UPDATE_DRIVER(funworld_state, screen_update_funworld) screen.set_screen_update(FUNC(funworld_state::screen_update_funworld));
MCFG_SCREEN_PALETTE("palette") screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fw1stpal); GFXDECODE(config, m_gfxdecode, m_palette, gfx_fw1stpal);
PALETTE(config, m_palette, FUNC(funworld_state::funworld_palette), 0x200); PALETTE(config, m_palette, FUNC(funworld_state::funworld_palette), 0x200);
@ -3109,35 +3110,38 @@ MACHINE_CONFIG_START(funworld_state::fw1stpal)
ay8910.port_a_write_callback().set(FUNC(funworld_state::funworld_lamp_a_w)); ay8910.port_a_write_callback().set(FUNC(funworld_state::funworld_lamp_a_w));
ay8910.port_b_write_callback().set(FUNC(funworld_state::funworld_lamp_b_w)); ay8910.port_b_write_callback().set(FUNC(funworld_state::funworld_lamp_b_w));
ay8910.add_route(ALL_OUTPUTS, "mono", 2.5); /* analyzed to avoid clips */ ay8910.add_route(ALL_OUTPUTS, "mono", 2.5); /* analyzed to avoid clips */
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::fw2ndpal) void funworld_state::fw2ndpal(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(funworld_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map);
m_gfxdecode->set_info(gfx_fw2ndpal); m_gfxdecode->set_info(gfx_fw2ndpal);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::funquiz) void funworld_state::funquiz(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
// fw2ndpal(config); // fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(funquiz_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funquiz_map);
subdevice<ay8910_device>("ay8910")->port_a_read_callback().set(FUNC(funworld_state::funquiz_ay8910_a_r)); subdevice<ay8910_device>("ay8910")->port_a_read_callback().set(FUNC(funworld_state::funquiz_ay8910_a_r));
subdevice<ay8910_device>("ay8910")->port_b_read_callback().set(FUNC(funworld_state::funquiz_ay8910_b_r)); subdevice<ay8910_device>("ay8910")->port_b_read_callback().set(FUNC(funworld_state::funquiz_ay8910_b_r));
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(magicrd2_state::magicrd2) void magicrd2_state::magicrd2(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map) m_maincpu->set_addrmap(AS_PROGRAM, &magicrd2_state::magicrd2_map);
subdevice<mc6845_device>("crtc")->set_visarea_adjust(0, -56, 0, 0); subdevice<mc6845_device>("crtc")->set_visarea_adjust(0, -56, 0, 0);
@ -3145,86 +3149,97 @@ MACHINE_CONFIG_START(magicrd2_state::magicrd2)
ay8910.port_a_write_callback().set(FUNC(magicrd2_state::funworld_lamp_a_w)); ay8910.port_a_write_callback().set(FUNC(magicrd2_state::funworld_lamp_a_w));
ay8910.port_b_write_callback().set(FUNC(magicrd2_state::funworld_lamp_b_w)); ay8910.port_b_write_callback().set(FUNC(magicrd2_state::funworld_lamp_b_w));
ay8910.add_route(ALL_OUTPUTS, "mono", 1.5); /* analyzed to avoid clips */ ay8910.add_route(ALL_OUTPUTS, "mono", 1.5); /* analyzed to avoid clips */
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::royalcd1) void funworld_state::royalcd1(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* (G65SC02P in pro version) 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* (G65SC02P in pro version) 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::magicrd2_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::royalcd2) void funworld_state::royalcd2(machine_config &config)
{
fw2ndpal(config); fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::magicrd2_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::cuoreuno) void funworld_state::cuoreuno(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(cuoreuno_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::cuoreuno_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::saloon) void funworld_state::saloon(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(saloon_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::saloon_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::witchryl) void funworld_state::witchryl(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(witchryl_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::witchryl_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(lunapark_state::lunapark) void lunapark_state::lunapark(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(lunapark_map) // mirrored video RAM (4000/5000 to 6000/7000). m_maincpu->set_addrmap(AS_PROGRAM, &lunapark_state::lunapark_map); // mirrored video RAM (4000/5000 to 6000/7000).
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(chinatow_state::chinatow) void chinatow_state::chinatow(machine_config &config)
{
fw2ndpal(config); fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(chinatow_map) m_maincpu->set_addrmap(AS_PROGRAM, &chinatow_state::chinatow_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(chinatow_state::rcdino4) void chinatow_state::rcdino4(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(chinatow_map) m_maincpu->set_addrmap(AS_PROGRAM, &chinatow_state::chinatow_map);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::intrgmes) void funworld_state::intrgmes(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(intergames_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::intergames_map);
m_gfxdecode->set_info(gfx_fw2ndpal); m_gfxdecode->set_info(gfx_fw2ndpal);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::fw_brick_1) void funworld_state::fw_brick_1(machine_config &config)
{
fw1stpal(config); fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(fw_a7_11_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::fw_a7_11_map);
// m_gfxdecode->set_info(gfx_fw2ndpal); // m_gfxdecode->set_info(gfx_fw2ndpal);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(funworld_state::fw_brick_2) void funworld_state::fw_brick_2(machine_config &config)
{
fw2ndpal(config); fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */ R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(fw_a7_11_map) m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::fw_a7_11_map);
// m_gfxdecode->set_info(gfx_fw2ndpal); // m_gfxdecode->set_info(gfx_fw2ndpal);
MACHINE_CONFIG_END }
/************************* /*************************

View File

@ -217,28 +217,28 @@ void funybubl_state::machine_start()
} }
MACHINE_CONFIG_START(funybubl_state::funybubl) void funybubl_state::funybubl(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80,12000000/2) /* 6 MHz?? */ Z80(config, m_maincpu, 12000000/2); /* 6 MHz?? */
MCFG_DEVICE_PROGRAM_MAP(funybubl_map) m_maincpu->set_addrmap(AS_PROGRAM, &funybubl_state::funybubl_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &funybubl_state::io_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", funybubl_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(funybubl_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,8000000/2) /* 4 MHz?? */ Z80(config, m_audiocpu, 8000000/2); /* 4 MHz?? */
MCFG_DEVICE_PROGRAM_MAP(sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &funybubl_state::sound_map);
ADDRESS_MAP_BANK(config, m_vrambank).set_map(&funybubl_state::vrambank_map).set_options(ENDIANNESS_LITTLE, 8, 13, 0x1000); ADDRESS_MAP_BANK(config, m_vrambank).set_map(&funybubl_state::vrambank_map).set_options(ENDIANNESS_LITTLE, 8, 13, 0x1000);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(512, 256) screen.set_size(512, 256);
MCFG_SCREEN_VISIBLE_AREA(12*8, 512-12*8-1, 16, 256-16-1) screen.set_visarea(12*8, 512-12*8-1, 16, 256-16-1);
// MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0, 256-1) // screen.set_visarea(0*8, 512-1, 0, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(funybubl_state, screen_update) screen.set_screen_update(FUNC(funybubl_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_funybubl); GFXDECODE(config, m_gfxdecode, m_palette, gfx_funybubl);
PALETTE(config, m_palette).set_format(4, &funybubl_state::funybubl_R6B6G6, 0xc00/4); PALETTE(config, m_palette).set_format(4, &funybubl_state::funybubl_R6B6G6, 0xc00/4);
@ -249,10 +249,10 @@ MACHINE_CONFIG_START(funybubl_state::funybubl)
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, 0);
MCFG_DEVICE_ADD("oki", OKIM6295, 8000000/8, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified OKIM6295(config, m_oki, 8000000/8, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, oki_map) m_oki->set_addrmap(0, funybubl_state::oki_map);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }

View File

@ -296,11 +296,12 @@ WRITE8_MEMBER( g627_state::lamp_w )
} }
} }
MACHINE_CONFIG_START(g627_state::g627) void g627_state::g627(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 14138000/8) Z80(config, m_maincpu, 14138000/8);
MCFG_DEVICE_PROGRAM_MAP(mem_map) m_maincpu->set_addrmap(AS_PROGRAM, &g627_state::mem_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &g627_state::io_map);
i8156_device &i8156(I8156(config, "i8156", 14138000/8)); i8156_device &i8156(I8156(config, "i8156", 14138000/8));
i8156.in_pa_callback().set(FUNC(g627_state::porta_r)); i8156.in_pa_callback().set(FUNC(g627_state::porta_r));
@ -313,12 +314,11 @@ MACHINE_CONFIG_START(g627_state::g627)
/* Sound */ /* Sound */
genpin_audio(config); genpin_audio(config);
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("astrocade", ASTROCADE_IO, 14138000/8) // 0066-117XX audio chip ASTROCADE_IO(config, "astrocade", 14138000/8).add_route(ALL_OUTPUTS, "mono", 1.0); // 0066-117XX audio chip
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
/* Video */ /* Video */
config.set_default_layout(layout_g627); config.set_default_layout(layout_g627);
MACHINE_CONFIG_END }
/*------------------------------------------------------------------- /*-------------------------------------------------------------------
/ Rotation VIII (09/1978) / Rotation VIII (09/1978)

View File

@ -644,15 +644,15 @@ void gaelco_state::machine_start()
m_okibank->configure_entries(0, 16, memregion("oki")->base(), 0x10000); m_okibank->configure_entries(0, 16, memregion("oki")->base(), 0x10000);
} }
MACHINE_CONFIG_START(gaelco_state::bigkarnk) void gaelco_state::bigkarnk(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 10000000) /* MC68000P10, 10 MHz */ M68000(config, m_maincpu, 10000000); /* MC68000P10, 10 MHz */
MCFG_DEVICE_PROGRAM_MAP(bigkarnk_map) m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::bigkarnk_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
MCFG_DEVICE_ADD("audiocpu", MC6809E, 8867000/4) /* 68B09EP, 2.21675 MHz? */ MC6809E(config, m_audiocpu, 8867000/4); /* 68B09EP, 2.21675 MHz? */
MCFG_DEVICE_PROGRAM_MAP(bigkarnk_snd_map) m_audiocpu->set_addrmap(AS_PROGRAM, &gaelco_state::bigkarnk_snd_map);
config.m_minimum_quantum = attotime::from_hz(600); config.m_minimum_quantum = attotime::from_hz(600);
@ -663,13 +663,13 @@ MACHINE_CONFIG_START(gaelco_state::bigkarnk)
m_outlatch->q_out_cb<3>().set(FUNC(gaelco_state::coin2_counter_w)); m_outlatch->q_out_cb<3>().set(FUNC(gaelco_state::coin2_counter_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(32*16, 32*16) screen.set_size(32*16, 32*16);
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) screen.set_visarea(0, 320-1, 16, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_bigkarnk) screen.set_screen_update(FUNC(gaelco_state::screen_update_bigkarnk));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -682,28 +682,26 @@ MACHINE_CONFIG_START(gaelco_state::bigkarnk)
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE); m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE);
MCFG_DEVICE_ADD("ymsnd", YM3812, 3580000) YM3812(config, "ymsnd", 3580000).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaelco_state::maniacsq)
void gaelco_state::maniacsq(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2 ) /* verified on pcb */ M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(maniacsq_map) m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::maniacsq_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(32*16, 32*16) screen.set_size(32*16, 32*16);
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) screen.set_visarea(0, 320-1, 16, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq) screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -713,17 +711,17 @@ MACHINE_CONFIG_START(gaelco_state::maniacsq)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) // pin 7 not verified okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); // pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, oki_map) oki.set_addrmap(0, &gaelco_state::oki_map);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) oki.add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(gaelco_state::squash)
void gaelco_state::squash(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(20'000'000)/2 ) /* verified on pcb */ M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(squash_map) m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::squash_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
config.m_minimum_quantum = attotime::from_hz(600); config.m_minimum_quantum = attotime::from_hz(600);
@ -735,13 +733,13 @@ MACHINE_CONFIG_START(gaelco_state::squash)
m_outlatch->q_out_cb<4>().set_nop(); // used m_outlatch->q_out_cb<4>().set_nop(); // used
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(58) screen.set_refresh_hz(58);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(32*16, 32*16) screen.set_size(32*16, 32*16);
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) screen.set_visarea(0, 320-1, 16, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq) screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -751,17 +749,17 @@ MACHINE_CONFIG_START(gaelco_state::squash)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* verified on pcb */ okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, oki_map) oki.set_addrmap(0, &gaelco_state::oki_map);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) oki.add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(gaelco_state::thoop)
void gaelco_state::thoop(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2 ) /* verified on pcb */ M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(thoop_map) m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::thoop_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
config.m_minimum_quantum = attotime::from_hz(600); config.m_minimum_quantum = attotime::from_hz(600);
@ -773,13 +771,13 @@ MACHINE_CONFIG_START(gaelco_state::thoop)
m_outlatch->q_out_cb<4>().set_nop(); // used m_outlatch->q_out_cb<4>().set_nop(); // used
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(32*16, 32*16) screen.set_size(32*16, 32*16);
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1) screen.set_visarea(0, 320-1, 16, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq) screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -789,10 +787,10 @@ MACHINE_CONFIG_START(gaelco_state::thoop)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) // pin 7 not verified okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); // pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, oki_map) oki.set_addrmap(0, &gaelco_state::oki_map);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) oki.add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }
/************************************* /*************************************

View File

@ -71,22 +71,23 @@ static INPUT_PORTS_START( gaelcopc )
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(gaelcopc_state::gaelcopc) void gaelcopc_state::gaelcopc(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", PENTIUM, 2000000000) /* Pentium4? */ PENTIUM(config, m_maincpu, 2000000000); /* Pentium4? */
MCFG_DEVICE_PROGRAM_MAP(gaelcopc_map) m_maincpu->set_addrmap(AS_PROGRAM, &gaelcopc_state::gaelcopc_map);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_UPDATE_DRIVER(gaelcopc_state, screen_update) screen.set_screen_update(FUNC(gaelcopc_state::screen_update));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) screen.set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1) screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1);
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
MCFG_PALETTE_ADD("palette", 0x100) PALETTE(config, "palette").set_entries(0x100);
MACHINE_CONFIG_END }
ROM_START(tokyocop) ROM_START(tokyocop)

View File

@ -610,30 +610,31 @@ static GFXDECODE_START( gfx_gal3_r )
GFXDECODE_ENTRY( "obj_board2", 0x000000, tile_layout, 0x000, 0x20 ) GFXDECODE_ENTRY( "obj_board2", 0x000000, tile_layout, 0x000, 0x20 )
GFXDECODE_END GFXDECODE_END
MACHINE_CONFIG_START(gal3_state::gal3) void gal3_state::gal3(machine_config &config)
MCFG_DEVICE_ADD("maincpu", M68020, 49152000/2) {
MCFG_DEVICE_PROGRAM_MAP(cpu_mst_map) m68020_device &maincpu(M68020(config, "maincpu", 49152000/2));
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", gal3_state, irq1_line_hold) maincpu.set_addrmap(AS_PROGRAM, &gal3_state::cpu_mst_map);
maincpu.set_vblank_int("lscreen", FUNC(gal3_state::irq1_line_hold));
MCFG_DEVICE_ADD("cpuslv", M68020, 49152000/2) m68020_device &cpusly(M68020(config, "cpuslv", 49152000/2));
MCFG_DEVICE_PROGRAM_MAP(cpu_slv_map) cpusly.set_addrmap(AS_PROGRAM, &gal3_state::cpu_slv_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", gal3_state, irq1_line_hold) cpusly.set_vblank_int("lscreen", FUNC(gal3_state::irq1_line_hold));
MCFG_DEVICE_ADD("rs_cpu", M68000, 49152000/4) m68000_device &rs_cpu(M68000(config, "rs_cpu", 49152000/4));
MCFG_DEVICE_PROGRAM_MAP(rs_cpu_map) rs_cpu.set_addrmap(AS_PROGRAM, &gal3_state::rs_cpu_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", gal3_state, irq5_line_hold) /// programmable via 148 IC rs_cpu.set_vblank_int("lscreen", FUNC(gal3_state::irq5_line_hold)); /// programmable via 148 IC
MCFG_DEVICE_ADD("sound_cpu", M68000, 12000000) // ?? m68000_device &sound_cpu(M68000(config, "sound_cpu", 12000000)); // ??
MCFG_DEVICE_PROGRAM_MAP(sound_cpu_map) sound_cpu.set_addrmap(AS_PROGRAM, &gal3_state::sound_cpu_map);
MCFG_DEVICE_ADD("psn_b1_cpu", M68000, 12000000) // ?? m68000_device &psn_b1_cpu(M68000(config, "psn_b1_cpu", 12000000)); // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map) psn_b1_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
/* /*
MCFG_DEVICE_ADD("psn_b2_cpu", M68000, 12000000) // ?? m68000_device &psn_b2_cpu(M68000(config, "psn_b2_cpu", 12000000)); // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map,0) psn_b2_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
MCFG_DEVICE_ADD("psn_b3_cpu", M68000, 12000000) // ?? m68000_device &psn_b3_cpu(M68000(config, "psn_b3_cpu", 12000000)); // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map,0) psn_b3_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
*/ */
config.m_minimum_quantum = attotime::from_hz(60*8000); /* 8000 CPU slices per frame */ config.m_minimum_quantum = attotime::from_hz(60*8000); /* 8000 CPU slices per frame */
@ -641,13 +642,13 @@ MACHINE_CONFIG_START(gal3_state::gal3)
// video chain 1 // video chain 1
MCFG_SCREEN_ADD("lscreen", RASTER) screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) lscreen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 64*8) lscreen.set_size(64*8, 64*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 512-1) lscreen.set_visarea(0*8, 512-1, 0*8, 512-1);
MCFG_SCREEN_UPDATE_DRIVER(gal3_state, screen_update_left) lscreen.set_screen_update(FUNC(gal3_state::screen_update_left));
MCFG_SCREEN_PALETTE("palette_1") lscreen.set_palette(m_palette[0]);
GFXDECODE(config, "gfxdecode_1", m_palette[0], gfx_gal3_l); GFXDECODE(config, "gfxdecode_1", m_palette[0], gfx_gal3_l);
PALETTE(config, m_palette[0]).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS); PALETTE(config, m_palette[0]).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS);
@ -671,13 +672,13 @@ MACHINE_CONFIG_START(gal3_state::gal3)
// video chain 2 // video chain 2
MCFG_SCREEN_ADD("rscreen", RASTER) screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) rscreen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 64*8) rscreen.set_size(64*8, 64*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 512-1) rscreen.set_visarea(0*8, 512-1, 0*8, 512-1);
MCFG_SCREEN_UPDATE_DRIVER(gal3_state, screen_update_right) rscreen.set_screen_update(FUNC(gal3_state::screen_update_right));
MCFG_SCREEN_PALETTE("palette_2") rscreen.set_palette(m_palette[1]);
GFXDECODE(config, "gfxdecode_2", m_palette[1], gfx_gal3_r); GFXDECODE(config, "gfxdecode_2", m_palette[1], gfx_gal3_r);
PALETTE(config, m_palette[1]).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS); PALETTE(config, m_palette[1]).set_format(palette_device::xBRG_888, NAMCOS21_NUM_COLORS);
@ -712,7 +713,7 @@ MACHINE_CONFIG_START(gal3_state::gal3)
m_c140_16a->set_bank_type(c140_device::C140_TYPE::SYSTEM21); m_c140_16a->set_bank_type(c140_device::C140_TYPE::SYSTEM21);
m_c140_16a->add_route(0, "lspeaker", 0.50); m_c140_16a->add_route(0, "lspeaker", 0.50);
m_c140_16a->add_route(1, "rspeaker", 0.50); m_c140_16a->add_route(1, "rspeaker", 0.50);
MACHINE_CONFIG_END }
/* /*

View File

@ -463,23 +463,23 @@ void galaxi_state::machine_reset()
Machine Drivers Machine Drivers
***************************************************************************/ ***************************************************************************/
MACHINE_CONFIG_START(galaxi_state::galaxi) void galaxi_state::galaxi(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, CPU_CLOCK) M68000(config, m_maincpu, CPU_CLOCK);
MCFG_DEVICE_PROGRAM_MAP(galaxi_map) m_maincpu->set_addrmap(AS_PROGRAM, &galaxi_state::galaxi_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galaxi_state, irq4_line_hold) m_maincpu->set_vblank_int("screen", FUNC(galaxi_state::irq4_line_hold));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(512, 256) m_screen->set_size(512, 256);
MCFG_SCREEN_VISIBLE_AREA(16*5, 512-16*2-1, 16*1, 256-1) m_screen->set_visarea(16*5, 512-16*2-1, 16*1, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(galaxi_state, screen_update) m_screen->set_screen_update(FUNC(galaxi_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galaxi); GFXDECODE(config, m_gfxdecode, m_palette, gfx_galaxi);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x400); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x400);
@ -487,30 +487,29 @@ MACHINE_CONFIG_START(galaxi_state::galaxi)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, SND_CLOCK, okim6295_device::PIN7_LOW) // ? OKIM6295(config, "oki", SND_CLOCK, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 1.0); // ?
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(galaxi_state::magjoker) void galaxi_state::magjoker(machine_config &config)
{
galaxi(config); galaxi(config);
/* sound hardware */ /* sound hardware */
MCFG_DEVICE_MODIFY("oki")
/* ADPCM samples are recorded with extremely low volume */ /* ADPCM samples are recorded with extremely low volume */
MCFG_SOUND_ROUTES_RESET() subdevice<okim6295_device>("oki")->reset_routes();
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 4.0) subdevice<okim6295_device>("oki")->add_route(ALL_OUTPUTS, "mono", 4.0);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(galaxi_state::lastfour) void galaxi_state::lastfour(machine_config &config)
{
galaxi(config); galaxi(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &galaxi_state::lastfour_map);
MCFG_DEVICE_PROGRAM_MAP(lastfour_map) }
MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************

View File

@ -178,21 +178,20 @@ GFXDECODE_END
MACHINE_CONFIG_START(galaxy_state::galaxy) MACHINE_CONFIG_START(galaxy_state::galaxy)
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL / 2) Z80(config, m_maincpu, XTAL / 2);
MCFG_DEVICE_PROGRAM_MAP(galaxy_mem) m_maincpu->set_addrmap(AS_PROGRAM, &galaxy_state::galaxy_mem);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galaxy_state, galaxy_interrupt) m_maincpu->set_vblank_int("screen", FUNC(galaxy_state::galaxy_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(galaxy_state,galaxy_irq_callback) m_maincpu->set_irq_acknowledge_callback(FUNC(galaxy_state::galaxy_irq_callback));
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_PALETTE("palette")
MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxy ) MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxy )
/* video hardware */ /* video hardware */
MCFG_SCREEN_SIZE(384, 212) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 208-1) m_screen->set_refresh_hz(50);
MCFG_SCREEN_UPDATE_DRIVER(galaxy_state, screen_update_galaxy) m_screen->set_palette("palette");
m_screen->set_size(384, 212);
m_screen->set_visarea(0, 384-1, 0, 208-1);
m_screen->set_screen_update(FUNC(galaxy_state::screen_update_galaxy));
GFXDECODE(config, "gfxdecode", "palette", gfx_galaxy); GFXDECODE(config, "gfxdecode", "palette", gfx_galaxy);
PALETTE(config, "palette", palette_device::MONOCHROME); PALETTE(config, "palette", palette_device::MONOCHROME);
@ -216,22 +215,21 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_START(galaxy_state::galaxyp) MACHINE_CONFIG_START(galaxy_state::galaxyp)
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL / 2) Z80(config, m_maincpu, XTAL / 2);
MCFG_DEVICE_PROGRAM_MAP(galaxyp_mem) m_maincpu->set_addrmap(AS_PROGRAM, &galaxy_state::galaxyp_mem);
MCFG_DEVICE_IO_MAP(galaxyp_io) m_maincpu->set_addrmap(AS_IO, &galaxy_state::galaxyp_io);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galaxy_state, galaxy_interrupt) m_maincpu->set_vblank_int("screen", FUNC(galaxy_state::galaxy_interrupt));
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(galaxy_state,galaxy_irq_callback) m_maincpu->set_irq_acknowledge_callback(FUNC(galaxy_state::galaxy_irq_callback));
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_PALETTE("palette")
MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxyp ) MCFG_MACHINE_RESET_OVERRIDE(galaxy_state, galaxyp )
/* video hardware */ /* video hardware */
MCFG_SCREEN_SIZE(384, 208) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 0, 208-1) m_screen->set_refresh_hz(50);
MCFG_SCREEN_UPDATE_DRIVER(galaxy_state, screen_update_galaxy) m_screen->set_palette("palette");
m_screen->set_size(384, 208);
m_screen->set_visarea(0, 384-1, 0, 208-1);
m_screen->set_screen_update(FUNC(galaxy_state::screen_update_galaxy));
PALETTE(config, "palette", palette_device::MONOCHROME); PALETTE(config, "palette", palette_device::MONOCHROME);

View File

@ -67,13 +67,16 @@ class galgames_cart_device : public device_t, public device_rom_interface
{ {
public: public:
// construction/destruction // construction/destruction
galgames_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
galgames_cart_device(mconfig, GALGAMES_CART, tag, owner, clock) galgames_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint8_t cart)
{ } : galgames_cart_device(mconfig, GALGAMES_CART, tag, owner, (uint32_t)0)
{
set_cart(cart);
}
// static configuration // static configuration
static void static_set_cart(device_t &device, uint8_t cart) { downcast<galgames_cart_device &>(device).m_cart = cart; } void set_cart(uint8_t cart) { m_cart = cart; }
static void static_set_pic_bits(device_t &device, int clk, int in, int out, int dis) { downcast<galgames_cart_device &>(device).set_pic_bits(clk, in, out, dis); } void set_pic_bits(int clk, int in, int out, int dis);
// ROM // ROM
DECLARE_READ16_MEMBER(rom_r) { return read_word(offset*2); } DECLARE_READ16_MEMBER(rom_r) { return read_word(offset*2); }
@ -122,7 +125,6 @@ protected:
uint8_t m_pic_iobits, m_pic_data, m_pic_data_rdy, m_pic_data_bit, m_pic_data_clk; uint8_t m_pic_iobits, m_pic_data, m_pic_data_rdy, m_pic_data_bit, m_pic_data_clk;
uint8_t m_pic_clk_mask, m_pic_in_mask, m_pic_out_mask, m_pic_dis_mask; uint8_t m_pic_clk_mask, m_pic_in_mask, m_pic_out_mask, m_pic_dis_mask;
void set_pic_bits(int clk, int in, int out, int dis);
void log_cart_comm(const char *text, uint8_t data); void log_cart_comm(const char *text, uint8_t data);
void pic_comm_reset(); void pic_comm_reset();
}; };
@ -130,17 +132,6 @@ protected:
// device type definition // device type definition
DEFINE_DEVICE_TYPE(GALGAMES_CART, galgames_cart_device, "starpak_cart", "Galaxy Games StarPak Cartridge") DEFINE_DEVICE_TYPE(GALGAMES_CART, galgames_cart_device, "starpak_cart", "Galaxy Games StarPak Cartridge")
#define MCFG_GALGAMES_CART_INDEX(_cart) \
galgames_cart_device::static_set_cart(*device, _cart);
#define MCFG_GALGAMES_PIC_BITS(_clk, _in, _out, _dis) \
galgames_cart_device::static_set_pic_bits(*device, _clk, _in, _out, _dis);
#define MCFG_GALGAMES_EMPTY_CART_ADD(_tag, _cart) \
MCFG_DEVICE_ADD(_tag, GALGAMES_CART, 0) \
MCFG_GALGAMES_CART_INDEX(_cart)
// BIOS "cart" // BIOS "cart"
@ -148,9 +139,12 @@ class galgames_bios_cart_device : public galgames_cart_device
{ {
public: public:
// construction/destruction // construction/destruction
galgames_bios_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : galgames_bios_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint8_t cart)
galgames_cart_device(mconfig, GALGAMES_BIOS_CART, tag, owner, clock) : galgames_cart_device(mconfig, GALGAMES_BIOS_CART, tag, owner, (uint32_t)0)
{ } {
set_cart(cart);
}
protected: protected:
// device-level overrides // device-level overrides
virtual void device_add_mconfig(machine_config &config) override; virtual void device_add_mconfig(machine_config &config) override;
@ -163,11 +157,6 @@ void galgames_bios_cart_device::device_add_mconfig(machine_config &config)
EEPROM_93C76_8BIT(config, "eeprom"); EEPROM_93C76_8BIT(config, "eeprom");
} }
#define MCFG_GALGAMES_BIOS_CART_ADD(_tag, _cart) \
MCFG_DEVICE_ADD(_tag, GALGAMES_BIOS_CART, 0) \
MCFG_GALGAMES_CART_INDEX(_cart)
// STARPAK2 cart // STARPAK2 cart
@ -175,9 +164,13 @@ class galgames_starpak2_cart_device : public galgames_cart_device
{ {
public: public:
// construction/destruction // construction/destruction
galgames_starpak2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : galgames_starpak2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint8_t cart)
galgames_cart_device(mconfig, GALGAMES_STARPAK2_CART, tag, owner, clock) : galgames_cart_device(mconfig, GALGAMES_STARPAK2_CART, tag, owner, (uint32_t)0)
{ } {
set_cart(cart);
set_pic_bits(5, 4, 2, 1);
}
protected: protected:
// device-level overrides // device-level overrides
virtual void device_add_mconfig(machine_config &config) override; virtual void device_add_mconfig(machine_config &config) override;
@ -194,12 +187,6 @@ void galgames_starpak2_cart_device::device_add_mconfig(machine_config &config)
EEPROM_93C76_8BIT(config, "eeprom"); EEPROM_93C76_8BIT(config, "eeprom");
} }
#define MCFG_GALGAMES_STARPAK2_CART_ADD(_tag, _cart) \
MCFG_DEVICE_ADD(_tag, GALGAMES_STARPAK2_CART, 0) \
MCFG_GALGAMES_CART_INDEX(_cart) \
MCFG_GALGAMES_PIC_BITS(5, 4, 2, 1)
// STARPAK3 cart // STARPAK3 cart
@ -207,9 +194,13 @@ class galgames_starpak3_cart_device : public galgames_cart_device
{ {
public: public:
// construction/destruction // construction/destruction
galgames_starpak3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : galgames_starpak3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint8_t cart)
galgames_cart_device(mconfig, GALGAMES_STARPAK3_CART, tag, owner, clock) : galgames_cart_device(mconfig, GALGAMES_STARPAK3_CART, tag, owner, (uint32_t)0)
{ } {
set_cart(cart);
set_pic_bits(0, 2, 3, 4);
}
protected: protected:
// device-level overrides // device-level overrides
virtual void device_add_mconfig(machine_config &config) override; virtual void device_add_mconfig(machine_config &config) override;
@ -227,12 +218,6 @@ void galgames_starpak3_cart_device::device_add_mconfig(machine_config &config)
EEPROM_93C76_8BIT(config, "eeprom"); EEPROM_93C76_8BIT(config, "eeprom");
} }
#define MCFG_GALGAMES_STARPAK3_CART_ADD(_tag, _cart) \
MCFG_DEVICE_ADD(_tag, GALGAMES_STARPAK3_CART, 0) \
MCFG_GALGAMES_CART_INDEX(_cart) \
MCFG_GALGAMES_PIC_BITS(0, 2, 3, 4)
/*************************************************************************** /***************************************************************************
@ -315,9 +300,6 @@ device_memory_interface::space_config_vector galgames_slot_device::memory_space_
// device type definition // device type definition
DEFINE_DEVICE_TYPE(GALGAMES_SLOT, galgames_slot_device, "starpak_slot", "Galaxy Games Slot") DEFINE_DEVICE_TYPE(GALGAMES_SLOT, galgames_slot_device, "starpak_slot", "Galaxy Games Slot")
#define MCFG_GALGAMES_SLOT_ADD(_tag) \
MCFG_DEVICE_ADD(_tag, GALGAMES_SLOT, 0)
// CART implementation // CART implementation
galgames_cart_device::galgames_cart_device( galgames_cart_device::galgames_cart_device(
@ -981,23 +963,24 @@ int galgames_compute_addr(uint16_t reg_low, uint16_t reg_mid, uint16_t reg_high)
return reg_low | (reg_mid << 16); return reg_low | (reg_mid << 16);
} }
MACHINE_CONFIG_START(galgames_state::galgames_base) void galgames_state::galgames_base(machine_config &config)
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2) {
MCFG_DEVICE_PROGRAM_MAP(galgames_map) M68000(config, m_maincpu, XTAL(24'000'000) / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &galgames_state::galgames_map);
TIMER(config, "scantimer").configure_scanline(FUNC(galgames_state::scanline_interrupt), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(galgames_state::scanline_interrupt), "screen", 0, 1);
WATCHDOG_TIMER(config, "watchdog"); WATCHDOG_TIMER(config, "watchdog");
MCFG_GALGAMES_SLOT_ADD("slot") GALGAMES_SLOT(config, m_slot, 0);
MCFG_GALGAMES_BIOS_CART_ADD( "cart0", 0) GALGAMES_BIOS_CART(config, "cart0", 0);
// video hardware // video hardware
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(400, 256) m_screen->set_size(400, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 256-1) m_screen->set_visarea(0, 400-1, 0, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(galgames_state, screen_update) m_screen->set_screen_update(FUNC(galgames_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
CESBLIT(config, m_blitter, XTAL(24'000'000), m_screen); CESBLIT(config, m_blitter, XTAL(24'000'000), m_screen);
m_blitter->set_addrmap(AS_PROGRAM, &galgames_state::blitter_map); m_blitter->set_addrmap(AS_PROGRAM, &galgames_state::blitter_map);
@ -1008,33 +991,35 @@ MACHINE_CONFIG_START(galgames_state::galgames_base)
// sound hardware // sound hardware
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(24'000'000) / 16, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified (voices in galgame4 seem ok) OKIM6295(config, m_oki, XTAL(24'000'000) / 16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // clock frequency & pin 7 not verified (voices in galgame4 seem ok)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(galgames_state::galgbios) void galgames_state::galgbios(machine_config &config)
{
galgames_base(config); galgames_base(config);
MCFG_GALGAMES_EMPTY_CART_ADD("cart1", 1) GALGAMES_CART(config, "cart1", 1);
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2) GALGAMES_CART(config, "cart2", 2);
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3) GALGAMES_CART(config, "cart3", 3);
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4) GALGAMES_CART(config, "cart4", 4);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(galgames_state::galgame2) void galgames_state::galgame2(machine_config &config)
{
galgames_base(config); galgames_base(config);
MCFG_GALGAMES_STARPAK2_CART_ADD("cart1", 1) GALGAMES_STARPAK2_CART(config, "cart1", 1);
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2) GALGAMES_CART(config, "cart2", 2);
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3) GALGAMES_CART(config, "cart3", 3);
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4) GALGAMES_CART(config, "cart4", 4);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(galgames_state::galgame3) void galgames_state::galgame3(machine_config &config)
{
galgames_base(config); galgames_base(config);
MCFG_GALGAMES_STARPAK3_CART_ADD("cart1", 1) GALGAMES_STARPAK3_CART(config, "cart1", 1);
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2) GALGAMES_CART(config, "cart2", 2);
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3) GALGAMES_CART(config, "cart3", 3);
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4) GALGAMES_CART(config, "cart4", 4);
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************

View File

@ -429,18 +429,18 @@ MACHINE_RESET_MEMBER(galivan_state,ninjemak)
m_ninjemak_dispdisable = 0; m_ninjemak_dispdisable = 0;
} }
MACHINE_CONFIG_START(galivan_state::galivan) void galivan_state::galivan(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz? */ Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz? */
MCFG_DEVICE_PROGRAM_MAP(galivan_map) m_maincpu->set_addrmap(AS_PROGRAM, &galivan_state::galivan_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &galivan_state::io_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galivan_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(galivan_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000)/2) /* 4 MHz? */ z80_device &audiocpu(Z80(config, "audiocpu", XTAL(8'000'000)/2)); /* 4 MHz? */
MCFG_DEVICE_PROGRAM_MAP(sound_map) audiocpu.set_addrmap(AS_PROGRAM, &galivan_state::sound_map);
MCFG_DEVICE_IO_MAP(sound_io_map) audiocpu.set_addrmap(AS_IO, &galivan_state::sound_io_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ? audiocpu.set_periodic_int(FUNC(galivan_state::irq0_line_hold), attotime::from_hz(XTAL(8'000'000)/2/512)); // ?
MCFG_MACHINE_START_OVERRIDE(galivan_state,galivan) MCFG_MACHINE_START_OVERRIDE(galivan_state,galivan)
MCFG_MACHINE_RESET_OVERRIDE(galivan_state,galivan) MCFG_MACHINE_RESET_OVERRIDE(galivan_state,galivan)
@ -448,14 +448,14 @@ MACHINE_CONFIG_START(galivan_state::galivan)
/* video hardware */ /* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram); BUFFERED_SPRITERAM8(config, m_spriteram);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_galivan) screen.set_screen_update(FUNC(galivan_state::screen_update_galivan));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising)) screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galivan); GFXDECODE(config, m_gfxdecode, m_palette, gfx_galivan);
PALETTE(config, m_palette, FUNC(galivan_state::galivan_palette), 8*16+16*16+256*16, 256); PALETTE(config, m_palette, FUNC(galivan_state::galivan_palette), 8*16+16*16+256*16, 256);
@ -467,53 +467,52 @@ MACHINE_CONFIG_START(galivan_state::galivan)
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("ymsnd", YM3526, XTAL(8'000'000)/2) YM3526(config, "ymsnd", XTAL(8'000'000)/2).add_route(ALL_OUTPUTS, "speaker", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(dangarj_state::dangarj) void dangarj_state::dangarj(machine_config &config)
{
galivan(config); galivan(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_IO, &dangarj_state::dangarj_io_map);
MCFG_DEVICE_IO_MAP(dangarj_io_map)
NB1412M2(config, m_prot, XTAL(8'000'000)); // divided by 2 maybe NB1412M2(config, m_prot, XTAL(8'000'000)); // divided by 2 maybe
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(galivan_state::ninjemak)
void galivan_state::ninjemak(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz? */ Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz? */
MCFG_DEVICE_PROGRAM_MAP(ninjemak_map) m_maincpu->set_addrmap(AS_PROGRAM, &galivan_state::ninjemak_map);
MCFG_DEVICE_IO_MAP(ninjemak_io_map) m_maincpu->set_addrmap(AS_IO, &galivan_state::ninjemak_io_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galivan_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(galivan_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000)/2) /* 4 MHz? */ z80_device &audiocpu(Z80(config, "audiocpu", XTAL(8'000'000)/2)); /* 4 MHz? */
MCFG_DEVICE_PROGRAM_MAP(sound_map) audiocpu.set_addrmap(AS_PROGRAM, &galivan_state::sound_map);
MCFG_DEVICE_IO_MAP(sound_io_map) audiocpu.set_addrmap(AS_IO, &galivan_state::sound_io_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ? audiocpu.set_periodic_int(FUNC(galivan_state::irq0_line_hold), attotime::from_hz(XTAL(8'000'000)/2/512)); // ?
MCFG_MACHINE_START_OVERRIDE(galivan_state,ninjemak) MCFG_MACHINE_START_OVERRIDE(galivan_state,ninjemak)
MCFG_MACHINE_RESET_OVERRIDE(galivan_state,ninjemak) MCFG_MACHINE_RESET_OVERRIDE(galivan_state,ninjemak)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0) NB1414M4(config, m_nb1414m4, 0);
/* video hardware */ /* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram); BUFFERED_SPRITERAM8(config, m_spriteram);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_ninjemak) screen.set_screen_update(FUNC(galivan_state::screen_update_ninjemak));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising)) screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galivan); GFXDECODE(config, m_gfxdecode, m_palette, gfx_galivan);
PALETTE(config, m_palette, FUNC(galivan_state::galivan_palette), 8*16+16*16+256*16, 256); PALETTE(config, m_palette, FUNC(galivan_state::galivan_palette), 8*16+16*16+256*16, 256);
@ -525,15 +524,14 @@ MACHINE_CONFIG_START(galivan_state::ninjemak)
GENERIC_LATCH_8(config, m_soundlatch); GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("ymsnd", YM3526, XTAL(8'000'000)/2) YM3526(config, "ymsnd", XTAL(8'000'000)/2).add_route(ALL_OUTPUTS, "speaker", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC DAC_8BIT_R2R(config, "dac1", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC DAC_8BIT_R2R(config, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac1", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac1", -1.0, DAC_VREF_NEG_INPUT);
vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac2", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac2", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END }
void galivan_state::youmab(machine_config &config) void galivan_state::youmab(machine_config &config)

View File

@ -622,27 +622,27 @@ TIMER_DEVICE_CALLBACK_MEMBER(galpani2_state::galpani2_interrupt2)
m_subcpu->set_input_line(3, HOLD_LINE); m_subcpu->set_input_line(3, HOLD_LINE);
} }
MACHINE_CONFIG_START(galpani2_state::galpani2) void galpani2_state::galpani2(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(27'000'000)/2) /* Confirmed on galpani2i PCB */ M68000(config, m_maincpu, XTAL(27'000'000)/2); /* Confirmed on galpani2i PCB */
MCFG_DEVICE_PROGRAM_MAP(galpani2_mem1) m_maincpu->set_addrmap(AS_PROGRAM, &galpani2_state::galpani2_mem1);
TIMER(config, "m_scantimer").configure_scanline(FUNC(galpani2_state::galpani2_interrupt1), "screen", 0, 1); TIMER(config, "m_scantimer").configure_scanline(FUNC(galpani2_state::galpani2_interrupt1), "screen", 0, 1);
//config.m_perfect_cpu_quantum = subtag("maincpu"); //config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", M68000, XTAL(27'000'000)/2) /* Confirmed on galpani2i PCB */ M68000(config, m_subcpu, XTAL(27'000'000)/2); /* Confirmed on galpani2i PCB */
MCFG_DEVICE_PROGRAM_MAP(galpani2_mem2) m_subcpu->set_addrmap(AS_PROGRAM, &galpani2_state::galpani2_mem2);
TIMER(config, "s_scantimer").configure_scanline(FUNC(galpani2_state::galpani2_interrupt2), "screen", 0, 1); TIMER(config, "s_scantimer").configure_scanline(FUNC(galpani2_state::galpani2_interrupt2), "screen", 0, 1);
EEPROM_93C46_16BIT(config, "eeprom"); EEPROM_93C46_16BIT(config, "eeprom");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(320, 256) screen.set_size(320, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 256-1-16) screen.set_visarea(0, 320-1, 0, 256-1-16);
MCFG_SCREEN_UPDATE_DRIVER(galpani2_state, screen_update_galpani2) screen.set_screen_update(FUNC(galpani2_state::screen_update_galpani2));
GFXDECODE(config, "gfxdecode", m_palette, gfx_galpani2); GFXDECODE(config, "gfxdecode", m_palette, gfx_galpani2);
PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x4000); // sprites PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x4000); // sprites
@ -657,12 +657,10 @@ MACHINE_CONFIG_START(galpani2_state::galpani2)
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(20'000'000)/10, okim6295_device::PIN7_HIGH) /* Confirmed on galpani2i PCB */ OKIM6295(config, "oki1", XTAL(20'000'000)/10, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "lspeaker", 1.0); /* Confirmed on galpani2i PCB */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(20'000'000)/10, okim6295_device::PIN7_HIGH) /* Confirmed on galpani2i PCB */ OKIM6295(config, m_oki2, XTAL(20'000'000)/10, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "rspeaker", 1.0); /* Confirmed on galpani2i PCB */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) }
MACHINE_CONFIG_END
/*************************************************************************** /***************************************************************************

View File

@ -450,45 +450,43 @@ void galpani3_state::galpani3_map(address_map &map)
} }
MACHINE_CONFIG_START(galpani3_state::galpani3) void galpani3_state::galpani3(machine_config &config)
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(28'636'363)/2) // Confirmed from PCB {
MCFG_DEVICE_PROGRAM_MAP(galpani3_map) M68000(config, m_maincpu, XTAL(28'636'363)/2); // Confirmed from PCB
m_maincpu->set_addrmap(AS_PROGRAM, &galpani3_state::galpani3_map);
TIMER(config, "scantimer").configure_scanline(FUNC(galpani3_state::galpani3_vblank), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(galpani3_state::galpani3_vblank), "screen", 0, 1);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 64*8) screen.set_size(64*8, 64*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1) screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1);
//MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 64*8-1) //screen.set_visarea(0*8, 64*8-1, 0*8, 64*8-1);
MCFG_SCREEN_UPDATE_DRIVER(galpani3_state, screen_update_galpani3) screen.set_screen_update(FUNC(galpani3_state::screen_update_galpani3));
EEPROM_93C46_16BIT(config, "eeprom"); EEPROM_93C46_16BIT(config, "eeprom");
WATCHDOG_TIMER(config, "watchdog"); WATCHDOG_TIMER(config, "watchdog");
MCFG_DEVICE_ADD("toybox", KANEKO_TOYBOX, "eeprom", "DSW1", "mcuram", "mcudata") KANEKO_TOYBOX(config, "toybox", "eeprom", "DSW1", "mcuram", "mcudata");
PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x4000); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x4000);
MCFG_DEVICE_ADD("spritegen", SKNS_SPRITE, 0) SKNS_SPRITE(config, m_spritegen, 0);
MCFG_DEVICE_ADD("grap2_0", KANEKO_GRAP2, 0) KANEKO_GRAP2(config, m_grap2[0], 0).set_device_rom_tag("rlebg");
MCFG_DEVICE_ROM("rlebg")
MCFG_DEVICE_ADD("grap2_1", KANEKO_GRAP2, 0) KANEKO_GRAP2(config, m_grap2[1], 0).set_device_rom_tag("rlebg");
MCFG_DEVICE_ROM("rlebg")
MCFG_DEVICE_ADD("grap2_2", KANEKO_GRAP2, 0) KANEKO_GRAP2(config, m_grap2[2], 0).set_device_rom_tag("rlebg");
MCFG_DEVICE_ROM("rlebg")
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(33'333'000) / 2) // Confirmed from PCB ymz280b_device &ymz(YMZ280B(config, "ymz", XTAL(33'333'000) / 2)); // Confirmed from PCB
MCFG_SOUND_ROUTE(0, "mono", 1.0) ymz.add_route(0, "mono", 1.0);
MCFG_SOUND_ROUTE(1, "mono", 1.0) ymz.add_route(1, "mono", 1.0);
MACHINE_CONFIG_END }
ROM_START( galpani3 ) /* All game text in English */ ROM_START( galpani3 ) /* All game text in English */

View File

@ -232,24 +232,24 @@ static GFXDECODE_START( gfx_galpanic )
GFXDECODE_END GFXDECODE_END
MACHINE_CONFIG_START(galpanic_state::galpanic) void galpanic_state::galpanic(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000)) /* verified on pcb */ M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(galpanic_map) m_maincpu->set_addrmap(AS_PROGRAM, &galpanic_state::galpanic_map);
TIMER(config, "scantimer").configure_scanline(FUNC(galpanic_state::scanline), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(galpanic_state::scanline), "screen", 0, 1);
WATCHDOG_TIMER(config, "watchdog"); WATCHDOG_TIMER(config, "watchdog");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */);
MCFG_SCREEN_SIZE(256, 256) m_screen->set_size(256, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1) m_screen->set_visarea(0, 256-1, 0, 224-1);
MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update) m_screen->set_screen_update(FUNC(galpanic_state::screen_update));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, galpanic_state, screen_vblank)) m_screen->screen_vblank().set(FUNC(galpanic_state::screen_vblank));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galpanic); GFXDECODE(config, m_gfxdecode, m_palette, gfx_galpanic);
// fg palette RAM, bit 0 seems to be a transparency flag for the front bitmap // fg palette RAM, bit 0 seems to be a transparency flag for the front bitmap
@ -262,23 +262,23 @@ MACHINE_CONFIG_START(galpanic_state::galpanic)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/6, okim6295_device::PIN7_LOW) /* verified on pcb */ okim6295_device &oki(OKIM6295(config, "oki", XTAL(12'000'000)/6, okim6295_device::PIN7_LOW)); /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, galpanic_oki_map) oki.set_addrmap(0, &galpanic_state::galpanic_oki_map);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) oki.add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(galpanic_state::galpanica) void galpanic_state::galpanica(machine_config &config)
{
galpanic(config); galpanic(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &galpanic_state::galpanica_map);
MCFG_DEVICE_PROGRAM_MAP(galpanica_map)
/* basic machine hardware */ /* basic machine hardware */
KANEKO_HIT(config, "calc1_mcu").set_type(0); KANEKO_HIT(config, "calc1_mcu").set_type(0);
/* arm watchdog */ /* arm watchdog */
subdevice<watchdog_timer_device>("watchdog")->set_time(attotime::from_seconds(3)); /* a guess, and certainly wrong */ subdevice<watchdog_timer_device>("watchdog")->set_time(attotime::from_seconds(3)); /* a guess, and certainly wrong */
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************

View File

@ -268,13 +268,13 @@ MACHINE_CONFIG_START(gamecom_state::gamecom)
//NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); //NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", LCD) SCREEN(config, m_screen, SCREEN_TYPE_LCD);
MCFG_SCREEN_REFRESH_RATE( 59.732155 ) m_screen->set_refresh_hz(59.732155);
MCFG_SCREEN_VBLANK_TIME(500) m_screen->set_vblank_time(500);
MCFG_SCREEN_UPDATE_DRIVER(gamecom_state, screen_update) m_screen->set_screen_update(FUNC(gamecom_state::screen_update));
MCFG_SCREEN_SIZE( 200, 160 ) m_screen->set_size(200, 160);
MCFG_SCREEN_VISIBLE_AREA( 0, 199, 0, 159 ) m_screen->set_visarea_full();
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette("palette");
config.set_default_layout(layout_gamecom); config.set_default_layout(layout_gamecom);
PALETTE(config, "palette", FUNC(gamecom_state::gamecom_palette), 5); PALETTE(config, "palette", FUNC(gamecom_state::gamecom_palette), 5);

View File

@ -446,10 +446,10 @@ void gamecstl_state::machine_reset()
MACHINE_CONFIG_START(gamecstl_state::gamecstl) MACHINE_CONFIG_START(gamecstl_state::gamecstl)
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", PENTIUM3, 200000000) PENTIUM3(config, m_maincpu, 200000000);
MCFG_DEVICE_PROGRAM_MAP(gamecstl_map) m_maincpu->set_addrmap(AS_PROGRAM, &gamecstl_state::gamecstl_map);
MCFG_DEVICE_IO_MAP(gamecstl_io) m_maincpu->set_addrmap(AS_IO, &gamecstl_state::gamecstl_io);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config); pcat_common(config);
@ -461,18 +461,16 @@ MACHINE_CONFIG_START(gamecstl_state::gamecstl)
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w)); ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(640, 480) screen.set_size(640, 480);
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 199) screen.set_visarea(0, 639, 0, 199);
MCFG_SCREEN_UPDATE_DRIVER(gamecstl_state, screen_update_gamecstl) screen.set_screen_update(FUNC(gamecstl_state::screen_update_gamecstl));
MCFG_SCREEN_PALETTE("palette") screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cga); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cga);
MCFG_PALETTE_ADD("palette", 16) PALETTE(config, m_palette).set_entries(16);
MACHINE_CONFIG_END MACHINE_CONFIG_END
void gamecstl_state::init_gamecstl() void gamecstl_state::init_gamecstl()

View File

@ -142,10 +142,11 @@ void gamecube_state::machine_reset()
// MACHINE DEFINITIONS // MACHINE DEFINITIONS
//************************************************************************** //**************************************************************************
MACHINE_CONFIG_START(gamecube_state::gc) void gamecube_state::gc(machine_config &config)
MCFG_DEVICE_ADD("maincpu", PPC603, 485000000 / 100) // 485 MHz IBM "Gekko" (750CXe/750FX based) {
MCFG_DEVICE_PROGRAM_MAP(ppc_mem) PPC603(config, m_cpu, 485000000 / 100); // 485 MHz IBM "Gekko" (750CXe/750FX based)
MACHINE_CONFIG_END m_cpu->set_addrmap(AS_PROGRAM, &gamecube_state::ppc_mem);
}
//************************************************************************** //**************************************************************************

View File

@ -288,17 +288,17 @@ INTERRUPT_GEN_MEMBER(gameking_state::gameking_frame_int) // guess to get over bi
MACHINE_CONFIG_START(gameking_state::gameking) MACHINE_CONFIG_START(gameking_state::gameking)
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", R65C02, 6000000) R65C02(config, m_maincpu, 6000000);
MCFG_DEVICE_PROGRAM_MAP(gameking_mem) m_maincpu->set_addrmap(AS_PROGRAM, &gameking_state::gameking_mem);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gameking_state, gameking_frame_int) m_maincpu->set_vblank_int("screen", FUNC(gameking_state::gameking_frame_int));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", LCD) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_SIZE(48, 32) screen.set_size(48, 32);
MCFG_SCREEN_VISIBLE_AREA(0, 48-1, 0, 32-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(gameking_state, screen_update_gameking) screen.set_screen_update(FUNC(gameking_state::screen_update_gameking));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
PALETTE(config, m_palette, FUNC(gameking_state::gameking_palette), ARRAY_LENGTH(gameking_pens)); PALETTE(config, m_palette, FUNC(gameking_state::gameking_palette), ARRAY_LENGTH(gameking_pens));

View File

@ -131,10 +131,10 @@ void gammagic_state::machine_start()
} }
MACHINE_CONFIG_START(gammagic_state::gammagic) MACHINE_CONFIG_START(gammagic_state::gammagic)
MCFG_DEVICE_ADD("maincpu", PENTIUM, 133000000) // Intel Pentium 133 PENTIUM(config, m_maincpu, 133000000); // Intel Pentium 133
MCFG_DEVICE_PROGRAM_MAP(gammagic_map) m_maincpu->set_addrmap(AS_PROGRAM, &gammagic_state::gammagic_map);
MCFG_DEVICE_IO_MAP(gammagic_io) m_maincpu->set_addrmap(AS_IO, &gammagic_state::gammagic_io);
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config); pcat_common(config);
@ -145,7 +145,6 @@ MACHINE_CONFIG_START(gammagic_state::gammagic)
// MCFG_PCI_BUS_LEGACY_DEVICE(1, "i82371sb", i82371sb_pci_read, i82371sb_pci_write) // MCFG_PCI_BUS_LEGACY_DEVICE(1, "i82371sb", i82371sb_pci_read, i82371sb_pci_write)
/* video hardware */ /* video hardware */
pcvideo_vga(config); pcvideo_vga(config);
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -563,12 +563,12 @@ GFXDECODE_END
* Machine Drivers * * Machine Drivers *
*************************/ *************************/
MACHINE_CONFIG_START(gatron_state::gat) void gatron_state::gat(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, CPU_CLOCK) Z80(config, m_maincpu, CPU_CLOCK);
MCFG_DEVICE_PROGRAM_MAP(gat_map) m_maincpu->set_addrmap(AS_PROGRAM, &gatron_state::gat_map);
MCFG_DEVICE_IO_MAP(gat_portmap) m_maincpu->set_addrmap(AS_IO, &gatron_state::gat_portmap);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -578,23 +578,22 @@ MACHINE_CONFIG_START(gatron_state::gat)
ppi.out_pc_callback().set(FUNC(gatron_state::output_port_1_w)); ppi.out_pc_callback().set(FUNC(gatron_state::output_port_1_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(48*8, 16*16) screen.set_size(48*8, 16*16);
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 16*16-1) screen.set_visarea(0*8, 48*8-1, 0*8, 16*16-1);
MCFG_SCREEN_UPDATE_DRIVER(gatron_state, screen_update) screen.set_screen_update(FUNC(gatron_state::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, "palette", gfx_gat); GFXDECODE(config, m_gfxdecode, "palette", gfx_gat);
MCFG_PALETTE_ADD("palette", 8) PALETTE(config, "palette").set_entries(8);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("snsnd", SN76489, MASTER_CLOCK/8 ) // Present in Bingo PCB. Clock need to be verified. SN76489(config, "snsnd", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 2.00); // Present in Bingo PCB. Clock need to be verified.
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.00) }
MACHINE_CONFIG_END
/************************* /*************************

View File

@ -408,11 +408,11 @@ MACHINE_RESET_MEMBER(gberet_state,gberet)
m_spritebank = 0; m_spritebank = 0;
} }
MACHINE_CONFIG_START(gberet_state::gberet) void gberet_state::gberet(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'432'000)/6) // X1S (generated by a custom IC) Z80(config, m_maincpu, XTAL(18'432'000)/6); // X1S (generated by a custom IC)
MCFG_DEVICE_PROGRAM_MAP(gberet_map) m_maincpu->set_addrmap(AS_PROGRAM, &gberet_state::gberet_map);
TIMER(config, "scantimer").configure_scanline(FUNC(gberet_state::gberet_interrupt_tick), "screen", 0, 16); TIMER(config, "scantimer").configure_scanline(FUNC(gberet_state::gberet_interrupt_tick), "screen", 0, 16);
WATCHDOG_TIMER(config, "watchdog"); WATCHDOG_TIMER(config, "watchdog");
@ -420,13 +420,13 @@ MACHINE_CONFIG_START(gberet_state::gberet)
MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet) MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60.60) screen.set_refresh_hz(60.60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) screen.set_visarea(1*8, 31*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gberet_state, screen_update_gberet) screen.set_screen_update(FUNC(gberet_state::screen_update_gberet));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gberet); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gberet);
PALETTE(config, m_palette, FUNC(gberet_state::gberet_palette), 2*16*16, 32); PALETTE(config, m_palette, FUNC(gberet_state::gberet_palette), 2*16*16, 32);
@ -435,37 +435,36 @@ MACHINE_CONFIG_START(gberet_state::gberet)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("snsnd", SN76489A, XTAL(18'432'000)/12) /* type verified on real and bootleg pcb */ SN76489A(config, m_sn, XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "mono", 1.0); /* type verified on real and bootleg pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gberet_state::mrgoemon) void gberet_state::mrgoemon(machine_config &config)
{
gberet(config); gberet(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &gberet_state::mrgoemon_map);
MCFG_DEVICE_PROGRAM_MAP(mrgoemon_map) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gberet_state::gberetb)
void gberet_state::gberetb(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(20'000'000)/4) // divider guessed Z80(config, m_maincpu, XTAL(20'000'000)/4); // divider guessed
MCFG_DEVICE_PROGRAM_MAP(gberetb_map) m_maincpu->set_addrmap(AS_PROGRAM, &gberet_state::gberetb_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gberet_state, irq0_line_assert) m_maincpu->set_vblank_int("screen", FUNC(gberet_state::irq0_line_assert));
MCFG_DEVICE_PERIODIC_INT_DRIVER(gberet_state, nmi_line_assert, XTAL(20'000'000)/0x8000) // divider guessed m_maincpu->set_periodic_int(FUNC(gberet_state::nmi_line_assert), attotime::from_hz(XTAL(20'000'000)/0x8000)); // divider guessed
MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet) MCFG_MACHINE_START_OVERRIDE(gberet_state,gberet)
MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet) MCFG_MACHINE_RESET_OVERRIDE(gberet_state,gberet)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) screen.set_visarea(1*8, 31*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gberet_state, screen_update_gberetb) screen.set_screen_update(FUNC(gberet_state::screen_update_gberetb));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gberetb); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gberetb);
PALETTE(config, m_palette, FUNC(gberet_state::gberet_palette), 2*16*16, 32); PALETTE(config, m_palette, FUNC(gberet_state::gberet_palette), 2*16*16, 32);
@ -474,9 +473,8 @@ MACHINE_CONFIG_START(gberet_state::gberetb)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("snsnd", SN76489A, XTAL(20'000'000)/12) // divider guessed SN76489A(config, m_sn, XTAL(20'000'000)/12).add_route(ALL_OUTPUTS, "mono", 1.0); // divider guessed
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
/************************************* /*************************************

View File

@ -352,26 +352,26 @@ void gcpinbal_state::machine_reset()
m_msm_bank = 0; m_msm_bank = 0;
} }
MACHINE_CONFIG_START(gcpinbal_state::gcpinbal) void gcpinbal_state::gcpinbal(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 32_MHz_XTAL/2) /* 16 MHz */ M68000(config, m_maincpu, 32_MHz_XTAL/2); /* 16 MHz */
MCFG_DEVICE_PROGRAM_MAP(gcpinbal_map) m_maincpu->set_addrmap(AS_PROGRAM, &gcpinbal_state::gcpinbal_map);
TIMER(config, "scantimer").configure_scanline(FUNC(gcpinbal_state::scanline_cb), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(gcpinbal_state::scanline_cb), "screen", 0, 1);
EEPROM_93C46_16BIT(config, "eeprom"); EEPROM_93C46_16BIT(config, "eeprom");
MCFG_DEVICE_ADD("watchdog", MB3773, 0) MB3773(config, m_watchdog, 0);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */);
MCFG_SCREEN_SIZE(40*8, 32*8) m_screen->set_size(40*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1) m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gcpinbal_state, screen_update_gcpinbal) m_screen->set_screen_update(FUNC(gcpinbal_state::screen_update_gcpinbal));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gcpinbal); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gcpinbal);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 4096); PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 4096);
@ -381,8 +381,7 @@ MACHINE_CONFIG_START(gcpinbal_state::gcpinbal)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
ES8712(config, m_essnd, 0); ES8712(config, m_essnd, 0);
m_essnd->reset_handler().set_inputline("maincpu", 3); m_essnd->reset_handler().set_inputline("maincpu", 3);
@ -393,7 +392,7 @@ MACHINE_CONFIG_START(gcpinbal_state::gcpinbal)
msm.vck_legacy_callback().set("essnd", FUNC(es8712_device::msm_int)); msm.vck_legacy_callback().set("essnd", FUNC(es8712_device::msm_int));
msm.set_prescaler_selector(msm6585_device::S40); /* 16 kHz */ msm.set_prescaler_selector(msm6585_device::S40); /* 16 kHz */
msm.add_route(ALL_OUTPUTS, "mono", 1.0); msm.add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }

View File

@ -692,7 +692,8 @@ void geneve_state::machine_reset()
m_joyport->write_port(0x01); // select Joystick 1 m_joyport->write_port(0x01); // select Joystick 1
} }
MACHINE_CONFIG_START(geneve_state::geneve) void geneve_state::geneve(machine_config &config)
{
geneve_common(config); geneve_common(config);
// Mapper // Mapper
@ -704,9 +705,10 @@ MACHINE_CONFIG_START(geneve_state::geneve)
m_peribox->inta_cb().set(FUNC(geneve_state::inta)); m_peribox->inta_cb().set(FUNC(geneve_state::inta));
m_peribox->intb_cb().set(FUNC(geneve_state::intb)); m_peribox->intb_cb().set(FUNC(geneve_state::intb));
m_peribox->ready_cb().set(FUNC(geneve_state::ext_ready)); m_peribox->ready_cb().set(FUNC(geneve_state::ext_ready));
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(geneve_state::genmod) void geneve_state::genmod(machine_config &config)
{
geneve_common(config); geneve_common(config);
// Mapper // Mapper
@ -718,9 +720,10 @@ MACHINE_CONFIG_START(geneve_state::genmod)
m_peribox->inta_cb().set(FUNC(geneve_state::inta)); m_peribox->inta_cb().set(FUNC(geneve_state::inta));
m_peribox->intb_cb().set(FUNC(geneve_state::intb)); m_peribox->intb_cb().set(FUNC(geneve_state::intb));
m_peribox->ready_cb().set(FUNC(geneve_state::ext_ready)); m_peribox->ready_cb().set(FUNC(geneve_state::ext_ready));
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(geneve_state::geneve_common) void geneve_state::geneve_common(machine_config &config)
{
// basic machine hardware // basic machine hardware
// TMS9995 CPU @ 12.0 MHz // TMS9995 CPU @ 12.0 MHz
TMS9995(config, m_cpu, 12000000); TMS9995(config, m_cpu, 12000000);
@ -783,7 +786,7 @@ MACHINE_CONFIG_START(geneve_state::geneve_common)
// SRAM 384K (max; stock Geneve: 32K, but later MDOS releases require 64K) // SRAM 384K (max; stock Geneve: 32K, but later MDOS releases require 64K)
RAM(config, GENEVE_SRAM_TAG).set_default_size("384K").set_default_value(0); RAM(config, GENEVE_SRAM_TAG).set_default_size("384K").set_default_value(0);
MACHINE_CONFIG_END }
/* /*
ROM loading ROM loading

View File

@ -700,18 +700,18 @@ DEVICE_IMAGE_UNLOAD_MEMBER(geniusiq_state,iq128_cart)
MACHINE_CONFIG_START(geniusiq_state::iq128) MACHINE_CONFIG_START(geniusiq_state::iq128)
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(32'000'000)/2) // The main crystal is at 32MHz, not sure whats the CPU freq M68000(config, m_maincpu, XTAL(32'000'000)/2); // The main crystal is at 32MHz, not sure whats the CPU freq
MCFG_DEVICE_PROGRAM_MAP(geniusiq_mem) m_maincpu->set_addrmap(AS_PROGRAM, &geniusiq_state::geniusiq_mem);
MCFG_DEVICE_PERIODIC_INT_DRIVER(geniusiq_state, irq6_line_hold, 125) // the internal clock is increased by 1 sec every 125 interrupts m_maincpu->set_periodic_int(FUNC(geniusiq_state::irq6_line_hold), attotime::from_hz(125)); // the internal clock is increased by 1 sec every 125 interrupts
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(50) screen.set_refresh_hz(50);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_SIZE(512, 256) screen.set_size(512, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER( geniusiq_state, screen_update ) screen.set_screen_update(FUNC(geniusiq_state::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
PALETTE(config, "palette", FUNC(geniusiq_state::geniusiq_palette), 16); PALETTE(config, "palette", FUNC(geniusiq_state::geniusiq_palette), 16);

View File

@ -262,7 +262,8 @@ static INPUT_PORTS_START(smf)
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(ggconnie_state::ggconnie) void ggconnie_state::ggconnie(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
H6280(config, m_maincpu, PCE_MAIN_CLOCK/3); H6280(config, m_maincpu, PCE_MAIN_CLOCK/3);
m_maincpu->set_addrmap(AS_PROGRAM, &ggconnie_state::sgx_mem); m_maincpu->set_addrmap(AS_PROGRAM, &ggconnie_state::sgx_mem);
@ -273,10 +274,10 @@ MACHINE_CONFIG_START(ggconnie_state::ggconnie)
m_maincpu->add_route(1, "rspeaker", 1.00); m_maincpu->add_route(1, "rspeaker", 1.00);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK/3, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242) screen.set_raw(PCE_MAIN_CLOCK/3, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
MCFG_SCREEN_UPDATE_DRIVER( ggconnie_state, screen_update ) screen.set_screen_update(FUNC(ggconnie_state::screen_update));
MCFG_SCREEN_PALETTE("huc6260") screen.set_palette(m_huc6260);
HUC6260(config, m_huc6260, PCE_MAIN_CLOCK/3); HUC6260(config, m_huc6260, PCE_MAIN_CLOCK/3);
m_huc6260->next_pixel_data().set("huc6202", FUNC(huc6202_device::next_pixel)); m_huc6260->next_pixel_data().set("huc6202", FUNC(huc6202_device::next_pixel));
@ -311,10 +312,10 @@ MACHINE_CONFIG_START(ggconnie_state::ggconnie)
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki", OKIM6295, PCE_MAIN_CLOCK/12, okim6295_device::PIN7_HIGH) /* unknown clock / pin 7 */ OKIM6295(config, m_oki, PCE_MAIN_CLOCK/12, okim6295_device::PIN7_HIGH); /* unknown clock / pin 7 */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00) m_oki->add_route(ALL_OUTPUTS, "lspeaker", 1.00);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) m_oki->add_route(ALL_OUTPUTS, "rspeaker", 1.00);
MACHINE_CONFIG_END }
ROM_START(ggconnie) ROM_START(ggconnie)
ROM_REGION( 0x180000, "maincpu", 0 ) ROM_REGION( 0x180000, "maincpu", 0 )

View File

@ -295,21 +295,21 @@ void giclassicsvr_state::machine_reset()
{ {
} }
MACHINE_CONFIG_START(giclassic_state::giclassic) void giclassic_state::giclassic(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(20'000'000) / 2) // PCB is marked "68000 12 MHz", but only visible osc is 20 MHz M68000(config, m_maincpu, XTAL(20'000'000) / 2); // PCB is marked "68000 12 MHz", but only visible osc is 20 MHz
MCFG_DEVICE_PROGRAM_MAP(satellite_main) m_maincpu->set_addrmap(AS_PROGRAM, &giclassic_state::satellite_main);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", giclassic_state, giclassic_interrupt) m_maincpu->set_vblank_int("screen", FUNC(giclassic_state::giclassic_interrupt));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(59.62) screen.set_refresh_hz(59.62);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(600, 384) screen.set_size(600, 384);
MCFG_SCREEN_VISIBLE_AREA(0, 599, 0, 383) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(giclassic_state, screen_update_giclassic) screen.set_screen_update(FUNC(giclassic_state::screen_update_giclassic));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 256); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 256);
m_palette->enable_shadows(); m_palette->enable_shadows();
@ -318,23 +318,22 @@ MACHINE_CONFIG_START(giclassic_state::giclassic)
m_k056832->set_tile_callback(FUNC(giclassic_state::tile_callback), this); m_k056832->set_tile_callback(FUNC(giclassic_state::tile_callback), this);
m_k056832->set_config("gfx1", K056832_BPP_4PIRATESH, 1, 0); m_k056832->set_config("gfx1", K056832_BPP_4PIRATESH, 1, 0);
m_k056832->set_palette(m_palette); m_k056832->set_palette(m_palette);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(giclassicsvr_state::giclassvr)
void giclassicsvr_state::giclassvr(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)) // unknown speed M68000(config, m_maincpu, XTAL(16'000'000)); // unknown speed
MCFG_DEVICE_PROGRAM_MAP(server_main) m_maincpu->set_addrmap(AS_PROGRAM, &giclassicsvr_state::server_main);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", giclassicsvr_state, giclassicsvr_interrupt) m_maincpu->set_vblank_int("screen", FUNC(giclassicsvr_state::giclassicsvr_interrupt));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(59.62) screen.set_refresh_hz(59.62);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(600, 384) screen.set_visarea_full();
MCFG_SCREEN_VISIBLE_AREA(0, 599, 0, 383) screen.set_screen_update(FUNC(giclassicsvr_state::screen_update_giclassicsvr));
MCFG_SCREEN_UPDATE_DRIVER(giclassicsvr_state, screen_update_giclassicsvr) screen.set_palette(m_palette);
MCFG_SCREEN_PALETTE(m_palette)
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 16384); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 16384);
m_palette->enable_shadows(); m_palette->enable_shadows();
@ -351,7 +350,7 @@ MACHINE_CONFIG_START(giclassicsvr_state::giclassvr)
K053252(config, "k053252a", XTAL(32'000'000)/4).set_offsets(40, 16); // TODO K053252(config, "k053252a", XTAL(32'000'000)/4).set_offsets(40, 16); // TODO
K053252(config, "k053252b", XTAL(32'000'000)/4).set_offsets(40, 16); // TODO K053252(config, "k053252b", XTAL(32'000'000)/4).set_offsets(40, 16); // TODO
MACHINE_CONFIG_END }
ROM_START( giclasex ) ROM_START( giclasex )
ROM_REGION( 0x80000, "maincpu", 0 ) /* main program */ ROM_REGION( 0x80000, "maincpu", 0 ) /* main program */

View File

@ -245,15 +245,15 @@ WRITE_LINE_MEMBER(ginganin_state::ptm_irq)
} }
MACHINE_CONFIG_START(ginganin_state::ginganin) void ginganin_state::ginganin(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, MAIN_CLOCK) M68000(config, m_maincpu, MAIN_CLOCK);
MCFG_DEVICE_PROGRAM_MAP(ginganin_map) m_maincpu->set_addrmap(AS_PROGRAM, &ginganin_state::ginganin_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ginganin_state, irq1_line_hold) /* ? (vectors 1-7 cointain the same address) */ m_maincpu->set_vblank_int("screen", FUNC(ginganin_state::irq1_line_hold)); /* ? (vectors 1-7 contain the same address) */
MCFG_DEVICE_ADD("audiocpu", MC6809, SOUND_CLOCK) // MBL68B09? MC6809(config, m_audiocpu, SOUND_CLOCK); // MBL68B09?
MCFG_DEVICE_PROGRAM_MAP(sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &ginganin_state::sound_map);
ptm6840_device &ptm(PTM6840(config, "6840ptm", SOUND_CLOCK/2)); ptm6840_device &ptm(PTM6840(config, "6840ptm", SOUND_CLOCK/2));
@ -261,13 +261,13 @@ MACHINE_CONFIG_START(ginganin_state::ginganin)
ptm.o1_callback().set(FUNC(ginganin_state::ptm_irq)); ptm.o1_callback().set(FUNC(ginganin_state::ptm_irq));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(256, 256) screen.set_size(256, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0 + 16 , 255 - 16) screen.set_visarea(0, 255, 0 + 16 , 255 - 16);
MCFG_SCREEN_UPDATE_DRIVER(ginganin_state, screen_update_ginganin) screen.set_screen_update(FUNC(ginganin_state::screen_update_ginganin));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ginganin); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ginganin);
PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 1024); PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 1024);
@ -279,9 +279,8 @@ MACHINE_CONFIG_START(ginganin_state::ginganin)
YM2149(config, "psg", SOUND_CLOCK / 2).add_route(ALL_OUTPUTS, "mono", 0.10); YM2149(config, "psg", SOUND_CLOCK / 2).add_route(ALL_OUTPUTS, "mono", 0.10);
MCFG_DEVICE_ADD("ymsnd", Y8950, SOUND_CLOCK) /* The Y8950 is basically a YM3526 with ADPCM built in */ Y8950(config, "ymsnd", SOUND_CLOCK).add_route(ALL_OUTPUTS, "mono", 1.0); /* The Y8950 is basically a YM3526 with ADPCM built in */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END

View File

@ -189,18 +189,19 @@ void gizmondo_state::init_gizmondo()
// do nothing // do nothing
} }
MACHINE_CONFIG_START(gizmondo_state::gizmondo) void gizmondo_state::gizmondo(machine_config &config)
MCFG_DEVICE_ADD("maincpu", ARM9, 40000000) {
MCFG_DEVICE_PROGRAM_MAP(gizmondo_map) ARM9(config, m_maincpu, 40000000);
m_maincpu->set_addrmap(AS_PROGRAM, &gizmondo_state::gizmondo_map);
MCFG_PALETTE_ADD("palette", 32768) PALETTE(config, "palette").set_entries(32768);
MCFG_SCREEN_ADD("screen", LCD) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_SIZE(320, 240) screen.set_size(320, 240);
MCFG_SCREEN_VISIBLE_AREA(0, 320 - 1, 0, 240 - 1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DEVICE("gf4500", gf4500_device, screen_update) screen.set_screen_update("gf4500", FUNC(gf4500_device::screen_update));
GF4500(config, m_gf4500, 0); GF4500(config, m_gf4500, 0);
@ -215,7 +216,7 @@ MACHINE_CONFIG_START(gizmondo_state::gizmondo)
#if 0 #if 0
MCFG_QUICKLOAD_ADD("quickload", gizmondo_state, wince, "bin", 0) MCFG_QUICKLOAD_ADD("quickload", gizmondo_state, wince, "bin", 0)
#endif #endif
MACHINE_CONFIG_END }
static INPUT_PORTS_START( gizmondo ) static INPUT_PORTS_START( gizmondo )
PORT_START( "PORTF-01" ) PORT_START( "PORTF-01" )

View File

@ -607,11 +607,11 @@ static DEVICE_INPUT_DEFAULTS_START( terminal )
DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 ) DEVICE_INPUT_DEFAULTS( "RS232_STOPBITS", 0xff, RS232_STOPBITS_1 )
DEVICE_INPUT_DEFAULTS_END DEVICE_INPUT_DEFAULTS_END
MACHINE_CONFIG_START(igt_gameking_state::igt_gameking) void igt_gameking_state::igt_gameking(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I960, XTAL(24'000'000)) I960(config, m_maincpu, XTAL(24'000'000));
MCFG_DEVICE_PROGRAM_MAP(igt_gameking_map) m_maincpu->set_addrmap(AS_PROGRAM, &igt_gameking_state::igt_gameking_map);
SC28C94(config, m_quart1, XTAL(24'000'000) / 6); SC28C94(config, m_quart1, XTAL(24'000'000) / 6);
m_quart1->d_tx_cb().set("diag", FUNC(rs232_port_device::write_txd)); m_quart1->d_tx_cb().set("diag", FUNC(rs232_port_device::write_txd));
@ -625,17 +625,17 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
GFXDECODE(config, "gfxdecode", m_palette, gfx_igt_gameking); GFXDECODE(config, "gfxdecode", m_palette, gfx_igt_gameking);
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(1024, 512) m_screen->set_size(1024, 512);
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) m_screen->set_visarea(0, 640-1, 0, 480-1);
MCFG_SCREEN_UPDATE_DRIVER(igt_gameking_state, screen_update_igt_gameking) m_screen->set_screen_update(FUNC(igt_gameking_state::screen_update_igt_gameking));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, igt_gameking_state, vblank_irq)) m_screen->screen_vblank().set(FUNC(igt_gameking_state::vblank_irq));
// Xilinx used as video chip XTAL(26'666'666) on board // Xilinx used as video chip XTAL(26'666'666) on board
MCFG_PALETTE_ADD("palette", 0x100) PALETTE(config, m_palette).set_entries(0x100);
ramdac_device &ramdac(RAMDAC(config, "ramdac", 0, m_palette)); ramdac_device &ramdac(RAMDAC(config, "ramdac", 0, m_palette));
ramdac.set_addrmap(0, &igt_gameking_state::ramdac_map); ramdac.set_addrmap(0, &igt_gameking_state::ramdac_map);
@ -643,17 +643,16 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(16'934'400)) // enhanced sound on optional Media-Lite sub board YMZ280B(config, "ymz", XTAL(16'934'400)).add_route(ALL_OUTPUTS, "mono", 1.0); // enhanced sound on optional Media-Lite sub board
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(igt_gameking_state::igt_ms72c) void igt_gameking_state::igt_ms72c(machine_config &config)
{
igt_gameking(config); igt_gameking(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &igt_gameking_state::igt_ms72c_map);
MCFG_DEVICE_PROGRAM_MAP(igt_ms72c_map) }
MACHINE_CONFIG_END
ROM_START( ms3 ) ROM_START( ms3 )
ROM_REGION( 0x80000, "maincpu", 0 ) ROM_REGION( 0x80000, "maincpu", 0 )

View File

@ -311,10 +311,11 @@ static INPUT_PORTS_START( old_keyboard ) //Glasgow,Dallas
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(glasgow_state::glasgow) void glasgow_state::glasgow(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12_MHz_XTAL) M68000(config, m_maincpu, 12_MHz_XTAL);
MCFG_DEVICE_PROGRAM_MAP(glasgow_mem) m_maincpu->set_addrmap(AS_PROGRAM, &glasgow_state::glasgow_mem);
MEPHISTO_SENSORS_BOARD(config, m_board, 0); MEPHISTO_SENSORS_BOARD(config, m_board, 0);
@ -322,30 +323,30 @@ MACHINE_CONFIG_START(glasgow_state::glasgow)
config.set_default_layout(layout_glasgow); config.set_default_layout(layout_glasgow);
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 44) BEEP(config, m_beep, 44).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
TIMER(config, "nmi_timer").configure_periodic(FUNC(glasgow_state::update_nmi), attotime::from_hz(50)); TIMER(config, "nmi_timer").configure_periodic(FUNC(glasgow_state::update_nmi), attotime::from_hz(50));
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(amsterd_state::amsterd) void amsterd_state::amsterd(machine_config &config)
{
glasgow(config); glasgow(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &amsterd_state::amsterd_mem);
MCFG_DEVICE_PROGRAM_MAP(amsterd_mem) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(amsterd_state::dallas32) void amsterd_state::dallas32(machine_config &config)
{
glasgow(config); glasgow(config);
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_REPLACE("maincpu", M68020, 14_MHz_XTAL) M68020(config.replace(), m_maincpu, 14_MHz_XTAL);
MCFG_DEVICE_PROGRAM_MAP(dallas32_mem) m_maincpu->set_addrmap(AS_PROGRAM, &amsterd_state::dallas32_mem);
config.device_remove("nmi_timer"); config.device_remove("nmi_timer");
TIMER(config, "nmi_timer").configure_periodic(FUNC(amsterd_state::update_nmi32), attotime::from_hz(50)); TIMER(config, "nmi_timer").configure_periodic(FUNC(amsterd_state::update_nmi32), attotime::from_hz(50));
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************

View File

@ -220,12 +220,12 @@ void glass_state::machine_reset()
m_blitter_command = 0; m_blitter_command = 0;
} }
MACHINE_CONFIG_START(glass_state::glass) void glass_state::glass(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2) /* 12 MHz verified on PCB */ M68000(config, m_maincpu, XTAL(24'000'000)/2); /* 12 MHz verified on PCB */
MCFG_DEVICE_PROGRAM_MAP(glass_map) m_maincpu->set_addrmap(AS_PROGRAM, &glass_state::glass_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", glass_state, interrupt) m_maincpu->set_vblank_int("screen", FUNC(glass_state::interrupt));
LS259(config, m_outlatch); LS259(config, m_outlatch);
m_outlatch->q_out_cb<0>().set(FUNC(glass_state::coin1_lockout_w)); m_outlatch->q_out_cb<0>().set(FUNC(glass_state::coin1_lockout_w));
@ -235,13 +235,13 @@ MACHINE_CONFIG_START(glass_state::glass)
m_outlatch->q_out_cb<4>().set_nop(); // Sound Muting (if bit 0 == 1, sound output stream = 0) m_outlatch->q_out_cb<4>().set_nop(); // Sound Muting (if bit 0 == 1, sound output stream = 0)
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
MCFG_SCREEN_SIZE(32*16, 32*16) screen.set_size(32*16, 32*16);
MCFG_SCREEN_VISIBLE_AREA(0, 368-1, 16, 256-1) screen.set_visarea(0, 368-1, 16, 256-1);
MCFG_SCREEN_UPDATE_DRIVER(glass_state, screen_update) screen.set_screen_update(FUNC(glass_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_glass); GFXDECODE(config, m_gfxdecode, m_palette, gfx_glass);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -249,16 +249,17 @@ MACHINE_CONFIG_START(glass_state::glass)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* 1MHz Resonator & pin 7 high verified on PCB */ okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); /* 1MHz Resonator & pin 7 high verified on PCB */
MCFG_DEVICE_ADDRESS_MAP(0, oki_map) oki.set_addrmap(0, &glass_state::oki_map);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) oki.add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(glass_state::glass_ds5002fp) void glass_state::glass_ds5002fp(machine_config &config)
{
glass(config); glass(config);
MCFG_DEVICE_ADD("gaelco_ds5002fp", GAELCO_DS5002FP, XTAL(24'000'000) / 2) /* verified on pcb */ gaelco_ds5002fp_device &ds5002fp(GAELCO_DS5002FP(config, "gaelco_ds5002fp", XTAL(24'000'000) / 2)); /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, mcu_hostmem_map) ds5002fp.set_addrmap(0, &glass_state::mcu_hostmem_map);
MACHINE_CONFIG_END }
ROM_START( glass ) /* Version 1.1 */ ROM_START( glass ) /* Version 1.1 */
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */ ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */

View File

@ -87,11 +87,12 @@ static INPUT_PORTS_START( globalvr )
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(globalvr_state::globalvr) void globalvr_state::globalvr(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", PENTIUM, 100000000) /* ? MHz */ PENTIUM(config, m_maincpu, 100000000); /* ? MHz */
MCFG_DEVICE_PROGRAM_MAP(globalvr_map) m_maincpu->set_addrmap(AS_PROGRAM, &globalvr_state::globalvr_map);
MACHINE_CONFIG_END }
ROM_START( hyperv2 ) ROM_START( hyperv2 )

View File

@ -484,26 +484,26 @@ GFXDECODE_END
* Machine Drivers * * Machine Drivers *
*********************************************/ *********************************************/
MACHINE_CONFIG_START(gluck2_state::gluck2) void gluck2_state::gluck2(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6502, MASTER_CLOCK/16) /* guess */ M6502(config, m_maincpu, MASTER_CLOCK/16); /* guess */
MCFG_DEVICE_PROGRAM_MAP(gluck2_map) m_maincpu->set_addrmap(AS_PROGRAM, &gluck2_state::gluck2_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
/* CRTC Register: 00 01 02 03 04 05 06 /* CRTC Register: 00 01 02 03 04 05 06
CRTC Value : 0x27 0x20 0x23 0x03 0x26 0x00 0x20 CRTC Value : 0x27 0x20 0x23 0x03 0x26 0x00 0x20
*/ */
MCFG_SCREEN_SIZE((39+1)*8, (38+1)*8) /* from MC6845 init, registers 00 & 04. (value - 1) */ screen.set_size((39+1)*8, (38+1)*8); /* from MC6845 init, registers 00 & 04. (value - 1) */
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) /* from MC6845 init, registers 01 & 06. */ screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1); /* from MC6845 init, registers 01 & 06. */
MCFG_SCREEN_UPDATE_DRIVER(gluck2_state, screen_update) screen.set_screen_update(FUNC(gluck2_state::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_gluck2); GFXDECODE(config, m_gfxdecode, "palette", gfx_gluck2);
PALETTE(config, "palette", palette_device::RGB_444_PROMS, "proms", 256); PALETTE(config, "palette", palette_device::RGB_444_PROMS, "proms", 256);
@ -525,10 +525,8 @@ MACHINE_CONFIG_START(gluck2_state::gluck2)
*/ */
ay8910.add_route(ALL_OUTPUTS, "mono", 1.0); ay8910.add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("ymsnd", YM2413, SND_CLOCK) YM2413(config, "ymsnd", SND_CLOCK).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
/********************************************* /*********************************************

View File

@ -378,16 +378,16 @@ void gng_state::machine_reset()
} }
} }
MACHINE_CONFIG_START(gng_state::gng) void gng_state::gng(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(12'000'000)/2) /* verified on pcb */ MC6809(config, m_maincpu, XTAL(12'000'000)/2); /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(gng_map) m_maincpu->set_addrmap(AS_PROGRAM, &gng_state::gng_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gng_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gng_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(12'000'000)/4) /* verified on pcb */ z80_device &audiocpu(Z80(config, "audiocpu", XTAL(12'000'000)/4)); /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(sound_map) audiocpu.set_addrmap(AS_PROGRAM, &gng_state::sound_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(gng_state, irq0_line_hold, 4*60) audiocpu.set_periodic_int(FUNC(gng_state::irq0_line_hold), attotime::from_hz(4*60));
ls259_device &mainlatch(LS259(config, "mainlatch")); // 9B on A board ls259_device &mainlatch(LS259(config, "mainlatch")); // 9B on A board
mainlatch.q_out_cb<0>().set(FUNC(gng_state::flipscreen_w)); mainlatch.q_out_cb<0>().set(FUNC(gng_state::flipscreen_w));
@ -399,14 +399,14 @@ MACHINE_CONFIG_START(gng_state::gng)
/* video hardware */ /* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram); BUFFERED_SPRITERAM8(config, m_spriteram);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(59.59) /* verified on pcb */ screen.set_refresh_hz(59.59); /* verified on pcb */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gng_state, screen_update_gng) screen.set_screen_update(FUNC(gng_state::screen_update_gng));
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising)) screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gng); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gng);
@ -417,26 +417,26 @@ MACHINE_CONFIG_START(gng_state::gng)
GENERIC_LATCH_8(config, "soundlatch"); GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("ym1", YM2203, XTAL(12'000'000)/8) /* verified on pcb */ YM2203(config, m_ym[0], XTAL(12'000'000)/8); /* verified on pcb */
MCFG_SOUND_ROUTE(0, "mono", 0.40) m_ym[0]->add_route(0, "mono", 0.40);
MCFG_SOUND_ROUTE(1, "mono", 0.40) m_ym[0]->add_route(1, "mono", 0.40);
MCFG_SOUND_ROUTE(2, "mono", 0.40) m_ym[0]->add_route(2, "mono", 0.40);
MCFG_SOUND_ROUTE(3, "mono", 0.20) m_ym[0]->add_route(3, "mono", 0.20);
MCFG_DEVICE_ADD("ym2", YM2203, XTAL(12'000'000)/8) /* verified on pcb */ YM2203(config, m_ym[1], XTAL(12'000'000)/8); /* verified on pcb */
MCFG_SOUND_ROUTE(0, "mono", 0.40) m_ym[1]->add_route(0, "mono", 0.40);
MCFG_SOUND_ROUTE(1, "mono", 0.40) m_ym[1]->add_route(1, "mono", 0.40);
MCFG_SOUND_ROUTE(2, "mono", 0.40) m_ym[1]->add_route(2, "mono", 0.40);
MCFG_SOUND_ROUTE(3, "mono", 0.20) m_ym[1]->add_route(3, "mono", 0.20);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(gng_state::diamond) void gng_state::diamond(machine_config &config)
{
gng(config); gng(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &gng_state::diamond_map);
MCFG_DEVICE_PROGRAM_MAP(diamond_map)
config.device_remove("mainlatch"); config.device_remove("mainlatch");
MACHINE_CONFIG_END }

View File

@ -344,26 +344,26 @@ void go2000_state::machine_start()
} }
MACHINE_CONFIG_START(go2000_state::go2000) void go2000_state::go2000(machine_config &config)
{
M68000(config, m_maincpu, 10000000);
m_maincpu->set_addrmap(AS_PROGRAM, &go2000_state::go2000_map);
m_maincpu->set_vblank_int("screen", FUNC(go2000_state::irq1_line_hold));
MCFG_DEVICE_ADD("maincpu", M68000, 10000000) Z80(config, m_soundcpu, 4000000);
MCFG_DEVICE_PROGRAM_MAP(go2000_map) m_soundcpu->set_addrmap(AS_PROGRAM, &go2000_state::go2000_sound_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", go2000_state, irq1_line_hold) m_soundcpu->set_addrmap(AS_IO, &go2000_state::go2000_sound_io);
MCFG_DEVICE_ADD("soundcpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(go2000_sound_map)
MCFG_DEVICE_IO_MAP(go2000_sound_io)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_go2000); GFXDECODE(config, m_gfxdecode, m_palette, gfx_go2000);
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) m_screen->set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1) m_screen->set_visarea(0*8, 48*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(go2000_state, screen_update_go2000) m_screen->set_screen_update(FUNC(go2000_state::screen_update_go2000));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x800); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x800);
@ -375,7 +375,7 @@ MACHINE_CONFIG_START(go2000_state::go2000)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END }
ROM_START( go2000 ) ROM_START( go2000 )
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */

View File

@ -235,26 +235,25 @@ void goindol_state::machine_reset()
m_prot_toggle = 0; m_prot_toggle = 0;
} }
MACHINE_CONFIG_START(goindol_state::goindol) void goindol_state::goindol(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* XTAL confirmed, divisor is not */ Z80(config, m_maincpu, XTAL(12'000'000)/2); /* XTAL confirmed, divisor is not */
MCFG_DEVICE_PROGRAM_MAP(goindol_map) m_maincpu->set_addrmap(AS_PROGRAM, &goindol_state::goindol_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", goindol_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(goindol_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(12'000'000)/2) /* XTAL confirmed, divisor is not */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(goindol_state, irq0_line_hold, 4*60)
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(12'000'000)/2)); /* XTAL confirmed, divisor is not */
audiocpu.set_addrmap(AS_PROGRAM, &goindol_state::sound_map);
audiocpu.set_periodic_int(FUNC(goindol_state::irq0_line_hold), attotime::from_hz(4*60));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(goindol_state, screen_update_goindol) screen.set_screen_update(FUNC(goindol_state::screen_update_goindol));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_goindol); GFXDECODE(config, m_gfxdecode, m_palette, gfx_goindol);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256); PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 256);
@ -264,9 +263,8 @@ MACHINE_CONFIG_START(goindol_state::goindol)
GENERIC_LATCH_8(config, "soundlatch"); GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("ymsnd", YM2203, XTAL(12'000'000)/8) /* Confirmed pitch from recording */ YM2203(config, "ymsnd", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* Confirmed pitch from recording */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) }
MACHINE_CONFIG_END

View File

@ -121,9 +121,10 @@ void gokidetor_state::sound_map(address_map &map)
} }
MACHINE_CONFIG_START(gokidetor_state::gokidetor) void gokidetor_state::gokidetor(machine_config &config)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(16'000'000) / 4) // divider not verified {
MCFG_DEVICE_PROGRAM_MAP(main_map) Z80(config, m_maincpu, XTAL(16'000'000) / 4); // divider not verified
m_maincpu->set_addrmap(AS_PROGRAM, &gokidetor_state::main_map);
// IRQ from ??? // IRQ from ???
// NMI related to E002 input and TE7750 port 7 // NMI related to E002 input and TE7750 port 7
@ -140,8 +141,8 @@ MACHINE_CONFIG_START(gokidetor_state::gokidetor)
te7750.out_port8_cb().set(FUNC(gokidetor_state::out8_w)); te7750.out_port8_cb().set(FUNC(gokidetor_state::out8_w));
te7750.out_port9_cb().set(FUNC(gokidetor_state::out9_w)); te7750.out_port9_cb().set(FUNC(gokidetor_state::out9_w));
MCFG_DEVICE_ADD("soundcpu", Z80, 4000000) z80_device &soundcpu(Z80(config, "soundcpu", 4000000));
MCFG_DEVICE_PROGRAM_MAP(sound_map) soundcpu.set_addrmap(AS_PROGRAM, &gokidetor_state::sound_map);
pc060ha_device &ciu(PC060HA(config, "ciu", 0)); pc060ha_device &ciu(PC060HA(config, "ciu", 0));
ciu.set_master_tag(m_maincpu); ciu.set_master_tag(m_maincpu);
@ -157,9 +158,8 @@ MACHINE_CONFIG_START(gokidetor_state::gokidetor)
ymsnd.add_route(2, "mono", 0.25); ymsnd.add_route(2, "mono", 0.25);
ymsnd.add_route(3, "mono", 0.80); ymsnd.add_route(3, "mono", 0.80);
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) }
MACHINE_CONFIG_END
INPUT_PORTS_START( gokidetor ) INPUT_PORTS_START( gokidetor )
PORT_START("IN1") PORT_START("IN1")

View File

@ -1303,9 +1303,9 @@ public:
m_pia(*this, "pia%u", 0U), m_pia(*this, "pia%u", 0U),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"), m_palette(*this, "palette"),
m_discrete(*this, "discrete"),
m_videoram(*this, "videoram"), m_videoram(*this, "videoram"),
m_colorram(*this, "colorram"), m_colorram(*this, "colorram"),
m_discrete(*this, "discrete"),
m_ay8910(*this, "ay8910"), m_ay8910(*this, "ay8910"),
m_lamps(*this, "lamp%u", 0U) m_lamps(*this, "lamp%u", 0U)
{ } { }
@ -1366,6 +1366,7 @@ protected:
required_device_array<pia6821_device, 2> m_pia; required_device_array<pia6821_device, 2> m_pia;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
optional_device<discrete_device> m_discrete;
private: private:
DECLARE_READ8_MEMBER(goldnpkr_mux_port_r); DECLARE_READ8_MEMBER(goldnpkr_mux_port_r);
@ -1403,7 +1404,6 @@ private:
required_shared_ptr<uint8_t> m_videoram; required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram; required_shared_ptr<uint8_t> m_colorram;
optional_device<discrete_device> m_discrete;
optional_device<ay8910_device> m_ay8910; optional_device<ay8910_device> m_ay8910;
output_finder<5> m_lamps; output_finder<5> m_lamps;
@ -4653,11 +4653,11 @@ static INPUT_PORTS_START( megadpkr )
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(blitz_state::megadpkr) void blitz_state::megadpkr(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6502, CPU_CLOCK) M6502(config, m_maincpu, CPU_CLOCK);
MCFG_DEVICE_PROGRAM_MAP(megadpkr_map) m_maincpu->set_addrmap(AS_PROGRAM, &blitz_state::megadpkr_map);
ADDRESS_MAP_BANK(config, "bankdev").set_map(&blitz_state::megadpkr_banked_map).set_data_width(8).set_addr_width(16).set_stride(0x4000); ADDRESS_MAP_BANK(config, "bankdev").set_map(&blitz_state::megadpkr_banked_map).set_data_width(8).set_addr_width(16).set_stride(0x4000);
@ -4677,13 +4677,13 @@ MACHINE_CONFIG_START(blitz_state::megadpkr)
m_pia[1]->writepb_handler().set(FUNC(goldnpkr_state::mux_w)); m_pia[1]->writepb_handler().set(FUNC(goldnpkr_state::mux_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE((32)*8, (32)*8) screen.set_size((32)*8, (32)*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(goldnpkr_state, screen_update_goldnpkr) screen.set_screen_update(FUNC(goldnpkr_state::screen_update_goldnpkr));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
mc6845_device &crtc(MC6845(config, "crtc", CPU_CLOCK)); mc6845_device &crtc(MC6845(config, "crtc", CPU_CLOCK));
crtc.set_screen("screen"); crtc.set_screen("screen");
@ -4696,9 +4696,8 @@ MACHINE_CONFIG_START(blitz_state::megadpkr)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("discrete", DISCRETE, goldnpkr_discrete) DISCRETE(config, m_discrete, goldnpkr_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
/********************************************* /*********************************************

View File

@ -122,11 +122,12 @@ static GFXDECODE_START( gfx_gomoku )
GFXDECODE_END GFXDECODE_END
MACHINE_CONFIG_START(gomoku_state::gomoku) void gomoku_state::gomoku(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'432'000)/12) /* 1.536 MHz ? */ Z80(config, m_maincpu, XTAL(18'432'000)/12); /* 1.536 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(gomoku_map) m_maincpu->set_addrmap(AS_PROGRAM, &gomoku_state::gomoku_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gomoku_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gomoku_state::irq0_line_hold));
ls259_device &latch(LS259(config, "latch")); // 7J ls259_device &latch(LS259(config, "latch")); // 7J
latch.q_out_cb<1>().set(FUNC(gomoku_state::flipscreen_w)); latch.q_out_cb<1>().set(FUNC(gomoku_state::flipscreen_w));
@ -134,13 +135,13 @@ MACHINE_CONFIG_START(gomoku_state::gomoku)
latch.q_out_cb<7>().set_nop(); // start LED? latch.q_out_cb<7>().set_nop(); // start LED?
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_REFRESH_RATE(60) m_screen->set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(256, 256) m_screen->set_size(256, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1) m_screen->set_visarea(0, 256-1, 16, 256-16-1);
MCFG_SCREEN_UPDATE_DRIVER(gomoku_state, screen_update_gomoku) m_screen->set_screen_update(FUNC(gomoku_state::screen_update_gomoku));
MCFG_SCREEN_PALETTE("palette") m_screen->set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_gomoku); GFXDECODE(config, m_gfxdecode, "palette", gfx_gomoku);
PALETTE(config, "palette", FUNC(gomoku_state::gomoku_palette), 64); PALETTE(config, "palette", FUNC(gomoku_state::gomoku_palette), 64);
@ -148,9 +149,8 @@ MACHINE_CONFIG_START(gomoku_state::gomoku)
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("gomoku", GOMOKU_SOUND) GOMOKU_SOUND(config, "gomoku").add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END
ROM_START( gomoku ) ROM_START( gomoku )

View File

@ -291,31 +291,31 @@ static GFXDECODE_START( gfx_good )
GFXDECODE_END GFXDECODE_END
MACHINE_CONFIG_START(good_state::good) void good_state::good(machine_config &config)
{
MCFG_DEVICE_ADD("maincpu", M68000, 16000000 /2) M68000(config, m_maincpu, 16000000 /2);
MCFG_DEVICE_PROGRAM_MAP(good_map) m_maincpu->set_addrmap(AS_PROGRAM, &good_state::good_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", good_state, irq2_line_hold) m_maincpu->set_vblank_int("screen", FUNC(good_state::irq2_line_hold));
GFXDECODE(config, m_gfxdecode, "palette", gfx_good); GFXDECODE(config, m_gfxdecode, "palette", gfx_good);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*16, 32*16) screen.set_size(32*16, 32*16);
MCFG_SCREEN_VISIBLE_AREA(1*16, 23*16-1, 0*16, 14*16-1) screen.set_visarea(1*16, 23*16-1, 0*16, 14*16-1);
MCFG_SCREEN_UPDATE_DRIVER(good_state, screen_update_good) screen.set_screen_update(FUNC(good_state::screen_update_good));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x400); PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x400);
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified okim6295_device &oki(OKIM6295(config, "oki", 1000000, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47) oki.add_route(ALL_OUTPUTS, "lspeaker", 0.47);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47) oki.add_route(ALL_OUTPUTS, "rspeaker", 0.47);
MACHINE_CONFIG_END }
ROM_START( good ) ROM_START( good )

View File

@ -260,14 +260,14 @@ void gotcha_state::machine_reset()
m_banksel = 0; m_banksel = 0;
} }
MACHINE_CONFIG_START(gotcha_state::gotcha) void gotcha_state::gotcha(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 14.318181_MHz_XTAL) /* 14.31818 MHz */ M68000(config, m_maincpu, 14.318181_MHz_XTAL); /* 14.31818 MHz */
MCFG_DEVICE_PROGRAM_MAP(gotcha_map) m_maincpu->set_addrmap(AS_PROGRAM, &gotcha_state::gotcha_map);
MCFG_DEVICE_ADD("audiocpu", Z80, 6_MHz_XTAL) /* 6 MHz */ Z80(config, m_audiocpu, 6_MHz_XTAL); /* 6 MHz */
MCFG_DEVICE_PROGRAM_MAP(sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &gotcha_state::sound_map);
/* video hardware */ /* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@ -299,9 +299,8 @@ MACHINE_CONFIG_START(gotcha_state::gotcha)
ymsnd.add_route(0, "mono", 0.80); ymsnd.add_route(0, "mono", 0.80);
ymsnd.add_route(1, "mono", 0.80); ymsnd.add_route(1, "mono", 0.80);
MCFG_DEVICE_ADD("oki", OKIM6295, 1_MHz_XTAL, okim6295_device::PIN7_HIGH) OKIM6295(config, m_oki, 1_MHz_XTAL, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60) }
MACHINE_CONFIG_END

View File

@ -362,22 +362,23 @@ void gp2x_state::gp2x_map(address_map &map)
static INPUT_PORTS_START( gp2x ) static INPUT_PORTS_START( gp2x )
INPUT_PORTS_END INPUT_PORTS_END
MACHINE_CONFIG_START(gp2x_state::gp2x) void gp2x_state::gp2x(machine_config &config)
MCFG_DEVICE_ADD("maincpu", ARM9, 80000000) {
MCFG_DEVICE_PROGRAM_MAP(gp2x_map) ARM9(config, m_maincpu, 80000000);
m_maincpu->set_addrmap(AS_PROGRAM, &gp2x_state::gp2x_map);
MCFG_PALETTE_ADD("palette", 32768) PALETTE(config, "palette").set_entries(32768);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_SIZE(320, 240) screen.set_size(320, 240);
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239) screen.set_visarea(0, 319, 0, 239);
MCFG_SCREEN_UPDATE_DRIVER(gp2x_state, screen_update_gp2x) screen.set_screen_update(FUNC(gp2x_state::screen_update_gp2x));
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MACHINE_CONFIG_END }
ROM_START(gp2x) ROM_START(gp2x)
ROM_REGION( 0x600000, "maincpu", 0 ) // contents of NAND flash ROM_REGION( 0x600000, "maincpu", 0 ) // contents of NAND flash

View File

@ -500,29 +500,27 @@ GFXDECODE_END
MACHINE_CONFIG_START(gpworld_state::gpworld) MACHINE_CONFIG_START(gpworld_state::gpworld)
/* main cpu */ /* main cpu */
MCFG_DEVICE_ADD("maincpu", Z80, GUESSED_CLOCK) Z80(config, m_maincpu, GUESSED_CLOCK);
MCFG_DEVICE_PROGRAM_MAP(mainmem) m_maincpu->set_addrmap(AS_PROGRAM, &gpworld_state::mainmem);
MCFG_DEVICE_IO_MAP(mainport) m_maincpu->set_addrmap(AS_IO, &gpworld_state::mainport);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gpworld_state, vblank_callback) m_maincpu->set_vblank_int("screen", FUNC(gpworld_state::vblank_callback));
MCFG_LASERDISC_LDV1000_ADD("laserdisc") PIONEER_LDV1000(config, m_laserdisc, 0);
MCFG_LASERDISC_OVERLAY_DRIVER(512, 256, gpworld_state, screen_update) m_laserdisc->set_overlay(512, 256, FUNC(gpworld_state::screen_update));
MCFG_LASERDISC_OVERLAY_PALETTE("palette") m_laserdisc->set_overlay_palette(m_palette);
m_laserdisc->add_route(0, "lspeaker", 1.0);
m_laserdisc->add_route(1, "rspeaker", 1.0);
/* video hardware */ /* video hardware */
MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc") MCFG_LASERDISC_SCREEN_ADD_NTSC("screen", "laserdisc")
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gpworld); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gpworld);
MCFG_PALETTE_ADD("palette", 1024) PALETTE(config, m_palette).set_entries(1024);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_MODIFY("laserdisc")
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END

View File

@ -735,25 +735,25 @@ INPUT_PORTS_END
* *
*************************************/ *************************************/
MACHINE_CONFIG_START(grchamp_state::grchamp) void grchamp_state::grchamp(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
/* CPU BOARD */ /* CPU BOARD */
MCFG_DEVICE_ADD("maincpu", Z80, PIXEL_CLOCK/2) Z80(config, m_maincpu, PIXEL_CLOCK/2);
MCFG_DEVICE_PROGRAM_MAP(main_map) m_maincpu->set_addrmap(AS_PROGRAM, &grchamp_state::main_map);
MCFG_DEVICE_IO_MAP(main_portmap) m_maincpu->set_addrmap(AS_IO, &grchamp_state::main_portmap);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", grchamp_state, cpu0_interrupt) m_maincpu->set_vblank_int("screen", FUNC(grchamp_state::cpu0_interrupt));
/* GAME BOARD */ /* GAME BOARD */
MCFG_DEVICE_ADD("sub", Z80, PIXEL_CLOCK/2) Z80(config, m_subcpu, PIXEL_CLOCK/2);
MCFG_DEVICE_PROGRAM_MAP(sub_map) m_subcpu->set_addrmap(AS_PROGRAM, &grchamp_state::sub_map);
MCFG_DEVICE_IO_MAP(sub_portmap) m_subcpu->set_addrmap(AS_IO, &grchamp_state::sub_portmap);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", grchamp_state, cpu1_interrupt) m_subcpu->set_vblank_int("screen", FUNC(grchamp_state::cpu1_interrupt));
/* SOUND BOARD */ /* SOUND BOARD */
MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CLOCK/2) Z80(config, m_audiocpu, SOUND_CLOCK/2);
MCFG_DEVICE_PROGRAM_MAP(sound_map) m_audiocpu->set_addrmap(AS_PROGRAM, &grchamp_state::sound_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(grchamp_state, irq0_line_hold, (double)SOUND_CLOCK/4/16/16/10/16) m_audiocpu->set_periodic_int(FUNC(grchamp_state::irq0_line_hold), attotime::from_hz((double)SOUND_CLOCK/4/16/16/10/16));
WATCHDOG_TIMER(config, m_watchdog).set_vblank_count(m_screen, 8); WATCHDOG_TIMER(config, m_watchdog).set_vblank_count(m_screen, 8);
config.m_minimum_quantum = attotime::from_hz(6000); config.m_minimum_quantum = attotime::from_hz(6000);
@ -762,10 +762,10 @@ MACHINE_CONFIG_START(grchamp_state::grchamp)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_grchamp); GFXDECODE(config, m_gfxdecode, m_palette, gfx_grchamp);
PALETTE(config, m_palette, FUNC(grchamp_state::grchamp_palette), 32); PALETTE(config, m_palette, FUNC(grchamp_state::grchamp_palette), 32);
MCFG_SCREEN_ADD(m_screen, RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE) m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
MCFG_SCREEN_UPDATE_DRIVER(grchamp_state, screen_update) m_screen->set_screen_update(FUNC(grchamp_state::screen_update));
/* sound hardware */ /* sound hardware */
@ -785,9 +785,8 @@ MACHINE_CONFIG_START(grchamp_state::grchamp)
ay3.port_b_write_callback().set(FUNC(grchamp_state::portB_2_w)); ay3.port_b_write_callback().set(FUNC(grchamp_state::portB_2_w));
ay3.add_route(ALL_OUTPUTS, "mono", 0.2); ay3.add_route(ALL_OUTPUTS, "mono", 0.2);
MCFG_DEVICE_ADD("discrete", DISCRETE, grchamp_discrete) DISCRETE(config, m_discrete, grchamp_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) }
MACHINE_CONFIG_END

View File

@ -116,23 +116,24 @@ uint32_t grfd2301_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0; return 0;
} }
MACHINE_CONFIG_START(grfd2301_state::grfd2301) void grfd2301_state::grfd2301(machine_config &config)
{
// basic machine hardware // basic machine hardware
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) Z80(config, m_maincpu, 4000000);
MCFG_DEVICE_PROGRAM_MAP(mem_map) m_maincpu->set_addrmap(AS_PROGRAM, &grfd2301_state::mem_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &grfd2301_state::io_map);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(grfd2301_state, screen_update) screen.set_screen_update(FUNC(grfd2301_state::screen_update));
MCFG_SCREEN_SIZE(640, 240) screen.set_size(640, 240);
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239) screen.set_visarea_full();
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME); PALETTE(config, "palette", palette_device::MONOCHROME);
MACHINE_CONFIG_END }
ROM_START( grfd2301 ) ROM_START( grfd2301 )
ROM_REGION( 0x1000, "maincpu", 0 ) ROM_REGION( 0x1000, "maincpu", 0 )

View File

@ -235,12 +235,12 @@ INTERRUPT_GEN_MEMBER(groundfx_state::interrupt)
device.execute().set_input_line(4, HOLD_LINE); device.execute().set_input_line(4, HOLD_LINE);
} }
MACHINE_CONFIG_START(groundfx_state::groundfx) void groundfx_state::groundfx(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(40'000'000)/2) /* 20MHz - verified */ M68EC020(config, m_maincpu, XTAL(40'000'000)/2); /* 20MHz - verified */
MCFG_DEVICE_PROGRAM_MAP(groundfx_map) m_maincpu->set_addrmap(AS_PROGRAM, &groundfx_state::groundfx_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", groundfx_state, interrupt) m_maincpu->set_vblank_int("screen", FUNC(groundfx_state::interrupt));
EEPROM_93C46_16BIT(config, "eeprom"); EEPROM_93C46_16BIT(config, "eeprom");
@ -262,13 +262,13 @@ MACHINE_CONFIG_START(groundfx_state::groundfx)
tc0510nio.read_7_callback().set_ioport("SYSTEM"); tc0510nio.read_7_callback().set_ioport("SYSTEM");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(40*8, 32*8) screen.set_size(40*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 3*8, 32*8-1) screen.set_visarea(0, 40*8-1, 3*8, 32*8-1);
MCFG_SCREEN_UPDATE_DRIVER(groundfx_state, screen_update) screen.set_screen_update(FUNC(groundfx_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_groundfx); GFXDECODE(config, m_gfxdecode, m_palette, gfx_groundfx);
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 16384); PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 16384);
@ -289,7 +289,7 @@ MACHINE_CONFIG_START(groundfx_state::groundfx)
/* sound hardware */ /* sound hardware */
TAITO_EN(config, "taito_en", 0); TAITO_EN(config, "taito_en", 0);
MACHINE_CONFIG_END }
/*************************************************************************** /***************************************************************************
DRIVERS DRIVERS

View File

@ -828,23 +828,23 @@ void gstream_state::machine_reset()
m_oki_bank[0] = m_oki_bank[1] = 0; m_oki_bank[0] = m_oki_bank[1] = 0;
} }
MACHINE_CONFIG_START(gstream_state::gstream) void gstream_state::gstream(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", E132XT, 16000000*4) /* 4x internal multiplier */ E132XT(config, m_maincpu, 16000000*4); /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(gstream_32bit_map) m_maincpu->set_addrmap(AS_PROGRAM, &gstream_state::gstream_32bit_map);
MCFG_DEVICE_IO_MAP(gstream_io) m_maincpu->set_addrmap(AS_IO, &gstream_state::gstream_io);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gstream_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gstream_state::irq0_line_hold));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(320, 240) screen.set_size(320, 240);
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(gstream_state, screen_update) screen.set_screen_update(FUNC(gstream_state::screen_update));
PALETTE(config, m_palette).set_format(palette_device::BGR_565, 0x1000 + 0x400 + 0x400 + 0x400); // sprites + 3 bg layers PALETTE(config, m_palette).set_format(palette_device::BGR_565, 0x1000 + 0x400 + 0x400 + 0x400); // sprites + 3 bg layers
@ -852,30 +852,28 @@ MACHINE_CONFIG_START(gstream_state::gstream)
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) /* 1 Mhz? */ OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); /* 1 Mhz? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MCFG_DEVICE_ADD("oki2", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) /* 1 Mhz? */ OKIM6295(config, m_oki[1], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); /* 1 Mhz? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gstream_state::x2222)
void gstream_state::x2222(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", E132XT, 16000000*4) /* 4x internal multiplier */ E132XT(config, m_maincpu, 16000000*4); /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(x2222_32bit_map) m_maincpu->set_addrmap(AS_PROGRAM, &gstream_state::x2222_32bit_map);
MCFG_DEVICE_IO_MAP(x2222_io) m_maincpu->set_addrmap(AS_IO, &gstream_state::x2222_io);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gstream_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gstream_state::irq0_line_hold));
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); // NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(320, 240) screen.set_size(320, 240);
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239) screen.set_visarea_full();
MCFG_SCREEN_UPDATE_DRIVER(gstream_state, screen_update) screen.set_screen_update(FUNC(gstream_state::screen_update));
PALETTE(config, m_palette, palette_device::BGR_565); PALETTE(config, m_palette, palette_device::BGR_565);
@ -885,9 +883,8 @@ MACHINE_CONFIG_START(gstream_state::x2222)
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) /* 1 Mhz? */ OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); /* 1 Mhz? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) }
MACHINE_CONFIG_END
ROM_START( gstream ) ROM_START( gstream )

View File

@ -463,25 +463,25 @@ void caveman_state::video_io_map(address_map &map)
} }
MACHINE_CONFIG_START(caveman_state::caveman) void caveman_state::caveman(machine_config &config)
{
gts80a_ss(config); gts80a_ss(config);
MCFG_DEVICE_ADD("video_cpu", I8088, 5000000) I8088(config, m_videocpu, 5000000);
MCFG_DEVICE_PROGRAM_MAP(video_map) m_videocpu->set_addrmap(AS_PROGRAM, &caveman_state::video_map);
MCFG_DEVICE_IO_MAP(video_io_map) m_videocpu->set_addrmap(AS_IO, &caveman_state::video_io_map);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(256, 256) screen.set_size(256, 256);
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 248-1) screen.set_visarea(0, 256-1, 0, 248-1);
MCFG_SCREEN_UPDATE_DRIVER(caveman_state, screen_update_caveman) screen.set_screen_update(FUNC(caveman_state::screen_update_caveman));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
MCFG_PALETTE_ADD("palette", 16) PALETTE(config, "palette").set_entries(16);
config.set_default_layout(layout_gts80a_caveman); config.set_default_layout(layout_gts80a_caveman);
}
MACHINE_CONFIG_END
static INPUT_PORTS_START( caveman ) static INPUT_PORTS_START( caveman )
PORT_INCLUDE(gts80a) PORT_INCLUDE(gts80a)

View File

@ -237,45 +237,45 @@ static GFXDECODE_START( gfx_gumbo )
GFXDECODE_END GFXDECODE_END
MACHINE_CONFIG_START(gumbo_state::gumbo) void gumbo_state::gumbo(machine_config &config)
{
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(14'318'181)/2) M68000(config, m_maincpu, XTAL(14'318'181)/2);
MCFG_DEVICE_PROGRAM_MAP(gumbo_map) m_maincpu->set_addrmap(AS_PROGRAM, &gumbo_state::gumbo_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gumbo_state, irq1_line_hold) // all the same m_maincpu->set_vblank_int("screen", FUNC(gumbo_state::irq1_line_hold)); // all the same
GFXDECODE(config, m_gfxdecode, "palette", gfx_gumbo); GFXDECODE(config, m_gfxdecode, "palette", gfx_gumbo);
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(64*8, 32*8) screen.set_size(64*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(8*8, 48*8-1, 2*8, 30*8-1) screen.set_visarea(8*8, 48*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gumbo_state, screen_update_gumbo) screen.set_screen_update(FUNC(gumbo_state::screen_update_gumbo));
MCFG_SCREEN_PALETTE("palette") screen.set_palette("palette");
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x200); PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x200);
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/16, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/16, okim6295_device::PIN7_HIGH)); // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.47) oki.add_route(ALL_OUTPUTS, "lspeaker", 0.47);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.47) oki.add_route(ALL_OUTPUTS, "rspeaker", 0.47);
MACHINE_CONFIG_END }
MACHINE_CONFIG_START(gumbo_state::mspuzzle) void gumbo_state::mspuzzle(machine_config &config)
{
gumbo(config); gumbo(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &gumbo_state::mspuzzle_map);
MCFG_DEVICE_PROGRAM_MAP(mspuzzle_map) }
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gumbo_state::dblpoint) void gumbo_state::dblpoint(machine_config &config)
{
gumbo(config); gumbo(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &gumbo_state::dblpoint_map);
MCFG_DEVICE_PROGRAM_MAP(dblpoint_map) }
MACHINE_CONFIG_END
ROM_START( gumbo ) ROM_START( gumbo )
ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 Code */ ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 Code */

View File

@ -230,12 +230,12 @@ GFXDECODE_END
MACHINE DRIVERS MACHINE DRIVERS
***********************************************************/ ***********************************************************/
MACHINE_CONFIG_START(gunbustr_state::gunbustr) void gunbustr_state::gunbustr(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(16'000'000)) M68EC020(config, m_maincpu, XTAL(16'000'000));
MCFG_DEVICE_PROGRAM_MAP(gunbustr_map) m_maincpu->set_addrmap(AS_PROGRAM, &gunbustr_state::gunbustr_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gunbustr_state, gunbustr_interrupt) /* VBL */ m_maincpu->set_vblank_int("screen", FUNC(gunbustr_state::gunbustr_interrupt)); /* VBL */
EEPROM_93C46_16BIT(config, "eeprom"); EEPROM_93C46_16BIT(config, "eeprom");
@ -250,13 +250,13 @@ MACHINE_CONFIG_START(gunbustr_state::gunbustr)
tc0510nio.read_7_callback().set_ioport("SYSTEM"); tc0510nio.read_7_callback().set_ioport("SYSTEM");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(40*8, 32*8) screen.set_size(40*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 32*8-1) screen.set_visarea(0, 40*8-1, 2*8, 32*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gunbustr_state, screen_update_gunbustr) screen.set_screen_update(FUNC(gunbustr_state::screen_update_gunbustr));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gunbustr); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gunbustr);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 4096); PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 4096);
@ -271,7 +271,7 @@ MACHINE_CONFIG_START(gunbustr_state::gunbustr)
/* sound hardware */ /* sound hardware */
TAITO_EN(config, "taito_en", 0); TAITO_EN(config, "taito_en", 0);
MACHINE_CONFIG_END }
/***************************************************************************/ /***************************************************************************/

View File

@ -438,32 +438,31 @@ TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::scanline)
m_maincpu->set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 10h */ m_maincpu->set_input_line_and_vector(0, HOLD_LINE,0xcf); /* RST 10h */
} }
MACHINE_CONFIG_START(gundealr_state::gundealr) void gundealr_state::gundealr(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz verified for Yam! Yam!? */ Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz verified for Yam! Yam!? */
MCFG_DEVICE_PROGRAM_MAP(gundealr_main_map) m_maincpu->set_addrmap(AS_PROGRAM, &gundealr_state::gundealr_main_map);
MCFG_DEVICE_IO_MAP(main_portmap) m_maincpu->set_addrmap(AS_IO, &gundealr_state::main_portmap);
TIMER(config, "scantimer").configure_scanline(FUNC(gundealr_state::scanline), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(gundealr_state::scanline), "screen", 0, 1);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gundealr_state, screen_update) screen.set_screen_update(FUNC(gundealr_state::screen_update));
MCFG_SCREEN_PALETTE("palette") screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gundealr); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gundealr);
MCFG_PALETTE_ADD("palette", 512) PALETTE(config, m_palette).set_entries(512);
/* sound hardware */ /* sound hardware */
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2203, XTAL(12'000'000)/8) /* 1.5Mhz verified for Yam! Yam!? */ YM2203(config, "ymsnd", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.5Mhz verified for Yam! Yam!? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) }
MACHINE_CONFIG_END
TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::yamyam_mcu_sim) TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::yamyam_mcu_sim)
{ {
@ -529,13 +528,13 @@ TIMER_DEVICE_CALLBACK_MEMBER(gundealr_state::yamyam_mcu_sim)
m_rambase[0x006] = m_port_in[0]->read(); m_rambase[0x006] = m_port_in[0]->read();
} }
MACHINE_CONFIG_START(gundealr_state::yamyam) void gundealr_state::yamyam(machine_config &config)
{
gundealr(config); gundealr(config);
MCFG_DEVICE_MODIFY("maincpu") m_maincpu->set_addrmap(AS_PROGRAM, &gundealr_state::yamyam_main_map);
MCFG_DEVICE_PROGRAM_MAP(yamyam_main_map)
TIMER(config, "mcusim").configure_periodic(FUNC(gundealr_state::yamyam_mcu_sim), attotime::from_hz(6000000/60)); /* 6mhz confirmed */ TIMER(config, "mcusim").configure_periodic(FUNC(gundealr_state::yamyam_mcu_sim), attotime::from_hz(6000000/60)); /* 6mhz confirmed */
MACHINE_CONFIG_END }
void gundealr_state::gundealrbl(machine_config &config) void gundealr_state::gundealrbl(machine_config &config)
{ {

View File

@ -1217,33 +1217,33 @@ TIMER_DEVICE_CALLBACK_MEMBER(gunpey_state::scanline)
} }
/***************************************************************************************/ /***************************************************************************************/
MACHINE_CONFIG_START(gunpey_state::gunpey) void gunpey_state::gunpey(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", V30, 57242400 / 4) V30(config, m_maincpu, 57242400 / 4);
MCFG_DEVICE_PROGRAM_MAP(mem_map) m_maincpu->set_addrmap(AS_PROGRAM, &gunpey_state::mem_map);
MCFG_DEVICE_IO_MAP(io_map) m_maincpu->set_addrmap(AS_IO, &gunpey_state::io_map);
TIMER(config, "scantimer").configure_scanline(FUNC(gunpey_state::scanline), "screen", 0, 1); TIMER(config, "scantimer").configure_scanline(FUNC(gunpey_state::scanline), "screen", 0, 1);
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_RAW_PARAMS(57242400/8, 442, 0, 320, 264, 0, 240) /* just to get ~60 Hz */ screen.set_raw(57242400/8, 442, 0, 320, 264, 0, 240); /* just to get ~60 Hz */
MCFG_SCREEN_UPDATE_DRIVER(gunpey_state, screen_update) screen.set_screen_update(FUNC(gunpey_state::screen_update));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
PALETTE(config, m_palette, palette_device::RGB_555); PALETTE(config, m_palette, palette_device::RGB_555);
SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right(); SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'934'400) / 8, okim6295_device::PIN7_LOW) OKIM6295(config, m_oki, XTAL(16'934'400) / 8, okim6295_device::PIN7_LOW);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) m_oki->add_route(ALL_OUTPUTS, "lspeaker", 0.25);
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.25) m_oki->add_route(ALL_OUTPUTS, "rspeaker", 0.25);
MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(16'934'400)) ymz280b_device &ymz(YMZ280B(config, "ymz", XTAL(16'934'400)));
MCFG_SOUND_ROUTE(0, "lspeaker", 0.25) ymz.add_route(0, "lspeaker", 0.25);
MCFG_SOUND_ROUTE(1, "rspeaker", 0.25) ymz.add_route(1, "rspeaker", 0.25);
MACHINE_CONFIG_END }
/***************************************************************************************/ /***************************************************************************************/

View File

@ -301,27 +301,27 @@ void gunsmoke_state::machine_reset()
m_sprite3bank = 0; m_sprite3bank = 0;
} }
MACHINE_CONFIG_START(gunsmoke_state::gunsmoke) void gunsmoke_state::gunsmoke(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) // 4 MHz Z80(config, m_maincpu, 4000000); // 4 MHz
MCFG_DEVICE_PROGRAM_MAP(gunsmoke_map) m_maincpu->set_addrmap(AS_PROGRAM, &gunsmoke_state::gunsmoke_map);
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gunsmoke_state, irq0_line_hold) m_maincpu->set_vblank_int("screen", FUNC(gunsmoke_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, 3000000) // 3 MHz z80_device &audiocpu(Z80(config, "audiocpu", 3000000)); // 3 MHz
MCFG_DEVICE_PROGRAM_MAP(sound_map) audiocpu.set_addrmap(AS_PROGRAM, &gunsmoke_state::sound_map);
MCFG_DEVICE_PERIODIC_INT_DRIVER(gunsmoke_state, irq0_line_hold, 4*60) audiocpu.set_periodic_int(FUNC(gunsmoke_state::irq0_line_hold), attotime::from_hz(4*60));
WATCHDOG_TIMER(config, "watchdog"); WATCHDOG_TIMER(config, "watchdog");
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
MCFG_SCREEN_REFRESH_RATE(60) screen.set_refresh_hz(60);
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
MCFG_SCREEN_SIZE(32*8, 32*8) screen.set_size(32*8, 32*8);
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
MCFG_SCREEN_UPDATE_DRIVER(gunsmoke_state, screen_update_gunsmoke) screen.set_screen_update(FUNC(gunsmoke_state::screen_update_gunsmoke));
MCFG_SCREEN_PALETTE(m_palette) screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gunsmoke); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gunsmoke);
@ -332,18 +332,18 @@ MACHINE_CONFIG_START(gunsmoke_state::gunsmoke)
GENERIC_LATCH_8(config, "soundlatch"); GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("ym1", YM2203, 1500000) ym2203_device &ym1(YM2203(config, "ym1", 1500000));
MCFG_SOUND_ROUTE(0, "mono", 0.22) ym1.add_route(0, "mono", 0.22);
MCFG_SOUND_ROUTE(1, "mono", 0.22) ym1.add_route(1, "mono", 0.22);
MCFG_SOUND_ROUTE(2, "mono", 0.22) ym1.add_route(2, "mono", 0.22);
MCFG_SOUND_ROUTE(3, "mono", 0.14) ym1.add_route(3, "mono", 0.14);
MCFG_DEVICE_ADD("ym2", YM2203, 1500000) ym2203_device &ym2(YM2203(config, "ym2", 1500000));
MCFG_SOUND_ROUTE(0, "mono", 0.22) ym2.add_route(0, "mono", 0.22);
MCFG_SOUND_ROUTE(1, "mono", 0.22) ym2.add_route(1, "mono", 0.22);
MCFG_SOUND_ROUTE(2, "mono", 0.22) ym2.add_route(2, "mono", 0.22);
MCFG_SOUND_ROUTE(3, "mono", 0.14) ym2.add_route(3, "mono", 0.14);
MACHINE_CONFIG_END }
/* ROMs */ /* ROMs */

View File

@ -473,18 +473,18 @@ WRITE_LINE_MEMBER(gyruss_state::vblank_irq)
m_subcpu->set_input_line(0, ASSERT_LINE); m_subcpu->set_input_line(0, ASSERT_LINE);
} }
MACHINE_CONFIG_START(gyruss_state::gyruss) void gyruss_state::gyruss(machine_config &config)
{
/* basic machine hardware */ /* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/6) /* 3.072 MHz */ Z80(config, m_maincpu, MASTER_CLOCK/6); /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(main_cpu1_map) m_maincpu->set_addrmap(AS_PROGRAM, &gyruss_state::main_cpu1_map);
MCFG_DEVICE_ADD("sub", KONAMI1, MASTER_CLOCK/12) /* 1.536 MHz */ KONAMI1(config, m_subcpu, MASTER_CLOCK/12); /* 1.536 MHz */
MCFG_DEVICE_PROGRAM_MAP(main_cpu2_map) m_subcpu->set_addrmap(AS_PROGRAM, &gyruss_state::main_cpu2_map);
MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CLOCK/4) /* 3.579545 MHz */ Z80(config, m_audiocpu, SOUND_CLOCK/4); /* 3.579545 MHz */
MCFG_DEVICE_PROGRAM_MAP(audio_cpu1_map) m_audiocpu->set_addrmap(AS_PROGRAM, &gyruss_state::audio_cpu1_map);
MCFG_DEVICE_IO_MAP(audio_cpu1_io_map) m_audiocpu->set_addrmap(AS_IO, &gyruss_state::audio_cpu1_io_map);
I8039(config, m_audiocpu_2, XTAL(8'000'000)); I8039(config, m_audiocpu_2, XTAL(8'000'000));
m_audiocpu_2->set_addrmap(AS_PROGRAM, &gyruss_state::audio_cpu2_map); m_audiocpu_2->set_addrmap(AS_PROGRAM, &gyruss_state::audio_cpu2_map);
@ -501,11 +501,11 @@ MACHINE_CONFIG_START(gyruss_state::gyruss)
mainlatch.q_out_cb<5>().set(FUNC(gyruss_state::flipscreen_w)); mainlatch.q_out_cb<5>().set(FUNC(gyruss_state::flipscreen_w));
/* video hardware */ /* video hardware */
MCFG_SCREEN_ADD("screen", RASTER) SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
MCFG_SCREEN_UPDATE_DRIVER(gyruss_state, screen_update_gyruss) m_screen->set_screen_update(FUNC(gyruss_state::screen_update_gyruss));
MCFG_SCREEN_PALETTE(m_palette) m_screen->set_palette(m_palette);
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, gyruss_state, vblank_irq)) m_screen->screen_vblank().set(FUNC(gyruss_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gyruss); GFXDECODE(config, m_gfxdecode, m_palette, gfx_gyruss);
PALETTE(config, m_palette, FUNC(gyruss_state::gyruss_palette), 16*4+16*16, 32); PALETTE(config, m_palette, FUNC(gyruss_state::gyruss_palette), 16*4+16*16, 32);
@ -555,10 +555,10 @@ MACHINE_CONFIG_START(gyruss_state::gyruss)
ay5.add_route(1, "discrete", 1.0, 13); ay5.add_route(1, "discrete", 1.0, 13);
ay5.add_route(2, "discrete", 1.0, 14); ay5.add_route(2, "discrete", 1.0, 14);
MCFG_DEVICE_ADD("discrete", DISCRETE, gyruss_sound_discrete) DISCRETE(config, m_discrete, gyruss_sound_discrete);
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) m_discrete->add_route(0, "rspeaker", 1.0);
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0) m_discrete->add_route(1, "lspeaker", 1.0);
MACHINE_CONFIG_END }

View File

@ -12,10 +12,10 @@ class funworld_state : public driver_device
public: public:
funworld_state(const machine_config &mconfig, device_type type, const char *tag) : funworld_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag), driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_videoram(*this, "videoram"), m_videoram(*this, "videoram"),
m_colorram(*this, "colorram"), m_colorram(*this, "colorram"),
m_maincpu(*this, "maincpu"),
m_palette(*this, "palette"), m_palette(*this, "palette"),
m_lamps(*this, "lamp%u", 0U) m_lamps(*this, "lamp%u", 0U)
{ } { }
@ -55,6 +55,7 @@ protected:
void magicrd2_map(address_map &map); void magicrd2_map(address_map &map);
required_device<cpu_device> m_maincpu;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
tilemap_t *m_bg_tilemap = nullptr; tilemap_t *m_bg_tilemap = nullptr;
@ -75,7 +76,6 @@ private:
required_shared_ptr<uint8_t> m_videoram; required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_colorram; required_shared_ptr<uint8_t> m_colorram;
required_device<cpu_device> m_maincpu;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
output_finder<8> m_lamps; output_finder<8> m_lamps;
}; };

View File

@ -21,9 +21,9 @@ class galivan_state : public driver_device
public: public:
galivan_state(const machine_config &mconfig, device_type type, const char *tag) : galivan_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag), driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_videoram(*this, "videoram"), m_videoram(*this, "videoram"),
m_spriteram(*this, "spriteram"), m_spriteram(*this, "spriteram"),
m_maincpu(*this, "maincpu"),
m_nb1414m4(*this, "nb1414m4"), m_nb1414m4(*this, "nb1414m4"),
m_gfxdecode(*this, "gfxdecode"), m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"), m_palette(*this, "palette"),
@ -39,6 +39,8 @@ public:
protected: protected:
void io_map(address_map &map); void io_map(address_map &map);
required_device<cpu_device> m_maincpu;
private: private:
/* memory pointers */ /* memory pointers */
required_shared_ptr<uint8_t> m_videoram; required_shared_ptr<uint8_t> m_videoram;
@ -84,7 +86,7 @@ private:
uint32_t screen_update_galivan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_galivan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_ninjemak(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_ninjemak(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect ); void draw_sprites( bitmap_ind16 &bitmap, const rectangle &cliprect );
required_device<cpu_device> m_maincpu;
optional_device<nb1414m4_device> m_nb1414m4; optional_device<nb1414m4_device> m_nb1414m4;
required_device<gfxdecode_device> m_gfxdecode; required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;

View File

@ -43,7 +43,7 @@ private:
required_device<cpu_device> m_subcpu; required_device<cpu_device> m_subcpu;
required_device<cpu_device> m_audiocpu; required_device<cpu_device> m_audiocpu;
required_device<i8039_device> m_audiocpu_2; required_device<i8039_device> m_audiocpu_2;
required_device<discrete_device> m_discrete; required_device<discrete_sound_device> m_discrete;
required_shared_ptr<uint8_t> m_colorram; required_shared_ptr<uint8_t> m_colorram;
required_shared_ptr<uint8_t> m_videoram; required_shared_ptr<uint8_t> m_videoram;
required_shared_ptr<uint8_t> m_spriteram; required_shared_ptr<uint8_t> m_spriteram;