E01E FileStore FDC Board

FileStore E01E FDC (Drives)FileStore E01E FDC (GOTEK)

Drives Variant                                                                                                             GOTEK Variant

This board carries the TMS2793 Floppy Disk Controller (FDC), FDC Latch (Acorn call it the 'Miscellaneous Functions Latch') and a Shugart SA400 type Floppy Disk interface.

The FDC Latch generates additional control signals not provided by the TMS2793 plus a couple of other signals which are routed via the backplane to the CPU Board.  This latch is addressed at $FC08 and is write only, a read from this address switches the 'ROM Latch' (IC6) on the CPU Board.

The TMS2793 can be put into a Test Mode either by enabling bit 6 of the FDC Latch or more easily by removing LK100 (which should normally be fitted).  When in Test Mode a clock is output on the DIRC line (TP2) which is set to 250kHz using trimmer C11.

I have added the option of fitting a pair of GOTEK circuits to the board instead of 'real' drives, these are based on the original STM32F105RBT6 design.  If the GOTEK circuits are fitted then IC301 is required to transition the 3V3 logic signals.  If only one GOTEK is used then the four pull-up resistors (R302-305) must be fitted.

Note: the board is intended to be used with Floppy Drive(s) or GOTEK(s) but not a mix of both.

If GOTEKs are being used then R301 is fitted with a 1K0 resistor network, when real floppy drives are used then only R300 is fitted with a 270R network.

The GOTEKs can optionally be fitted with OLED displays (via J102/202) and rotary encoders (via J100/200) though the configuration files below will function without a user interface.

The STM32 processors are most easily programmed via their serial ports (J103/203) using an FTDI USB converter (must be 3V3) and the STM32 Cube Programmer application which can be found here https://www.st.com/en/development-tools/stm32cubeprog.html.  To initiate programming the BOOT0 link (J101/201) should be fitted.  If you have OLED displays connected these must be disconnected during programming or the processor will think you are using SPI rather than serial. The GOTEK Flash Floppy firmware can be found here https://github.com/keirf/FlashFloppy/wiki.

Connections to the serial port for programming are as follows:

 FDC Latch (aka Miscellaneous Functions Latch)

bit Function
0 selects floppy 1 (left)
1 selects floppy 2 (right)
2 selects floppy side
3 if set enables access to RTC NVRAM
4 FDC Single/Double Density (0=single, 1=double) connects to pin 37 (~DDEN)
5 FDC Reset (active low), connects to pin 19 (~MR)
6 FDC Test (active low), connects to pin 22 (~Test)
7 red Mode LED (1=on)

FDC (IC20) TMS2793 Registers

Register Address Register Name Function
$FC0C FDCSCR Status / Command Register
$FC0D FDCTRK Track Register
 $FC0E FDCSEC Sector Register
$FC0F FDCDAT Data Register

GOTEK Configuration

Here is a set of configuration files for the GOTEKs, just copy these files to a FAT32 formatted USB Memory Stick and that should get you started:

 

Floppy Disks

If you use real 3.5" drives rather than GOTEKs then you can use the FileStore.adl image above, it can be transferred to floppy using e.g. OMNIFLOP.

 

There are some issues to be aware of with using 3.5" drives:

 

Schematic

Bill Of Materials

Front Panels

FileStore E01E FDC (Drives) Front Panel                        FileStore E01E FDC (GOTEK) Front Panel

I also machined approx 1mm away behind the displays to set them into the panel, they were then fixed in place with holt melt glue.  Take care that the display connector doesn't short against the panel, I had to crop the pins back and added a layer of PTFE tape to be sure.

PCB

FileStore E01E FDC PCB

 

Back to E01E FileStore

 

Acorn Home Page