void czk80_state::czk80(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, 16_MHz_XTAL / 4); m_maincpu->set_addrmap(AS_PROGRAM, &czk80_state::czk80_mem); m_maincpu->set_addrmap(AS_IO, &czk80_state::czk80_io); m_maincpu->set_daisy_config(daisy_chain); GENERIC_TERMINAL(config, m_terminal, 0); m_terminal->set_keyboard_callback(FUNC(czk80_state::kbd_put)); UPD765A(config, m_fdc, 8_MHz_XTAL, true, true); FLOPPY_CONNECTOR(config, "fdc:0", czk80_floppies, "525dd", floppy_image_device::default_floppy_formats); z80ctc_device& ctc(Z80CTC(config, "ctc", 16_MHz_XTAL / 4)); ctc.intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); ctc.zc_callback<0>().set(FUNC(czk80_state::ctc_z0_w)); ctc.zc_callback<1>().set(FUNC(czk80_state::ctc_z1_w)); ctc.zc_callback<2>().set(FUNC(czk80_state::ctc_z2_w)); z80dart_device& dart(Z80DART(config, "dart", 16_MHz_XTAL / 4)); //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("maincpu", INPUT_LINE_IRQ0); z80pio_device& pio(Z80PIO(config, "pio", 16_MHz_XTAL / 4)); pio.out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); }
void a5105_state::a5105(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, XTAL(15'000'000) / 4); m_maincpu->set_addrmap(AS_PROGRAM, &a5105_state::a5105_mem); m_maincpu->set_addrmap(AS_IO, &a5105_state::a5105_io); m_maincpu->set_daisy_config(a5105_daisy_chain); /* video hardware */ SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_refresh_hz(50); m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ m_screen->set_screen_update("upd7220", FUNC(upd7220_device::screen_update)); m_screen->set_size(40*8, 32*8); m_screen->set_visarea(0, 40*8-1, 0, 25*8-1); GFXDECODE(config, m_gfxdecode, m_palette, gfx_a5105); PALETTE(config, m_palette, FUNC(a5105_state::a5105_palette), 16); /* sound hardware */ SPEAKER(config, "mono").front_center(); WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25); BEEP(config, "beeper", 500).add_route(ALL_OUTPUTS, "mono", 0.50); /* Devices */ UPD7220(config, m_hgdc, XTAL(15'000'000) / 16); // unk clock m_hgdc->set_addrmap(0, &a5105_state::upd7220_map); m_hgdc->set_display_pixels(FUNC(a5105_state::hgdc_display_pixels)); m_hgdc->set_draw_text(FUNC(a5105_state::hgdc_draw_text)); z80ctc_device& ctc(Z80CTC(config, "z80ctc", XTAL(15'000'000) / 4)); ctc.intr_callback().set_inputline(m_maincpu, 0); ctc.zc_callback<0>().set("z80ctc", FUNC(z80ctc_device::trg2)); ctc.zc_callback<2>().set("z80ctc", FUNC(z80ctc_device::trg3)); z80pio_device& pio(Z80PIO(config, "z80pio", XTAL(15'000'000) / 4)); pio.in_pb_callback().set(FUNC(a5105_state::pio_pb_r)); pio.out_int_callback().set_inputline(m_maincpu, 0); CASSETTE(config, m_cass); UPD765A(config, m_fdc, 8'000'000, true, true); FLOPPY_CONNECTOR(config, "upd765a:0", a5105_floppies, "525qd", a5105_state::floppy_formats); FLOPPY_CONNECTOR(config, "upd765a:1", a5105_floppies, "525qd", a5105_state::floppy_formats); FLOPPY_CONNECTOR(config, "upd765a:2", a5105_floppies, "525qd", a5105_state::floppy_formats); FLOPPY_CONNECTOR(config, "upd765a:3", a5105_floppies, "525qd", a5105_state::floppy_formats); /* internal ram */ RAM(config, RAM_TAG).set_default_size("64K"); }
void newbrain_fdc_device::device_add_mconfig(machine_config &config) { Z80(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &newbrain_fdc_device::newbrain_fdc_mem); m_maincpu->set_addrmap(AS_IO, &newbrain_fdc_device::newbrain_fdc_io); UPD765A(config, m_fdc, 8'000'000, false, true); m_fdc->intrq_wr_callback().set(FUNC(newbrain_fdc_device::fdc_int_w)); FLOPPY_CONNECTOR(config, UPD765_TAG ":0", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats); FLOPPY_CONNECTOR(config, UPD765_TAG ":1", newbrain_floppies, "525dd", floppy_image_device::default_floppy_formats); FLOPPY_CONNECTOR(config, UPD765_TAG ":2", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats); FLOPPY_CONNECTOR(config, UPD765_TAG ":3", newbrain_floppies, nullptr, floppy_image_device::default_floppy_formats); NEWBRAIN_EXPANSION_SLOT(config, m_exp, XTAL(16'000'000)/8, newbrain_expansion_cards, nullptr); }
ROM_END /*************************************************************************** FUNCTION PROTOTYPES ***************************************************************************/ //------------------------------------------------- // device_add_mconfig - add device configuration //------------------------------------------------- void a2bus_corvfdc02_device::device_add_mconfig(machine_config &config) { UPD765A(config, m_fdc, 8'000'000, true, false); m_fdc->intrq_wr_callback().set(FUNC(a2bus_corvfdc02_device::intrq_w)); m_fdc->drq_wr_callback().set(FUNC(a2bus_corvfdc02_device::drq_w)); FLOPPY_CONNECTOR(config, m_con1, corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats); FLOPPY_CONNECTOR(config, m_con2, corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats); FLOPPY_CONNECTOR(config, m_con3, corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats); FLOPPY_CONNECTOR(config, m_con4, corv_floppies, "525dsqd", a2bus_corvfdc02_device::corv_floppy_formats); }
void hec2hrp_state::hec2mx80(machine_config &config) { Z80(config, m_maincpu, 5_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hec2hrx_mem); m_maincpu->set_addrmap(AS_IO, &hec2hrp_state::hec2mx80_io); m_maincpu->set_periodic_int(FUNC(hec2hrp_state::irq0_line_hold), attotime::from_hz(50)); /* put on the Z80 irq in Hz*/ MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx) MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx) Z80(config, m_disc2cpu, 4_MHz_XTAL); m_disc2cpu->set_addrmap(AS_PROGRAM, &hec2hrp_state::hecdisc2_mem); m_disc2cpu->set_addrmap(AS_IO, &hec2hrp_state::hecdisc2_io); UPD765A(config, m_upd_fdc, 8'000'000, false, true); m_upd_fdc->intrq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_interrupt)); m_upd_fdc->drq_wr_callback().set(FUNC(hec2hrp_state::disc2_fdc_dma_irq)); FLOPPY_CONNECTOR(config, m_upd_connector[0], hector_floppies, "525hd", floppy_image_device::default_floppy_formats); FLOPPY_CONNECTOR(config, m_upd_connector[1], hector_floppies, "525hd", floppy_image_device::default_floppy_formats); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(50); screen.set_vblank_time(ATTOSECONDS_IN_USEC(400)); /* 2500 not accurate */ screen.set_size(512, 230); screen.set_visarea(0, 243, 0, 227); screen.set_screen_update(FUNC(hec2hrp_state::screen_update_hec2hrp)); screen.set_palette(m_palette); PALETTE(config, m_palette).set_entries(16); MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) hector_audio(config); CASSETTE(config, m_cassette); m_cassette->set_formats(hector_cassette_formats); m_cassette->set_default_state(CASSETTE_PLAY | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED); PRINTER(config, m_printer, 0); }
void dim68k_state::dim68k(machine_config &config) { /* basic machine hardware */ M68000(config, m_maincpu, XTAL(10'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &dim68k_state::dim68k_mem); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(50); screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update)); screen.set_size(640, 480); screen.set_visarea(0, 640-1, 0, 250-1); PALETTE(config, m_palette, palette_device::MONOCHROME); GFXDECODE(config, "gfxdecode", m_palette, gfx_dim68k); /* sound hardware */ SPEAKER(config, "mono").front_center(); SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50); /* Devices */ UPD765A(config, "fdc", 8'000'000, true, true); // these options unknown FLOPPY_CONNECTOR(config, "fdc:0", dim68k_floppies, "525hd", floppy_image_device::default_floppy_formats); FLOPPY_CONNECTOR(config, "fdc:1", dim68k_floppies, "525hd", floppy_image_device::default_floppy_formats); MC6845(config, m_crtc, 1790000); m_crtc->set_screen("screen"); m_crtc->set_show_border_area(false); m_crtc->set_char_width(8); m_crtc->set_update_row_callback(FUNC(dim68k_state::crtc_update_row), this); generic_keyboard_device &keyboard(GENERIC_KEYBOARD(config, "keyboard", 0)); keyboard.set_keyboard_callback(FUNC(dim68k_state::kbd_put)); // software lists SOFTWARE_LIST(config, "flop_list").set_original("dim68k"); }
void iq151_disc2_device::device_add_mconfig(machine_config &config) { UPD765A(config, m_fdc, 8'000'000, false, true); FLOPPY_CONNECTOR(config, "fdc:1", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats); FLOPPY_CONNECTOR(config, "fdc:2", iq151_disc2_floppies, "8sssd", iq151_disc2_device::floppy_formats); }
GFXDECODE_END void nanos_state::nanos(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, XTAL(4'000'000)); m_maincpu->set_addrmap(AS_PROGRAM, &nanos_state::mem_map); m_maincpu->set_addrmap(AS_IO, &nanos_state::io_map); m_maincpu->set_daisy_config(nanos_daisy_chain); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(50); screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ screen.set_screen_update(FUNC(nanos_state::screen_update)); screen.set_size(80*8, 25*10); screen.set_visarea(0,80*8-1,0,25*10-1); screen.set_palette("palette"); GFXDECODE(config, "gfxdecode", "palette", gfx_nanos); PALETTE(config, "palette", palette_device::MONOCHROME); /* devices */ Z80CTC(config, m_ctc_0, XTAL(4'000'000)); m_ctc_0->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); m_ctc_0->zc_callback<0>().set(FUNC(nanos_state::ctc_z0_w)); m_ctc_0->zc_callback<1>().set(FUNC(nanos_state::ctc_z1_w)); m_ctc_0->zc_callback<2>().set(FUNC(nanos_state::ctc_z2_w)); Z80CTC(config, m_ctc_1, XTAL(4'000'000)); m_ctc_1->intr_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); m_ctc_1->zc_callback<0>().set(FUNC(nanos_state::ctc_z0_w)); m_ctc_1->zc_callback<1>().set(FUNC(nanos_state::ctc_z1_w)); m_ctc_1->zc_callback<2>().set(FUNC(nanos_state::ctc_z2_w)); Z80PIO(config, m_pio_0, XTAL(4'000'000)); m_pio_0->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); Z80PIO(config, m_pio_1, XTAL(4'000'000)); m_pio_1->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); Z80SIO(config, m_sio_0, XTAL(4'000'000)); m_sio_0->out_int_callback().set(FUNC(nanos_state::z80daisy_interrupt)); Z80SIO(config, m_sio_1, XTAL(4'000'000)); m_sio_1->out_int_callback().set(FUNC(nanos_state::z80daisy_interrupt)); Z80PIO(config, m_pio, XTAL(4'000'000)); m_pio->in_pa_callback().set(FUNC(nanos_state::port_a_r)); m_pio->in_pb_callback().set(FUNC(nanos_state::port_b_r)); m_pio->out_pb_callback().set(FUNC(nanos_state::port_b_w)); /* UPD765 */ UPD765A(config, m_fdc, 8'000'000, false, true); FLOPPY_CONNECTOR(config, m_floppy, nanos_floppies, "525hd", nanos_state::floppy_formats); /* internal ram */ RAM(config, RAM_TAG).set_default_size("64K"); TIMER(config, "keyboard_timer").configure_periodic(FUNC(nanos_state::keyboard_callback), attotime::from_hz(24000)); }
void pc_fdc_family_device::device_add_mconfig(machine_config &config) { UPD765A(config, fdc, 8'000'000, false, false); fdc->intrq_wr_callback().set(FUNC(pc_fdc_family_device::irq_w)); fdc->drq_wr_callback().set(FUNC(pc_fdc_family_device::drq_w)); }