From 55b9530a569d90e604087da67bcdb16742fecffd Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Sun, 18 Apr 2004 10:36:28 +0000 Subject: [PATCH] some odd devices stuff. (fizzban). Fcb findfirst/next fixes for drive(cw2oody) Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1769 --- src/dos/dos_files.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/dos/dos_files.cpp b/src/dos/dos_files.cpp index 4d313d4c..121a9eae 100644 --- a/src/dos/dos_files.cpp +++ b/src/dos/dos_files.cpp @@ -16,7 +16,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: dos_files.cpp,v 1.53 2004-03-04 19:49:14 qbix79 Exp $ */ +/* $Id: dos_files.cpp,v 1.54 2004-04-18 10:36:28 qbix79 Exp $ */ #include #include @@ -329,6 +329,11 @@ bool DOS_CloseFile(Bit16u entry) { } bool DOS_CreateFile(char * name,Bit16u attributes,Bit16u * entry) { + // Creation of a device is the same as opening it + // Tc201 installer + if (DOS_FindDevice(name) != 255) + return DOS_OpenFile(name, 0, entry); + char fullname[DOS_PATHLENGTH];Bit8u drive; DOS_PSP psp(dos.psp); if (!DOS_MakeName(name,fullname,&drive)) return false; @@ -711,7 +716,7 @@ static void SaveFindResult(DOS_FCB & find_fcb) { char name[DOS_NAMELENGTH_ASCII];Bit32u size;Bit16u date;Bit16u time;Bit8u attr;Bit8u drive; char file_name[9];char ext[4]; find_dta.GetResult(name,size,date,time,attr); - drive=find_fcb.GetDrive(); + drive=find_fcb.GetDrive()+1; /* Create a correct file and extention */ DTAExtendName(name,file_name,ext); DOS_FCB fcb(RealSeg(dos.dta),RealOff(dos.dta));