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 */
MCFG_DEVICE_ADD("maincpu", E132XN, XTAL(20'000'000)*4) /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(common_map)
MCFG_DEVICE_IO_MAP(mosaicf2_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", mosaicf2_state, irq0_line_hold)
E132XN(config, m_maincpu, XTAL(20'000'000)*4); /* 4x internal multiplier */
m_maincpu->set_addrmap(AS_PROGRAM, &mosaicf2_state::common_map);
m_maincpu->set_addrmap(AS_IO, &mosaicf2_state::mosaicf2_io);
m_maincpu->set_vblank_int("screen", FUNC(mosaicf2_state::irq0_line_hold));
EEPROM_93C46_16BIT(config, "eeprom")
.erase_time(attotime::from_usec(1))
.write_time(attotime::from_usec(1));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(mosaicf2_state, screen_update_mosaicf2)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(512, 512);
screen.set_visarea(0, 319, 0, 223);
screen.set_screen_update(FUNC(mosaicf2_state::screen_update_mosaicf2));
screen.set_palette("palette");
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(1, "rspeaker", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH)); /* 1.7897725 MHz */
oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
}
@ -247,26 +247,26 @@ void mosaicf2_state::royalpk2_io(address_map &map)
map(0x6a00, 0x6a03).portw("EEPROMOUT");
}
MACHINE_CONFIG_START(mosaicf2_state::royalpk2)
void mosaicf2_state::royalpk2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", GMS30C2132, XTAL(50'000'000))
MCFG_DEVICE_PROGRAM_MAP(royalpk2_map)
MCFG_DEVICE_IO_MAP(royalpk2_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", mosaicf2_state, irq1_line_hold)
GMS30C2132(config, m_maincpu, XTAL(50'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &mosaicf2_state::royalpk2_map);
m_maincpu->set_addrmap(AS_IO, &mosaicf2_state::royalpk2_io);
m_maincpu->set_vblank_int("screen", FUNC(mosaicf2_state::irq1_line_hold));
EEPROM_93C46_16BIT(config, "eeprom")
.erase_time(attotime::from_usec(1))
.write_time(attotime::from_usec(1));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 223)
MCFG_SCREEN_UPDATE_DRIVER(mosaicf2_state, screen_update_mosaicf2)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(512, 512);
screen.set_visarea(0, 319, 0, 223);
screen.set_screen_update(FUNC(mosaicf2_state::screen_update_mosaicf2));
screen.set_palette("palette");
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(1, "rspeaker", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH) /* 1.7897725 MHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH)); /* 1.7897725 MHz */
oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
// 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);
}
MACHINE_CONFIG_START(fantland_state::fantland)
void fantland_state::fantland(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8086, 8000000) // ?
MCFG_DEVICE_PROGRAM_MAP(fantland_map)
I8086(config, m_maincpu, 8000000); // ?
m_maincpu->set_addrmap(AS_PROGRAM, &fantland_state::fantland_map);
MCFG_DEVICE_ADD("audiocpu", I8088, 8000000) // ?
MCFG_DEVICE_PROGRAM_MAP(fantland_sound_map)
MCFG_DEVICE_IO_MAP(fantland_sound_iomap)
MCFG_DEVICE_PERIODIC_INT_DRIVER(fantland_state, fantland_sound_irq, 8000)
I8088(config, m_audiocpu, 8000000); // ?
m_audiocpu->set_addrmap(AS_PROGRAM, &fantland_state::fantland_sound_map);
m_audiocpu->set_addrmap(AS_IO, &fantland_state::fantland_sound_iomap);
m_audiocpu->set_periodic_int(FUNC(fantland_state::fantland_sound_irq), attotime::from_hz(8000));
// NMI when soundlatch is written
config.m_minimum_quantum = attotime::from_hz(8000); // sound irq must feed the DAC at 8kHz
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(352,256)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq))
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(352,256);
m_screen->set_visarea_full();
m_screen->set_screen_update(FUNC(fantland_state::screen_update));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(fantland_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fantland);
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"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END
}
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);
}
MACHINE_CONFIG_START(fantland_state::galaxygn)
void fantland_state::galaxygn(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8088, XTAL(16'000'000) / 2) // AMD P8088-2
MCFG_DEVICE_PROGRAM_MAP(galaxygn_map)
I8088(config, m_maincpu, XTAL(16'000'000) / 2); // AMD P8088-2
m_maincpu->set_addrmap(AS_PROGRAM, &fantland_state::galaxygn_map);
MCFG_DEVICE_ADD("audiocpu", V20, XTAL(7'995'500)) // NEC D70108C-8
MCFG_DEVICE_PROGRAM_MAP(fantland_sound_map)
MCFG_DEVICE_IO_MAP(galaxygn_sound_iomap)
V20(config, m_audiocpu, XTAL(7'995'500)); // NEC D70108C-8
m_audiocpu->set_addrmap(AS_PROGRAM, &fantland_state::fantland_sound_map);
m_audiocpu->set_addrmap(AS_IO, &fantland_state::galaxygn_sound_iomap);
// IRQ by YM2151, NMI when soundlatch is written
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(352,256)
MCFG_SCREEN_VISIBLE_AREA(0, 352-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(fantland_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, fantland_state, vblank_irq))
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(352,256);
m_screen->set_visarea_full();
m_screen->set_screen_update(FUNC(fantland_state::screen_update));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(fantland_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fantland);
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.add_route(0, "speaker", 1.0);
ymsnd.add_route(1, "speaker", 1.0);
MACHINE_CONFIG_END
}
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 */
MCFG_DEVICE_ADD("maincpu", M68020, XTAL(12'000'000))
MCFG_DEVICE_PROGRAM_MAP(maincpu_mem)
MCFG_DEVICE_DISABLE()
M68020(config, m_maincpu, XTAL(12'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &fanucs15_state::maincpu_mem);
m_maincpu->set_disable();
MCFG_DEVICE_ADD("pmccpu", M68000, XTAL(12'000'000))
MCFG_DEVICE_PROGRAM_MAP(pmccpu_mem)
MCFG_DEVICE_DISABLE()
M68000(config, m_pmccpu, XTAL(12'000'000));
m_pmccpu->set_addrmap(AS_PROGRAM, &fanucs15_state::pmccpu_mem);
m_pmccpu->set_disable();
MCFG_DEVICE_ADD("gfxcpu", M68000, XTAL(10'000'000)) // wants bit 15 of 70500 to be set
MCFG_DEVICE_PROGRAM_MAP(gfxcpu_mem)
MCFG_DEVICE_DISABLE()
M68000(config, m_gfxcpu, XTAL(10'000'000)); // wants bit 15 of 70500 to be set
m_gfxcpu->set_addrmap(AS_PROGRAM, &fanucs15_state::gfxcpu_mem);
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)
MCFG_DEVICE_PROGRAM_MAP(convcpu_mem)
MACHINE_CONFIG_END
I80286(config, m_convcpu, XTAL(8'000'000)); // wants 70500 to return 0x8000 (same as what gfxcpu looks for, basically)
m_convcpu->set_addrmap(AS_PROGRAM, &fanucs15_state::convcpu_mem);
}
/* ROM definition */
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 */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(fb01_mem)
MCFG_DEVICE_IO_MAP(fb01_io)
Z80(config, m_maincpu, XTAL(12'000'000)/2);
m_maincpu->set_addrmap(AS_PROGRAM, &fb01_state::fb01_mem);
m_maincpu->set_addrmap(AS_IO, &fb01_state::fb01_io);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(6*16, 9)
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9-1)
MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(6*16, 9);
screen.set_visarea_full();
screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update));
screen.set_palette("palette");
config.set_default_layout(layout_fb01);
@ -224,7 +225,7 @@ MACHINE_CONFIG_START(fb01_state::fb01)
ym2164.add_route(1, "rspeaker", 1.00);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
}
/* 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. */
MACHINE_CONFIG_START(cpu30_state::cpu30x)
void cpu30_state::cpu30x(machine_config &config)
{
cpu30(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(16'777'216)) /* 16.7 MHz from description, crystal needs verification */
m_maincpu->set_clock(XTAL(16'777'216)); /* 16.7 MHz from description, crystal needs verification */
// config.device_remove("");
// dual ported ram
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.*/
MACHINE_CONFIG_START(cpu30_state::cpu30xa)
void cpu30_state::cpu30xa(machine_config &config)
{
cpu30x(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(20'000'000)) /* 20.0 MHz from description, crystal needs verification */
MACHINE_CONFIG_END
m_maincpu->set_clock(XTAL(20'000'000)); /* 20.0 MHz from description, crystal needs verification */
}
/* 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);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(20'000'000)) /* 20.0 MHz from description, crystal needs verification */
m_maincpu->set_clock(XTAL(20'000'000)); /* 20.0 MHz from description, crystal needs verification */
// dual ported ram
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 */
MACHINE_CONFIG_START(cpu30_state::cpu30zbe)
void cpu30_state::cpu30zbe(machine_config &config)
{
cpu30za(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(25'000'000)) /* 25.0 MHz from description, crystal needs verification */
m_maincpu->set_clock(XTAL(25'000'000)); /* 25.0 MHz from description, crystal needs verification */
// dual ported ram
m_ram->set_default_size("4M").set_extra_options("256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M");
MACHINE_CONFIG_END
}
/* SYS68K/CPU-33 */
MACHINE_CONFIG_START(cpu30_state::cpu33)
void cpu30_state::cpu33(machine_config &config)
{
cpu30zbe(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(25'000'000)) /* 25.0 MHz from description, crystal needs verification */
m_maincpu->set_clock(XTAL(25'000'000)); /* 25.0 MHz from description, crystal needs verification */
// dual ported ram
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*/
void cpu30_state::cpu30be8(machine_config &config)

View File

@ -288,20 +288,20 @@ void fcombat_state::machine_reset()
m_ty = 0;
}
MACHINE_CONFIG_START(fcombat_state::fcombat)
void fcombat_state::fcombat(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 10000000/3)
MCFG_DEVICE_PROGRAM_MAP(main_map)
Z80(config, m_maincpu, 10000000/3);
m_maincpu->set_addrmap(AS_PROGRAM, &fcombat_state::main_map);
MCFG_DEVICE_ADD("audiocpu", Z80, 10000000/3)
MCFG_DEVICE_PROGRAM_MAP(audio_map)
z80_device &audiocpu(Z80(config, "audiocpu", 10000000/3));
audiocpu.set_addrmap(AS_PROGRAM, &fcombat_state::audio_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(FCOMBAT_PIXEL_CLOCK, FCOMBAT_HTOTAL, FCOMBAT_HBEND, FCOMBAT_HBSTART, FCOMBAT_VTOTAL, FCOMBAT_VBEND, FCOMBAT_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(fcombat_state, screen_update_fcombat)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(FCOMBAT_PIXEL_CLOCK, FCOMBAT_HTOTAL, FCOMBAT_HBEND, FCOMBAT_HBSTART, FCOMBAT_VTOTAL, FCOMBAT_VBEND, FCOMBAT_VBSTART);
screen.set_screen_update(FUNC(fcombat_state::screen_update_fcombat));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fcombat);
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, "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;
}
MACHINE_CONFIG_START(cps_state::dinopic)
void cps_state::dinopic(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(dinopic_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::dinopic_map);
m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000)
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
//PIC16C57(config, m_audiocpu, 12000000).set_disable(); /* no valid dumps .. */
MCFG_MACHINE_START_OVERRIDE(cps_state, dinopic)
EEPROM_93C46_8BIT(config, "eeprom");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00)
PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */
SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
}
/*
@ -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?
// 3x8 dsws
MACHINE_CONFIG_START(cps_state::sgyxz)
void cps_state::sgyxz(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(sgyxz_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_map);
m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545)
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map)
Z80(config, m_audiocpu, 3579545);
m_audiocpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_sound_map);
MCFG_MACHINE_START_OVERRIDE(cps_state,sgyxz)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
m_screen->set_palette(m_palette);
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");
@ -2523,9 +2522,8 @@ MACHINE_CONFIG_START(cps_state::sgyxz)
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 */
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
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
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
}
ROM_START( sgyxz )
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_END
MACHINE_CONFIG_START(cps_state::wofabl)
void cps_state::wofabl(machine_config &config)
{
sgyxz(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(wofabl_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::wofabl_map);
}
ROM_START( wofabl )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */
@ -2608,42 +2606,40 @@ MACHINE_START_MEMBER(cps_state, punipic)
m_sprite_x_offset = 0;
}
MACHINE_CONFIG_START(cps_state::punipic)
void cps_state::punipic(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(punipic_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::punipic_map);
m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000)
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
//PIC16C57(config, m_audiocpu, 12000000).set_disable(); /* no valid dumps .. */
MCFG_MACHINE_START_OVERRIDE(cps_state, punipic)
EEPROM_93C46_8BIT(config, "eeprom");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00)
PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */
SPEAKER(config, "mono").front_center();
GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
}
/* bootleg with pic, like dinopic / dinopic2 */
ROM_START( punipic )
@ -2802,28 +2798,28 @@ void cps_state::init_punipic3()
// ************************************************************************* SF2M1
MACHINE_CONFIG_START(cps_state::sf2m1)
void cps_state::sf2m1(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000) )
MCFG_DEVICE_PROGRAM_MAP(sf2m1_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack)
M68000(config, m_maincpu, XTAL(12'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::sf2m1_map);
m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map)
Z80(config, m_audiocpu, XTAL(3'579'545));
m_audiocpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_sound_map);
MCFG_MACHINE_START_OVERRIDE(cps_state,sf2m1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(CPS_PIXEL_CLOCK, CPS_HTOTAL, CPS_HBEND, CPS_HBSTART, CPS_VTOTAL, CPS_VBEND, CPS_VBSTART);
m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00)
PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */
SPEAKER(config, "mono").front_center();
@ -2833,9 +2829,8 @@ MACHINE_CONFIG_START(cps_state::sf2m1)
ym2151.irq_handler().set_inputline(m_audiocpu, 0);
ym2151.add_route(0, "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)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
}
ROM_START( sf2m1 )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
@ -3178,40 +3173,38 @@ MACHINE_START_MEMBER(cps_state, slampic)
m_sprite_x_offset = 0;
}
MACHINE_CONFIG_START(cps_state::slampic)
void cps_state::slampic(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(slampic_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::slampic_map);
m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
//MCFG_DEVICE_ADD("audiocpu", PIC16C57, 12000000)
//MCFG_DEVICE_DISABLE() /* no valid dumps .. */
//PIC16C57(config, m_audiocpu, 12000000).set_disable(); /* no valid dumps .. */
MCFG_MACHINE_START_OVERRIDE(cps_state, slampic)
EEPROM_93C46_8BIT(config, "eeprom");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_fcrash)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
m_screen->set_screen_update(FUNC(cps_state::screen_update_fcrash));
m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00)
PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
}
ROM_START( slampic )
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");
}
MACHINE_CONFIG_START(cps_state::varthb)
void cps_state::varthb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000)
MCFG_DEVICE_PROGRAM_MAP(varthb_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(cps_state, cps1_int_ack)
M68000(config, m_maincpu, 12000000);
m_maincpu->set_addrmap(AS_PROGRAM, &cps_state::varthb_map);
m_maincpu->set_vblank_int("screen", FUNC(cps_state::cps1_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(cps_state::cps1_int_ack));
MCFG_DEVICE_ADD("audiocpu", Z80, 3579545)
MCFG_DEVICE_PROGRAM_MAP(sgyxz_sound_map)
Z80(config, m_audiocpu, 3579545);
m_audiocpu->set_addrmap(AS_PROGRAM, &cps_state::sgyxz_sound_map);
MCFG_MACHINE_START_OVERRIDE(cps_state,cps1)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(cps_state, screen_update_cps1)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, cps_state, screen_vblank_cps1))
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(8*8, (64-8)*8-1, 2*8, 30*8-1 );
m_screen->set_screen_update(FUNC(cps_state::screen_update_cps1));
m_screen->screen_vblank().set(FUNC(cps_state::screen_vblank_cps1));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cps1);
MCFG_PALETTE_ADD("palette", 0xc00)
PALETTE(config, m_palette).set_entries(0xc00);
/* sound hardware */
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(1, "mono", 0.35);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, XTAL(16'000'000)/4/4, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
}
ROM_START( varthb )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */

