For a "Quick Start Guide" see at the end of post!
Universal
Serial
Interface
for
Amstrad
CPC II (a.k.a. USIfAC II or...
THE GOTEK KILLER FOR AMSTRAD CPC!

), is an evolution of my
previous Design USIfAC (with which is fully compatible), based on a modern and much more powerful 40pin 18F47Q10@64Mhz 8bit PIC microcontroller, which offers many new amazing features:
- Receive buffer of 3100bytes (~3,5times than of previous interface)
- Serial port speeds of up to 1.065.000bps!
- Full 16bit address decoding,
- AMSDOS and PARADOS ROM emulation,
- 765 Floppy Disk Controller emulation,
- Use a Usb storage device, by utilizing a cheap CH376 usb host module,
- Many RSX commands that offer full access of PC Hard Drive or a usb storage drive, for change/create/delete directories and load/save/delete programs/games (even Ascii files)!
- Incredible loading speeds of up to ~23-24kb/sec (more than 5 times faster ,than a usual speed of a gotek/floppy disk drive)!
- Full read/write access of DSK images of both AMSODS and PARADOS formats!
- Access up to four DSK images and choose them "on the fly", to support all multi-image Games!
- Extra RSX commands to copy files from/to floppy disks,transfer DSK images to floppy disks, and quick Format disks!
- 1kb EEPROM for use as extra memory or for storing/executing your own routines.
- Includes 3 classic games, GALACHIP, PACMAN and KILLER GORILLA!
- Equipped with a reset button and a Pause switch!
Here is a small presentation of the board using a usb flash drive on a CPC 6128 and
Here on a CPC 464!.
(Mind also that it can be perfectly used with CPC 464 too, in fact
USIfAC II might be the easiest fastest and cheapest solution for loading games on a CPC464! )
All previous utilities (like terminal, file copy, format disk etc) are now easily accessible through RSX commands, with the addition of some new RSX commands for easy setup and configure Serial port speed (
|SET), Wifi/Bluetooth Modules (
|WiFi,|COM), show status of Interface(
|STAT), and finally, an on line help (
|HELP) which gives you a short description of all RSX commands supported!
Here you can find the new
User's Guide along with (the also new)
windows utility program for Direct connection with a PC, that have some improvements too (for example, direct mode now works with WiFi module too,and program have more stable operation), and the
CPCLoad utility that offers an easy batch extraction of files from dsk images, in order to benefit from the amazing loading speeds!
There is also, a small utility (cpc_loader.zip) for
creating small Basic loaders for your games/programs, and make loading process much easier:
It will be especially useful for CPC 464, where giving RSX commands with arguments is rather tiresome (instead of giving directly commands,like with CPC 6128, you need to set first a string variable, for example, the command: |CD,"DIR", is given as: A$="DIR":|CD,@A$)
Also,
here you can find a public list of good games that are tested,and
with your help i intend to update it constantly!
And now, for the best part, i can offer:
-
Stand alone Board+usb host module (if you have an MX4 or similar board) for
20 euros -
Board+usb host module+edge connector cable for
23 euros -
Board+usb host module+centronics connector cable for
25 euros All prices include registered/tracked postage!
Anyone interested, please contact at: ikonsgr745@hotmail.com
Quick Start Guide:|HELP: Get a list of all available RSX commands with short descriptions
AMSTRAD CPC 664/6128:For direct file access:
-
|USB to enable usb host module (with firmware _2d and newer, this required
only once,after initial power up)
-
|CAT to get a catalogue of root directory
-
|CD,"dir" to change directory to "dir"
-
|CAT to get catalaogue of "dir"
Then you just give RUN"NAME" of the BAS/BIN file, exactly like you do when using a floppy disk!
For Amsdos dsk image access:
-
|USB to enable usb host module
-
|CAT to get a catalogue
-
|MG,"name" to select the image file you want to use
-
|FDC, to enable Floppy Disk Controller emulation
From now on, any CAT,LOAD,RUN,SAVE command will access dsk image!
And by giving again "|FDC" command, FDC emulation will be disabled and CAT,LOAD,RUN,SAVE commands will access again the floppy disk drive!
For Parados dsk image access:
Follow the above first 3 steps,but then give:
-
|DOS,2,for Selecting PARADOS Emulation
-
|464 ,Amstrad will reset, and then you can access the PARADOS dsk image using CAT,LOAD,RUN,SAVE commands.
Note that RSX commands can't be used in this mode of operation, until you RESET Amstrad again.
AMSTRAD CPC 464:For direct file access:
-
ONLY ONCE, after first power up you should give:
|464 and then press RESET button on the board
No need to do it with boards sent after Feb 2021,(firmware 2c and newer,)-
|USB to enable usb host module
-
|CAT to get a catalogue of root directory
-
a$="dirname"-
|CD,@a$ to change directory to "dirname"
-
|CAT to get catalaogue of subdir
Then you just give RUN"NAME" of the BAS/BIN file, exactly like you do when using a floppy disk!
For Amsdos dsk image access:
-
ONLY ONCE, after first power up you should give:
|464 and then press RESET button on the board
No need to do it with boards sent after Feb 2021,(firmware 2c and newer,)-
|USB to enable usb host module
-
|CAT to get a catalogue
-
a$="imagename"-
|MG,@a$ to select the above disk image file
-
|DOS,1,for Selecting AMSDOS Emulation
-
|464, Amstrad will Reset, to enable Floppy Disk Controller & DOS emulation,
From now on, any CAT,LOAD,RUN,SAVE command will access dsk image!
For Parados dsk image access:
Follow the above first 4-5 steps,but then give:
-
|DOS,2,for Selecting PARADOS Emulation
-
|464 ,Amstrad will reset, and then you can access the PARADOS dsk image using CAT,LOAD,RUN,SAVE commands.
Note that RSX commands can't be used in this mode of operation, until you RESET Amstrad again.
Update Firmware:Latest firmware release:
3/4/2021 18F47Q10_3a:
https://www.dropbox.com/s/g5qqy63yg5intbi/18f47q10_3a.zip?dl=0 (for new white boards with dsk swap button)
(for older boards without the extra dsk_swap button)
List of updates since initial version (1/12/2020):
-
Update DSK image transfer function (RSX command:|DSK), you can now Copy DSK images to floppy disks from either a PC or usb stick (initial firmware supported transfers only from PC)
- Major code optimization in
file access speeds on direct mode, resulting in
~20%-25% speed increase!
- Further optimization in file loading code, witch offers ~2% extra loading speed increase!
- Some other minor code optimizations which offer a small overall performance boost.
- Dsk image transfer,now supports practically any format (DATA, SYSTEM, IBM, PARADOS etc), with any number of tracks (up to 80) and any sector size from 512byte up to 4096bytes.Also writing speed to disk, is increased with most images (having 9sectors/track & 10sectors/track,either in sequential or interleaved order)
-
No need for performing the CPC 464 Initial procedure after first power up, now Amstrad automatically resets a couple of times after "cold start", and then you can directly give "|USB" command, exactly like for CPC 6128!
-
No need to give |USB command after every Reset,but only after Amstrad's initial power up (for ALL Amstrad models, with firmware _3a and newer).
-
NEW feature added:
Access multiple dsk images "on the fly"! Using the new "dsk swap" button on the new board, you can "round select" up to 4 different dsk images,and
be able to load ALL mutli image games/programs/demos!
- A minor bug fixed: File extension was ommited when saving a file with full 8+3 characters (e.g. "filename.bas" was saved as "filename" without the extension)
- Get faster catalogue lists from Usb device (~25% faster on mode 1, and ~50% faster on mode 2, firmware _3 and newer)
- Amsdos/Parados Emulation is now saved into PIC's EEPROM, so Board will always "remember" your choice.
- New ability:
choose if you want to Return to Usb device Root directory after Reset, just give
OUT &FBD1,66 to enable or
OUT &FBD1,65 to disable. Again, board will "Remember" your choice. This could be very usefull if you use the BASIC loader listings mentioned above to load Games/programs, as after RESET, you will automatically return to Root directory, without needing to give |CDR command!

- |STAT command now shows Firmware revision and if return2root directory after Reset is enabled.
Quick PIC program Guide:- You will need a rather cheap
PIC KIT 3 programmer.
- Plug the icsp connector from pickit3 to ICSP connector on the board (on some boards might need to solder the ICSP pins) or remove PIC chip from on-board socket, and place it on
cheap zif socket.
- Use the
MPLAB IPE, (which is part of MPLAB IDE and you can download from
here), to re-program PIC (18F47Q10).
After re-programming PIC MCU, you should assign a rom number to the board, by giving: out &FBD2,5 on basic prompt, and then reset.
Finally,
Here you will find a very detailed guide for updating firmware made by good CPCWiki member
Richard_Lloyd (thanks Richard!)
Guide for older boards, to manually connect a usb host module on the board The usb host module is connected easily through the 4 dupont wires (which i will also send you) as follows:
Board with module attached should look like this: