The FLEX User's Group has documentation on the FLEX disk operating system for the 6800 and 6809.
A great tool for developing new software for FLEX is Michael Evenson's SWTPC 6800/6809 Emulator. I used this emulator to update all of my FLEX utilities and the software below. I have written a Windows Help file based on the 6809 FLEX Users Guide but I have added some information on the 6800 version.
The SWTPC MF-68 floppy disk system used a DC-1 or DC-2 controller
card and single-sided 35-track
5.25-inch disk drives. SWTPC FLEX 2 was written for this system.
This version will work with a 5.25-inch
double-sided 40-track drive (IBM 360K) but it will only use one
side and 35 tracks. It will even work the
720K 3.5 inch drives.
To modify FLEX 2 to use 40 or 80 tracks the NEWDISK command
must be changed to format more
tracks. The existing FLEX 2 will read the number of tracks from
the formatted disk and use all of the space.
To modify FLEX 2 to read double-sided drives the disk driver routines
must be changed in addition to the
NEWDISK command.
Modifying SWTPC 6800 FLEX 2 for the DC5 (PDF 49k)
Disk Drivers Source Double Sided (TXT 6K)
Newdisk Source Doubel Sided (TXT 15k)
The floppy disk boot code in SWTBUG doesn't work as well as
it should. (A few more bytes would have made it solid.) Here is
a better boot loader.
Boot Loader Source Code
From your terminal emulator; press L to start a S1 download,
then send this text file. The program starts at memory address
0300.
S1 Format Boot Loader
Back in 1981 I disassembled the I/O and disk drivers for TSC FLEX 2.0 for SWTPC 6800 and added comments based on the 6809 FLEX Adaptation Guide. I also disassembled the NEWDISK program. I have compared the listing to the binaries and they seem to match byte for byte.
I created a floppy disk controller debugger that will read and write sectors and load a FLEX binary file. It can be in RAM or ROM. This version supports a double sided and is for a controller with a DRQ / IRQ status register. This includes the DC-3, DC-4, DDC16, or my DC-5.
J | xxxx | Jump to location xxxx |
M | xxxx | Examine and alter memory location |
N | Examine next memory location | |
V | Examine same memory location | |
B | Examine previous memory location | |
Z | xx | Select and restore drive xx to track 0 |
T | ttss | Read sector ss on track tt into BUFFER and display it |
L | ttss | Load binary file starting at track tt and sector ss. Display transfer address. |
W | ttss | Write BUFFER into sector ss on track tt |
$ | Return to SWTBUG |
The source code is identical for both the 6800 and 6809 versions, just the hardware addresses change.
This 6800 version is located at $C000 so it can go in an EPROM on the MP-A2 CPU board. Use the SWTBUG Z command to jump to this monitor.
DiskBug $C000 Monitor Source (PDF 23K)
DiskBug $C000 Monitor Source (TXT 14K)
DiskBug $C000 Monitor S1 file (TXT 2K)
This 6809 version is located at $F000 so it can go in an EPROM or a RAM on the MP-09 CPU board.
DiskBug $F000 Monitor Source (PDF 24K)
DiskBug $F000 Monitor Source (TXT 14K)
DiskBug $F000 Monitor S1 file (TXT 2K)
I fixed the DIR and Date utilites so they work with dates past 1999.