View File

@ -286,29 +286,28 @@ void feversoc_state::machine_start()
m_lamps.resolve();
}
MACHINE_CONFIG_START(feversoc_state::feversoc)
void feversoc_state::feversoc(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",SH2,MASTER_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(feversoc_map)
SH2(config, m_maincpu, MASTER_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &feversoc_state::feversoc_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1) //dynamic resolution?
MCFG_SCREEN_UPDATE_DRIVER(feversoc_state, screen_update_feversoc)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, feversoc_state, feversoc_irq))
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1); //dynamic resolution?
screen.set_screen_update(FUNC(feversoc_state::screen_update_feversoc));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(feversoc_state::feversoc_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_feversoc);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x1000);
/* sound hardware */
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)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.6)
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)
EEPROM_93C56_16BIT(config, "eeprom");
@ -317,7 +316,7 @@ MACHINE_CONFIG_START(feversoc_state::feversoc)
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);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

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

View File

@ -262,11 +262,11 @@ void finalizr_state::machine_reset()
m_irq_enable = 0;
}
MACHINE_CONFIG_START(finalizr_state::finalizr)
void finalizr_state::finalizr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", KONAMI1, XTAL(18'432'000)/6) /* ??? */
MCFG_DEVICE_PROGRAM_MAP(main_map)
KONAMI1(config, m_maincpu, XTAL(18'432'000)/6); /* ??? */
m_maincpu->set_addrmap(AS_PROGRAM, &finalizr_state::main_map);
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 ?? */
@ -279,13 +279,13 @@ MACHINE_CONFIG_START(finalizr_state::finalizr)
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 35*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(finalizr_state, screen_update_finalizr)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(36*8, 32*8);
screen.set_visarea(1*8, 35*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(finalizr_state::screen_update_finalizr));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_finalizr);
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");
MCFG_DEVICE_ADD("snsnd", SN76489A, XTAL(18'432'000)/12)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.75)
SN76489A(config, "snsnd", XTAL(18'432'000)/12).add_route(ALL_OUTPUTS, "speaker", 0.75);
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.325); // unknown DAC
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_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 */
I8031(config, m_maincpu, CPU_CLK); //
m_maincpu->set_addrmap(AS_PROGRAM, &fireball_state::fireball_map);
@ -513,7 +514,7 @@ MACHINE_CONFIG_START(fireball_state::fireball)
/* Video */
config.set_default_layout(layout_fireball);
MACHINE_CONFIG_END
}
/*************************

View File

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

View File

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

View File

@ -412,12 +412,13 @@ uint32_t fk1_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, c
return 0;
}
MACHINE_CONFIG_START(fk1_state::fk1)
void fk1_state::fk1(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(8'000'000) / 2)
MCFG_DEVICE_PROGRAM_MAP(fk1_mem)
MCFG_DEVICE_IO_MAP(fk1_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fk1_state,fk1_irq_callback)
Z80(config, m_maincpu, XTAL(8'000'000) / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &fk1_state::fk1_mem);
m_maincpu->set_addrmap(AS_IO, &fk1_state::fk1_io);
m_maincpu->set_irq_acknowledge_callback(FUNC(fk1_state::fk1_irq_callback));
/* video hardware */
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, "vsync_timer").configure_periodic(FUNC(fk1_state::vsync_callback), attotime::from_hz(50));
MACHINE_CONFIG_END
}
/* ROM definition */
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 */
Z80(config, m_maincpu, MASTER_CLOCK/4);
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);
AY8910(config, "ay2", MASTER_CLOCK/8).add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END
}
ROM_START( flipjack )

View File

@ -494,25 +494,26 @@ INTERRUPT_GEN_MEMBER(flower_state::slave_vblank_irq)
}
MACHINE_CONFIG_START(flower_state::flower)
MCFG_DEVICE_ADD("mastercpu",Z80,MASTER_CLOCK/4)
MCFG_DEVICE_PROGRAM_MAP(shared_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", flower_state, master_vblank_irq)
void flower_state::flower(machine_config &config)
{
Z80(config, m_mastercpu, MASTER_CLOCK/4);
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)
MCFG_DEVICE_PROGRAM_MAP(shared_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", flower_state, slave_vblank_irq)
Z80(config, m_slavecpu, MASTER_CLOCK/4);
m_slavecpu->set_addrmap(AS_PROGRAM, &flower_state::shared_map);
m_slavecpu->set_vblank_int("screen", FUNC(flower_state::slave_vblank_irq));
MCFG_DEVICE_ADD("audiocpu",Z80,MASTER_CLOCK/4)
MCFG_DEVICE_PROGRAM_MAP(audio_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(flower_state, irq0_line_hold, 90)
Z80(config, m_audiocpu, MASTER_CLOCK/4);
m_audiocpu->set_addrmap(AS_PROGRAM, &flower_state::audio_map);
m_audiocpu->set_periodic_int(FUNC(flower_state::irq0_line_hold), attotime::from_hz(90));
config.m_perfect_cpu_quantum = subtag("mastercpu");
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(flower_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK/3,384,0,288,264,16,240) // derived from Galaxian HW, 60.606060
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_screen_update(FUNC(flower_state::screen_update));
m_screen->set_raw(MASTER_CLOCK/3,384,0,288,264,16,240); // derived from Galaxian HW, 60.606060
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_flower);
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();
MCFG_DEVICE_ADD("flower", FLOWER_CUSTOM, 96000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
FLOWER_CUSTOM(config, "flower", 96000).add_route(ALL_OUTPUTS, "mono", 1.0);
}
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 */
MCFG_DEVICE_ADD("maincpu", M6502, MASTER_CLOCK/16)
MCFG_DEVICE_PROGRAM_MAP(flyball_map)
M6502(config, m_maincpu, MASTER_CLOCK/16);
m_maincpu->set_addrmap(AS_PROGRAM, &flyball_state::flyball_map);
F9334(config, m_outlatch); // F7
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
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(256, 262)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(flyball_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI))
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_size(256, 262);
m_screen->set_visarea(0, 255, 0, 239);
m_screen->set_screen_update(FUNC(flyball_state::screen_update));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_flyball);
PALETTE(config, m_palette, FUNC(flyball_state::flyball_palette), 4);
/* 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 */
MCFG_DEVICE_ADD("maincpu", MC6809, 16.128_MHz_XTAL / 2)
MCFG_DEVICE_PROGRAM_MAP(fm7_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
MC6809(config, m_maincpu, 16.128_MHz_XTAL / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm7_mem);
m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 16.128_MHz_XTAL / 2)
MCFG_DEVICE_PROGRAM_MAP(fm7_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
MC6809(config, m_sub, 16.128_MHz_XTAL / 2);
m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm7_sub_mem);
m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
@ -2051,9 +2052,9 @@ MACHINE_CONFIG_START(fm7_state::fm7)
MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(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)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200); // H = 15.75 KHz, V = 60.1145 Hz
m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
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);
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 */
MCFG_DEVICE_ADD("maincpu", MC6809, 4.9152_MHz_XTAL) // 1.2MHz 68A09
MCFG_DEVICE_PROGRAM_MAP(fm8_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
MC6809(config, m_maincpu, 4.9152_MHz_XTAL); // 1.2MHz 68A09
m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm8_mem);
m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 16.128_MHz_XTAL / 2)
MCFG_DEVICE_PROGRAM_MAP(fm7_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
MC6809(config, m_sub, 16.128_MHz_XTAL / 2);
m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm7_sub_mem);
m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
@ -2103,9 +2105,9 @@ MACHINE_CONFIG_START(fm7_state::fm8)
MCFG_MACHINE_START_OVERRIDE(fm7_state,fm7)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200)
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200);
m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
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);
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 */
MCFG_DEVICE_ADD("maincpu", MC6809E, 16.128_MHz_XTAL / 8)
MCFG_DEVICE_PROGRAM_MAP(fm77av_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
MC6809E(config, m_maincpu, 16.128_MHz_XTAL / 8);
m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm77av_mem);
m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809E, 16.128_MHz_XTAL / 8)
MCFG_DEVICE_PROGRAM_MAP(fm77av_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
MC6809E(config, m_sub, 16.128_MHz_XTAL / 8);
m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm77av_sub_mem);
m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
@ -2160,12 +2163,12 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
}
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200)
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(16.128_MHz_XTAL, 1024, 0, 640, 262, 0, 200);
m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
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);
m_cassette->set_formats(fm7_cassette_formats);
@ -2192,23 +2195,24 @@ MACHINE_CONFIG_START(fm7_state::fm77av)
OUTPUT_LATCH(config, 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 */
MCFG_DEVICE_ADD("maincpu", MC6809E, 2000000) // 2MHz 68B09E
MCFG_DEVICE_PROGRAM_MAP(fm11_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_irq_ack)
MC6809E(config, m_maincpu, 2000000); // 2MHz 68B09E
m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm11_mem);
m_maincpu->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_irq_ack));
config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 8000000) // 2MHz 68B09
MCFG_DEVICE_PROGRAM_MAP(fm11_sub_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
MC6809(config, m_sub, 8000000); // 2MHz 68B09
m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm11_sub_mem);
m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
config.m_perfect_cpu_quantum = subtag("sub");
MCFG_DEVICE_ADD("x86", I8088, 8000000) // 8MHz i8088
MCFG_DEVICE_PROGRAM_MAP(fm11_x86_mem)
MCFG_DEVICE_IO_MAP(fm11_x86_io)
I8088(config, m_x86, 8000000); // 8MHz i8088
m_x86->set_addrmap(AS_PROGRAM, &fm7_state::fm11_x86_mem);
m_x86->set_addrmap(AS_IO, &fm7_state::fm11_x86_io);
SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 1200).add_route(ALL_OUTPUTS, "mono", 0.50);
@ -2222,9 +2226,9 @@ MACHINE_CONFIG_START(fm7_state::fm11)
}
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(16128000, 1024, 0, 640, 262, 0, 200)
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(16128000, 1024, 0, 640, 262, 0, 200);
m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
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);
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 */
MCFG_DEVICE_ADD("maincpu", I8086, 8000000) // 8MHz i8086
MCFG_DEVICE_PROGRAM_MAP(fm16_mem)
MCFG_DEVICE_IO_MAP(fm16_io)
I8086(config, m_maincpu, 8000000); // 8MHz i8086
m_maincpu->set_addrmap(AS_PROGRAM, &fm7_state::fm16_mem);
m_maincpu->set_addrmap(AS_IO, &fm7_state::fm16_io);
config.m_perfect_cpu_quantum = subtag("maincpu");
MCFG_DEVICE_ADD("sub", MC6809, 8000000)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(fm7_state,fm7_sub_irq_ack)
MCFG_DEVICE_PROGRAM_MAP(fm16_sub_mem)
MC6809(config, m_sub, 8000000);
m_sub->set_irq_acknowledge_callback(FUNC(fm7_state::fm7_sub_irq_ack));
m_sub->set_addrmap(AS_PROGRAM, &fm7_state::fm16_sub_mem);
config.m_perfect_cpu_quantum = subtag("sub");
SPEAKER(config, "mono").front_center();
@ -2269,9 +2274,9 @@ MACHINE_CONFIG_START(fm7_state::fm16beta)
MCFG_MACHINE_START_OVERRIDE(fm7_state,fm16)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(16128000, 1024, 0, 640, 262, 0, 200)
MCFG_SCREEN_UPDATE_DRIVER(fm7_state, screen_update_fm7)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(16128000, 1024, 0, 640, 262, 0, 200);
m_screen->set_screen_update(FUNC(fm7_state::screen_update_fm7));
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);
m_centronics->set_output_latch(*m_cent_data_out);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( fm8 )

