// 0x80 eeprom read bit INPUT_PORTS_END void timetrv_state::timetrv(machine_config &config) { /* basic machine hardware */ I80188(config, m_maincpu, 20000000); //??? m_maincpu->set_addrmap(AS_PROGRAM, &timetrv_state::timetrv_map); m_maincpu->set_addrmap(AS_IO, &timetrv_state::timetrv_io); // interrupts are generated by internally-driven timers EEPROM_2816(config, "eeprom"); i8255_device &ppi1(I8255(config, "ppi1")); ppi1.in_pa_callback().set(FUNC(timetrv_state::test1_r)); //inputs ppi1.in_pb_callback().set(FUNC(timetrv_state::test2_r)); //eeprom read bit + inputs i8255_device &ppi2(I8255(config, "ppi2")); ppi2.in_pa_callback().set(FUNC(timetrv_state::in_r)); //dsw ppi2.in_pb_callback().set(FUNC(timetrv_state::in_r)); //dsw ppi2.in_pc_callback().set(FUNC(timetrv_state::in_r)); //dsw NS16450(config, "uart", 1843200); // P82050 (serial interface for laserdisc) /* 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(512, 512); screen.set_visarea(0*8, 512-1, 0*8, 512-1); screen.set_screen_update(FUNC(timetrv_state::screen_update_timetrv)); PALETTE(config, "palette").set_entries(512); /* sound hardware */ }
FLOPPY_FORMATS_END void fdc37c93x_device::device_add_mconfig(machine_config &config) { // floppy disc controller smc37c78_device &fdcdev(SMC37C78(config, floppy_controller_fdcdev, 24'000'000)); fdcdev.intrq_wr_callback().set(FUNC(fdc37c93x_device::irq_floppy_w)); fdcdev.drq_wr_callback().set(FUNC(fdc37c93x_device::drq_floppy_w)); FLOPPY_CONNECTOR(config, "fdc:0", pc_hd_floppies, "35hd", fdc37c93x_device::floppy_formats); FLOPPY_CONNECTOR(config, "fdc:1", pc_hd_floppies, "35hd", fdc37c93x_device::floppy_formats); // parallel port PC_LPT(config, pc_lpt_lptdev); pc_lpt_lptdev->irq_handler().set(FUNC(fdc37c93x_device::irq_parallel_w)); // serial ports NS16450(config, pc_serial1_comdev, XTAL(1'843'200)); // or NS16550 ? pc_serial1_comdev->out_int_callback().set(FUNC(fdc37c93x_device::irq_serial1_w)); pc_serial1_comdev->out_tx_callback().set(FUNC(fdc37c93x_device::txd_serial1_w)); pc_serial1_comdev->out_dtr_callback().set(FUNC(fdc37c93x_device::dtr_serial1_w)); pc_serial1_comdev->out_rts_callback().set(FUNC(fdc37c93x_device::rts_serial1_w)); NS16450(config, pc_serial2_comdev, XTAL(1'843'200)); pc_serial2_comdev->out_int_callback().set(FUNC(fdc37c93x_device::irq_serial2_w)); pc_serial2_comdev->out_tx_callback().set(FUNC(fdc37c93x_device::txd_serial2_w)); pc_serial2_comdev->out_dtr_callback().set(FUNC(fdc37c93x_device::dtr_serial2_w)); pc_serial2_comdev->out_rts_callback().set(FUNC(fdc37c93x_device::rts_serial2_w)); // RTC ds12885_device &rtc(DS12885(config, "rtc")); rtc.irq().set(FUNC(fdc37c93x_device::irq_rtc_w)); rtc.set_century_index(0x32); // keyboard KBDC8042(config, m_kbdc); m_kbdc->set_keyboard_type(kbdc8042_device::KBDC8042_PS2); m_kbdc->input_buffer_full_callback().set(FUNC(fdc37c93x_device::irq_keyboard_w)); m_kbdc->system_reset_callback().set(FUNC(fdc37c93x_device::kbdp20_gp20_reset_w)); m_kbdc->gate_a20_callback().set(FUNC(fdc37c93x_device::kbdp21_gp25_gatea20_w)); }
} MACHINE_CONFIG_START(magtouch_state::magtouch) /* basic machine hardware */ MCFG_DEVICE_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */ MCFG_DEVICE_PROGRAM_MAP(magtouch_map) MCFG_DEVICE_IO_MAP(magtouch_io) MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) /* video hardware */ pcvideo_trident_vga(config); MCFG_DEVICE_REPLACE("vga", TVGA9000_VGA, 0) pcat_common(config); ns16450_device &uart(NS16450(config, "ns16450_0", XTAL(1'843'200))); uart.out_tx_callback().set("microtouch", FUNC(microtouch_device::rx)); uart.out_int_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w)); MCFG_MICROTOUCH_ADD( "microtouch", 9600, WRITELINE("ns16450_0", ins8250_uart_device, rx_w) ) NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); m_dma8237_1->out_iow_callback<1>().set(FUNC(magtouch_state::dma8237_1_dack_w)); ISA8(config, m_isabus, 0); m_isabus->set_cputag("maincpu"); m_isabus->irq2_callback().set("pic8259_2", FUNC(pic8259_device::ir2_w)); m_isabus->irq3_callback().set("pic8259_1", FUNC(pic8259_device::ir3_w)); //m_isabus->irq4_callback().set("pic8259_1", FUNC(pic8259_device::ir4_w)); m_isabus->irq5_callback().set("pic8259_1", FUNC(pic8259_device::ir5_w));