| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Homemade floppy disk emulator for Apple II series computers
⚠️ Work in progress: read carefully the README before trying to reproduce this project!
tinyDiskII is able to simulate an Apple Disk II both in reading and writing. Disk images are stored into a FAT16 formatted SD Card. Each disk image must be a DOS 3.3 floppy image, saved as .NIC. A cross platform .NIC <-> .DSK conversion tool will be available soon on this repository. Floppy formatting is currently not supported, but it is currently under developement.
| Reference(s) | Description | Notes |
|---|---|---|
| C1, C2, C3, C4, C5, C6, C8, C9, C10, C11, C12 | 0805 100n Capacitor | |
| D1, D2 | 0805 Red LED | |
| J1 | 2x3 male jumper | ICSP connector |
| J2 | SMD SD Card slot | |
| J3 | THT USB B Mini connector | Mount for USB debug |
| J4 | 2x10 male connector | DiskII connector |
| R5, R6 | 330 | |
| R2, R3, R4, R7, R8, R9, R10, R11, R12, R15 | 10k | |
| R13, R14 | 0 | Replaced with a bridge |
| SW1 | RotaryEncoder with switch | |
| U2 | SN74LVC244 | 5V tolerant buffer |
| U3 | CH340C | Mount for USB debug |
| U4 | ATxmega16A4U-A | MCU |
| U5 | 74AHCT125 | Level shifter |
| U7 | 0.96" OLED I2C | 7-pin model |
| U10 | AP1117-33 | 3v3 linear regulator |
| Reference(s) | Feature |
|---|---|
| U1 | Flash/EEPROM interface |
| C12 | " |
| R1 | " |
| C13, C14 | USB ESD |
| R13, R14 | " |
| D3, D4 | " |
| C7 | USB self reset |
| J5 | Debugging connector |
⚠️ Schematics and PCB layout can be found in /schematics folder. Please note that I had physically implemented only rev1.0, which requires some hardware patches. The issues were fixed in rev1.1, but I never put it into production. Build it at your own risk.
Firmware source code is in /firmware folder. Code can be compiled on a linux/wsl machine through make command. Make sure you have make and avr-gcc toolchanin installed. Output binary will be generated as /firmware/output/tinyDiskII.hex.
In /firmware/tests there are some unit tests that can run on host system. They can be compiled and executed with:
cd firmware/tests
cmake -B build .
cd build
cmake --build .
./tinyDiskII-testsThe serial interface is mainly used for application logging. If no OLED display is detected, the serial interface is enabled for receiving commands. If the OLED is connected, the command interpreter is disabled to avoid conflicts.
The following table resumes the available commands.
| Command | Arguments | Description |
|---|---|---|
| INIT | none | Initialize the SD Card (1) |
| CWD | dirname | Change woring directory to dirname |
| UP | none | Change working director to the parent directory |
| LST | none | List files and directory in the current working directory |
| SET | filename | Select filename, in current working directory, as currently inserted disk (2) |
| REM | none | Remove currently inserted disk |
| FAT | upto | Prints FAT entries of selected file up to index upto (debug) |
| INFO | t s | Prints .NIC file informations about sector s in track t (debug) |
rev1.0: first version
rev1.1: fixes the issues present in rev1.0:
| Back | FazBrowse Home | New Git URL |