diff --git a/include/dos_inc.h b/include/dos_inc.h index 3944d7e1..26a1c047 100644 --- a/include/dos_inc.h +++ b/include/dos_inc.h @@ -147,7 +147,7 @@ bool DOS_FCBClose(Bit16u seg,Bit16u offset); bool DOS_FCBFindFirst(Bit16u seg,Bit16u offset); bool DOS_FCBFindNext(Bit16u seg,Bit16u offset); Bit8u DOS_FCBRead(Bit16u seg,Bit16u offset, Bit16u numBlocks); -bool DOS_FCBWrite(Bit16u seg,Bit16u offset,Bit16u numBlocks); +Bit8u DOS_FCBWrite(Bit16u seg,Bit16u offset,Bit16u numBlocks); Bit8u DOS_FCBRandomRead(Bit16u seg,Bit16u offset,Bit16u numRec,bool restore); Bit8u DOS_FCBRandomWrite(Bit16u seg,Bit16u offset,Bit16u numRec,bool restore); bool DOS_FCBGetFileSize(Bit16u seg,Bit16u offset,Bit16u numRec); diff --git a/src/dos/dos.cpp b/src/dos/dos.cpp index acc756ee..0ff1b2bf 100644 --- a/src/dos/dos.cpp +++ b/src/dos/dos.cpp @@ -204,8 +204,7 @@ static Bitu DOS_21Handler(void) { LOG_DEBUG("DOS:0x14 FCB-Read used, result:al=%d",reg_al); break; case 0x15: /* Sequential write to FCB */ - if (DOS_FCBWrite(SegValue(ds),reg_dx,0)==true) reg_al = 0x00; - else reg_al = 0x01; + reg_al=DOS_FCBWrite(SegValue(ds),reg_dx,0); LOG_DEBUG("DOS:0x15 FCB-Write used, result:al=%d",reg_al); break; case 0x16: /* Create or truncate file using FCB */ @@ -228,8 +227,7 @@ static Bitu DOS_21Handler(void) { LOG_DEBUG("DOS:0x21 FCB-Random read used, result:al=%d",reg_al); break; case 0x22: /* Write random record to FCB */ - if (DOS_FCBRandomWrite(SegValue(ds),reg_dx,1,true)) reg_al = 0x00; - else reg_al = 0x01; + reg_al=DOS_FCBRandomWrite(SegValue(ds),reg_dx,1,true); LOG_DEBUG("DOS:0x28 FCB-Random write used, result:al=%d",reg_al); break; case 0x23: /* Get file size for FCB */ diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index e4166a6d..4af8f71a 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -696,7 +696,7 @@ Bit8u DOS_FCBRead(Bit16u seg,Bit16u offset,Bit16u recno) { return FCB_READ_PARTIAL; } -bool DOS_FCBWrite(Bit16u seg,Bit16u offset,Bit16u recno) +Bit8u DOS_FCBWrite(Bit16u seg,Bit16u offset,Bit16u recno) { DOS_FCB fcb(seg,offset); Bit8u fhandle,cur_rec;Bit16u cur_block,rec_size;