Difference between revisions of "C4CPC"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
m
(WIP FW upgrade procedure)
Line 1: Line 1:
 +
 
C4CPC is a cartridge replacement for the Amstrad Plus range and the GX4000.
 
C4CPC is a cartridge replacement for the Amstrad Plus range and the GX4000.
  
Line 17: Line 18:
 
* 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
 
* 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
 
<gallery>
 
<gallery>
Image:C4CPC_GX4000.jpg|In GX4000
+
File:C4CPC_GX4000.jpg|In GX4000
Image:C4CPC_6128.jpg|In 6128/464 plus
+
File:C4CPC_6128.jpg|In 6128/464 plus
 +
File:DipSwitchToSlot.png|Dip Switch to Slot table
 
</gallery>
 
</gallery>
 
* Select your favourite cart slot on the DIP switch
 
* Select your favourite cart slot on the DIP switch
 
* Power on ...
 
* Power on ...
 
* et voilà !
 
* et voilà !
 +
 
=== Cartridge selector ===
 
=== Cartridge selector ===
 
[[File:C4CPC CprSelect.png|right|384px]]
 
[[File:C4CPC CprSelect.png|right|384px]]
 
CprSelect is a special cartridge that allows browsing the SD cart for cartridges to load.
 
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.
 
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
+
* 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
+
* 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.
 
Left/Right jump from page to page if the folder cannot be displayed in one screen.
Line 41: Line 44:
  
 
=== How it works ===
 
=== How it works ===
At power up, CPC/USB whichever is the first, the uC will check for a valid .CPR/.BIN file to load.  
+
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 the file is smaller than 160KB, it will be loaded directly
* If no file is available or bigger than 160KB, a bootloader is 1st loaded. The bootloader will then load the cart if any.
+
* 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.
  
Note that C4CPC is powered either by the CPC or 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.
+
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.
  
=== From SD card ===
+
=== Cart loading from USB ===
Just select your cartridge slot and power your CPC
+
 
+
=== From USB ===
+
 
A connected cart should appear as a serial port (COMx on windows, /dev/ttyACMx on linux, /dev/tty.modemxxxx on OSX).
 
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.
 
Windows require a .inf file to install the proper drivers.
 
Loading is done using a python3 script which has the following syntax :  
 
Loading is done using a python3 script which has the following syntax :  
  
<code>C4CpcCom.py -p port -c cart.cpr</code>
+
<code>C4CpcCom.py -p port cart.cpr</code>
  
 
where port is the serial port assigned to the cart.
 
where port is the serial port assigned to the cart.
  
 
== Firmware upgrade ==
 
== Firmware upgrade ==
=== Windows ===
+
C4CPC uC firmware is user upgradable through the USB port and requires the following tools and drivers :
=== Linux ===
+
* dfu-programmer for updating the code
=== OSx ===
+
* driver : provided with dfu-programmer windows version, native support on recent linux and OSx
 +
 
 +
=== dfu-programmer ===
 +
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
 +
 
 +
=== Upgrade procedure ===
 +
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
 +
<code>UpdateCartEmu.sh</code>
 +
* Windows
 +
<code>UpdateCartEmu.bat</code>
  
 
==Cartridge Games==
 
==Cartridge Games==

Revision as of 09:31, 14 July 2015

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.

C4CPC GX4000 2.jpg

Features

  • 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

User guide

Quick start

  • 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à !

Cartridge selector

C4CPC CprSelect.png

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.

Firmware upgrade

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

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

Upgrade procedure

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

UpdateCartEmu.sh

  • Windows

UpdateCartEmu.bat

Cartridge Games

For games that have been converted to cartridge format, see here: Converted_GX4000_games

Further Discussion

CPCWiki Forum discussion thread