static void dragon_fdc_init(const struct cartridge_callback *callbacks) { wd179x_init(WD_TYPE_179X,dragon_fdc_callback); dskreg = 0; cartcallbacks = callbacks; }
static MACHINE_INIT( exidy ) { hd6402_init(); hd6402_set_callback(exidy_hd6402_callback); hd6402_reset(); centronics_config(0, exidy_cent_config); /* assumption: select is tied low */ centronics_write_handshake(0, CENTRONICS_SELECT | CENTRONICS_NO_RESET, CENTRONICS_SELECT| CENTRONICS_NO_RESET); serial_timer = timer_alloc(exidy_serial_timer_callback); cassette_timer = timer_alloc(exidy_cassette_timer_callback); serial_connection_init(&cassette_serial_connection); serial_connection_set_in_callback(&cassette_serial_connection, cassette_serial_in); exidy_fe_port_w(0,0); timer_set(TIME_NOW, 0, exidy_reset_timer_callback); wd179x_init(WD_TYPE_179X,NULL); floppy_drive_set_geometry(image_from_devtype_and_index(IO_FLOPPY, 0), FLOPPY_DRIVE_DS_80); /* this is temporary. Normally when a Z80 is reset, it will execute address 0. The exidy starts executing from 0x0e000 */ /* memory_set_opbase_handler(0, exidy_opbaseoverride); */ /* cpunum_write_byte(0,0,0x0c3); */ /* cpunum_write_byte(0,1,0x000); */ /* cpunum_write_byte(0,2,0x0e0); */ }
static void coco_fdc_init(const struct cartridge_callback *callbacks) { wd179x_init(WD_TYPE_1773, coco_fdc_callback); dskreg = 0; cartcallbacks = callbacks; drq_state = ASSERT_LINE; intrq_state = CLEAR_LINE; }
void st_fdc_init (st_fdc_t *fdc) { unsigned i; wd179x_init (&fdc->wd179x); wd179x_set_read_track_fct (&fdc->wd179x, fdc, st_read_track); wd179x_set_write_track_fct (&fdc->wd179x, fdc, st_write_track); wd179x_set_ready (&fdc->wd179x, 0, 0); wd179x_set_ready (&fdc->wd179x, 1, 0); for (i = 0; i < 2; i++) { fdc->use_fname[i] = 0; fdc->fname[i] = NULL; fdc->diskid[i] = 0xffff; fdc->wprot[i] = 0; fdc->media_change[i] = 0; fdc->img[i] = NULL; fdc->modified[i] = 0; } }