|
|
| version 1.6, 2004/03/07 07:51:26 | version 1.9, 2005/02/13 02:36:16 |
|---|---|
| Line 13 | Line 13 |
| int diskdrv_delay[4]; | int diskdrv_delay[4]; |
| int diskdrv_ro[4]; | int diskdrv_ro[4]; |
| char diskdrv_fname[4][MAX_PATH]; | OEMCHAR diskdrv_fname[4][MAX_PATH]; |
| void diskdrv_sethdd(REG8 drv, const char *fname) { | void diskdrv_sethdd(REG8 drv, const OEMCHAR *fname) { |
| UINT num; | UINT num; |
| char *p; | OEMCHAR *p; |
| int leng; | int leng; |
| num = drv & 0x0f; | num = drv & 0x0f; |
| Line 28 void diskdrv_sethdd(REG8 drv, const char | Line 28 void diskdrv_sethdd(REG8 drv, const char |
| if (!(drv & 0x20)) { // SASI or IDE | if (!(drv & 0x20)) { // SASI or IDE |
| if (num < 2) { | if (num < 2) { |
| p = np2cfg.sasihdd[num]; | p = np2cfg.sasihdd[num]; |
| leng = sizeof(np2cfg.sasihdd[0]); | leng = NELEMENTS(np2cfg.sasihdd[0]); |
| } | } |
| } | } |
| #if defined(SUPPORT_SCSI) | #if defined(SUPPORT_SCSI) |
| else { // SCSI | else { // SCSI |
| if (num < 4) { | if (num < 4) { |
| p = np2cfg.scsihdd[num]; | p = np2cfg.scsihdd[num]; |
| leng = sizeof(np2cfg.scsihdd[0]); | leng = NELEMENTS(np2cfg.scsihdd[0]); |
| } | } |
| } | } |
| #endif | #endif |
| Line 50 void diskdrv_sethdd(REG8 drv, const char | Line 50 void diskdrv_sethdd(REG8 drv, const char |
| } | } |
| } | } |
| void diskdrv_setfdd(REG8 drv, const char *fname, int readonly) { | void diskdrv_setfdd(REG8 drv, const OEMCHAR *fname, int readonly) { |
| if ((drv < 4) && (fdc.equip & (1 << drv))) { | if ((drv < 4) && (fdc.equip & (1 << drv))) { |
| fdd_eject(drv); | fdd_eject(drv); |
| diskdrv_delay[drv] = 0; | diskdrv_delay[drv] = 0; |
| diskdrv_fname[drv][0] = '\0'; | diskdrv_fname[drv][0] = '\0'; |
| fdc.stat[drv] = FDCRLT_IC0 | FDCRLT_IC1 | FDCRLT_NR | drv; | fdc.stat[drv] = FDCRLT_AI | FDCRLT_NR | drv; |
| fdc_interrupt(); | fdc_interrupt(); |
| if (fname) { | if (fname) { |
| diskdrv_delay[drv] = DISK_DELAY; | diskdrv_delay[drv] = DISK_DELAY; |
| diskdrv_ro[drv] = readonly; | diskdrv_ro[drv] = readonly; |
| file_cpyname(diskdrv_fname[drv], fname, sizeof(diskdrv_fname[0])); | file_cpyname(diskdrv_fname[drv], fname, |
| NELEMENTS(diskdrv_fname[0])); | |
| } | } |
| sysmng_update(SYS_UPDATEFDD); | sysmng_update(SYS_UPDATEFDD); |
| } | } |
| Line 78 void diskdrv_callback(void) { | Line 79 void diskdrv_callback(void) { |
| if ((!diskdrv_delay[drv]) && (diskdrv_fname[drv][0])) { | if ((!diskdrv_delay[drv]) && (diskdrv_fname[drv][0])) { |
| fdd_set(drv, diskdrv_fname[drv], FTYPE_NONE, diskdrv_ro[drv]); | fdd_set(drv, diskdrv_fname[drv], FTYPE_NONE, diskdrv_ro[drv]); |
| diskdrv_fname[drv][0] = '\0'; | diskdrv_fname[drv][0] = '\0'; |
| fdc.stat[drv] = FDCRLT_IC0 | FDCRLT_IC1 | drv; | fdc.stat[drv] = FDCRLT_AI | drv; |
| fdc_interrupt(); | fdc_interrupt(); |
| sysmng_update(SYS_UPDATEFDD); | sysmng_update(SYS_UPDATEFDD); |
| } | } |