View File

@ -112,35 +112,37 @@ void fontwriter_state::fw600_map(address_map &map)
static INPUT_PORTS_START( fontwriter )
INPUT_PORTS_END
MACHINE_CONFIG_START(fontwriter_state::fontwriter)
MCFG_DEVICE_ADD("maincpu", M37720S1, XTAL(16'000'000)) /* M37720S1 @ 16MHz - main CPU */
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_IO_MAP(io_map)
void fontwriter_state::fontwriter(machine_config &config)
{
M37720S1(config, m_maincpu, XTAL(16'000'000)); /* M37720S1 @ 16MHz - main CPU */
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)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_UPDATE_DRIVER(fontwriter_state, screen_update)
MCFG_SCREEN_SIZE(640, 400)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 399)
MACHINE_CONFIG_END
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_screen_update(FUNC(fontwriter_state::screen_update));
screen.set_size(640, 400);
screen.set_visarea_full();
}
MACHINE_CONFIG_START(fontwriter_state::fw600)
MCFG_DEVICE_ADD("maincpu", M37720S1, XTAL(16'000'000)) /* M37720S1 @ 16MHz - main CPU */
MCFG_DEVICE_PROGRAM_MAP(fw600_map)
MCFG_DEVICE_IO_MAP(io_map)
void fontwriter_state::fw600(machine_config &config)
{
M37720S1(config, m_maincpu, XTAL(16'000'000)); /* M37720S1 @ 16MHz - main CPU */
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)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_UPDATE_DRIVER(fontwriter_state, screen_update)
MCFG_SCREEN_SIZE(640, 400)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 399)
MACHINE_CONFIG_END
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_screen_update(FUNC(fontwriter_state::screen_update));
screen.set_size(640, 400);
screen.set_visarea_full();
}
ROM_START(fw600)
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
* such as an optional 68881 FPU
*/
MACHINE_CONFIG_START (force68k_state::fccpu6)
MCFG_DEVICE_ADD ("maincpu", M68000, XTAL(8'000'000)) /* Jumper B10 Mode B */
MCFG_DEVICE_PROGRAM_MAP (force68k_mem)
MACHINE_CONFIG_END
void force68k_state::fccpu6(machine_config &config)
{
M68000(config, m_maincpu, XTAL(8'000'000)); /* Jumper B10 Mode B */
m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6a)
MCFG_DEVICE_ADD ("maincpu", M68000, XTAL(12'500'000)) /* Jumper B10 Mode A */
MCFG_DEVICE_PROGRAM_MAP (force68k_mem)
MACHINE_CONFIG_END
void force68k_state::fccpu6a(machine_config &config)
{
M68000(config, m_maincpu, XTAL(12'500'000)); /* Jumper B10 Mode A */
m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6v)
MCFG_DEVICE_ADD ("maincpu", M68010, XTAL(8'000'000)) /* Jumper B10 Mode B */
MCFG_DEVICE_PROGRAM_MAP (force68k_mem)
MACHINE_CONFIG_END
void force68k_state::fccpu6v(machine_config &config)
{
M68010(config, m_maincpu, XTAL(8'000'000)); /* Jumper B10 Mode B */
m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6va)
MCFG_DEVICE_ADD ("maincpu", M68010, XTAL(12'500'000)) /* Jumper B10 Mode A */
MCFG_DEVICE_PROGRAM_MAP (force68k_mem)
MACHINE_CONFIG_END
void force68k_state::fccpu6va(machine_config &config)
{
M68010(config, m_maincpu, XTAL(12'500'000)); /* Jumper B10 Mode A */
m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
MACHINE_CONFIG_START (force68k_state::fccpu6vb)
MCFG_DEVICE_ADD ("maincpu", M68010, XTAL(12'500'000)) /* Jumper B10 Mode A */
MCFG_DEVICE_PROGRAM_MAP (force68k_mem)
MACHINE_CONFIG_END
void force68k_state::fccpu6vb(machine_config &config)
{
M68010(config, m_maincpu, XTAL(12'500'000)); /* Jumper B10 Mode A */
m_maincpu->set_addrmap(AS_PROGRAM, &force68k_state::force68k_mem);
}
#endif
/* ROM definitions */

View File

@ -682,24 +682,25 @@ void fortecar_state::machine_reset()
* Machine Drivers *
***********************************/
MACHINE_CONFIG_START(fortecar_state::fortecar)
void fortecar_state::fortecar(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, CPU_CLOCK) /* 3 MHz, measured */
MCFG_DEVICE_PROGRAM_MAP(fortecar_map)
MCFG_DEVICE_IO_MAP(fortecar_ports)
Z80(config, m_maincpu, CPU_CLOCK); /* 3 MHz, measured */
m_maincpu->set_addrmap(AS_PROGRAM, &fortecar_state::fortecar_map);
m_maincpu->set_addrmap(AS_IO, &fortecar_state::fortecar_ports);
WATCHDOG_TIMER(config, m_watchdog).set_time(attotime::from_msec(200)); /* guess */
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(640, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 600-1, 0, 240-1) /* driven by CRTC */
MCFG_SCREEN_UPDATE_DRIVER(fortecar_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(640, 256);
screen.set_visarea(0, 600-1, 0, 240-1); /* driven by CRTC */
screen.set_screen_update(FUNC(fortecar_state::screen_update));
screen.set_palette(m_palette);
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_b_write_callback().set(FUNC(fortecar_state::ayportb_w));
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]);
}
MACHINE_CONFIG_START(fp1100_state::fp1100)
void fp1100_state::fp1100(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, MAIN_CLOCK/4)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fp1100_state, vblank_irq)
Z80(config, m_maincpu, MAIN_CLOCK/4);
m_maincpu->set_addrmap(AS_PROGRAM, &fp1100_state::main_map);
m_maincpu->set_addrmap(AS_IO, &fp1100_state::io_map);
m_maincpu->set_vblank_int("screen", FUNC(fp1100_state::vblank_irq));
upd7801_device &sub(UPD7801(config, m_subcpu, MAIN_CLOCK/4));
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));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
MCFG_PALETTE_ADD("palette", 8)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea_full();
screen.set_screen_update("crtc", FUNC(h46505_device::screen_update));
PALETTE(config, m_palette).set_entries(8);
GFXDECODE(config, "gfxdecode", m_palette, gfx_fp1100);
/* sound hardware */
@ -687,7 +688,7 @@ MACHINE_CONFIG_START(fp1100_state::fp1100)
CASSETTE(config, m_cass);
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
MACHINE_CONFIG_END
}
/* ROM definition */
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 */
MCFG_DEVICE_ADD("maincpu", I8086, 16000000/2)
MCFG_DEVICE_PROGRAM_MAP(fp6000_map)
MCFG_DEVICE_IO_MAP(fp6000_io)
I8086(config, m_maincpu, 16000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &fp6000_state::fp6000_map);
m_maincpu->set_addrmap(AS_IO, &fp6000_state::fp6000_io);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(fp6000_state, screen_update_fp6000)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea_full();
screen.set_screen_update(FUNC(fp6000_state::screen_update_fp6000));
screen.set_palette(m_palette);
H46505(config, m_crtc, 16000000/5); /* unknown clock, hand tuned to get ~60 fps */
m_crtc->set_screen("screen");
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(8);
MCFG_PALETTE_ADD("palette", 8)
// MCFG_PALETTE_INIT(black_and_white)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fp6000);
PALETTE(config, m_palette).set_entries(8);
MACHINE_CONFIG_END
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fp6000);
}
/* ROM definition */
ROM_START( fp6000 )

View File

