summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools
diff options
context:
space:
mode:
authorGravatarGravatar 68bit <info@68bit.org>2019-07-31 11:26:04 +1000
committerGravatarGravatar 68bit <info@68bit.org>2019-08-13 13:42:13 +1000
commit10f480911da66a56f5e70667c4019468ba04faf2 (patch)
tree3b91cb9ce3097928df6ad513b7a37d6133d5249e /src/tools
parent6bf8519cf5de98bd85d1e766a795d0f165766749 (diff)
swtpc09: add a UniFLEX specific floppy format.
The UniFLEX disk format is not compatible with the Flex format. Significantly it does not use a mix of single density for booting on some double density disks which makes it simpler - hardware required a new boot ROM to run UniFLEX. Further, the UniFLEX sector size is 512 bytes versus 256 for Flex, and the UniFLEX 'SIR' info sector record is completely different to the info on Flex disk, and the file system format is also not at all compatible. Thus the UniFlex format can rely largely on the WD17xx format, with an overload to handle the sector numbering on the second side continuing from the first side (one feature in common with the Flex format). This gives a quick 'save' capability and shares code. Support for 8" disks is included as this was the initial distribution format and the only one found so far.
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/floptool.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/tools/floptool.cpp b/src/tools/floptool.cpp
index f07e6ec9ad2..1953e7b0538 100644
--- a/src/tools/floptool.cpp
+++ b/src/tools/floptool.cpp
@@ -55,6 +55,9 @@
#include "formats/aim_dsk.h"
#include "formats/m20_dsk.h"
+#include "formats/flex_dsk.h"
+#include "formats/uniflex_dsk.h"
+
static floppy_format_type floppy_formats[] = {
FLOPPY_MFI_FORMAT,
@@ -98,7 +101,10 @@ static floppy_format_type floppy_formats[] = {
FLOPPY_DVK_MX_FORMAT,
FLOPPY_AIM_FORMAT,
- FLOPPY_M20_FORMAT
+ FLOPPY_M20_FORMAT,
+
+ FLOPPY_FLEX_FORMAT,
+ FLOPPY_UNIFLEX_FORMAT
};
void CLIB_DECL ATTR_PRINTF(1,2) logerror(const char *format, ...)