No description
Find a file
phillip torrone d35de3aff6
Add files via upload
added rabbit logo
2022-01-01 19:03:25 -05:00
.github init 2021-12-30 22:33:52 -05:00
examples add optional serial debugger, fix track seek code and add caching, fix step delay, check for index pulses on motor spinup! allow 2 bytes for flux pulse counting in case we deal with ultra-long pulses later 2022-01-01 15:07:38 -05:00
images Add files via upload 2022-01-01 19:03:25 -05:00
Adafruit_Floppy.cpp add settle delay, read fluxes through the second index pulse so we get a full overlap 2022-01-01 19:00:51 -05:00
Adafruit_Floppy.h add settle delay, read fluxes through the second index pulse so we get a full overlap 2022-01-01 19:00:51 -05:00
code-of-conduct.md init 2021-12-30 22:33:52 -05:00
library.properties init 2021-12-30 22:33:52 -05:00
license.txt add readme fix lic 2022-01-01 15:57:53 -05:00
README.md Update README.md 2022-01-01 17:52:36 -05:00

Adafruit Floppy Build Status

This is a helper library to abstract away interfacing with floppy disk drives in a cross-platform and open source library.

Adafruit Floppy is a project to make a flexible, full-stack, open source hardware/software device for reading, archiving, accessing and duplicating floppy disk media. It joins a family of open source hardware and software such as greaseweazle and fluxengine, and will attempt to increase the availability and accessibility of floppy disk controllers by: porting the greaseweazle / fluxengine firmware to Arduino so that it is less tied to specific hardware, adding firmware support for the RP2040 chip / low cost pico, adding hardware support for reading apple ii disks including index sensing, adding woz/a2r support to greaseweazle / fluxengine, and investigating analog flux data acquisition methods for repair of damaged disks. all of this with permissively licensed hardware and software so folks can re-create without licensing agreements, NDAs, or discussion.

Currently we are focusing on high-RAM (> 128KB SRAM) and high speed (> 100MHz) processors, so that we can buffer a full track of flux transitions at once, and not require the use of special peripherals such as timers. (Of course, those are welcome later!)

Tested working on:

  • SAMD51 chipset hardware - Please overclock to 180MHz, select Fastest optimization, and use TinyUSB stack for best performance

Longer version!

Adafruit Floppy is a project to make a flexible, full-stack, open source hardware/software device for reading, archiving, accessing and duplicating floppy disk media. It joins a family of open source hardware and software such as greaseweazle and fluxengine, and will attempt to increase the availability and accessibility of floppy disk controllers by:

  1. porting the greaseweazle / fluxengine firmware to Arduino so that it is less tied to specific hardware. this is important as, during 2021 we learned that silicon shortages can make specific chips extremely difficult to find - having a cross-platform firmware alleviates dependancies on specific chips.

  2. adding firmware support for the RP2040 chip / pico. this is an ultra low cost dev board, at $4 each - and can make for an excellent alternative to higher cost atmel/stm chips. (of course, the firmware should be able to run on many chips, but we want to make sure this is one of them!)

  3. adding hardware support for reading apple ii disks. many flux readers focus on 34-pin disk drives but do not have interfacing for apple disk ii drives. the drives are available and could be used for archiving a vast number of floppies out there! this will require adding an index sensor so we can image disks into 'woz' formats. currently, applesauce hardware and software can do this for apple ii disks - applesauce is amazing and an excellent tool and we recommend it to folks! at this time, it appears to be closed source hardware, firmware and software, so we are not able to integrate their design into an open source design.

  4. adding woz/a2r support to greaseweazle / fluxengine. once hardware support is in place, we can then add woz/a2r file format support to the open source tools in existence, which will benefit the entire community

  5. as 'extra credit' we may look into analog flux data acquisition methods for repair of damaged disks.

Any hardware, firmware, or software we write is going to be fully open source under permissive licenses such as MIT, BSD or Unlicense. we will probably sell accessories, assembled PCBs, cables, etc in the Adafruit shop to help get hardware into folks hands but the designs will always be re-createable by others without any licensing agreements, NDAs, or discussion.

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

MIT license, all text above must be included in any redistribution.