FLEX File Systems.


What would be nice under Flex is to have RAM, ROM and FLASH based File systems.
These can be structured as Virtual Disk images, ie an array of 256 byte sectors, layed
out contiguaously. Flex interleaves sectors on a floppy disk for speed reasons, however
Memory images may be indexed directly by sector and track numbers.

Virtual Disk File images are used by current 6809 simulators. There is no reason why
the dimensions of the virtual files, in terms of track and sector counts cannot be dynamically
determined. Flex chains sectors together, so determining the maximum sector count is simply
a matter of looking at the sector chain on track 0.

Double density disks for FLEX typically have track 0 written as a single density track. There
is no reason for this other than to maintain compatibility with the monitor boot program.
This messes up the symetry of indexing a virtual file images of double density drives because
there will be fewer sectors on track 0.

I am not sure if this problem is overcome by considering all virtual disks as single density
drives, so symetry is maintained. There is also a problem with the numbering of sectors
on track 0, but the total sector count is the same, and it can be easily accomodated for.

Flex can access 4 disks drives, although this could easily be increased. The drives are selected
and read through the disk IO routines. These routines could be patched so that drive numbers
are mapped to different types of file systems. Drive 0 could access a ROM File system for
read only system utilities. Drive 1 could be a RAM disk, Drive 2 a floppy using the on board
controller and Drive 3 could be a ZIP or Hard-disk connected through an add on IDE port.

Virtual File System.

Flex simulators currently use virtual disk file images. A complete image of the disk is
stored in a DOS file, which may either be loaded into memory and re-written, or indexed
as a random file, with radom sector read/writes. Because Flex  virtual files are exact multiples
of 256 bytes there should be a direct correlation between DOS 512 byte sectors and two
Flex 256 byte sectors.

The advantage of using a virtual file system for the Flex SBC09 is that Floppies, Zip Disks
and Hard disks can be transported between the 6809 and an IBM PC.

Flex is limitted to 256 tracks of 256 sectors of 256 bytes which means the largest harddisk
partition handled by FLEX is 16 Mb. By using a virtual file system, with a FAT12 or FAT16
it is an easy matter of extending the track and sector addressing. Disk drive numbers can
be mapped to file names and changing a drive is as simple as assigning a new file name.
Random Access Files provides a way of extending the track and sector count.

This would suggest that we need a DOS kernel to sit under FLEX. The DOS kernel could
re-direct disk IO requests from Flex to virtual disk files under FAT16 or ROM and RAM
file systems. It would also be conceivable to run a Network File System to other computers
via other forms of IO, such as SLIP over a serial port.