arseniuss wrote:
We could not work on "one ultimate OS" but write libraries, functionality etc. keeping in mind that it could be reused by others.
We could expand those principles to other stuff.
Actually, I thought of something else. Maybe you can get the ball rolling.
I have skills in some areas but not others. I don't even know how to quantify it. But as a result, some things mostly "just happen", they're not really designed, and I don't even really know how to design them.
So here is a "library" (I guess?) that provides routines for accessing a FAT file system:
https://sourceforge.net/p/pdos/gitcode/ ... /src/fat.hI suspect it hasn't been abstracted correctly.
I have routines that take both a FAT and a FATFILE as parameters.
I suspect that there should be a 3rd data type, as there are multiple physical disks, then each disk can have partitions, then each partition can have files.
So maybe FATFILE needs to have an internal pointer to the partition it belongs to (is there some design principle in play here?), and then the partition has a pointer to the physical disk it is associated with. I basically have this last thing already, and it's called "parm". Maybe FAT needs to be renamed to FATPART?
So maybe the object count is correct after all. Who knows.
Regardless, I added support independently of this code to open a raw disk, so I can do fopen("drv81:", "r+b");
Oh yeah, that reminds me of something else you may be able to help with. I made it so that you can go "drv81:;size=100000" so that you can limit the size of the disk that is seen. This filename string can then be used by any application. Are you happy with the use of ";"? Originally I was going to use "," but that clashes with use of comma by CVS.
But currently I don't have the ability to open a FAT partition the same way, e.g. fopen("C:", "r+b");
I haven't yet considered how to work that into the design. Oh yeah, I do have absolute disk read and write APIs (same as MSDOS). Also absolute drive read and write APIs so that you don't need to use the BIOS (you can't use the BIOS when running PDOS/386 (as opposed to PDOS/86) anyway). Are there better names to distinguish between disks and drives?
Using just "C:" is bound to end up with disks being trashed accidentally, so it probably needs to be "dskC:". Perhaps you can confirm with the portion of the OS community writing MSDOS-like OSes that they are happy with that naming standard? Or are most people wanting to use the Windows convention, whatever that is?