C4CPC is a cartridge replacement for the Amstrad Plus range and the GX4000.
Using a micro-SD card storing cartridge images it also allows direct loading of the cartridge from a PC (Windows/Linux/OSX) through USB.
- Direct access to 16 cartridges selected by dip switches. Cartridge can be up to 512kB
- Access to unlimited number of cartridge images using the provided selector cartridge
- Direct cartridge loading from host computer using USB
- Cartridge file can be in standard .cpr format or raw binary .bin
- Integrated ACID
Using C4CPC on a GX4000 with the original Amstrad power supply may cause damage to the GX4000 please read this forum thread
- Power off you Amstrad Plus / GX4000
- Insert the C4Cpc cart with a prepared SD in the cartridge slot, DIP switch facing up on 464/6128, DIP on joystick port side on GX4000
- Select your favourite cart slot on the DIP switch
- Power on ...
- et voilà !
CprSelect is a special cartridge that allows browsing the SD cart for cartridges to load. The main area displays the current folder contents. Browsing is done using either one of the joysticks or the keyboard.
- Keyboard controls : cursors for browsing, space/enter/copy to select and esc to return to parent folder
- Joystick controls : left/right/up/down for browsing, fire 1 to select, fire 2 to return to parent folder
Left/Right jump from page to page if the folder cannot be displayed in one screen.
SD card preparation
The C4CPC is delivered with a prepared microSD card which contains the Basic Cartridge in slot 0 and the cartridge selector in slot 15. Using your computer, cartridge images can be added to any slots or cartridge selector by writing to the SD card.
The SD must contains at least the following folder tree
- _C4CPC : This is the main folder that contains the dip switch selectable folder.
- _C4CPC/0 to _C4CPC/F folders, which should contain only one valid CPR/BIN file. The cartridge emulator will first look for a CPR then a BIN file and load it to the cartridge.
How it works
At power up, CPC/USB whichever is the first, the uC will check for a valid .CPR/.BIN file to load in the DIP switch selected slot.
- If the file is smaller than 160KB, it will be loaded directly
- If no file is available or the file is bigger than 160KB, a bootloader is 1st loaded. The bootloader will then load the file if any.
C4CPC is powered either by the CPC or/and the USB port. That means that power cycling the CPC will NOT initiate a new cart loading if the cart is also powered by USB.
Cart loading from USB
A connected cart should appear as a serial port (COMx on windows, /dev/ttyACMx on linux, /dev/tty.modemxxxx on OSX). Windows require a .inf file to install the proper drivers. Loading is done using a python3 script which has the following syntax :
C4CpcCom.py -p port cart.cpr
where port is the serial port assigned to the cart.
C4CPC uC firmware is user upgradable through the USB port and requires the following tools and drivers :
- dfu-programmer for updating the code
- driver : provided with dfu-programmer windows version, native support on recent linux and OSx
dfu-programmer is part of the C4CPC upgrade package.
- Windows version is precompiled
- Linux version can be installed either by using you distribution package manager or compiling it.
- OSx version has to be compiled from source and installed with the provided script
The upgrade require :
- to connect the C4CPC card to you computer using a USB cable. It is recommended to either remove it from the CPC/GX4000.
- have DIP switch 4 ON
Once the C4CPC is powered (Power led on), push the reset switch. The uC will enter the DFU mode. On windows, a driver will be asked for the 1st time : the .inf file is in the C4CPC upgrade package.
You now just need to run the update script :
- Linux/OSx, you need to have root/admin right
For games that have been converted to cartridge format, see here: Converted_GX4000_games