@ -730,12 +730,13 @@ MACHINE_RESET_MEMBER(freekick_state,oigas)
m_cnt = 0;
}
MACHINE_CONFIG_START(freekick_state::omega)
MCFG_DEVICE_ADD("maincpu", MC8123, XTAL(18'432'000)/6) // unknown divisor
MCFG_DEVICE_PROGRAM_MAP(omega_map)
MCFG_DEVICE_IO_MAP(omega_io_map)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
void freekick_state::omega(machine_config &config)
{
MC8123(config, m_maincpu, XTAL(18'432'000)/6); // unknown divisor
m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::omega_map);
m_maincpu->set_addrmap(AS_IO, &freekick_state::omega_io_map);
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
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(); // ???
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(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)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, freekick_state, vblank_irq))
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(XTAL(18'432'000)/3, 768/2, 0, 512/2, 263, 0+16, 224+16); // unknown divisor
screen.set_screen_update(FUNC(freekick_state::screen_update_gigas));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(freekick_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_freekick);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x200);
@ -757,25 +758,21 @@ MACHINE_CONFIG_START(freekick_state::omega)
// sound hardware
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("sn1", SN76489A, XTAL(18'432'000)/6) // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SN76489A(config, "sn1", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_DEVICE_ADD("sn2", SN76489A, XTAL(18'432'000)/6) // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SN76489A(config, "sn2", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_DEVICE_ADD("sn3", SN76489A, XTAL(18'432'000)/6) // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SN76489A(config, "sn3", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
MCFG_DEVICE_ADD("sn4", SN76489A, XTAL(18'432'000)/6) // unknown divisor
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(freekick_state::base)
SN76489A(config, "sn4", XTAL(18'432'000)/6).add_route(ALL_OUTPUTS, "mono", 0.50); // unknown divisor
}
void freekick_state::base(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/4)
MCFG_DEVICE_PROGRAM_MAP(pbillrd_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
Z80(config, m_maincpu, XTAL(12'000'000)/4);
m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::pbillrd_map);
m_maincpu->set_periodic_int(FUNC(freekick_state::irq0_line_hold), attotime::from_hz(120)); // measured on PCB
LS259(config, m_outlatch);
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));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL(12'000'000)/2, 768/2, 0, 512/2, 263, 0+16, 224+16)
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_pbillrd)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, freekick_state, vblank_irq))
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(XTAL(12'000'000)/2, 768/2, 0, 512/2, 263, 0+16, 224+16);
screen.set_screen_update(FUNC(freekick_state::screen_update_pbillrd));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(freekick_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_freekick);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x200);
@ -795,18 +792,14 @@ MACHINE_CONFIG_START(freekick_state::base)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("sn1", SN76489A, XTAL(12'000'000)/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SN76489A(config, "sn1", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_DEVICE_ADD("sn2", SN76489A, XTAL(12'000'000)/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SN76489A(config, "sn2", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_DEVICE_ADD("sn3", SN76489A, XTAL(12'000'000)/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SN76489A(config, "sn3", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
MCFG_DEVICE_ADD("sn4", SN76489A, XTAL(12'000'000)/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
SN76489A(config, "sn4", XTAL(12'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.50);
}
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)
}
MACHINE_CONFIG_START(freekick_state::pbillrdm)
void freekick_state::pbillrdm(machine_config &config)
{
pbillrd(config);
MCFG_DEVICE_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4)
MCFG_DEVICE_PROGRAM_MAP(pbillrd_map)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
MACHINE_CONFIG_END
MC8123(config.replace(), m_maincpu, XTAL(12'000'000)/4);
m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::pbillrd_map);
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
}
MACHINE_CONFIG_START(freekick_state::freekick)
void freekick_state::freekick(machine_config &config)
{
base(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(freekick_map)
MCFG_DEVICE_IO_MAP(freekick_io_map)
m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::freekick_map);
m_maincpu->set_addrmap(AS_IO, &freekick_state::freekick_io_map);
// 5C
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");
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_freekick)
MACHINE_CONFIG_END
subdevice<screen_device>("screen")->set_screen_update(FUNC(freekick_state::screen_update_freekick));
}
MACHINE_CONFIG_START(freekick_state::gigas)
void freekick_state::gigas(machine_config &config)
{
base(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(gigas_map)
MCFG_DEVICE_IO_MAP(gigas_io_map)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::gigas_map);
m_maincpu->set_addrmap(AS_IO, &freekick_state::gigas_io_map);
m_maincpu->set_addrmap(AS_OPCODES, &freekick_state::decrypted_opcodes_map);
m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w));
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)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas)
MACHINE_CONFIG_END
subdevice<screen_device>("screen")->set_screen_update(FUNC(freekick_state::screen_update_gigas));
}
MACHINE_CONFIG_START(freekick_state::gigasm)
void freekick_state::gigasm(machine_config &config)
{
base(config);
/* basic machine hardware */
MCFG_DEVICE_REPLACE("maincpu", MC8123, XTAL(12'000'000)/4)
MCFG_DEVICE_PROGRAM_MAP(gigas_map)
MCFG_DEVICE_IO_MAP(gigas_io_map)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(freekick_state, irq0_line_hold, 120) // measured on PCB
MC8123(config.replace(), m_maincpu, XTAL(12'000'000)/4);
m_maincpu->set_addrmap(AS_PROGRAM, &freekick_state::gigas_map);
m_maincpu->set_addrmap(AS_IO, &freekick_state::gigas_io_map);
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
m_outlatch->q_out_cb<0>().set(FUNC(freekick_state::flipscreen_w));
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)
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(freekick_state, screen_update_gigas)
MACHINE_CONFIG_END
subdevice<screen_device>("screen")->set_screen_update(FUNC(freekick_state::screen_update_gigas));
}
MACHINE_CONFIG_START(freekick_state::oigas)
void freekick_state::oigas(machine_config &config)
{
gigas(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(oigas_io_map)
m_maincpu->set_addrmap(AS_IO, &freekick_state::oigas_io_map);
MCFG_MACHINE_START_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 */
MCFG_DEVICE_ADD("maincpu", M68000, 24000000/2 )
MCFG_DEVICE_PROGRAM_MAP(fresh_map)
M68000(config, m_maincpu, 24000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &fresh_state::fresh_map);
TIMER(config, "scantimer").configure_scanline(FUNC(fresh_state::fake_scanline), "screen", 0, 1);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(fresh_state, screen_update_fresh)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea_full();
screen.set_screen_update(FUNC(fresh_state::screen_update_fresh));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 0x1000); // or 0xc00
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fresh);
@ -619,9 +619,8 @@ MACHINE_CONFIG_START(fresh_state::fresh)
/* sound hw? */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2413, 4000000) // actual clock and type unknown
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
YM2413(config, "ymsnd", 4000000).add_route(ALL_OUTPUTS, "mono", 1.0); // actual clock and type unknown
}
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
}
MACHINE_CONFIG_START(fruitpc_state::fruitpc)
MCFG_DEVICE_ADD("maincpu", I486, 66000000) // ST STPCD0166BTC3 66 MHz 486 CPU
MCFG_DEVICE_PROGRAM_MAP(fruitpc_map)
MCFG_DEVICE_IO_MAP(fruitpc_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
void fruitpc_state::fruitpc(machine_config &config)
{
I486(config, m_maincpu, 66000000); // ST STPCD0166BTC3 66 MHz 486 CPU
m_maincpu->set_addrmap(AS_PROGRAM, &fruitpc_state::fruitpc_map);
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);
@ -145,10 +146,10 @@ MACHINE_CONFIG_START(fruitpc_state::fruitpc)
m_isabus->drq3_callback().set("dma8237_1", FUNC(am9517a_device::dreq3_w));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", fruitpc_isa8_cards, "sb15", true)
MCFG_SLOT_OPTION_DEVICE_INPUT_DEFAULTS("sb15", fruitpc_sb_def)
MCFG_SLOT_OPTION_MACHINE_CONFIG("sb15", fruitpc_sb_conf)
MACHINE_CONFIG_END
isa8_slot_device &isa1(ISA8_SLOT(config, "isa1", 0, "isa", fruitpc_isa8_cards, "sb15", true));
isa1.set_option_device_input_defaults("sb15", DEVICE_INPUT_DEFAULTS_NAME(fruitpc_sb_def));
isa1.set_option_machine_config("sb15", fruitpc_sb_conf);
}
ROM_START( fruitpc )
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 */
MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
MCFG_NETLIST_SETUP(fungames)
NETLIST_CPU(config, m_maincpu, NETLIST_CLOCK);
m_maincpu->set_constructor(netlist_fungames);
/* video hardware */
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_fieldcount(1);
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
MACHINE_CONFIG_START(funkball_state::funkball)
MCFG_DEVICE_ADD("maincpu", MEDIAGX, 66666666*3.5) // 66,6 MHz x 3.5
MCFG_DEVICE_PROGRAM_MAP(funkball_map)
MCFG_DEVICE_IO_MAP(funkball_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
MEDIAGX(config, m_maincpu, 66666666*3.5); // 66,6 MHz x 3.5
m_maincpu->set_addrmap(AS_PROGRAM, &funkball_state::funkball_map);
m_maincpu->set_addrmap(AS_IO, &funkball_state::funkball_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config);
@ -787,12 +787,12 @@ MACHINE_CONFIG_START(funkball_state::funkball)
m_voodoo->set_screen_tag("screen");
m_voodoo->set_cpu_tag(m_maincpu);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_UPDATE_DRIVER(funkball_state, screen_update)
MCFG_SCREEN_SIZE(1024, 1024)
MCFG_SCREEN_VISIBLE_AREA(0, 511, 16, 447)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_screen_update(FUNC(funkball_state::screen_update));
screen.set_size(1024, 1024);
screen.set_visarea(0, 511, 16, 447);
ns16550_device &uart(NS16550(config, "uart", 1843200)); // exact type unknown
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;
}
MACHINE_CONFIG_START(funkybee_state::funkybee)
void funkybee_state::funkybee(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 3072000) /* 3.072 MHz */
MCFG_DEVICE_PROGRAM_MAP(funkybee_map)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", funkybee_state, irq0_line_hold)
Z80(config, m_maincpu, 3072000); /* 3.072 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funkybee_state::funkybee_map);
m_maincpu->set_addrmap(AS_IO, &funkybee_state::io_map);
m_maincpu->set_vblank_int("screen", FUNC(funkybee_state::irq0_line_hold));
ls259_device &mainlatch(LS259(config, "mainlatch"));
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);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(12, 32*8-8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(funkybee_state, screen_update_funkybee)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(32*8, 32*8);
screen.set_visarea(12, 32*8-8-1, 0*8, 28*8-1);
screen.set_screen_update(FUNC(funkybee_state::screen_update_funkybee));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_funkybee);
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.port_a_read_callback().set_ioport("DSW");
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 */
MCFG_DEVICE_ADD(m_maincpu, M68000, XTAL(28'000'000)/2) /* 28 MHz crystal */
MCFG_DEVICE_PROGRAM_MAP(funkyjet_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", funkyjet_state, irq6_line_hold)
M68000(config, m_maincpu, XTAL(28'000'000)/2); /* 28 MHz crystal */
m_maincpu->set_addrmap(AS_PROGRAM, &funkyjet_state::funkyjet_map);
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 */
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);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(funkyjet_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(529));
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(funkyjet_state::screen_update));
screen.set_palette("palette");
DECO146PROT(config, m_deco146, 0);
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(1, "rspeaker", 0.45);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(28'000'000)/28, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.50)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(28'000'000)/28, okim6295_device::PIN7_HIGH));
oki.add_route(ALL_OUTPUTS, "lspeaker", 0.50);
oki.add_route(ALL_OUTPUTS, "rspeaker", 0.50);
}
/******************************************************************************/

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 */
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* ? MHz */
MCFG_DEVICE_PROGRAM_MAP(funtech_map)
MCFG_DEVICE_IO_MAP(funtech_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", fun_tech_corp_state, vblank_interrupt)
Z80(config, m_maincpu, 4000000); /* ? MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &fun_tech_corp_state::funtech_map);
m_maincpu->set_addrmap(AS_IO, &fun_tech_corp_state::funtech_io_map);
m_maincpu->set_vblank_int("screen", FUNC(fun_tech_corp_state::vblank_interrupt));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 8, 256-8-1)
MCFG_SCREEN_UPDATE_DRIVER(fun_tech_corp_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(512, 256);
screen.set_visarea(0, 512-1, 8, 256-8-1);
screen.set_screen_update(FUNC(fun_tech_corp_state::screen_update));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_funtech);
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();
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_CONFIG_START(funworld_state::fw1stpal)
void funworld_state::fw1stpal(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M65SC02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(funworld_map)
M65SC02(config, m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -3085,13 +3086,13 @@ MACHINE_CONFIG_START(funworld_state::fw1stpal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_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) */
MCFG_SCREEN_VISIBLE_AREA(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)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size((124+1)*4, (30+1)*8); /* Taken from MC6845 init, registers 00 & 04. Normally programmed with (value-1) */
screen.set_visarea(0*4, 96*4-1, 0*8, 29*8-1); /* Taken from MC6845 init, registers 01 & 06 */
screen.set_screen_update(FUNC(funworld_state::screen_update_funworld));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_fw1stpal);
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_b_write_callback().set(FUNC(funworld_state::funworld_lamp_b_w));
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);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(funworld_map)
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::funworld_map);
m_gfxdecode->set_info(gfx_fw2ndpal);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(funworld_state::funquiz)
void funworld_state::funquiz(machine_config &config)
{
fw1stpal(config);
// fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(funquiz_map)
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
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_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);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map)
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &magicrd2_state::magicrd2_map);
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_b_write_callback().set(FUNC(magicrd2_state::funworld_lamp_b_w));
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);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* (G65SC02P in pro version) 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* (G65SC02P in pro version) 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::magicrd2_map);
}
MACHINE_CONFIG_START(funworld_state::royalcd2)
void funworld_state::royalcd2(machine_config &config)
{
fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(magicrd2_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::magicrd2_map);
}
MACHINE_CONFIG_START(funworld_state::cuoreuno)
void funworld_state::cuoreuno(machine_config &config)
{
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(cuoreuno_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::cuoreuno_map);
}
MACHINE_CONFIG_START(funworld_state::saloon)
void funworld_state::saloon(machine_config &config)
{
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(saloon_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::saloon_map);
}
MACHINE_CONFIG_START(funworld_state::witchryl)
void funworld_state::witchryl(machine_config &config)
{
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(witchryl_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::witchryl_map);
}
MACHINE_CONFIG_START(lunapark_state::lunapark)
void lunapark_state::lunapark(machine_config &config)
{
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(lunapark_map) // mirrored video RAM (4000/5000 to 6000/7000).
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &lunapark_state::lunapark_map); // mirrored video RAM (4000/5000 to 6000/7000).
}
MACHINE_CONFIG_START(chinatow_state::chinatow)
void chinatow_state::chinatow(machine_config &config)
{
fw2ndpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(chinatow_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &chinatow_state::chinatow_map);
}
MACHINE_CONFIG_START(chinatow_state::rcdino4)
void chinatow_state::rcdino4(machine_config &config)
{
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(chinatow_map)
MACHINE_CONFIG_END
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &chinatow_state::chinatow_map);
}
MACHINE_CONFIG_START(funworld_state::intrgmes)
void funworld_state::intrgmes(machine_config &config)
{
fw1stpal(config);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(intergames_map)
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::intergames_map);
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);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(fw_a7_11_map)
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::fw_a7_11_map);
// 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);
MCFG_DEVICE_REPLACE("maincpu", R65C02, CPU_CLOCK) /* 2MHz */
MCFG_DEVICE_PROGRAM_MAP(fw_a7_11_map)
R65C02(config.replace(), m_maincpu, CPU_CLOCK); /* 2MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &funworld_state::fw_a7_11_map);
// 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 */
MCFG_DEVICE_ADD("maincpu", Z80,12000000/2) /* 6 MHz?? */
MCFG_DEVICE_PROGRAM_MAP(funybubl_map)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", funybubl_state, irq0_line_hold)
Z80(config, m_maincpu, 12000000/2); /* 6 MHz?? */
m_maincpu->set_addrmap(AS_PROGRAM, &funybubl_state::funybubl_map);
m_maincpu->set_addrmap(AS_IO, &funybubl_state::io_map);
m_maincpu->set_vblank_int("screen", FUNC(funybubl_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80,8000000/2) /* 4 MHz?? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
Z80(config, m_audiocpu, 8000000/2); /* 4 MHz?? */
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);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(12*8, 512-12*8-1, 16, 256-16-1)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(funybubl_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(512, 256);
screen.set_visarea(12*8, 512-12*8-1, 16, 256-16-1);
// screen.set_visarea(0*8, 512-1, 0, 256-1);
screen.set_screen_update(FUNC(funybubl_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_funybubl);
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);
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
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 8000000/8, okim6295_device::PIN7_HIGH); // clock frequency & pin 7 not verified
m_oki->set_addrmap(0, funybubl_state::oki_map);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
}

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 */
MCFG_DEVICE_ADD("maincpu", Z80, 14138000/8)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
Z80(config, m_maincpu, 14138000/8);
m_maincpu->set_addrmap(AS_PROGRAM, &g627_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &g627_state::io_map);
i8156_device &i8156(I8156(config, "i8156", 14138000/8));
i8156.in_pa_callback().set(FUNC(g627_state::porta_r));
@ -313,12 +314,11 @@ MACHINE_CONFIG_START(g627_state::g627)
/* Sound */
genpin_audio(config);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("astrocade", ASTROCADE_IO, 14138000/8) // 0066-117XX audio chip
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
ASTROCADE_IO(config, "astrocade", 14138000/8).add_route(ALL_OUTPUTS, "mono", 1.0); // 0066-117XX audio chip
/* Video */
config.set_default_layout(layout_g627);
MACHINE_CONFIG_END
}
/*-------------------------------------------------------------------
/ 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);
}
MACHINE_CONFIG_START(gaelco_state::bigkarnk)
void gaelco_state::bigkarnk(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 10000000) /* MC68000P10, 10 MHz */
MCFG_DEVICE_PROGRAM_MAP(bigkarnk_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold)
M68000(config, m_maincpu, 10000000); /* MC68000P10, 10 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::bigkarnk_map);
m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
MCFG_DEVICE_ADD("audiocpu", MC6809E, 8867000/4) /* 68B09EP, 2.21675 MHz? */
MCFG_DEVICE_PROGRAM_MAP(bigkarnk_snd_map)
MC6809E(config, m_audiocpu, 8867000/4); /* 68B09EP, 2.21675 MHz? */
m_audiocpu->set_addrmap(AS_PROGRAM, &gaelco_state::bigkarnk_snd_map);
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));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_bigkarnk)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(32*16, 32*16);
screen.set_visarea(0, 320-1, 16, 256-1);
screen.set_screen_update(FUNC(gaelco_state::screen_update_bigkarnk));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
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);
m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, M6809_FIRQ_LINE);
MCFG_DEVICE_ADD("ymsnd", YM3812, 3580000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
YM3812(config, "ymsnd", 3580000).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaelco_state::maniacsq)
OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); // clock frequency & pin 7 not verified
}
void gaelco_state::maniacsq(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2 ) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(maniacsq_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::maniacsq_map);
m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(32*16, 32*16);
screen.set_visarea(0, 320-1, 16, 256-1);
screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -713,17 +711,17 @@ MACHINE_CONFIG_START(gaelco_state::maniacsq)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) // pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaelco_state::squash)
okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); // pin 7 not verified
oki.set_addrmap(0, &gaelco_state::oki_map);
oki.add_route(ALL_OUTPUTS, "mono", 1.0);
}
void gaelco_state::squash(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(20'000'000)/2 ) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(squash_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold)
M68000(config, m_maincpu, XTAL(20'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::squash_map);
m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
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
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(32*16, 32*16);
screen.set_visarea(0, 320-1, 16, 256-1);
screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -751,17 +749,17 @@ MACHINE_CONFIG_START(gaelco_state::squash)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gaelco_state::thoop)
okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); /* verified on pcb */
oki.set_addrmap(0, &gaelco_state::oki_map);
oki.add_route(ALL_OUTPUTS, "mono", 1.0);
}
void gaelco_state::thoop(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2 ) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(thoop_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaelco_state, irq6_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &gaelco_state::thoop_map);
m_maincpu->set_vblank_int("screen", FUNC(gaelco_state::irq6_line_hold));
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
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(gaelco_state, screen_update_maniacsq)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(32*16, 32*16);
screen.set_visarea(0, 320-1, 16, 256-1);
screen.set_screen_update(FUNC(gaelco_state::screen_update_maniacsq));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gaelco);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -789,10 +787,10 @@ MACHINE_CONFIG_START(gaelco_state::thoop)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) // pin 7 not verified
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); // pin 7 not verified
oki.set_addrmap(0, &gaelco_state::oki_map);
oki.add_route(ALL_OUTPUTS, "mono", 1.0);
}
/*************************************

View File

@ -71,22 +71,23 @@ static INPUT_PORTS_START( gaelcopc )
INPUT_PORTS_END
MACHINE_CONFIG_START(gaelcopc_state::gaelcopc)
void gaelcopc_state::gaelcopc(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", PENTIUM, 2000000000) /* Pentium4? */
MCFG_DEVICE_PROGRAM_MAP(gaelcopc_map)
PENTIUM(config, m_maincpu, 2000000000); /* Pentium4? */
m_maincpu->set_addrmap(AS_PROGRAM, &gaelcopc_state::gaelcopc_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_UPDATE_DRIVER(gaelcopc_state, screen_update)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_screen_update(FUNC(gaelcopc_state::screen_update));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1);
screen.set_palette("palette");
MCFG_PALETTE_ADD("palette", 0x100)
MACHINE_CONFIG_END
PALETTE(config, "palette").set_entries(0x100);
}
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_END
MACHINE_CONFIG_START(gal3_state::gal3)
MCFG_DEVICE_ADD("maincpu", M68020, 49152000/2)
MCFG_DEVICE_PROGRAM_MAP(cpu_mst_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", gal3_state, irq1_line_hold)
void gal3_state::gal3(machine_config &config)
{
m68020_device &maincpu(M68020(config, "maincpu", 49152000/2));
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)
MCFG_DEVICE_PROGRAM_MAP(cpu_slv_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", gal3_state, irq1_line_hold)
m68020_device &cpusly(M68020(config, "cpuslv", 49152000/2));
cpusly.set_addrmap(AS_PROGRAM, &gal3_state::cpu_slv_map);
cpusly.set_vblank_int("lscreen", FUNC(gal3_state::irq1_line_hold));
MCFG_DEVICE_ADD("rs_cpu", M68000, 49152000/4)
MCFG_DEVICE_PROGRAM_MAP(rs_cpu_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("lscreen", gal3_state, irq5_line_hold) /// programmable via 148 IC
m68000_device &rs_cpu(M68000(config, "rs_cpu", 49152000/4));
rs_cpu.set_addrmap(AS_PROGRAM, &gal3_state::rs_cpu_map);
rs_cpu.set_vblank_int("lscreen", FUNC(gal3_state::irq5_line_hold)); /// programmable via 148 IC
MCFG_DEVICE_ADD("sound_cpu", M68000, 12000000) // ??
MCFG_DEVICE_PROGRAM_MAP(sound_cpu_map)
m68000_device &sound_cpu(M68000(config, "sound_cpu", 12000000)); // ??
sound_cpu.set_addrmap(AS_PROGRAM, &gal3_state::sound_cpu_map);
MCFG_DEVICE_ADD("psn_b1_cpu", M68000, 12000000) // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map)
m68000_device &psn_b1_cpu(M68000(config, "psn_b1_cpu", 12000000)); // ??
psn_b1_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
/*
MCFG_DEVICE_ADD("psn_b2_cpu", M68000, 12000000) // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map,0)
m68000_device &psn_b2_cpu(M68000(config, "psn_b2_cpu", 12000000)); // ??
psn_b2_cpu.set_addrmap(AS_PROGRAM, &gal3_state::psn_b1_cpu_map);
MCFG_DEVICE_ADD("psn_b3_cpu", M68000, 12000000) // ??
MCFG_DEVICE_PROGRAM_MAP(psn_b1_cpu_map,0)
m68000_device &psn_b3_cpu(M68000(config, "psn_b3_cpu", 12000000)); // ??
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 */
@ -641,13 +642,13 @@ MACHINE_CONFIG_START(gal3_state::gal3)
// video chain 1
MCFG_SCREEN_ADD("lscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 512-1)
MCFG_SCREEN_UPDATE_DRIVER(gal3_state, screen_update_left)
MCFG_SCREEN_PALETTE("palette_1")
screen_device &lscreen(SCREEN(config, "lscreen", SCREEN_TYPE_RASTER));
lscreen.set_refresh_hz(60);
lscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
lscreen.set_size(64*8, 64*8);
lscreen.set_visarea(0*8, 512-1, 0*8, 512-1);
lscreen.set_screen_update(FUNC(gal3_state::screen_update_left));
lscreen.set_palette(m_palette[0]);
GFXDECODE(config, "gfxdecode_1", m_palette[0], gfx_gal3_l);
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
MCFG_SCREEN_ADD("rscreen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 512-1, 0*8, 512-1)
MCFG_SCREEN_UPDATE_DRIVER(gal3_state, screen_update_right)
MCFG_SCREEN_PALETTE("palette_2")
screen_device &rscreen(SCREEN(config, "rscreen", SCREEN_TYPE_RASTER));
rscreen.set_refresh_hz(60);
rscreen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
rscreen.set_size(64*8, 64*8);
rscreen.set_visarea(0*8, 512-1, 0*8, 512-1);
rscreen.set_screen_update(FUNC(gal3_state::screen_update_right));
rscreen.set_palette(m_palette[1]);
GFXDECODE(config, "gfxdecode_2", m_palette[1], gfx_gal3_r);
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->add_route(0, "lspeaker", 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_CONFIG_START(galaxi_state::galaxi)
void galaxi_state::galaxi(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, CPU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(galaxi_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galaxi_state, irq4_line_hold)
M68000(config, m_maincpu, CPU_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &galaxi_state::galaxi_map);
m_maincpu->set_vblank_int("screen", FUNC(galaxi_state::irq4_line_hold));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(16*5, 512-16*2-1, 16*1, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(galaxi_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(512, 256);
m_screen->set_visarea(16*5, 512-16*2-1, 16*1, 256-1);
m_screen->set_screen_update(FUNC(galaxi_state::screen_update));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galaxi);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x400);
@ -487,30 +487,29 @@ MACHINE_CONFIG_START(galaxi_state::galaxi)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, SND_CLOCK, okim6295_device::PIN7_LOW) // ?
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
OKIM6295(config, "oki", SND_CLOCK, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 1.0); // ?
}
MACHINE_CONFIG_START(galaxi_state::magjoker)
void galaxi_state::magjoker(machine_config &config)
{
galaxi(config);
/* sound hardware */
MCFG_DEVICE_MODIFY("oki")
/* ADPCM samples are recorded with extremely low volume */
MCFG_SOUND_ROUTES_RESET()
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 4.0)
MACHINE_CONFIG_END
subdevice<okim6295_device>("oki")->reset_routes();
subdevice<okim6295_device>("oki")->add_route(ALL_OUTPUTS, "mono", 4.0);
}
MACHINE_CONFIG_START(galaxi_state::lastfour)
void galaxi_state::lastfour(machine_config &config)
{
galaxi(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(lastfour_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &galaxi_state::lastfour_map);
}
/***************************************************************************

View File

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

View File

@ -67,13 +67,16 @@ class galgames_cart_device : public device_t, public device_rom_interface
{
public:
// 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 void static_set_cart(device_t &device, uint8_t cart) { downcast<galgames_cart_device &>(device).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_cart(uint8_t cart) { m_cart = cart; }
void set_pic_bits(int clk, int in, int out, int dis);
// ROM
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_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 pic_comm_reset();
};
@ -130,17 +132,6 @@ protected:
// device type definition
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"
@ -148,9 +139,12 @@ class galgames_bios_cart_device : public galgames_cart_device
{
public:
// construction/destruction
galgames_bios_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
galgames_cart_device(mconfig, GALGAMES_BIOS_CART, tag, owner, 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, (uint32_t)0)
{
set_cart(cart);
}
protected:
// device-level overrides
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");
}
#define MCFG_GALGAMES_BIOS_CART_ADD(_tag, _cart) \
MCFG_DEVICE_ADD(_tag, GALGAMES_BIOS_CART, 0) \
MCFG_GALGAMES_CART_INDEX(_cart)
// STARPAK2 cart
@ -175,9 +164,13 @@ class galgames_starpak2_cart_device : public galgames_cart_device
{
public:
// construction/destruction
galgames_starpak2_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
galgames_cart_device(mconfig, GALGAMES_STARPAK2_CART, tag, owner, 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, (uint32_t)0)
{
set_cart(cart);
set_pic_bits(5, 4, 2, 1);
}
protected:
// device-level overrides
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");
}
#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
@ -207,9 +194,13 @@ class galgames_starpak3_cart_device : public galgames_cart_device
{
public:
// construction/destruction
galgames_starpak3_cart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
galgames_cart_device(mconfig, GALGAMES_STARPAK3_CART, tag, owner, 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, (uint32_t)0)
{
set_cart(cart);
set_pic_bits(0, 2, 3, 4);
}
protected:
// device-level overrides
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");
}
#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
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
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);
}
MACHINE_CONFIG_START(galgames_state::galgames_base)
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000) / 2)
MCFG_DEVICE_PROGRAM_MAP(galgames_map)
void galgames_state::galgames_base(machine_config &config)
{
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);
WATCHDOG_TIMER(config, "watchdog");
MCFG_GALGAMES_SLOT_ADD("slot")
MCFG_GALGAMES_BIOS_CART_ADD( "cart0", 0)
GALGAMES_SLOT(config, m_slot, 0);
GALGAMES_BIOS_CART(config, "cart0", 0);
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(400, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 400-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(galgames_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(400, 256);
m_screen->set_visarea(0, 400-1, 0, 256-1);
m_screen->set_screen_update(FUNC(galgames_state::screen_update));
m_screen->set_palette(m_palette);
CESBLIT(config, m_blitter, XTAL(24'000'000), m_screen);
m_blitter->set_addrmap(AS_PROGRAM, &galgames_state::blitter_map);
@ -1008,33 +991,35 @@ MACHINE_CONFIG_START(galgames_state::galgames_base)
// sound hardware
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)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
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)
}
MACHINE_CONFIG_START(galgames_state::galgbios)
void galgames_state::galgbios(machine_config &config)
{
galgames_base(config);
MCFG_GALGAMES_EMPTY_CART_ADD("cart1", 1)
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2)
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3)
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4)
MACHINE_CONFIG_END
GALGAMES_CART(config, "cart1", 1);
GALGAMES_CART(config, "cart2", 2);
GALGAMES_CART(config, "cart3", 3);
GALGAMES_CART(config, "cart4", 4);
}
MACHINE_CONFIG_START(galgames_state::galgame2)
void galgames_state::galgame2(machine_config &config)
{
galgames_base(config);
MCFG_GALGAMES_STARPAK2_CART_ADD("cart1", 1)
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2)
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3)
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4)
MACHINE_CONFIG_END
GALGAMES_STARPAK2_CART(config, "cart1", 1);
GALGAMES_CART(config, "cart2", 2);
GALGAMES_CART(config, "cart3", 3);
GALGAMES_CART(config, "cart4", 4);
}
MACHINE_CONFIG_START(galgames_state::galgame3)
void galgames_state::galgame3(machine_config &config)
{
galgames_base(config);
MCFG_GALGAMES_STARPAK3_CART_ADD("cart1", 1)
MCFG_GALGAMES_EMPTY_CART_ADD("cart2", 2)
MCFG_GALGAMES_EMPTY_CART_ADD("cart3", 3)
MCFG_GALGAMES_EMPTY_CART_ADD("cart4", 4)
MACHINE_CONFIG_END
GALGAMES_STARPAK3_CART(config, "cart1", 1);
GALGAMES_CART(config, "cart2", 2);
GALGAMES_CART(config, "cart3", 3);
GALGAMES_CART(config, "cart4", 4);
}
/***************************************************************************

View File

@ -429,18 +429,18 @@ MACHINE_RESET_MEMBER(galivan_state,ninjemak)
m_ninjemak_dispdisable = 0;
}
MACHINE_CONFIG_START(galivan_state::galivan)
void galivan_state::galivan(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz? */
MCFG_DEVICE_PROGRAM_MAP(galivan_map)
MCFG_DEVICE_IO_MAP(io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galivan_state, irq0_line_hold)
Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz? */
m_maincpu->set_addrmap(AS_PROGRAM, &galivan_state::galivan_map);
m_maincpu->set_addrmap(AS_IO, &galivan_state::io_map);
m_maincpu->set_vblank_int("screen", FUNC(galivan_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000)/2) /* 4 MHz? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(8'000'000)/2)); /* 4 MHz? */
audiocpu.set_addrmap(AS_PROGRAM, &galivan_state::sound_map);
audiocpu.set_addrmap(AS_IO, &galivan_state::sound_io_map);
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_RESET_OVERRIDE(galivan_state,galivan)
@ -448,14 +448,14 @@ MACHINE_CONFIG_START(galivan_state::galivan)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_galivan)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(galivan_state::screen_update_galivan));
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galivan);
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);
MCFG_DEVICE_ADD("ymsnd", YM3526, XTAL(8'000'000)/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
YM3526(config, "ymsnd", XTAL(8'000'000)/2).add_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, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
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, "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);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(dangarj_io_map)
m_maincpu->set_addrmap(AS_IO, &dangarj_state::dangarj_io_map);
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 */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz? */
MCFG_DEVICE_PROGRAM_MAP(ninjemak_map)
MCFG_DEVICE_IO_MAP(ninjemak_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", galivan_state, irq0_line_hold)
Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz? */
m_maincpu->set_addrmap(AS_PROGRAM, &galivan_state::ninjemak_map);
m_maincpu->set_addrmap(AS_IO, &galivan_state::ninjemak_io_map);
m_maincpu->set_vblank_int("screen", FUNC(galivan_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", Z80, XTAL(8'000'000)/2) /* 4 MHz? */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_IO_MAP(sound_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(galivan_state, irq0_line_hold, XTAL(8'000'000)/2/512) // ?
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(8'000'000)/2)); /* 4 MHz? */
audiocpu.set_addrmap(AS_PROGRAM, &galivan_state::sound_map);
audiocpu.set_addrmap(AS_IO, &galivan_state::sound_io_map);
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_RESET_OVERRIDE(galivan_state,ninjemak)
MCFG_DEVICE_ADD("nb1414m4", NB1414M4, 0)
NB1414M4(config, m_nb1414m4, 0);
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galivan_state, screen_update_ninjemak)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(galivan_state::screen_update_ninjemak));
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galivan);
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);
MCFG_DEVICE_ADD("ymsnd", YM3526, XTAL(8'000'000)/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
YM3526(config, "ymsnd", XTAL(8'000'000)/2).add_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, "dac2", 0).add_route(ALL_OUTPUTS, "speaker", 0.25); // unknown DAC
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, "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)

