
Floppy Disk IF
Interface 5.25" single-sided Shugart floppy drives (and Gotek emulators) to any 6502 computer. Based on the Elektor Junior FDC.
What is it?
A Printed Circuit Board for a floppy disk controller. It interfaces 5.25-inch single-sided Shugart-type floppy disk drives to generic 6502 computers. Also fully compatible with Gotek floppy emulators running FlashFloppy firmware and .HFE disk images.
Why did I make it?
I have a love of 6502-based systems from around 1979 when I built my first kit computer (UK101) and expanded it with a floppy disk drive. I still had my original 5.25" disks and wanted to recover the software I had written 40 years ago. This interface is not available elsewhere, so I had to research and design the PCB myself.
After completing the build I connected my old Teac 504 drive and attempted to boot from a 40-year-old master diskette. After a few tick-ticks from the drive, OS65D3.0 booted perfectly!
What makes it special?
Based on the Elektor Junior FDC, designed for OSI-65D and Shugart 5.25" floppy disks. The PIA and ACIA are memory-mapped as per the OSI standard:
| Device | Address |
|---|---|
| PIA (6821 or 6521) | $C000 |
| ACIA (6850) | $C010 |
Bill of Materials
| Component | Quantity | Value / Part |
|---|---|---|
| ACIA | 1 | 6850 |
| PIA | 1 | 6821 or 6521 |
| Bus Transceiver | 1 | 74LS245 |
| Decoder | 2 | 74LS138 |
| Monostable | 1 | 74LS123 |
| Flip-flops | 1 | 74LS74 |
| Logic gates | Various | 74LS series |
| Capacitors | 13 | 0.1µF |
| Capacitors | 2 | 1nF |
| Capacitors | 2 | 47µF |
| Resistors | 5 | 150Ω |
| Resistors | 1 | 1KΩ |
| Resistors | 3 | 4.7KΩ |
| Resistors | 1 | 6.8KΩ |
| Variable resistors | 2 | 10KΩ |
| Diode | 1 | 1N4148 |
| Headers | 4 | 16-pin |
| Headers | 2 | 17-pin |
| Headers | 1 | 36-pin right-angle |
36-Pin Bus Connector
D7 D6 D5 D4 D3 D2 D1 D0 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 NC PHI2 R/W NC NC NC NC NC GND NC NC +5V
Hardware Versions
Version 2.3A note: If you have an early v2.3A board, a strap is required between D1 cathode and pin 16 of the 74LS123. Later boards have this resolved.
OSI Superboard / UK101 users: If connecting to an original Superboard or UK101 that already has expansion boards, you may need to bypass the 8T88-buffered connections. Because my SBC uses a serial terminal for input/output, the OSI DOS versions are slightly modified to use a relocated port. (The UK101/Superboard 2 have their ACIAs at $F000, I chose to have mine at $8000 to make it easier for address decoding.) In order for the Floppy Interface to work with my 6502 SBC, the 'bootloader' needs to be modified. It is easy to do if you wish to do it yourself: With a genuine OS65D3.1 or 3.3 disk or image loaded, reset SBC and select 'D'. After disk activity has finished reset SBC and select 'M' Copy the address and data text from below:
##Mods
| Data |
|---|
| .2277/7F |
| .2286/35 |
| .2300/7F |
| .2321/01 |
| .2322/01 |
| .2AC6/01 |
| .24D0/80 |
| .24DC/80 |
| .24F8/80 |
| .24D8/80 |
| .2501/80 |
| .2547G |
and paste to host or your comms program's equivalent. You should then have A* as a prompt.
Schematics & Images


Downloads
- OS65D 3.1 Master Disk Image
- OS65D 3.3 Master Disk Image
- OS65D 3.1 Master (HFE / Gotek)
- OS65D 3.3 Master (HFE / Gotek)
- OS65D 3.3 Tutorial Disk 1 (HFE)
- OS65D 3.3 Tutorial Disk 2 (HFE)
- OS65D 3.3 Tutorial Disk 3 (HFE)
- OS65D 3.3 Tutorial Disk 4 (HFE)
- OS65D Disassembly
- OS65D V3.2 Disassembly (PDF)
- OS65D Reference Card
- OS65D Tutorial & Reference Manual
- Disk Driver Routines
- VIA Addressing Reference