1
0
Fork 0

FAT drive fixes and improvements. Identify floppy format, and support filesystems that use only part of the disk. Fixes Make Your Own Murder Party and Music/Pinball Construction Set.

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4130
This commit is contained in:
ripsaw8080 2018-07-10 16:05:17 +00:00
parent be146f5c44
commit 2ec871f0e1
2 changed files with 182 additions and 83 deletions

View file

@ -165,12 +165,15 @@ public:
virtual bool isRemovable(void);
virtual Bits UnMount(void);
public:
Bit8u readSector(Bit32u sectnum, void * data);
Bit8u writeSector(Bit32u sectnum, void * data);
Bit32u getAbsoluteSectFromBytePos(Bit32u startClustNum, Bit32u bytePos);
Bit32u getSectorSize(void);
Bit32u getClusterSize(void);
Bit32u getAbsoluteSectFromChain(Bit32u startClustNum, Bit32u logicalSector);
bool allocateCluster(Bit32u useCluster, Bit32u prevCluster);
Bit32u appendCluster(Bit32u startCluster);
void deleteClustChain(Bit32u startCluster);
void deleteClustChain(Bit32u startCluster, Bit32u bytePos);
Bit32u getFirstFreeClust(void);
bool directoryBrowse(Bit32u dirClustNumber, direntry *useEntry, Bit32s entNum, Bit32s start=0);
bool directoryChange(Bit32u dirClustNumber, direntry *useEntry, Bit32s entNum);
@ -200,6 +203,7 @@ private:
} allocation;
bootstrap bootbuffer;
bool absolute;
Bit8u fattype;
Bit32u CountOfClusters;
Bit32u partSectOff;