View File

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

View File

@ -450,45 +450,43 @@ void galpani3_state::galpani3_map(address_map &map)
}
MACHINE_CONFIG_START(galpani3_state::galpani3)
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(28'636'363)/2) // Confirmed from PCB
MCFG_DEVICE_PROGRAM_MAP(galpani3_map)
void galpani3_state::galpani3(machine_config &config)
{
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);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
//MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 64*8-1)
MCFG_SCREEN_UPDATE_DRIVER(galpani3_state, screen_update_galpani3)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1);
//screen.set_visarea(0*8, 64*8-1, 0*8, 64*8-1);
screen.set_screen_update(FUNC(galpani3_state::screen_update_galpani3));
EEPROM_93C46_16BIT(config, "eeprom");
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);
MCFG_DEVICE_ADD("spritegen", SKNS_SPRITE, 0)
SKNS_SPRITE(config, m_spritegen, 0);
MCFG_DEVICE_ADD("grap2_0", KANEKO_GRAP2, 0)
MCFG_DEVICE_ROM("rlebg")
KANEKO_GRAP2(config, m_grap2[0], 0).set_device_rom_tag("rlebg");
MCFG_DEVICE_ADD("grap2_1", KANEKO_GRAP2, 0)
MCFG_DEVICE_ROM("rlebg")
KANEKO_GRAP2(config, m_grap2[1], 0).set_device_rom_tag("rlebg");
MCFG_DEVICE_ADD("grap2_2", KANEKO_GRAP2, 0)
MCFG_DEVICE_ROM("rlebg")
KANEKO_GRAP2(config, m_grap2[2], 0).set_device_rom_tag("rlebg");
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(33'333'000) / 2) // Confirmed from PCB
MCFG_SOUND_ROUTE(0, "mono", 1.0)
MCFG_SOUND_ROUTE(1, "mono", 1.0)
MACHINE_CONFIG_END
ymz280b_device &ymz(YMZ280B(config, "ymz", XTAL(33'333'000) / 2)); // Confirmed from PCB
ymz.add_route(0, "mono", 1.0);
ymz.add_route(1, "mono", 1.0);
}
ROM_START( galpani3 ) /* All game text in English */

