|
|
| version 1.1, 2004/08/12 17:57:36 | version 1.5, 2004/08/15 12:32:11 |
|---|---|
| Line 108 typedef struct { | Line 108 typedef struct { |
| NP2FHDR f; | NP2FHDR f; |
| } _SFFILEH, *SFFILEH; | } _SFFILEH, *SFFILEH; |
| static SFFILEH statflag_open(const char *filename, char *err, int errlen) { | static SFFILEH statflag_open(const OEMCHAR *filename, |
| OEMCHAR *err, UINT errlen) { | |
| FILEH fh; | FILEH fh; |
| SFFILEH ret; | SFFILEH ret; |
| Line 145 sfo_err1: | Line 146 sfo_err1: |
| static int statflag_closesection(SFFILEH sffh) { | static int statflag_closesection(SFFILEH sffh) { |
| UINT leng; | UINT leng; |
| BYTE zero[16]; | UINT8 zero[16]; |
| if (sffh == NULL) { | if (sffh == NULL) { |
| goto sfcs_err1; | goto sfcs_err1; |
| Line 220 sfr_err: | Line 221 sfr_err: |
| return(STATFLAG_FAILURE); | return(STATFLAG_FAILURE); |
| } | } |
| static SFFILEH statflag_create(const char *filename) { | static SFFILEH statflag_create(const OEMCHAR *filename) { |
| SFFILEH ret; | SFFILEH ret; |
| FILEH fh; | FILEH fh; |
| Line 314 static void statflag_close(SFFILEH sffh) | Line 315 static void statflag_close(SFFILEH sffh) |
| } | } |
| } | } |
| void statflag_seterr(STFLAGH sfh, const char *str) { | void statflag_seterr(STFLAGH sfh, const OEMCHAR *str) { |
| if ((sfh) && (sfh->errlen)) { | if ((sfh) && (sfh->errlen)) { |
| milstr_ncat(sfh->err, str, sfh->errlen); | milstr_ncat(sfh->err, str, sfh->errlen); |
| Line 466 static int flagload_evt(STFLAGH sfh, con | Line 467 static int flagload_evt(STFLAGH sfh, con |
| // ---- disk | // ---- disk |
| typedef struct { | typedef struct { |
| OEMCHAR path[MAX_PATH]; | OEMCHAR fname[MAX_PATH]; |
| int readonly; | UINT32 ftype; |
| UINT readonly; | |
| DOSDATE date; | DOSDATE date; |
| DOSTIME time; | DOSTIME time; |
| } STATDISK; | } STATDISK; |
| Line 476 static const OEMCHAR str_fddx[] = OEMTEX | Line 478 static const OEMCHAR str_fddx[] = OEMTEX |
| static const OEMCHAR str_updated[] = OEMTEXT("%s: updated"); | static const OEMCHAR str_updated[] = OEMTEXT("%s: updated"); |
| static const OEMCHAR str_notfound[] = OEMTEXT("%s: not found"); | static const OEMCHAR str_notfound[] = OEMTEXT("%s: not found"); |
| static int disksave(STFLAGH sfh, const OEMCHAR *path, int readonly) { | static int disksave(STFLAGH sfh, const _FDDFILE *fdd) { |
| STATDISK st; | STATDISK st; |
| FILEH fh; | FILEH fh; |
| ZeroMemory(&st, sizeof(st)); | ZeroMemory(&st, sizeof(st)); |
| if ((path) && (path[0])) { | if (fdd->type != DISKTYPE_NOTREADY) { |
| file_cpyname(st.path, path, sizeof(st.path)); | file_cpyname(st.fname, fdd->fname, NELEMENTS(st.fname)); |
| st.readonly = readonly; | st.ftype = fdd->ftype; |
| fh = file_open_rb(path); | st.readonly = fdd->protect; |
| fh = file_open_rb(st.fname); | |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| file_getdatetime(fh, &st.date, &st.time); | file_getdatetime(fh, &st.date, &st.time); |
| file_close(fh); | file_close(fh); |
| Line 500 static int flagsave_disk(STFLAGH sfh, co | Line 503 static int flagsave_disk(STFLAGH sfh, co |
| REG8 i; | REG8 i; |
| ret = STATFLAG_SUCCESS; | ret = STATFLAG_SUCCESS; |
| for (i=0; i<4; i++) { | for (i=0; i<MAX_FDDFILE; i++) { |
| ret |= disksave(sfh, fddfile_diskname(i), fddfile_diskprotect(i)); | ret |= disksave(sfh, fddfile + i); |
| } | } |
| (void)tbl; | (void)tbl; |
| return(ret); | return(ret); |
| Line 517 static int diskcheck(STFLAGH sfh, const | Line 520 static int diskcheck(STFLAGH sfh, const |
| DOSTIME time; | DOSTIME time; |
| ret = statflag_read(sfh, &st, sizeof(st)); | ret = statflag_read(sfh, &st, sizeof(st)); |
| if (st.path[0]) { | if (st.fname[0]) { |
| fh = file_open_rb(st.path); | fh = file_open_rb(st.fname); |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| file_getdatetime(fh, &date, &time); | file_getdatetime(fh, &date, &time); |
| file_close(fh); | file_close(fh); |
| Line 545 static int flagcheck_disk(STFLAGH sfh, c | Line 548 static int flagcheck_disk(STFLAGH sfh, c |
| OEMCHAR buf[8]; | OEMCHAR buf[8]; |
| ret = 0; | ret = 0; |
| for (i=0; i<4; i++) { | for (i=0; i<MAX_FDDFILE; i++) { |
| OEMSPRINTF(buf, str_fddx, i+1); | OEMSPRINTF(buf, str_fddx, i+1); |
| ret |= diskcheck(sfh, buf); | ret |= diskcheck(sfh, buf); |
| } | } |
| Line 560 static int flagload_disk(STFLAGH sfh, co | Line 563 static int flagload_disk(STFLAGH sfh, co |
| STATDISK st; | STATDISK st; |
| ret = STATFLAG_SUCCESS; | ret = STATFLAG_SUCCESS; |
| for (i=0; i<4; i++) { | for (i=0; i<MAX_FDDFILE; i++) { |
| ret |= statflag_read(sfh, &st, sizeof(st)); | ret |= statflag_read(sfh, &st, sizeof(st)); |
| if (st.path[0]) { | if (st.fname[0]) { |
| fddfile_set(i, st.path, FTYPE_NONE, st.readonly); | fddfile_set(i, st.fname, st.ftype, st.readonly); |
| } | } |
| } | } |
| (void)tbl; | (void)tbl; |
| Line 592 static int flagcheck_veronly(STFLAGH sfh | Line 595 static int flagcheck_veronly(STFLAGH sfh |
| // ---- | // ---- |
| int statsave_save(const char *filename) { | int statsave_save(const OEMCHAR *filename) { |
| SFFILEH sffh; | SFFILEH sffh; |
| int ret; | int ret; |
| Line 629 const SFENTRY *tblterm; | Line 632 const SFENTRY *tblterm; |
| return(ret); | return(ret); |
| } | } |
| int statsave_check(const char *filename, char *buf, int size) { | int statsave_check(const OEMCHAR *filename, OEMCHAR *buf, UINT size) { |
| SFFILEH sffh; | SFFILEH sffh; |
| int ret; | int ret; |
| Line 685 const SFENTRY *tblterm; | Line 688 const SFENTRY *tblterm; |
| return(ret); | return(ret); |
| } | } |
| int statsave_load(const char *filename) { | int statsave_load(const OEMCHAR *filename) { |
| SFFILEH sffh; | SFFILEH sffh; |
| int ret; | int ret; |
| Line 759 const SFENTRY *tblterm; | Line 762 const SFENTRY *tblterm; |
| statflag_close(sffh); | statflag_close(sffh); |
| memio_update(); | memio_update(); |
| crtc_bankupdate(); | crtc_update(); |
| crtc_regupdate(); | |
| sndboard_update(); | sndboard_update(); |
| pal_reset(); | pal_reset(); |