flexfs - File systems supported by flexemu


DESCRIPTION

Flexemu supports three different file systems to be used as disk drive:

DSK Disk image files
DSK disk image files (with file extension *.DSK or *.WTA) are commonly used by emulators running the TSC FLEX operating system, see: ReFLEX by Ben Williams, SWTPC 6800/6809 Emulator by Evenson Consulting Services or 6809 FPGA design by Neal Crook. Also FLEX software archives use DSK disk image files, see: FLEX User Group by Ian P. Blythe or FLEX Software Archive by Simon Wynn Consulting.

A *.DSK file contains all sectors of a disk. A wide range of track/sector combinations is supported. Following table shows typical used disk formats:

Disk size
[inch]
SidesDensity
*)
TracksSectorsFile size
[KByte]
5 1/41SD351087.5
5 1/42SD3520175
5 1/41SD4010100
5 1/41DD4018180
5 1/42SD4020200
5 1/42DD4036360
5 1/41DD8018360
5 1/42SD8020400
5 1/42DD8036720
5 1/42QD80721440
81SD7715288.75
81DD7726500.5
82SD7730577.5
82DD77521001
**)--25525516256.25
**)--25625516320

*) SD = single density, DS = double density, QD = quad density
**) Harddisk

The sector size is always 256 Byte. The size of the file can simply be computed with <nr_of_tracks> * <nr_of_sectors> * 256 Byte. If the DSK-file is write protected the drive within flexemu is write protected too.

Optionally a JVC file header is supported. The header can contain 1 up to 5 bytes. flexemu supports the following JVC header values:

Byte offsetDescriptionDefaultSupported
values
0Sectors per track-5-255
1Side count11,2
2Sector size code1 *)1
3First sector ID1 **)1
4Sector attr. flag0 ***)0

*) A sector size code of 1 means a sector size of 256 Byte
**) For FLEX compatibility the first sector ID always should be 1
***) Sector attribute flag should be 0 (A sector attribute byte is unsupported)

FLX Disk image files
FLX disk image files (with file extension *.FLX) have the same structure as a *.DSK file with an additional 16-byte header at the beginning of the file. The header describes the disk format:

bytesnamedescription
4magic_numberalways 0x485C9A33
1write_protectflag for write protection
1size code128 * 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 header allows to have a different number of sectors on track 0 as on other tracks. For the actual format look at struct s_flex_header.

Virtual disk images
A vitual disk image is a directory on the host file system which will be mapped as a disk drive within the emulation. So it also could be called a directory disk. Each file in the directory will be visible as a file contained on the disk. Random files are identified by the user execute bit (Linux) or the hidden bit (Windows) of the corresponding file set.

The boot sector (on track 0, sector 1 and optionally sector 2) 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 care about it.

There are some restrictions the user should be aware of:

SEE ALSO

Documents on the behalf of the FLEX User Group

Related Links