View File

@ -232,24 +232,24 @@ static GFXDECODE_START( gfx_galpanic )
GFXDECODE_END
MACHINE_CONFIG_START(galpanic_state::galpanic)
void galpanic_state::galpanic(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(12'000'000)) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(galpanic_map)
M68000(config, m_maincpu, XTAL(12'000'000)); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &galpanic_state::galpanic_map);
TIMER(config, "scantimer").configure_scanline(FUNC(galpanic_state::scanline), "screen", 0, 1);
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */)
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 224-1)
MCFG_SCREEN_UPDATE_DRIVER(galpanic_state, screen_update)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, galpanic_state, screen_vblank))
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */);
m_screen->set_size(256, 256);
m_screen->set_visarea(0, 256-1, 0, 224-1);
m_screen->set_screen_update(FUNC(galpanic_state::screen_update));
m_screen->screen_vblank().set(FUNC(galpanic_state::screen_vblank));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_galpanic);
// 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 */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(12'000'000)/6, okim6295_device::PIN7_LOW) /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, galpanic_oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(12'000'000)/6, okim6295_device::PIN7_LOW)); /* verified on pcb */
oki.set_addrmap(0, &galpanic_state::galpanic_oki_map);
oki.add_route(ALL_OUTPUTS, "mono", 1.0);
}
MACHINE_CONFIG_START(galpanic_state::galpanica)
void galpanic_state::galpanica(machine_config &config)
{
galpanic(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(galpanica_map)
m_maincpu->set_addrmap(AS_PROGRAM, &galpanic_state::galpanica_map);
/* basic machine hardware */
KANEKO_HIT(config, "calc1_mcu").set_type(0);
/* arm watchdog */
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);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE( 59.732155 )
MCFG_SCREEN_VBLANK_TIME(500)
MCFG_SCREEN_UPDATE_DRIVER(gamecom_state, screen_update)
MCFG_SCREEN_SIZE( 200, 160 )
MCFG_SCREEN_VISIBLE_AREA( 0, 199, 0, 159 )
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
m_screen->set_refresh_hz(59.732155);
m_screen->set_vblank_time(500);
m_screen->set_screen_update(FUNC(gamecom_state::screen_update));
m_screen->set_size(200, 160);
m_screen->set_visarea_full();
m_screen->set_palette("palette");
config.set_default_layout(layout_gamecom);
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)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", PENTIUM3, 200000000)
MCFG_DEVICE_PROGRAM_MAP(gamecstl_map)
MCFG_DEVICE_IO_MAP(gamecstl_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
PENTIUM3(config, m_maincpu, 200000000);
m_maincpu->set_addrmap(AS_PROGRAM, &gamecstl_state::gamecstl_map);
m_maincpu->set_addrmap(AS_IO, &gamecstl_state::gamecstl_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config);
@ -461,18 +461,16 @@ MACHINE_CONFIG_START(gamecstl_state::gamecstl)
ide.irq_handler().set("pic8259_2", FUNC(pic8259_device::ir6_w));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 199)
MCFG_SCREEN_UPDATE_DRIVER(gamecstl_state, screen_update_gamecstl)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(640, 480);
screen.set_visarea(0, 639, 0, 199);
screen.set_screen_update(FUNC(gamecstl_state::screen_update_gamecstl));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cga);
MCFG_PALETTE_ADD("palette", 16)
PALETTE(config, m_palette).set_entries(16);
MACHINE_CONFIG_END
void gamecstl_state::init_gamecstl()

View File

