From 6f9f410ecf7552ccb77eb5a03e5adf259ca3ff1f Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Mon, 9 Dec 2002 18:24:53 +0000 Subject: [PATCH] fixed bushido. Don't understand fcbs anymore Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@563 --- src/dos/dos_files.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index eb4ba80b..d8e2a3af 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -476,7 +476,6 @@ bool DOS_CreateTempFile(char * name,Bit16u * entry) { } -#if 1 static bool FCB_MakeName2 (DOS_FCB & fcb, char* outname, Bit8u* outdrive){ char short_name[DOS_FCBNAME]; @@ -737,7 +736,7 @@ Bit8u DOS_FCBRandomRead(Bit16u seg,Bit16u offset,Bit16u numRec,bool restore) { fcb.GetRecord(new_block,new_rec); if (restore) fcb.SetRecord(old_block,old_rec); /* Update the random record pointer with new position */ - fcb.SetRandom(new_block*128+new_rec); + fcb.SetRandom(new_block*128+new_rec - (restore ? 1 : 0) ); //seems to be this way.. why ??? return error; } @@ -758,7 +757,7 @@ Bit8u DOS_FCBRandomWrite(Bit16u seg,Bit16u offset,Bit16u numRec,bool restore) { fcb.GetRecord(new_block,new_rec); if (restore) fcb.SetRecord(old_block,old_rec); /* Update the random record pointer with new position */ - fcb.SetRandom(new_block*128+new_rec); + fcb.SetRandom(new_block*128+new_rec - (restore ? 1 : 0) ); //seems to be this way.. need more games to test it. return error; } @@ -799,7 +798,6 @@ void DOS_FCBSetRandomRecord(Bit16u seg, Bit16u offset) { fcb.SetRandom(block*128+rec); } -#endif bool DOS_FileExists(char * name) { char fullname[DOS_PATHLENGTH];Bit8u drive;