diff options
Diffstat (limited to 'src/mame/drivers/zn.cpp')
-rw-r--r-- | src/mame/drivers/zn.cpp | 254 |
1 files changed, 133 insertions, 121 deletions
diff --git a/src/mame/drivers/zn.cpp b/src/mame/drivers/zn.cpp index a629fe4eba7..02f2690a71e 100644 --- a/src/mame/drivers/zn.cpp +++ b/src/mame/drivers/zn.cpp @@ -374,8 +374,8 @@ void zn_state::zn_map(address_map &map) map(0x1fb20000, 0x1fb20007).r(FUNC(zn_state::unknown_r)); } -MACHINE_CONFIG_START(zn_state::zn1_1mb_vram) - +void zn_state::zn1_1mb_vram(machine_config &config) +{ /* basic machine hardware */ CXD8530CQ(config, m_maincpu, XTAL(67'737'600)); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::zn_map); @@ -398,8 +398,7 @@ MACHINE_CONFIG_START(zn_state::zn1_1mb_vram) m_znmcu->analog2_handler().set_ioport("ANALOG2"); /* video hardware */ - MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8561Q, 0x100000, XTAL(53'693'175) ) - MCFG_VIDEO_SET_SCREEN(m_gpu_screen) + CXD8561Q(config, "gpu", XTAL(53'693'175), 0x100000, subdevice<psxcpu_device>("maincpu")).set_screen(m_gpu_screen); SCREEN(config, m_gpu_screen, SCREEN_TYPE_RASTER); @@ -409,25 +408,24 @@ MACHINE_CONFIG_START(zn_state::zn1_1mb_vram) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_SPU_ADD( "spu", XTAL(67'737'600)/2 ) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.35) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.35) + spu_device &spu(SPU(config, "spu", XTAL(67'737'600)/2, subdevice<psxcpu_device>("maincpu"))); + spu.add_route(0, "lspeaker", 0.35); + spu.add_route(1, "rspeaker", 0.35); - MCFG_DEVICE_ADD("at28c16", AT28C16, 0) -MACHINE_CONFIG_END + AT28C16(config, "at28c16", 0); +} -MACHINE_CONFIG_START(zn_state::zn1_2mb_vram) +void zn_state::zn1_2mb_vram(machine_config &config) +{ zn1_1mb_vram(config); - MCFG_PSXGPU_REPLACE( "maincpu", "gpu", CXD8561Q, 0x200000, XTAL(53'693'175) ) - MCFG_VIDEO_SET_SCREEN(m_gpu_screen) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(zn_state::zn2) + CXD8561Q(config.replace(), "gpu", XTAL(53'693'175), 0x200000, subdevice<psxcpu_device>("maincpu")).set_screen("screen"); +} +void zn_state::zn2(machine_config &config) +{ /* basic machine hardware */ CXD8661R(config, m_maincpu, XTAL(100'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::zn_map); - m_maincpu->subdevice<ram_device>("ram")->set_default_size("4M"); auto &sio0(*m_maincpu->subdevice<psxsio0_device>("sio0")); @@ -446,8 +444,7 @@ MACHINE_CONFIG_START(zn_state::zn2) m_znmcu->analog2_handler().set_ioport("ANALOG2"); /* video hardware */ - MCFG_PSXGPU_ADD( "maincpu", "gpu", CXD8654Q, 0x200000, XTAL(53'693'175) ) - MCFG_VIDEO_SET_SCREEN(m_gpu_screen) + CXD8654Q(config, "gpu", XTAL(53'693'175), 0x200000, subdevice<psxcpu_device>("maincpu")).set_screen(m_gpu_screen); SCREEN(config, m_gpu_screen, SCREEN_TYPE_RASTER); @@ -457,12 +454,12 @@ MACHINE_CONFIG_START(zn_state::zn2) GENERIC_LATCH_8(config, m_soundlatch); - MCFG_SPU_ADD( "spu", XTAL(67'737'600)/2 ) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.35) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.35) + spu_device &spu(SPU(config, "spu", XTAL(67'737'600)/2, subdevice<psxcpu_device>("maincpu"))); + spu.add_route(0, "lspeaker", 0.35); + spu.add_route(1, "rspeaker", 0.35); - MCFG_DEVICE_ADD("at28c16", AT28C16, 0) -MACHINE_CONFIG_END + AT28C16(config, "at28c16", 0); +} void zn_state::gameboard_cat702(machine_config &config) { @@ -657,52 +654,55 @@ void zn_state::qsound_portmap(address_map &map) map(0x00, 0x00).r(m_soundlatch, FUNC(generic_latch_8_device::read)); } -MACHINE_CONFIG_START(zn_state::coh1000c) +void zn_state::coh1000c(machine_config &config) +{ zn1_1mb_vram(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1000c_map); - MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(8'000'000)) - MCFG_DEVICE_PROGRAM_MAP(qsound_map) - MCFG_DEVICE_IO_MAP(qsound_portmap) - MCFG_DEVICE_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp) + Z80(config, m_audiocpu, XTAL(8'000'000)); + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::qsound_map); + m_audiocpu->set_addrmap(AS_IO, &zn_state::qsound_portmap); + m_audiocpu->set_periodic_int(FUNC(zn_state::qsound_interrupt), attotime::from_hz(250)); // measured (cps2.cpp) MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000c) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c) m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("qsound", QSOUND) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + qsound_device &qsound(QSOUND(config, "qsound")); + qsound.add_route(0, "lspeaker", 1.0); + qsound.add_route(1, "rspeaker", 1.0); +} -MACHINE_CONFIG_START(zn_state::glpracr) +void zn_state::glpracr(machine_config &config) +{ coh1000c(config); MCFG_MACHINE_RESET_OVERRIDE(zn_state, glpracr) -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(zn_state::coh1002c) +void zn_state::coh1002c(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1000c_map); - MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(8'000'000)) - MCFG_DEVICE_PROGRAM_MAP(qsound_map) - MCFG_DEVICE_IO_MAP(qsound_portmap) - MCFG_DEVICE_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp) + Z80(config, m_audiocpu, XTAL(8'000'000)); + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::qsound_map); + m_audiocpu->set_addrmap(AS_IO, &zn_state::qsound_portmap); + m_audiocpu->set_periodic_int(FUNC(zn_state::qsound_interrupt), attotime::from_hz(250)); // measured (cps2.cpp) MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000c) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c) m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("qsound", QSOUND) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + qsound_device &qsound(QSOUND(config, "qsound")); + qsound.add_route(0, "lspeaker", 1.0); + qsound.add_route(1, "rspeaker", 1.0); +} /* @@ -845,26 +845,27 @@ Notes: Unpopulated sockets on Rival Schools - None */ -MACHINE_CONFIG_START(zn_state::coh3002c) +void zn_state::coh3002c(machine_config &config) +{ zn2(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1000c_map); - MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(8'000'000)) - MCFG_DEVICE_PROGRAM_MAP(qsound_map) - MCFG_DEVICE_IO_MAP(qsound_portmap) - MCFG_DEVICE_PERIODIC_INT_DRIVER(zn_state, qsound_interrupt, 250) // measured (cps2.cpp) + Z80(config, m_audiocpu, XTAL(8'000'000)); + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::qsound_map); + m_audiocpu->set_addrmap(AS_IO, &zn_state::qsound_portmap); + m_audiocpu->set_periodic_int(FUNC(zn_state::qsound_interrupt), attotime::from_hz(250)); // measured (cps2.cpp) MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000c) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000c) m_soundlatch->data_pending_callback().set_inputline(m_audiocpu, INPUT_LINE_NMI); - MCFG_DEVICE_ADD("qsound", QSOUND) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + qsound_device &qsound(QSOUND(config, "qsound")); + qsound.add_route(0, "lspeaker", 1.0); + qsound.add_route(1, "rspeaker", 1.0); +} /* @@ -1142,14 +1143,15 @@ void zn_state::fx1a_sound_map(address_map &map) } -MACHINE_CONFIG_START(zn_state::coh1000ta) +void zn_state::coh1000ta(machine_config &config) +{ zn1_1mb_vram(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1000ta_map); - MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(16'000'000) / 4) /* 4 MHz */ - MCFG_DEVICE_PROGRAM_MAP(fx1a_sound_map) + Z80(config, m_audiocpu, XTAL(16'000'000) / 4); /* 4 MHz */ + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::fx1a_sound_map); MCFG_MACHINE_START_OVERRIDE(zn_state, coh1000ta) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1000ta) @@ -1166,7 +1168,7 @@ MACHINE_CONFIG_START(zn_state::coh1000ta) tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0)); tc0140syt.set_master_tag(m_maincpu); tc0140syt.set_slave_tag(m_audiocpu); -MACHINE_CONFIG_END +} WRITE8_MEMBER(zn_state::fx1b_fram_w) { @@ -1199,7 +1201,8 @@ void zn_state::init_coh1000tb() save_pointer(NAME(m_fx1b_fram), 0x200); } -MACHINE_CONFIG_START(zn_state::coh1000tb) +void zn_state::coh1000tb(machine_config &config) +{ zn1_1mb_vram(config); gameboard_cat702(config); @@ -1213,17 +1216,17 @@ MACHINE_CONFIG_START(zn_state::coh1000tb) MB3773(config, "mb3773"); /* sound hardware */ - MCFG_DEVICE_MODIFY("spu") - MCFG_SOUND_ROUTES_RESET() - MCFG_SOUND_ROUTE(0, "lspeaker", 0.3) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.3) + subdevice<spu_device>("spu")->reset_routes(); + subdevice<spu_device>("spu")->add_route(0, "lspeaker", 0.3); + subdevice<spu_device>("spu")->add_route(1, "rspeaker", 0.3); TAITO_ZOOM(config, m_zoom); m_zoom->add_route(0, "lspeaker", 1.0); m_zoom->add_route(1, "rspeaker", 1.0); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(zn_state::coh1002tb) +void zn_state::coh1002tb(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); @@ -1237,15 +1240,14 @@ MACHINE_CONFIG_START(zn_state::coh1002tb) MB3773(config, "mb3773"); /* sound hardware */ - MCFG_DEVICE_MODIFY("spu") - MCFG_SOUND_ROUTES_RESET() - MCFG_SOUND_ROUTE(0, "lspeaker", 0.3) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.3) + subdevice<spu_device>("spu")->reset_routes(); + subdevice<spu_device>("spu")->add_route(0, "lspeaker", 0.3); + subdevice<spu_device>("spu")->add_route(1, "rspeaker", 0.3); TAITO_ZOOM(config, m_zoom); m_zoom->add_route(0, "lspeaker", 1.0); m_zoom->add_route(1, "rspeaker", 1.0); -MACHINE_CONFIG_END +} /* @@ -1473,21 +1475,20 @@ void zn_state::coh1000w_map(address_map &map) map(0x1f7f4000, 0x1f7f4fff).rw(FUNC(zn_state::vt83c461_32_r), FUNC(zn_state::vt83c461_32_w)); } -MACHINE_CONFIG_START(zn_state::coh1000w) +void zn_state::coh1000w(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); - m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1000w_map); - - subdevice<ram_device>("maincpu:ram")->set_default_size("8M"); + m_maincpu->subdevice<ram_device>("ram")->set_default_size("8M"); + m_maincpu->subdevice<psxdma_device>("dma")->install_read_handler(5, psxdma_device::read_delegate(&zn_state::atpsx_dma_read, this)); + m_maincpu->subdevice<psxdma_device>("dma")->install_write_handler(5, psxdma_device::write_delegate(&zn_state::atpsx_dma_write, this)); WATCHDOG_TIMER(config, "watchdog").set_time(attotime::from_msec(600)); /* 600ms Ds1232 TD floating */ VT83C461(config, m_vt83c461).options(ata_devices, "hdd", nullptr, true); m_vt83c461->irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin10)); - MCFG_PSX_DMA_CHANNEL_READ( "maincpu", 5, psxdma_device::read_delegate(&zn_state::atpsx_dma_read, this ) ) - MCFG_PSX_DMA_CHANNEL_WRITE( "maincpu", 5, psxdma_device::write_delegate(&zn_state::atpsx_dma_write, this ) ) -MACHINE_CONFIG_END +} /* @@ -1694,40 +1695,42 @@ void zn_state::oki_map(address_map &map) map(0x30000, 0x3ffff).bankr("okibank"); } -MACHINE_CONFIG_START(zn_state::coh1002e) +void zn_state::coh1002e(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1002e_map); - MCFG_DEVICE_ADD(m_audiocpu, M68000, XTAL(12'000'000)) - MCFG_DEVICE_PROGRAM_MAP(psarc_snd_map) + M68000(config, m_audiocpu, XTAL(12'000'000)); + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::psarc_snd_map); MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002e) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002e) - MCFG_DEVICE_ADD("ymf", YMF271, XTAL(16'934'400)) - MCFG_SOUND_ROUTE(0, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) -MACHINE_CONFIG_END + ymf271_device &ymf(YMF271(config, "ymf", XTAL(16'934'400))); + ymf.add_route(0, "lspeaker", 1.0); + ymf.add_route(1, "rspeaker", 1.0); +} -MACHINE_CONFIG_START(zn_state::beastrzrb) +void zn_state::beastrzrb(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); // TODO: hook up bootleg protection m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1002e_map); - MCFG_DEVICE_ADD(m_audiocpu, AT89C4051, XTAL(12'000'000)) // clock unverified - MCFG_DEVICE_PROGRAM_MAP(beastrzrb_snd_map) + AT89C4051(config, m_audiocpu, XTAL(12'000'000)); // clock unverified + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::beastrzrb_snd_map); MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002e) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002e) - MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_LOW) // clock frequency & pin 7 not verified - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0) - MCFG_DEVICE_ADDRESS_MAP(0, oki_map) -MACHINE_CONFIG_END + okim6295_device &oki(OKIM6295(config, "oki", 1000000, okim6295_device::PIN7_LOW)); // clock frequency & pin 7 not verified + oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0); + oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0); + oki.set_addrmap(0, &zn_state::oki_map); +} /* @@ -1852,7 +1855,8 @@ MACHINE_RESET_MEMBER(zn_state,bam2) m_rombank[0]->set_entry( 1 ); } -MACHINE_CONFIG_START(zn_state::bam2) +void zn_state::bam2(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); @@ -1860,7 +1864,7 @@ MACHINE_CONFIG_START(zn_state::bam2) MCFG_MACHINE_START_OVERRIDE(zn_state, bam2) MCFG_MACHINE_RESET_OVERRIDE(zn_state, bam2) -MACHINE_CONFIG_END +} /* @@ -2203,14 +2207,16 @@ void zn_state::jdredd_map(address_map &map) map(0x1fbfff90, 0x1fbfff9f).rw("ata", FUNC(ata_interface_device::cs0_r), FUNC(ata_interface_device::cs0_w)); } -MACHINE_CONFIG_START(zn_state::coh1000a) +void zn_state::coh1000a(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1000a_map); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(zn_state::nbajamex) +void zn_state::nbajamex(machine_config &config) +{ coh1000a(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::nbajamex_map); @@ -2222,10 +2228,11 @@ MACHINE_CONFIG_START(zn_state::nbajamex) ADDRESS_MAP_BANK(config, "nbajamex_bankmap").set_map(&zn_state::nbajamex_bank_map).set_options(ENDIANNESS_LITTLE, 32, 24, 0x800000); - MCFG_DEVICE_ADD("rax", ACCLAIM_RAX, 0) -MACHINE_CONFIG_END + ACCLAIM_RAX(config, "rax", 0); +} -MACHINE_CONFIG_START(zn_state::jdredd) +void zn_state::jdredd(machine_config &config) +{ coh1000a(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::jdredd_map); @@ -2234,7 +2241,7 @@ MACHINE_CONFIG_START(zn_state::jdredd) ata_interface_device &ata(ATA_INTERFACE(config, "ata").options(ata_devices, "hdd", nullptr, true)); ata.irq_handler().set("maincpu:irq", FUNC(psxirq_device::intin10)); -MACHINE_CONFIG_END +} /* @@ -2392,14 +2399,15 @@ void zn_state::atlus_snd_map(address_map &map) } -MACHINE_CONFIG_START(zn_state::coh1001l) +void zn_state::coh1001l(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1001l_map); - MCFG_DEVICE_ADD(m_audiocpu, M68000, XTAL(10'000'000)) - MCFG_DEVICE_PROGRAM_MAP(atlus_snd_map) + M68000(config, m_audiocpu, XTAL(10'000'000)); + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::atlus_snd_map); MCFG_MACHINE_START_OVERRIDE(zn_state, coh1001l) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1001l) @@ -2411,7 +2419,7 @@ MACHINE_CONFIG_START(zn_state::coh1001l) ymz.irq_handler().set_inputline(m_audiocpu, 2); ymz.add_route(0, "lspeaker", 0.35); ymz.add_route(1, "rspeaker", 0.35); -MACHINE_CONFIG_END +} /* @@ -2449,7 +2457,8 @@ MACHINE_RESET_MEMBER(zn_state,coh1002v) m_rombank[0]->set_entry( 0 ); } -MACHINE_CONFIG_START(zn_state::coh1002v) +void zn_state::coh1002v(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); @@ -2457,7 +2466,7 @@ MACHINE_CONFIG_START(zn_state::coh1002v) MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002v) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002v) -MACHINE_CONFIG_END +} /* @@ -2640,7 +2649,8 @@ MACHINE_RESET_MEMBER(zn_state,coh1002m) m_rombank[0]->set_entry( 0 ); } -MACHINE_CONFIG_START(zn_state::coh1002m) +void zn_state::coh1002m(machine_config &config) +{ zn1_2mb_vram(config); gameboard_cat702(config); @@ -2648,7 +2658,7 @@ MACHINE_CONFIG_START(zn_state::coh1002m) MCFG_MACHINE_START_OVERRIDE(zn_state, coh1002m) MCFG_MACHINE_RESET_OVERRIDE(zn_state, coh1002m) -MACHINE_CONFIG_END +} READ8_MEMBER(zn_state::cbaj_sound_main_status_r) { @@ -2696,33 +2706,35 @@ void zn_state::coh1002ml_link_port_map(address_map &map) map.global_mask(0xff); } -MACHINE_CONFIG_START(zn_state::coh1002msnd) +void zn_state::coh1002msnd(machine_config &config) +{ coh1002m(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &zn_state::coh1002msnd_map); - MCFG_DEVICE_ADD(m_audiocpu, Z80, XTAL(32'000'000)/8) - MCFG_DEVICE_PROGRAM_MAP(cbaj_z80_map) - MCFG_DEVICE_IO_MAP(cbaj_z80_port_map) + Z80(config, m_audiocpu, XTAL(32'000'000)/8); + m_audiocpu->set_addrmap(AS_PROGRAM, &zn_state::cbaj_z80_map); + m_audiocpu->set_addrmap(AS_IO, &zn_state::cbaj_z80_port_map); FIFO7200(config, m_cbaj_fifo[0], 0x400); // LH540202 FIFO7200(config, m_cbaj_fifo[1], 0x400); // " - MCFG_QUANTUM_TIME(attotime::from_hz(6000)) + config.m_minimum_quantum = attotime::from_hz(6000); /* sound hardware */ - MCFG_DEVICE_ADD("ymz", YMZ280B, XTAL(16'934'400)) - MCFG_SOUND_ROUTE(0, "lspeaker", 0.35) - MCFG_SOUND_ROUTE(1, "rspeaker", 0.35) -MACHINE_CONFIG_END + ymz280b_device &ymz(YMZ280B(config, "ymz", XTAL(16'934'400))); + ymz.add_route(0, "lspeaker", 0.35); + ymz.add_route(1, "rspeaker", 0.35); +} -MACHINE_CONFIG_START(zn_state::coh1002ml) +void zn_state::coh1002ml(machine_config &config) +{ coh1002m(config); - MCFG_DEVICE_ADD("link", Z80, 4000000) // ? - MCFG_DEVICE_PROGRAM_MAP(coh1002ml_link_map) - MCFG_DEVICE_IO_MAP(coh1002ml_link_port_map) -MACHINE_CONFIG_END + z80_device &link(Z80(config, "link", 4000000)); // ? + link.set_addrmap(AS_PROGRAM, &zn_state::coh1002ml_link_map); + link.set_addrmap(AS_IO, &zn_state::coh1002ml_link_port_map); +} /* |