|
|
| version 1.4, 2004/01/22 01:10:04 | version 1.6, 2004/01/27 07:24:25 |
|---|---|
| Line 8 | Line 8 |
| // ---- fdd | // ---- fdd |
| void newdisk_fdd(const char *fname, BYTE type, const char *label) { | void newdisk_fdd(const char *fname, REG8 type, const char *label) { |
| _D88HEAD d88head; | _D88HEAD d88head; |
| FILEH fh; | FILEH fh; |
| Line 27 void newdisk_fdd(const char *fname, BYTE | Line 27 void newdisk_fdd(const char *fname, BYTE |
| // ---- hdd | // ---- hdd |
| static const char vhd_ver[] = "VHD1.00"; | |
| static BOOL writezero(FILEH fh, UINT size) { | static BOOL writezero(FILEH fh, UINT size) { |
| BYTE work[256]; | BYTE work[256]; |
| Line 78 void newdisk_thd(const char *fname, UINT | Line 76 void newdisk_thd(const char *fname, UINT |
| } | } |
| } | } |
| void newdisk_nhd(const char *fname, UINT hddsize) { | |
| FILEH fh; | |
| NHDHDR nhd; | |
| UINT tmp; | |
| if ((fname == NULL) || (hddsize < 5) || (hddsize > 512)) { | |
| return; | |
| } | |
| fh = file_create(fname); | |
| if (fh != FILEH_INVALID) { | |
| ZeroMemory(&nhd, sizeof(nhd)); | |
| CopyMemory(&nhd.sig, sig_nhd, 15); | |
| STOREINTELDWORD(nhd.headersize, sizeof(nhd)); | |
| tmp = hddsize * 16; | |
| STOREINTELDWORD(nhd.cylinders, tmp); | |
| STOREINTELWORD(nhd.surfaces, 8); | |
| STOREINTELWORD(nhd.sectors, 32); | |
| STOREINTELWORD(nhd.sectorsize, 256); | |
| file_write(fh, &nhd, sizeof(nhd)); | |
| writehddipl(fh, 256); | |
| file_close(fh); | |
| } | |
| } | |
| // hddtype = 0:5MB / 1:10MB / 2:15MB / 3:20MB / 5:30MB / 6:40MB | // hddtype = 0:5MB / 1:10MB / 2:15MB / 3:20MB / 5:30MB / 6:40MB |
| void newdisk_hdi(const char *fname, UINT hddtype) { | void newdisk_hdi(const char *fname, UINT hddtype) { |
| Line 121 void newdisk_vhd(const char *fname, UINT | Line 144 void newdisk_vhd(const char *fname, UINT |
| fh = file_create(fname); | fh = file_create(fname); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| ZeroMemory(&vhd, sizeof(vhd)); | ZeroMemory(&vhd, sizeof(vhd)); |
| CopyMemory(&vhd.sig, vhd_ver, 7); | CopyMemory(&vhd.sig, sig_vhd, 7); |
| STOREINTELWORD(vhd.mbsize, (UINT16)hddsize); | STOREINTELWORD(vhd.mbsize, (UINT16)hddsize); |
| STOREINTELWORD(vhd.sectorsize, 256); | STOREINTELWORD(vhd.sectorsize, 256); |
| vhd.sectors = 32; | vhd.sectors = 32; |