YaPaDOS
YaPaDOS is patch for AMSDOS and ParaDOS that allows to redirect disk access to harddisk. This is done with keeping highest possible compatibility, so only 20 bytes of RAM are used (including 6 used by ParaDOS).
Alpha version
YaPaDOS is currently in alpha version. So some major things may change. For example base for diskimage number is 10 (digits 0..9), but may be 36 (0..9, A..Z). Also, as creation of diskimages gives a fixed name, the |REN working on superdisk can be added. All suggestions and ideas are welcome, please use the Yahoo! Groups list of FutureOS.
Diskimages
Instead of reading and writting floppy, a continous and limited area on harddisk is used. The area has the same amount of sectors, as the floppy and is called diskimage. Each drive A: and B: separately can be directed to floppy or one of diskimages. You can change the diskimages as you would change the floppies, but by opening some special files.
Using only 20 bytes of RAM makes features like FAT32 and support for .DSK files impossible, so the disk must have special formatting using IDEDOS structures (by Garry Lancaster). The harddisk can also contain FAT partitions, but they are not accessible from YaPaDOS.
The IDEDOS partition contains diskimages, that can have various size (e.g. 180kB, 800kB, 5MB). Up to 999 diskimages can be created and accessed.
Diskimages are selected by their numbers 1..999 (0 means floppy) by opening a file of special name. Only the number after dot matters. Names of diskimages can be listed from a virtual device called superdisk. Superdisk is read-only. After the superdisk is selected, the diskimage then can be selected without the ^ sign in file name.
Commands
The ^ sign placed as first in file name used in open file function tells the operating system to do something special:
LOAD"^" - selects superdisk
LOAD"^xxxxxxx.nnn" - selects diskimage number nnn
LOAD"^.0" - selects floppy
LOAD"^DESTROY.MBR" - clears MS-DOS partition table (also needs some POKEs for safety)
LOAD"^DBnnnnn.mmm" - creates IDEDOS partition of nnnnn cylinders and up to mmm diskimages (needs some POKEs to set CHS geometry)
LOAD"^MAKENEW" - adds diskimage respectively to current XDPB
LOAD"^MAKENEW.nnn" - as above, but enlarage to nnn kilobytes for safety
The ^ sign allows to change diskimages in every old software that enables opening any file and not crashes, when the file is empty. No changes in such software are needed to select diskimage on harddisk or redirect the drive to floppy.