void mephisto_pinball_state::sport2k(machine_config &config) { mephisto(config); subdevice<i8051_device>("soundcpu")->set_addrmap(AS_IO, &mephisto_pinball_state::sport2k_8051_io); YM3812(config, "ymsnd", XTAL(14'318'181)/4).add_route(ALL_OUTPUTS, "mono", 0.5); }
void prehisle_state::prehisle(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, XTAL(18'000'000)/2); /* verified on pcb */ m_maincpu->set_addrmap(AS_PROGRAM, &prehisle_state::prehisle_map); m_maincpu->set_vblank_int("screen", FUNC(prehisle_state::irq4_line_hold)); Z80(config, m_audiocpu, XTAL(4'000'000)); /* verified on pcb */ m_audiocpu->set_addrmap(AS_PROGRAM, &prehisle_state::prehisle_sound_map); m_audiocpu->set_addrmap(AS_IO, &prehisle_state::prehisle_sound_io_map); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); // the screen parameters are guessed but should be accurate. They // give a theoretical refresh rate of 59.1856Hz while the measured // rate on a snk68.c with very similar hardware board is 59.16Hz. screen.set_raw(XTAL(24'000'000)/4, 384, 0, 256, 264, 16, 240); screen.set_screen_update(FUNC(prehisle_state::screen_update)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_prehisle); PALETTE(config, m_palette).set_format(palette_device::RGBx_444, 1024); /* sound hardware */ SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(4'000'000))); /* verified on pcb */ ymsnd.irq_handler().set_inputline(m_audiocpu, 0); ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0); UPD7759(config, m_upd7759); m_upd7759->add_route(ALL_OUTPUTS, "mono", 0.90); }
void raiden_state::raiden(machine_config &config) { /* basic machine hardware */ V30(config, m_maincpu, XTAL(20'000'000)/2); /* NEC V30 CPU, 20MHz verified on pcb */ m_maincpu->set_addrmap(AS_PROGRAM, &raiden_state::main_map); V30(config, m_subcpu, XTAL(20'000'000)/2); /* NEC V30 CPU, 20MHz verified on pcb */ m_subcpu->set_addrmap(AS_PROGRAM, &raiden_state::sub_map); z80_device &audiocpu(Z80(config, "audiocpu", XTAL(14'318'181)/4)); /* verified on pcb */ audiocpu.set_addrmap(AS_PROGRAM, &raiden_state::seibu_sound_map); audiocpu.set_irq_acknowledge_callback("seibu_sound", FUNC(seibu_sound_device::im0_vector_cb)); config.m_minimum_quantum = attotime::from_hz(12000); /* video hardware */ BUFFERED_SPRITERAM16(config, m_spriteram); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(59.60); // verified on pcb */ screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */); 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(raiden_state::screen_update_raiden)); screen.screen_vblank().set(m_spriteram, FUNC(buffered_spriteram16_device::vblank_copy_rising)); screen.screen_vblank().append(FUNC(raiden_state::vblank_irq)); screen.set_palette(m_palette); GFXDECODE(config, m_gfxdecode, m_palette, gfx_raiden); PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 2048); /* sound hardware */ SPEAKER(config, "mono").front_center(); ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(14'318'181)/4)); ymsnd.irq_handler().set("seibu_sound", FUNC(seibu_sound_device::fm_irqhandler)); ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0); okim6295_device &oki(OKIM6295(config, "oki", XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH)); // frequency and pin 7 verified oki.add_route(ALL_OUTPUTS, "mono", 1.0); SEIBU_SOUND(config, m_seibu_sound, 0); m_seibu_sound->int_callback().set_inputline("audiocpu", 0); m_seibu_sound->set_rom_tag("audiocpu"); m_seibu_sound->set_rombank_tag("seibu_bank1"); m_seibu_sound->ym_read_callback().set("ymsnd", FUNC(ym3812_device::read)); m_seibu_sound->ym_write_callback().set("ymsnd", FUNC(ym3812_device::write)); }
void crospang_state::crospang(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, XTAL(14'318'181)/2); /* 68000P10 @ 7.15909MHz */ m_maincpu->set_addrmap(AS_PROGRAM, &crospang_state::crospang_map); m_maincpu->set_vblank_int("screen", FUNC(crospang_state::irq6_line_hold)); z80_device &audiocpu(Z80(config, "audiocpu", XTAL(14'318'181)/4)); /* 3.579545MHz */ audiocpu.set_addrmap(AS_PROGRAM, &crospang_state::crospang_sound_map); audiocpu.set_addrmap(AS_IO, &crospang_state::crospang_sound_io_map); /* video hardware */ 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, 40*8-1, 0, 30*8-1); screen.set_screen_update(FUNC(crospang_state::screen_update_crospang)); screen.set_palette("palette"); PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x300); GFXDECODE(config, m_gfxdecode, "palette", gfx_crospang); DECO_SPRITE(config, m_sprgen, 0); m_sprgen->set_gfx_region(0); m_sprgen->set_is_bootleg(true); m_sprgen->set_offsets(5, 7); m_sprgen->set_gfxdecode_tag(m_gfxdecode); /* sound hardware */ SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); ym3812_device &ymsnd(YM3812(config, "ymsnd", XTAL(14'318'181)/4)); /* 3.579545MHz */ ymsnd.irq_handler().set_inputline("audiocpu", 0); ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0); okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/16, okim6295_device::PIN7_HIGH)); // 1.789772MHz or 0.894886MHz?? & pin 7 not verified oki.add_route(ALL_OUTPUTS, "mono", 1.0); }
void pokechmp_state::pokechmp(machine_config &config) { /* basic machine hardware */ M6502(config, m_maincpu, 4_MHz_XTAL/4); m_maincpu->set_addrmap(AS_PROGRAM, &pokechmp_state::pokechmp_map); M6502(config, m_audiocpu, 4_MHz_XTAL/4); m_audiocpu->set_addrmap(AS_PROGRAM, &pokechmp_state::pokechmp_sound_map); /* video hardware */ 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(pokechmp_state::screen_update_pokechmp)); screen.set_palette(m_palette); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); screen.screen_vblank().append(FUNC(pokechmp_state::sound_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_pokechmp); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 0x400); /* sound hardware */ SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, m_soundlatch); YM2203(config, "ym1", XTAL(4'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.60); YM3812(config, "ym2", XTAL(24'000'000)/16).add_route(ALL_OUTPUTS, "mono", 1.0); okim6295_device &oki(OKIM6295(config, "oki", XTAL(24'000'000)/16, okim6295_device::PIN7_LOW)); oki.add_route(ALL_OUTPUTS, "mono", 0.50); /* sound fx */ oki.add_route(ALL_OUTPUTS, "mono", 0.50); oki.set_addrmap(0, &pokechmp_state::pokechmp_oki_map); }
INPUT_PORTS_END void nbmj8900_state::ohpaipee(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, 20000000/4); /* 5.00 MHz ? */ m_maincpu->set_addrmap(AS_PROGRAM, &nbmj8900_state::ohpaipee_map); m_maincpu->set_addrmap(AS_IO, &nbmj8900_state::ohpaipee_io_map); m_maincpu->set_vblank_int("screen", FUNC(nbmj8900_state::irq0_line_hold)); NB1413M3(config, m_nb1413m3, 0, NB1413M3_OHPAIPEE); /* video hardware */ 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(0, 512-1, 8, 248-1); m_screen->set_screen_update(FUNC(nbmj8900_state::screen_update)); m_screen->set_palette("palette"); PALETTE(config, "palette").set_entries(256); /* sound hardware */ SPEAKER(config, "speaker").front_center(); YM3812(config, "ymsnd", 2500000).add_route(ALL_OUTPUTS, "speaker", 0.7); DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.42); // 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); }
void sigmab52_state::jwildb52(machine_config &config) { /* basic machine hardware */ MC6809(config, m_maincpu, XTAL(8'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &sigmab52_state::jwildb52_map); MC6809(config, m_audiocpu, XTAL(8'000'000)); m_audiocpu->set_addrmap(AS_PROGRAM, &sigmab52_state::sound_prog_map); ptm6840_device &ptm1(PTM6840(config, "6840ptm_1", XTAL(8'000'000) / 8)); // FIXME ptm1.irq_callback().set_inputline("maincpu", M6809_IRQ_LINE); PTM6840(config, m_6840ptm_2, XTAL(8'000'000) / 8); // FIXME m_6840ptm_2->irq_callback().set(FUNC(sigmab52_state::ptm2_irq)); NVRAM(config, "nvram", nvram_device::DEFAULT_NONE); 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(1024, 1024); screen.set_visarea(0, 544-1, 0, 436-1); screen.set_screen_update("hd63484", FUNC(hd63484_device::update_screen)); screen.set_palette(m_palette); HD63484(config, "hd63484", XTAL(8'000'000)).set_addrmap(0, &sigmab52_state::jwildb52_hd63484_map); PALETTE(config, m_palette).set_entries(16); /* sound hardware */ SPEAKER(config, "mono").front_center(); GENERIC_LATCH_8(config, "soundlatch"); YM3812(config, "ymsnd", XTAL(3'579'545)).add_route(ALL_OUTPUTS, "mono", 1.0); }
void bebox_state::bebox_peripherals(machine_config &config) { config.m_minimum_quantum = attotime::from_hz(60); PIT8254(config, m_pit8254, 0); m_pit8254->set_clk<0>(4772720/4); /* heartbeat IRQ */ m_pit8254->set_clk<1>(4772720/4); /* dram refresh */ m_pit8254->set_clk<2>(4772720/4); /* pio port c pin 4, and speaker polling */ m_pit8254->out_handler<0>().set(FUNC(bebox_state::bebox_timer0_w)); m_pit8254->out_handler<2>().set("kbdc", FUNC(kbdc8042_device::write_out2)); AM9517A(config, m_dma8237[0], XTAL(14'318'181)/3); m_dma8237[0]->out_hreq_callback().set(FUNC(bebox_state::bebox_dma_hrq_changed)); m_dma8237[0]->out_eop_callback().set(FUNC(bebox_state::bebox_dma8237_out_eop)); m_dma8237[0]->in_memr_callback().set(FUNC(bebox_state::bebox_dma_read_byte)); m_dma8237[0]->out_memw_callback().set(FUNC(bebox_state::bebox_dma_write_byte)); m_dma8237[0]->in_ior_callback<2>().set(FUNC(bebox_state::bebox_dma8237_fdc_dack_r)); m_dma8237[0]->out_iow_callback<2>().set(FUNC(bebox_state::bebox_dma8237_fdc_dack_w)); m_dma8237[0]->out_dack_callback<0>().set(FUNC(bebox_state::pc_dack0_w)); m_dma8237[0]->out_dack_callback<1>().set(FUNC(bebox_state::pc_dack1_w)); m_dma8237[0]->out_dack_callback<2>().set(FUNC(bebox_state::pc_dack2_w)); m_dma8237[0]->out_dack_callback<3>().set(FUNC(bebox_state::pc_dack3_w)); AM9517A(config, m_dma8237[1], XTAL(14'318'181)/3); PIC8259(config, m_pic8259[0], 0); m_pic8259[0]->out_int_callback().set(FUNC(bebox_state::bebox_pic8259_master_set_int_line)); m_pic8259[0]->in_sp_callback().set_constant(1); m_pic8259[0]->read_slave_ack_callback().set(FUNC(bebox_state::get_slave_ack)); PIC8259(config, m_pic8259[1], 0); m_pic8259[1]->out_int_callback().set(FUNC(bebox_state::bebox_pic8259_slave_set_int_line)); m_pic8259[1]->in_sp_callback().set_constant(0); NS16550(config, "ns16550_0", 0); /* TODO: Verify model */ NS16550(config, "ns16550_1", 0); /* TODO: Verify model */ NS16550(config, "ns16550_2", 0); /* TODO: Verify model */ NS16550(config, "ns16550_3", 0); /* TODO: Verify model */ /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_raw(XTAL(25'174'800), 900, 0, 640, 526, 0, 480); screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update)); cirrus_gd5428_device &vga(CIRRUS_GD5428(config, "vga", 0)); vga.set_screen("screen"); speaker_device &speaker(SPEAKER(config, "mono")); speaker.front_center(); ym3812_device &ym3812(YM3812(config, "ym3812", 3579545)); ym3812.add_route(ALL_OUTPUTS, speaker, 1.0); FUJITSU_29F016A(config, "flash"); scsi_port_device &scsibus(SCSI_PORT(config, "scsi")); scsibus.set_slot_device(1, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_0)); scsibus.set_slot_device(2, "cdrom", SCSICD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_3)); lsi53c810_device &scsictrl(LSI53C810(config, "lsi53c810")); scsictrl.set_irq_callback(FUNC(bebox_state::scsi_irq_callback)); scsictrl.set_dma_callback(FUNC(bebox_state::scsi_dma_callback)); scsictrl.set_fetch_callback(FUNC(bebox_state::scsi_fetch)); scsictrl.set_scsi_port("scsi"); ide_controller_device &idectrl(IDE_CONTROLLER(config, "ide")); idectrl.set_default_ata_devices("hdd", nullptr); idectrl.irq_handler().set(FUNC(bebox_state::bebox_ide_interrupt)); /* pci */ PCI_BUS(config, m_pcibus, 0); m_pcibus->set_busnum(0); pci_connector_device &pcislot0 = add_pci_slot(config, "pcibus:0", 0, "mpc105"); pcislot0.set_option_machine_config("mpc105", mpc105_config); add_pci_slot(config, "pcibus:1", 1, "cirrus"); /*MCFG_PCI_BUS_DEVICE(12, nullptr, scsi53c810_pci_read, scsi53c810_pci_write)*/ SMC37C78(config, m_smc37c78, 24'000'000); m_smc37c78->intrq_wr_callback().set(FUNC(bebox_state::fdc_interrupt)); m_smc37c78->drq_wr_callback().set(m_dma8237[0], FUNC(am9517a_device::dreq2_w)); floppy_connector &fdc(FLOPPY_CONNECTOR(config, "smc37c78:0")); fdc.option_add("35hd", FLOPPY_35_HD); fdc.set_default_option("35hd"); fdc.set_formats(bebox_state::floppy_formats); MC146818(config, "rtc", 32.768_kHz_XTAL); kbdc8042_device &kbdc(KBDC8042(config, "kbdc")); kbdc.set_keyboard_type(kbdc8042_device::KBDC8042_STANDARD); kbdc.system_reset_callback().set_inputline(m_ppc[0], INPUT_LINE_RESET); kbdc.input_buffer_full_callback().set(FUNC(bebox_state::bebox_keyboard_interrupt)); /* internal ram */ RAM(config, m_ram); m_ram->set_default_size("32M"); m_ram->set_extra_options("8M,16M"); }