-
Notifications
You must be signed in to change notification settings - Fork 212
Apple II
FlashFloppy features an alternative firmware emulating an Apple II drive.
Special attention is needed for Gotek model SFRKC30.AT2, which uses a small QFN32 MCU, because the rotary-select pin at the KC30 header is reassigned to the Apple II disk interface.
-
If using a rotary encoder the switch wire, marked SW on the KC30 diagram, must be moved to the rearmost pin, closest to the floppy connector, of jumper position JA. All other rotary encoder wires should remain at the KC30 header.
-
You must use an alternative version of the update bootloader which knows that the rotary-select pin is reassigned, to avoid spuriously entering firmware-update mode at power on. The alternative bootloader is supplied in both DFU and HEX formats in the
alt/apple2/at2-bootloader
folder of the FlashFloppy distribution. You should program this bootloader before applying the Apple2 update file for the main firmware as instructed below.
Follow steps for Firmware Update but use the update file contained in the alt/apple2 subfolder of the FlashFloppy distribution.
The Apple II firmware requires a jumper at location S0 only.
IDC20 | DB19 | Signal Name | Gotek Pin |
---|---|---|---|
2 | 11 | PH0 | UART RX (J4) |
4 | 12 | PH1 | UART TX |
6 | 13 | PH2 | 18 |
8 | 14 | PH3 | 20 |
10 | 15 | /WREQ | 24 |
12 | 16 | SEL | 32 |
14 | 17 | /DRVEN | 10 |
16 | 18 | RD | 30 |
18 | 19 | WR | 22 |
20 | 10 | WRPROT | 28 |
11 | 6 | +5v (Power) | +5v |
1,3,5,7 | 1,2,3 | Ground (GND) | GND |
Notes:
- IDC20: Pins at the Apple II IDC 20-pin header
- DB19: Pins at the Apple II D-sub 19-pin connector
- Developers only: In a serial debug build of the firmware, signals PH0 and PH1 are moved respectively to KC30 rotary header pins DT (J8) and CLK
Usage is straightforward and very similar to the regular firmware. Apple II firmware currently supports only HFE images (.HFE file extension)
You can convert PO and DO files to HFE using the Greaseweazle command-line tool. For example:
gw convert mydisk.po mydisk_po.hfe::double_step
To convert a modified HFE image back to PO/DO:
gw convert mydisk_po.hfe mydisk.po