void pg685_state::pg685_module(machine_config &config) { FD1797(config, m_fdc, XTAL(4'000'000) / 2); // divider guessed m_fdc->intrq_wr_callback().set("mainpic", FUNC(pic8259_device::ir4_w)); I8255(config, "modppi1", 0); I8255(config, "modppi2", 0); I8251(config, "moduart", XTAL(4'000'000) / 2); // divider guessed MM58167(config, "rtc", XTAL(32'768)); }
void tdv2324_state::tdv2324(machine_config &config) { // basic system hardware I8085A(config, m_maincpu, 8700000/2); // ??? m_maincpu->set_addrmap(AS_PROGRAM, &tdv2324_state::tdv2324_mem); m_maincpu->set_addrmap(AS_IO, &tdv2324_state::tdv2324_io); I8085A(config, m_subcpu, 8000000/2); // ??? m_subcpu->set_addrmap(AS_PROGRAM, &tdv2324_state::tdv2324_sub_mem); m_subcpu->set_addrmap(AS_IO, &tdv2324_state::tdv2324_sub_io); M6802(config, m_fdccpu, 8000000/2); // ??? m_fdccpu->set_addrmap(AS_PROGRAM, &tdv2324_state::tdv2324_fdc_mem); // video hardware screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER, rgb_t::green())); screen.set_refresh_hz(50); screen.set_screen_update(FUNC(tdv2324_state::screen_update)); screen.set_size(800, 400); screen.set_visarea(0, 800-1, 0, 400-1); PALETTE(config, "palette", palette_device::MONOCHROME); TMS9927(config, m_tms, 25.39836_MHz_XTAL / 8).set_char_width(8); // devices PIC8259(config, m_pic, 0); PIT8253(config, m_pit0, 0); PIT8253(config, m_pit1, 0); Z80SIO2(config, MK3887N4_TAG, 8000000/2); FD1797(config, FD1797PL02_TAG, 8000000/4); FLOPPY_CONNECTOR(config, FD1797PL02_TAG":0", tdv2324_floppies, "8dsdd", floppy_image_device::default_floppy_formats); FLOPPY_CONNECTOR(config, FD1797PL02_TAG":1", tdv2324_floppies, "8dsdd", floppy_image_device::default_floppy_formats); // internal ram RAM(config, RAM_TAG).set_default_size("64K"); // software list SOFTWARE_LIST(config, "flop_list").set_original("tdv2324"); }
void pulsar_state::pulsar(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, 4_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &pulsar_state::mem_map); m_maincpu->set_addrmap(AS_IO, &pulsar_state::io_map); m_maincpu->set_daisy_config(daisy_chain_intf); /* Devices */ i8255_device &ppi(I8255(config, "ppi")); ppi.out_pa_callback().set(FUNC(pulsar_state::ppi_pa_w)); ppi.out_pb_callback().set(FUNC(pulsar_state::ppi_pb_w)); ppi.in_pc_callback().set(FUNC(pulsar_state::ppi_pc_r)); ppi.out_pc_callback().set(FUNC(pulsar_state::ppi_pc_w)); MSM5832(config, "rtc", 32.768_kHz_XTAL); z80dart_device& dart(Z80DART(config, "dart", 4_MHz_XTAL)); dart.out_txda_callback().set("rs232", FUNC(rs232_port_device::write_txd)); dart.out_dtra_callback().set("rs232", FUNC(rs232_port_device::write_dtr)); dart.out_rtsa_callback().set("rs232", FUNC(rs232_port_device::write_rts)); dart.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232.rxd_handler().set("dart", FUNC(z80dart_device::rxa_w)); rs232.cts_handler().set("dart", FUNC(z80dart_device::ctsa_w)); rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); com8116_device &brg(COM8116(config, "brg", 5.0688_MHz_XTAL)); // Schematic has the labels for FT and FR the wrong way around, but the pin numbers are correct. brg.fr_handler().set("dart", FUNC(z80dart_device::txca_w)); brg.fr_handler().append("dart", FUNC(z80dart_device::rxca_w)); brg.ft_handler().set("dart", FUNC(z80dart_device::txcb_w)); brg.ft_handler().append("dart", FUNC(z80dart_device::rxcb_w)); FD1797(config, m_fdc, 4_MHz_XTAL / 2); FLOPPY_CONNECTOR(config, "fdc:0", pulsar_floppies, "flop", floppy_image_device::default_floppy_formats).enable_sound(true); FLOPPY_CONNECTOR(config, "fdc:1", pulsar_floppies, "flop", floppy_image_device::default_floppy_formats).enable_sound(true); }