@ -142,10 +142,11 @@ void gamecube_state::machine_reset()
// MACHINE DEFINITIONS
//**************************************************************************
MACHINE_CONFIG_START(gamecube_state::gc)
MCFG_DEVICE_ADD("maincpu", PPC603, 485000000 / 100) // 485 MHz IBM "Gekko" (750CXe/750FX based)
MCFG_DEVICE_PROGRAM_MAP(ppc_mem)
MACHINE_CONFIG_END
void gamecube_state::gc(machine_config &config)
{
PPC603(config, m_cpu, 485000000 / 100); // 485 MHz IBM "Gekko" (750CXe/750FX based)
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)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", R65C02, 6000000)
MCFG_DEVICE_PROGRAM_MAP(gameking_mem)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gameking_state, gameking_frame_int)
R65C02(config, m_maincpu, 6000000);
m_maincpu->set_addrmap(AS_PROGRAM, &gameking_state::gameking_mem);
m_maincpu->set_vblank_int("screen", FUNC(gameking_state::gameking_frame_int));
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(48, 32)
MCFG_SCREEN_VISIBLE_AREA(0, 48-1, 0, 32-1)
MCFG_SCREEN_UPDATE_DRIVER(gameking_state, screen_update_gameking)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(60);
screen.set_size(48, 32);
screen.set_visarea_full();
screen.set_screen_update(FUNC(gameking_state::screen_update_gameking));
screen.set_palette(m_palette);
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)
MCFG_DEVICE_ADD("maincpu", PENTIUM, 133000000) // Intel Pentium 133
MCFG_DEVICE_PROGRAM_MAP(gammagic_map)
MCFG_DEVICE_IO_MAP(gammagic_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
PENTIUM(config, m_maincpu, 133000000); // Intel Pentium 133
m_maincpu->set_addrmap(AS_PROGRAM, &gammagic_state::gammagic_map);
m_maincpu->set_addrmap(AS_IO, &gammagic_state::gammagic_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
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)
/* video hardware */
pcvideo_vga(config);
MACHINE_CONFIG_END

View File

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

View File

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

View File

@ -352,26 +352,26 @@ void gcpinbal_state::machine_reset()
m_msm_bank = 0;
}
MACHINE_CONFIG_START(gcpinbal_state::gcpinbal)
void gcpinbal_state::gcpinbal(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 32_MHz_XTAL/2) /* 16 MHz */
MCFG_DEVICE_PROGRAM_MAP(gcpinbal_map)
M68000(config, m_maincpu, 32_MHz_XTAL/2); /* 16 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &gcpinbal_state::gcpinbal_map);
TIMER(config, "scantimer").configure_scanline(FUNC(gcpinbal_state::scanline_cb), "screen", 0, 1);
EEPROM_93C46_16BIT(config, "eeprom");
MCFG_DEVICE_ADD("watchdog", MB3773, 0)
MB3773(config, m_watchdog, 0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */)
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gcpinbal_state, screen_update_gcpinbal)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0) /* frames per second, vblank duration */);
m_screen->set_size(40*8, 32*8);
m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
m_screen->set_screen_update(FUNC(gcpinbal_state::screen_update_gcpinbal));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gcpinbal);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 4096);
@ -381,8 +381,7 @@ MACHINE_CONFIG_START(gcpinbal_state::gcpinbal)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
OKIM6295(config, m_oki, 1.056_MHz_XTAL, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30);
ES8712(config, m_essnd, 0);
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.set_prescaler_selector(msm6585_device::S40); /* 16 kHz */
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
}
MACHINE_CONFIG_START(geneve_state::geneve)
void geneve_state::geneve(machine_config &config)
{
geneve_common(config);
// Mapper
@ -704,9 +705,10 @@ MACHINE_CONFIG_START(geneve_state::geneve)
m_peribox->inta_cb().set(FUNC(geneve_state::inta));
m_peribox->intb_cb().set(FUNC(geneve_state::intb));
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);
// Mapper
@ -718,9 +720,10 @@ MACHINE_CONFIG_START(geneve_state::genmod)
m_peribox->inta_cb().set(FUNC(geneve_state::inta));
m_peribox->intb_cb().set(FUNC(geneve_state::intb));
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
// TMS9995 CPU @ 12.0 MHz
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)
RAM(config, GENEVE_SRAM_TAG).set_default_size("384K").set_default_value(0);
MACHINE_CONFIG_END
}
/*
ROM loading

View File

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

View File

@ -262,7 +262,8 @@ static INPUT_PORTS_START(smf)
INPUT_PORTS_END
MACHINE_CONFIG_START(ggconnie_state::ggconnie)
void ggconnie_state::ggconnie(machine_config &config)
{
/* basic machine hardware */
H6280(config, m_maincpu, PCE_MAIN_CLOCK/3);
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);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(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 )
MCFG_SCREEN_PALETTE("huc6260")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(PCE_MAIN_CLOCK/3, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
screen.set_screen_update(FUNC(ggconnie_state::screen_update));
screen.set_palette(m_huc6260);
HUC6260(config, m_huc6260, PCE_MAIN_CLOCK/3);
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, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki", OKIM6295, PCE_MAIN_CLOCK/12, okim6295_device::PIN7_HIGH) /* unknown clock / pin 7 */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, PCE_MAIN_CLOCK/12, okim6295_device::PIN7_HIGH); /* unknown clock / pin 7 */
m_oki->add_route(ALL_OUTPUTS, "lspeaker", 1.00);
m_oki->add_route(ALL_OUTPUTS, "rspeaker", 1.00);
}
ROM_START(ggconnie)
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 */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(20'000'000) / 2) // PCB is marked "68000 12 MHz", but only visible osc is 20 MHz
MCFG_DEVICE_PROGRAM_MAP(satellite_main)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", giclassic_state, giclassic_interrupt)
M68000(config, m_maincpu, XTAL(20'000'000) / 2); // PCB is marked "68000 12 MHz", but only visible osc is 20 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &giclassic_state::satellite_main);
m_maincpu->set_vblank_int("screen", FUNC(giclassic_state::giclassic_interrupt));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(59.62)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(600, 384)
MCFG_SCREEN_VISIBLE_AREA(0, 599, 0, 383)
MCFG_SCREEN_UPDATE_DRIVER(giclassic_state, screen_update_giclassic)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(59.62);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(600, 384);
screen.set_visarea_full();
screen.set_screen_update(FUNC(giclassic_state::screen_update_giclassic));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 256);
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_config("gfx1", K056832_BPP_4PIRATESH, 1, 0);
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 */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(16'000'000)) // unknown speed
MCFG_DEVICE_PROGRAM_MAP(server_main)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", giclassicsvr_state, giclassicsvr_interrupt)
M68000(config, m_maincpu, XTAL(16'000'000)); // unknown speed
m_maincpu->set_addrmap(AS_PROGRAM, &giclassicsvr_state::server_main);
m_maincpu->set_vblank_int("screen", FUNC(giclassicsvr_state::giclassicsvr_interrupt));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(59.62)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(600, 384)
MCFG_SCREEN_VISIBLE_AREA(0, 599, 0, 383)
MCFG_SCREEN_UPDATE_DRIVER(giclassicsvr_state, screen_update_giclassicsvr)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(59.62);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_visarea_full();
screen.set_screen_update(FUNC(giclassicsvr_state::screen_update_giclassicsvr));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 16384);
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, "k053252b", XTAL(32'000'000)/4).set_offsets(40, 16); // TODO
MACHINE_CONFIG_END
}
ROM_START( giclasex )
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 */
MCFG_DEVICE_ADD("maincpu", M68000, MAIN_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(ginganin_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ginganin_state, irq1_line_hold) /* ? (vectors 1-7 cointain the same address) */
M68000(config, m_maincpu, MAIN_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &ginganin_state::ginganin_map);
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?
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MC6809(config, m_audiocpu, SOUND_CLOCK); // MBL68B09?
m_audiocpu->set_addrmap(AS_PROGRAM, &ginganin_state::sound_map);
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));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 255, 0 + 16 , 255 - 16)
MCFG_SCREEN_UPDATE_DRIVER(ginganin_state, screen_update_ginganin)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(256, 256);
screen.set_visarea(0, 255, 0 + 16 , 255 - 16);
screen.set_screen_update(FUNC(ginganin_state::screen_update_ginganin));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_ginganin);
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);
MCFG_DEVICE_ADD("ymsnd", Y8950, SOUND_CLOCK) /* The Y8950 is basically a YM3526 with ADPCM built in */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
Y8950(config, "ymsnd", SOUND_CLOCK).add_route(ALL_OUTPUTS, "mono", 1.0); /* The Y8950 is basically a YM3526 with ADPCM built in */
}

View File

@ -189,18 +189,19 @@ void gizmondo_state::init_gizmondo()
// do nothing
}
MACHINE_CONFIG_START(gizmondo_state::gizmondo)
MCFG_DEVICE_ADD("maincpu", ARM9, 40000000)
MCFG_DEVICE_PROGRAM_MAP(gizmondo_map)
void gizmondo_state::gizmondo(machine_config &config)
{
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)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 320 - 1, 0, 240 - 1)
MCFG_SCREEN_UPDATE_DEVICE("gf4500", gf4500_device, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(320, 240);
screen.set_visarea_full();
screen.set_screen_update("gf4500", FUNC(gf4500_device::screen_update));
GF4500(config, m_gf4500, 0);
@ -215,7 +216,7 @@ MACHINE_CONFIG_START(gizmondo_state::gizmondo)
#if 0
MCFG_QUICKLOAD_ADD("quickload", gizmondo_state, wince, "bin", 0)
#endif
MACHINE_CONFIG_END
}
static INPUT_PORTS_START( gizmondo )
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_END
MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
void igt_gameking_state::igt_gameking(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I960, XTAL(24'000'000))
MCFG_DEVICE_PROGRAM_MAP(igt_gameking_map)
I960(config, m_maincpu, XTAL(24'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &igt_gameking_state::igt_gameking_map);
SC28C94(config, m_quart1, XTAL(24'000'000) / 6);
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);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(1024, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(igt_gameking_state, screen_update_igt_gameking)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, igt_gameking_state, vblank_irq))
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(1024, 512);
m_screen->set_visarea(0, 640-1, 0, 480-1);
m_screen->set_screen_update(FUNC(igt_gameking_state::screen_update_igt_gameking));
m_screen->set_palette(m_palette);
m_screen->screen_vblank().set(FUNC(igt_gameking_state::vblank_irq));
// 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.set_addrmap(0, &igt_gameking_state::ramdac_map);
@ -643,17 +643,16 @@ MACHINE_CONFIG_START(igt_gameking_state::igt_gameking)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(16'934'400)) // enhanced sound on optional Media-Lite sub board
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
YMZ280B(config, "ymz", XTAL(16'934'400)).add_route(ALL_OUTPUTS, "mono", 1.0); // enhanced sound on optional Media-Lite sub board
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);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(igt_ms72c_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &igt_gameking_state::igt_ms72c_map);
}
ROM_START( ms3 )
ROM_REGION( 0x80000, "maincpu", 0 )

View File

@ -311,10 +311,11 @@ static INPUT_PORTS_START( old_keyboard ) //Glasgow,Dallas
INPUT_PORTS_END
MACHINE_CONFIG_START(glasgow_state::glasgow)
void glasgow_state::glasgow(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(glasgow_mem)
M68000(config, m_maincpu, 12_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &glasgow_state::glasgow_mem);
MEPHISTO_SENSORS_BOARD(config, m_board, 0);
@ -322,30 +323,30 @@ MACHINE_CONFIG_START(glasgow_state::glasgow)
config.set_default_layout(layout_glasgow);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 44)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
BEEP(config, m_beep, 44).add_route(ALL_OUTPUTS, "mono", 0.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);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(amsterd_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &amsterd_state::amsterd_mem);
}
MACHINE_CONFIG_START(amsterd_state::dallas32)
void amsterd_state::dallas32(machine_config &config)
{
glasgow(config);
/* basic machine hardware */
MCFG_DEVICE_REPLACE("maincpu", M68020, 14_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(dallas32_mem)
M68020(config.replace(), m_maincpu, 14_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &amsterd_state::dallas32_mem);
config.device_remove("nmi_timer");
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;
}
MACHINE_CONFIG_START(glass_state::glass)
void glass_state::glass(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2) /* 12 MHz verified on PCB */
MCFG_DEVICE_PROGRAM_MAP(glass_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", glass_state, interrupt)
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* 12 MHz verified on PCB */
m_maincpu->set_addrmap(AS_PROGRAM, &glass_state::glass_map);
m_maincpu->set_vblank_int("screen", FUNC(glass_state::interrupt));
LS259(config, m_outlatch);
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)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*16, 32*16)
MCFG_SCREEN_VISIBLE_AREA(0, 368-1, 16, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(glass_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(32*16, 32*16);
screen.set_visarea(0, 368-1, 16, 256-1);
screen.set_screen_update(FUNC(glass_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_glass);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
@ -249,16 +249,17 @@ MACHINE_CONFIG_START(glass_state::glass)
/* sound hardware */
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 */
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(1'000'000), okim6295_device::PIN7_HIGH)); /* 1MHz Resonator & pin 7 high verified on PCB */
oki.set_addrmap(0, &glass_state::oki_map);
oki.add_route(ALL_OUTPUTS, "mono", 1.0);
}
MACHINE_CONFIG_START(glass_state::glass_ds5002fp)
void glass_state::glass_ds5002fp(machine_config &config)
{
glass(config);
MCFG_DEVICE_ADD("gaelco_ds5002fp", GAELCO_DS5002FP, XTAL(24'000'000) / 2) /* verified on pcb */
MCFG_DEVICE_ADDRESS_MAP(0, mcu_hostmem_map)
MACHINE_CONFIG_END
gaelco_ds5002fp_device &ds5002fp(GAELCO_DS5002FP(config, "gaelco_ds5002fp", XTAL(24'000'000) / 2)); /* verified on pcb */
ds5002fp.set_addrmap(0, &glass_state::mcu_hostmem_map);
}
ROM_START( glass ) /* Version 1.1 */
ROM_REGION( 0x100000, "maincpu", 0 ) /* 68000 code */

View File

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

View File

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

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 */
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(12'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(gng_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gng_state, irq0_line_hold)
MC6809(config, m_maincpu, XTAL(12'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &gng_state::gng_map);
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 */
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(gng_state, irq0_line_hold, 4*60)
z80_device &audiocpu(Z80(config, "audiocpu", XTAL(12'000'000)/4)); /* verified on pcb */
audiocpu.set_addrmap(AS_PROGRAM, &gng_state::sound_map);
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
mainlatch.q_out_cb<0>().set(FUNC(gng_state::flipscreen_w));
@ -399,14 +399,14 @@ MACHINE_CONFIG_START(gng_state::gng)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(59.59) /* verified on pcb */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gng_state, screen_update_gng)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE("spriteram", buffered_spriteram8_device, vblank_copy_rising))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(59.59); /* verified on pcb */
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(gng_state::screen_update_gng));
screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram8_device::vblank_copy_rising));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gng);
@ -417,26 +417,26 @@ MACHINE_CONFIG_START(gng_state::gng)
GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("ym1", YM2203, XTAL(12'000'000)/8) /* verified on pcb */
MCFG_SOUND_ROUTE(0, "mono", 0.40)
MCFG_SOUND_ROUTE(1, "mono", 0.40)
MCFG_SOUND_ROUTE(2, "mono", 0.40)
MCFG_SOUND_ROUTE(3, "mono", 0.20)
YM2203(config, m_ym[0], XTAL(12'000'000)/8); /* verified on pcb */
m_ym[0]->add_route(0, "mono", 0.40);
m_ym[0]->add_route(1, "mono", 0.40);
m_ym[0]->add_route(2, "mono", 0.40);
m_ym[0]->add_route(3, "mono", 0.20);
MCFG_DEVICE_ADD("ym2", YM2203, XTAL(12'000'000)/8) /* verified on pcb */
MCFG_SOUND_ROUTE(0, "mono", 0.40)
MCFG_SOUND_ROUTE(1, "mono", 0.40)
MCFG_SOUND_ROUTE(2, "mono", 0.40)
MCFG_SOUND_ROUTE(3, "mono", 0.20)
MACHINE_CONFIG_END
YM2203(config, m_ym[1], XTAL(12'000'000)/8); /* verified on pcb */
m_ym[1]->add_route(0, "mono", 0.40);
m_ym[1]->add_route(1, "mono", 0.40);
m_ym[1]->add_route(2, "mono", 0.40);
m_ym[1]->add_route(3, "mono", 0.20);
}
MACHINE_CONFIG_START(gng_state::diamond)
void gng_state::diamond(machine_config &config)
{
gng(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(diamond_map)
m_maincpu->set_addrmap(AS_PROGRAM, &gng_state::diamond_map);
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)
MCFG_DEVICE_PROGRAM_MAP(go2000_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", go2000_state, irq1_line_hold)
MCFG_DEVICE_ADD("soundcpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(go2000_sound_map)
MCFG_DEVICE_IO_MAP(go2000_sound_io)
Z80(config, m_soundcpu, 4000000);
m_soundcpu->set_addrmap(AS_PROGRAM, &go2000_state::go2000_sound_map);
m_soundcpu->set_addrmap(AS_IO, &go2000_state::go2000_sound_io);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_go2000);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(go2000_state, screen_update_go2000)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(0*8, 48*8-1, 2*8, 30*8-1);
m_screen->set_screen_update(FUNC(go2000_state::screen_update_go2000));
m_screen->set_palette(m_palette);
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"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END
}
ROM_START( go2000 )
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */

View File

@ -235,26 +235,25 @@ void goindol_state::machine_reset()
m_prot_toggle = 0;
}
MACHINE_CONFIG_START(goindol_state::goindol)
void goindol_state::goindol(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* XTAL confirmed, divisor is not */
MCFG_DEVICE_PROGRAM_MAP(goindol_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", 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(config, m_maincpu, XTAL(12'000'000)/2); /* XTAL confirmed, divisor is not */
m_maincpu->set_addrmap(AS_PROGRAM, &goindol_state::goindol_map);
m_maincpu->set_vblank_int("screen", FUNC(goindol_state::irq0_line_hold));
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 */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(goindol_state, screen_update_goindol)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(goindol_state::screen_update_goindol));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_goindol);
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");
MCFG_DEVICE_ADD("ymsnd", YM2203, XTAL(12'000'000)/8) /* Confirmed pitch from recording */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
YM2203(config, "ymsnd", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* Confirmed pitch from recording */
}

