Skip to content

Apple II

Keir Fraser edited this page Apr 12, 2025 · 2 revisions

FlashFloppy features an alternative firmware emulating an Apple II drive.

SFRKC30.AT2 (QFN32) Goteks

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.

Programming the Apple II Firmware

Follow steps for Firmware Update but use the update file contained in the alt/apple2 subfolder of the FlashFloppy distribution.

Jumper Configuration

The Apple II firmware requires a jumper at location S0 only.

Connecting to the Apple II Disk Controller

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

Using the Apple II Firmware

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
Clone this wiki locally