2010-05-12

2010-05-12 - Loading and Saving with the Filesystem

I have the ATA driver now implementing the BDD Interface, and I've also set up the mountlist to use the device.  I had actually forgotten that the mountlist system actually looks up the device symbols in the kernel library, and that I needed to add the AtaBDDI into the kernel library definition in order for it to work properly.

Little bit of debugging needed on the Ata Driver.  It seems it's not picking up the partitions correctly yet.  A minor mistake in the mountlist parser meant it wasn't getting the Partition number value correctly.

A few tweaks later and it seems to be creating the contexts correctly, as well as departitioning the drive ... om nom nom.  The type command (otherwise known as the fatload command).

In theory, I should now be able to combine the load and save commands to make a copy command.  Should be very useful in getting the library files onto the hard drive and whatnot.  To the batcave ...

Ok, so attempt one wasn't completely successful.  Perhaps when I was rewriting the FAT driver to use the generic directory search methods I may have missed something.  The file is loading, but is spinning off into some infinite loop when trying to save the file.  I suspect the FindFirst() call.

Ok, so the flag to allow creation of new directory entries (which will need to extend a cluster-based directory if needed) was not fully implemented and was not returning an empty entry in the root directory to be used for the new file.  Let's try this again.

The save was successful, but the new file wasn't found.  although I have a sneaking suspicion as to why, I didn't actually write the filename and whatnot to the directory entry before I saved it ... Oops.

Another significant change to the FAT filesystem driver, and one which should solve a bunch of potential issues.  I have created a routine which processes the Path and splits it into an array of strings (one for each directory) in the FAT 8.3 format (with correct spacing to match the filenames).  This should greatly ease the troubles of dealing with these names and comparing them for matches.  It will also handle generation of a save filename and fix an issue with ensuring the file does not already exist.

Everything in place, however, something is wrong now as when using the ATA driver, the filesystem is being corrupted in some way.  Needs more investigation.

No comments:

Post a Comment