mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
mame\drivers: removed most MCFG and MACHINE_CONFIG macros from drivers starting with f and g (nw)
This commit is contained in:
parent
023d907486
commit
b090ac4af1
@ -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
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
@ -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()
|
||||
|
@ -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 )
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -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 )
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/*******************************
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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));
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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);
|
||||
|
@ -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()
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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.
|
||||
}
|
||||
|
||||
|
||||
/*************************
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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" )
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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 */
|
||||
|
@ -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 )
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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")
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************
|
||||
|
@ -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 )
|
||||
|
@ -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 )
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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
|
||||
|
@ -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 )
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/***************************************************************************************/
|
||||
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user