flexfs - File systems supported by flexemu

DESCRIPTION

Flexemu supports three different file systems:

Disk image created by Ben Williams (DSK-format)
Ben Williams has written a FLEX emulator too. The complete disk is contained in one file. There are different track/sector combinations possible:

filesize [Byte]trackssectors
896003510
1790003520
3584003540
1024004010
2048004020
4096004040
(2048008010)
(4096008020)
8192008040

Each sector contains 256 Byte. There is no file header. The size of the file can simply be computed with <nr_of_tracks> x <nr_of_sectors> x 256 Byte. If the DSK-file is write protected the drive within flexemu is write protected too.

Disk image created by Wolfgang Schwotzer (FLX-format)
The complete disk is contained in one file. All the information about how many tracks and sectors are discribed in a fileheader:

bytesnamedescription
4magic_numberalways 0x485C9A33
1write_protectflag for write protection
1sizecode128 * 2 ^ n Bytes/sector
1sides0nr of sides on track 0
1sectors0nr of sect. on track 0
1sidesnr of sides on track != 0
1sectorsnr of sect. on track != 0
1tracksnr of tracks total
5dummy1 - dummy 5for stuffing

The format of the file header can be changed for future improvements. For the actual format look at struct s_flex_header in the header file e2floppy.h.

NAtive File System support (nafs)
A directory will be made visible as a disk drive from within flexemu. So each file in the directory will be visible as a file contained on the disk. Random files are identified by the user execute bit (on Unix) or the hidden bit (Win32) of the corresponding file set.

The system info sectors and directory sectors are managed by flexemu and are not accessible as file. The boot sector (track 0/sector 1) is contained in the file boot. If there is no such file the disk can't be booted. The link to flex.sys will be generated dynamically by flexemu. The user does not have to input any link command.

There are some restrictions the user should be aware of: