bool CDriveFDI::Open(char *name) { File = gzopen(name, "r"); if(!File) return false; FDIPtr = fdi2raw_header(File); if(!FDIPtr) return false; return false; }
void fdi_load(int drive, char *fn) { writeprot[drive] = fwriteprot[drive] = 1; fdi_f[drive] = x_fopen(fn, "rb"); if (!fdi_f[drive]) return; fdi_h[drive] = fdi2raw_header(fdi_f[drive]); // if (!fdih[drive]) printf("Failed to load!\n"); fdi_lasttrack[drive] = fdi2raw_get_last_track(fdi_h[drive]); fdi_sides[drive] = (fdi_lasttrack[drive]>83) ? 1 : 0; // printf("Last track %i\n",fdilasttrack[drive]); drives[drive].seek = fdi_seek; drives[drive].readsector = fdi_readsector; drives[drive].writesector = fdi_writesector; drives[drive].readaddress = fdi_readaddress; drives[drive].poll = fdi_poll; drives[drive].format = fdi_format; }
void fdi_load(int drive, char *fn) { writeprot[drive] = fwriteprot[drive] = 1; fdi[drive].f = fopen(fn, "rb"); if (!fdi[drive].f) return; fdi[drive].h = fdi2raw_header(fdi[drive].f); // if (!fdih[drive]) printf("Failed to load!\n"); fdi[drive].lasttrack = fdi2raw_get_last_track(fdi[drive].h); fdi[drive].sides = (fdi[drive].lasttrack > 83) ? 2 : 1; // printf("Last track %i\n",fdilasttrack[drive]); drives[drive].seek = fdi_seek; drives[drive].readsector = fdi_readsector; drives[drive].writesector = fdi_writesector; drives[drive].readaddress = fdi_readaddress; drives[drive].hole = fdi_hole; drives[drive].poll = fdi_poll; drives[drive].format = fdi_format; drives[drive].stop = fdi_stop; drives[drive].realtrack = fdi_realtrack; // pclog("Loaded as FDI\n"); }
void fdi_load(int drive, wchar_t *fn) { char header[26]; writeprot[drive] = fwriteprot[drive] = 1; fdi[drive].f = _wfopen(fn, L"rb"); if (!fdi[drive].f) { memset(discfns[drive], 0, sizeof(discfns[drive])); return; } d86f_unregister(drive); fread(header, 1, 25, fdi[drive].f); fseek(fdi[drive].f, 0, SEEK_SET); header[25] = 0; if (strcmp(header, "Formatted Disk Image file") != 0) { /* This is a Japanese FDI file. */ pclog("fdi_load(): Japanese FDI file detected, redirecting to IMG loader\n"); fclose(fdi[drive].f); img_load(drive, fn); return; } fdi[drive].h = fdi2raw_header(fdi[drive].f); fdi[drive].lasttrack = fdi2raw_get_last_track(fdi[drive].h); fdi[drive].sides = fdi2raw_get_last_head(fdi[drive].h) + 1; d86f_register_fdi(drive); drives[drive].seek = fdi_seek; d86f_common_handlers(drive); pclog("Loaded as FDI\n"); }