View File

@ -121,9 +121,10 @@ void gokidetor_state::sound_map(address_map &map)
}
MACHINE_CONFIG_START(gokidetor_state::gokidetor)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(16'000'000) / 4) // divider not verified
MCFG_DEVICE_PROGRAM_MAP(main_map)
void gokidetor_state::gokidetor(machine_config &config)
{
Z80(config, m_maincpu, XTAL(16'000'000) / 4); // divider not verified
m_maincpu->set_addrmap(AS_PROGRAM, &gokidetor_state::main_map);
// IRQ from ???
// 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_port9_cb().set(FUNC(gokidetor_state::out9_w));
MCFG_DEVICE_ADD("soundcpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
z80_device &soundcpu(Z80(config, "soundcpu", 4000000));
soundcpu.set_addrmap(AS_PROGRAM, &gokidetor_state::sound_map);
pc060ha_device &ciu(PC060HA(config, "ciu", 0));
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(3, "mono", 0.80);
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); // clock frequency & pin 7 not verified
}
INPUT_PORTS_START( gokidetor )
PORT_START("IN1")

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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 */
/* CPU BOARD */
MCFG_DEVICE_ADD("maincpu", Z80, PIXEL_CLOCK/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_IO_MAP(main_portmap)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", grchamp_state, cpu0_interrupt)
Z80(config, m_maincpu, PIXEL_CLOCK/2);
m_maincpu->set_addrmap(AS_PROGRAM, &grchamp_state::main_map);
m_maincpu->set_addrmap(AS_IO, &grchamp_state::main_portmap);
m_maincpu->set_vblank_int("screen", FUNC(grchamp_state::cpu0_interrupt));
/* GAME BOARD */
MCFG_DEVICE_ADD("sub", Z80, PIXEL_CLOCK/2)
MCFG_DEVICE_PROGRAM_MAP(sub_map)
MCFG_DEVICE_IO_MAP(sub_portmap)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", grchamp_state, cpu1_interrupt)
Z80(config, m_subcpu, PIXEL_CLOCK/2);
m_subcpu->set_addrmap(AS_PROGRAM, &grchamp_state::sub_map);
m_subcpu->set_addrmap(AS_IO, &grchamp_state::sub_portmap);
m_subcpu->set_vblank_int("screen", FUNC(grchamp_state::cpu1_interrupt));
/* SOUND BOARD */
MCFG_DEVICE_ADD("audiocpu", Z80, SOUND_CLOCK/2)
MCFG_DEVICE_PROGRAM_MAP(sound_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(grchamp_state, irq0_line_hold, (double)SOUND_CLOCK/4/16/16/10/16)
Z80(config, m_audiocpu, SOUND_CLOCK/2);
m_audiocpu->set_addrmap(AS_PROGRAM, &grchamp_state::sound_map);
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);
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);
PALETTE(config, m_palette, FUNC(grchamp_state::grchamp_palette), 32);
MCFG_SCREEN_ADD(m_screen, RASTER)
MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_ALWAYS_UPDATE)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART)
MCFG_SCREEN_UPDATE_DRIVER(grchamp_state, screen_update)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_video_attributes(VIDEO_ALWAYS_UPDATE);
m_screen->set_raw(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART);
m_screen->set_screen_update(FUNC(grchamp_state::screen_update));
/* 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.add_route(ALL_OUTPUTS, "mono", 0.2);
MCFG_DEVICE_ADD("discrete", DISCRETE, grchamp_discrete)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
DISCRETE(config, m_discrete, grchamp_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
}

View File

@ -116,23 +116,24 @@ uint32_t grfd2301_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
MACHINE_CONFIG_START(grfd2301_state::grfd2301)
void grfd2301_state::grfd2301(machine_config &config)
{
// basic machine hardware
MCFG_DEVICE_ADD("maincpu", Z80, 4000000)
MCFG_DEVICE_PROGRAM_MAP(mem_map)
MCFG_DEVICE_IO_MAP(io_map)
Z80(config, m_maincpu, 4000000);
m_maincpu->set_addrmap(AS_PROGRAM, &grfd2301_state::mem_map);
m_maincpu->set_addrmap(AS_IO, &grfd2301_state::io_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(grfd2301_state, screen_update)
MCFG_SCREEN_SIZE(640, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(grfd2301_state::screen_update));
screen.set_size(640, 240);
screen.set_visarea_full();
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
MACHINE_CONFIG_END
}
ROM_START( grfd2301 )
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);
}
MACHINE_CONFIG_START(groundfx_state::groundfx)
void groundfx_state::groundfx(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(40'000'000)/2) /* 20MHz - verified */
MCFG_DEVICE_PROGRAM_MAP(groundfx_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", groundfx_state, interrupt)
M68EC020(config, m_maincpu, XTAL(40'000'000)/2); /* 20MHz - verified */
m_maincpu->set_addrmap(AS_PROGRAM, &groundfx_state::groundfx_map);
m_maincpu->set_vblank_int("screen", FUNC(groundfx_state::interrupt));
EEPROM_93C46_16BIT(config, "eeprom");
@ -262,13 +262,13 @@ MACHINE_CONFIG_START(groundfx_state::groundfx)
tc0510nio.read_7_callback().set_ioport("SYSTEM");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 3*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(groundfx_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0, 40*8-1, 3*8, 32*8-1);
screen.set_screen_update(FUNC(groundfx_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_groundfx);
PALETTE(config, m_palette).set_format(palette_device::xRGB_888, 16384);
@ -289,7 +289,7 @@ MACHINE_CONFIG_START(groundfx_state::groundfx)
/* sound hardware */
TAITO_EN(config, "taito_en", 0);
MACHINE_CONFIG_END
}
/***************************************************************************
DRIVERS

View File

@ -828,23 +828,23 @@ void gstream_state::machine_reset()
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 */
MCFG_DEVICE_ADD("maincpu", E132XT, 16000000*4) /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(gstream_32bit_map)
MCFG_DEVICE_IO_MAP(gstream_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gstream_state, irq0_line_hold)
E132XT(config, m_maincpu, 16000000*4); /* 4x internal multiplier */
m_maincpu->set_addrmap(AS_PROGRAM, &gstream_state::gstream_32bit_map);
m_maincpu->set_addrmap(AS_IO, &gstream_state::gstream_io);
m_maincpu->set_vblank_int("screen", FUNC(gstream_state::irq0_line_hold));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(gstream_state, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(320, 240);
screen.set_visarea_full();
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
@ -852,30 +852,28 @@ MACHINE_CONFIG_START(gstream_state::gstream)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) /* 1 Mhz? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); /* 1 Mhz? */
MCFG_DEVICE_ADD("oki2", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) /* 1 Mhz? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(gstream_state::x2222)
OKIM6295(config, m_oki[1], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); /* 1 Mhz? */
}
void gstream_state::x2222(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", E132XT, 16000000*4) /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(x2222_32bit_map)
MCFG_DEVICE_IO_MAP(x2222_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gstream_state, irq0_line_hold)
E132XT(config, m_maincpu, 16000000*4); /* 4x internal multiplier */
m_maincpu->set_addrmap(AS_PROGRAM, &gstream_state::x2222_32bit_map);
m_maincpu->set_addrmap(AS_IO, &gstream_state::x2222_io);
m_maincpu->set_vblank_int("screen", FUNC(gstream_state::irq0_line_hold));
// NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(320, 240)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(gstream_state, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(320, 240);
screen.set_visarea_full();
screen.set_screen_update(FUNC(gstream_state::screen_update));
PALETTE(config, m_palette, palette_device::BGR_565);
@ -885,9 +883,8 @@ MACHINE_CONFIG_START(gstream_state::x2222)
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, 1000000, okim6295_device::PIN7_HIGH) /* 1 Mhz? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END
OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.00); /* 1 Mhz? */
}
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);
MCFG_DEVICE_ADD("video_cpu", I8088, 5000000)
MCFG_DEVICE_PROGRAM_MAP(video_map)
MCFG_DEVICE_IO_MAP(video_io_map)
I8088(config, m_videocpu, 5000000);
m_videocpu->set_addrmap(AS_PROGRAM, &caveman_state::video_map);
m_videocpu->set_addrmap(AS_IO, &caveman_state::video_io_map);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 248-1)
MCFG_SCREEN_UPDATE_DRIVER(caveman_state, screen_update_caveman)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 0, 248-1);
screen.set_screen_update(FUNC(caveman_state::screen_update_caveman));
screen.set_palette("palette");
MCFG_PALETTE_ADD("palette", 16)
PALETTE(config, "palette").set_entries(16);
config.set_default_layout(layout_gts80a_caveman);
MACHINE_CONFIG_END
}
static INPUT_PORTS_START( caveman )
PORT_INCLUDE(gts80a)

View File

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

View File

@ -230,12 +230,12 @@ GFXDECODE_END
MACHINE DRIVERS
***********************************************************/
MACHINE_CONFIG_START(gunbustr_state::gunbustr)
void gunbustr_state::gunbustr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68EC020, XTAL(16'000'000))
MCFG_DEVICE_PROGRAM_MAP(gunbustr_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gunbustr_state, gunbustr_interrupt) /* VBL */
M68EC020(config, m_maincpu, XTAL(16'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &gunbustr_state::gunbustr_map);
m_maincpu->set_vblank_int("screen", FUNC(gunbustr_state::gunbustr_interrupt)); /* VBL */
EEPROM_93C46_16BIT(config, "eeprom");
@ -250,13 +250,13 @@ MACHINE_CONFIG_START(gunbustr_state::gunbustr)
tc0510nio.read_7_callback().set_ioport("SYSTEM");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gunbustr_state, screen_update_gunbustr)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(40*8, 32*8);
screen.set_visarea(0, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(gunbustr_state::screen_update_gunbustr));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gunbustr);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 4096);
@ -271,7 +271,7 @@ MACHINE_CONFIG_START(gunbustr_state::gunbustr)
/* sound hardware */
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 */
}
MACHINE_CONFIG_START(gundealr_state::gundealr)
void gundealr_state::gundealr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* 6 MHz verified for Yam! Yam!? */
MCFG_DEVICE_PROGRAM_MAP(gundealr_main_map)
MCFG_DEVICE_IO_MAP(main_portmap)
Z80(config, m_maincpu, XTAL(12'000'000)/2); /* 6 MHz verified for Yam! Yam!? */
m_maincpu->set_addrmap(AS_PROGRAM, &gundealr_state::gundealr_main_map);
m_maincpu->set_addrmap(AS_IO, &gundealr_state::main_portmap);
TIMER(config, "scantimer").configure_scanline(FUNC(gundealr_state::scanline), "screen", 0, 1);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(gundealr_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(gundealr_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_gundealr);
MCFG_PALETTE_ADD("palette", 512)
PALETTE(config, m_palette).set_entries(512);
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ymsnd", YM2203, XTAL(12'000'000)/8) /* 1.5Mhz verified for Yam! Yam!? */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
YM2203(config, "ymsnd", XTAL(12'000'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.5Mhz verified for Yam! Yam!? */
}
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();
}
MACHINE_CONFIG_START(gundealr_state::yamyam)
void gundealr_state::yamyam(machine_config &config)
{
gundealr(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(yamyam_main_map)
m_maincpu->set_addrmap(AS_PROGRAM, &gundealr_state::yamyam_main_map);
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)
{

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

View File

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

View File

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

View File

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

View File

@ -21,9 +21,9 @@ class galivan_state : public driver_device
public:
galivan_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_videoram(*this, "videoram"),
m_spriteram(*this, "spriteram"),
m_maincpu(*this, "maincpu"),
m_nb1414m4(*this, "nb1414m4"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
@ -39,6 +39,8 @@ public:
protected:
void io_map(address_map &map);
required_device<cpu_device> m_maincpu;
private:
/* memory pointers */
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_ninjemak(screen_device &screen, 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;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;

View File

@ -43,7 +43,7 @@ private:
required_device<cpu_device> m_subcpu;
required_device<cpu_device> m_audiocpu;
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_videoram;
required_shared_ptr<uint8_t> m_spriteram;