DEVICE_INPUT_DEFAULTS_END void genpc_state::pcmda(machine_config &config) { /* basic machine hardware */ I8088(config, m_maincpu, 4772720); m_maincpu->set_addrmap(AS_PROGRAM, &genpc_state::pc8_map); m_maincpu->set_addrmap(AS_IO, &genpc_state::pc8_io); m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb)); IBM5160_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu); ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "mda", false); // FIXME: determine ISA bus clock ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "com", false); ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false); ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "hdc", false); ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, "adlib", false); ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false); /* keyboard */ PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc")); /* internal ram */ RAM(config, RAM_TAG).set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K"); /* software lists */ SOFTWARE_LIST(config, "disk_list").set_original("ibm5150"); }
void mephisto_pinball_state::mephisto(machine_config &config) { /* basic machine hardware */ I8088(config, m_maincpu, XTAL(18'000'000)/3); m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_pinball_state::mephisto_map); //m_maincpu->set_irq_acknowledge_callback("muart", FUNC(i8256_device::inta_cb)); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); //i8256_device &muart(I8256(config, "muart", XTAL(18'000'000)/3)); //muart.irq_handler().set_inputline(m_maincpu, INPUT_LINE_IRQ0); //muart.txd_handler().set_inputline("audiocpu", MCS51_RX_LINE); I8155(config, "ic20", XTAL(18'000'000)/6); //i8155_device &i8155_1(I8155(config, "ic20", XTAL(18'000'000)/6)); //i8155_1.out_to_callback().set("muart", FUNC(i8256_device::write_txc)); I8155(config, "ic9", XTAL(18'000'000)/6); //i8155_device &i8155_2(I8155(config, "ic9", XTAL(18'000'000)/6)); //i8155_2.out_to_callback().set(FUNC(mephisto_pinball_state::clk_shift_w)); i8051_device &soundcpu(I8051(config, "soundcpu", XTAL(12'000'000))); soundcpu.set_addrmap(AS_PROGRAM, &mephisto_pinball_state::mephisto_8051_map); // EA tied high for external program ROM soundcpu.set_addrmap(AS_IO, &mephisto_pinball_state::mephisto_8051_io); soundcpu.port_in_cb<1>().set(FUNC(mephisto_pinball_state::ay8910_read)); soundcpu.port_out_cb<1>().set(FUNC(mephisto_pinball_state::ay8910_write)); soundcpu.port_out_cb<3>().set(FUNC(mephisto_pinball_state::t0_t1_w)); soundcpu.serial_rx_cb().set_constant(0); // from MUART SPEAKER(config, "mono").front_center(); AY8910(config, m_aysnd, XTAL(12'000'000)/8); m_aysnd->port_a_write_callback().set(FUNC(mephisto_pinball_state::ay8910_columns_w)); m_aysnd->port_b_read_callback().set(FUNC(mephisto_pinball_state::ay8910_inputs_r)); m_aysnd->add_route(ALL_OUTPUTS, "mono", 0.5); DAC08(config, "dac", 0).add_route(ALL_OUTPUTS, "mono", 0.5); voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref")); vref.set_output(5.0); vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT); vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT); }