Difference between revisions of "C4CPC"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
m
m (corrected links to Novabug's videos)
 
(34 intermediate revisions by 7 users not shown)
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 8: Line 9:
 
* Direct cartridge loading from host computer using USB
 
* Direct cartridge loading from host computer using USB
 
* Cartridge file can be in standard .cpr format or raw binary .bin
 
* Cartridge file can be in standard .cpr format or raw binary .bin
* Integrated [[Amstrad_Cartridge_Identification_Device|ACID]]
+
* Integrated [[Amstrad_Cartridge_Identification_Device|ACID]] simulator
 +
 
 +
<big>'''<span style="color:#FF0000"> Using C4CPC on a GX4000 with the original Amstrad power supply may cause damage to the GX4000 please read [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/%28please-read%29-gx4000-with-original-power-brick-and-c4cpc/ this forum thread] </span>'''</big>
  
 
== User guide ==
 
== User guide ==
Line 15: 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 37: Line 42:
 
* _C4CPC : This is the main folder that contains the dip switch selectable folder.
 
* _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.
 
* _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.
 +
 +
SD original content can be found in [[File:C4CpcSdContent base.zip]]
  
 
=== 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.
 +
 +
Example for linux:
 +
<code>sudo python3 C4CpcCom.py -p /dev/ttyACM0 cart.cpr</code>
 +
 +
Latest version available in [[File:C4CpcCom.zip]] will only work with FW V1.00.01 and upward
  
 
== Firmware upgrade ==
 
== Firmware upgrade ==
=== Windows ===
+
C4CPC microcontroller 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
 +
 
 +
A [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/c4cpc-fw-update/ dedicated forum thread] exists for new firmware announcement support and discussion.
 +
=== Update requirement ===
 +
Update procedure requires the dfu-programmer software:
 +
* Executable version is provided for windows users.
 +
* Linux users should find it in they distribution repository or build it from source. Older versions (before 0.7) of dfu-programmer have different commands so they will fail to run the UpdateCartEmu.sh script correctly. It is highly recommended you download the source and build it.
 +
* OSX users will have to build it from provided source and script in dfu-programmer_install_OSX. Check the included readme.txt for detail.
 +
 
 +
=== Upgrade procedure ===
 +
Start C4CPC in usb update mode
 +
* put dip switch 4 ON (other three switches to OFF)
 +
* connect the card in one USB port
 +
* press and release the C4CPC reset switch
 +
 
 +
Install DFU driver (Windows only)
 +
*After the reset, windows will look for the device drivers. These are located in the windows\dfu-prog-usb-1.2.2 folder
 +
 
 +
You now just need to run the update script :
 +
* Linux/OSx, you need to have root/admin right
 +
<code>sudo UpdateCartEmu.sh</code>
 +
* Windows, from the update package windows folder
 +
<code>UpdateCartEmu.bat</code>
 +
 
 +
A successful update looks like this :
 +
 
 +
Manufacturer Code: 0x58 (88)
 +
--- Erase ---
 +
Erasing flash...  Success
 +
Checking memory from 0x0 to 0x6FFF...  Empty.
 +
--- Flash ---
 +
Checking memory from 0x0 to 0x4DFF...  Empty.
 +
0%                            100%  Programming 0x4E00 bytes...
 +
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
 +
0%                            100%  Reading 0x7000 bytes...
 +
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
 +
Validating...  Success
 +
0x4E00 bytes written into 0x7000 bytes memory (69.64%).
 +
--- EEProm ---
 +
0%                            100%  Programming 0x380 bytes...
 +
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
 +
0%                            100%  Reading 0x400 bytes...
 +
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
 +
Validating...  Success
 +
0x380 bytes written into 0x400 bytes memory (87.50%).
 +
 
 +
=== Latest Firmware ===
 +
[[File:C4CPC V1.00.07.zip]] : Fixed issue that loaded more sectors than remaining in current cluster
 +
 
 +
[[file:C4CPC_V1.00.05.zip]] : Fixed cluster truncation error leading to crash when loaded files where on cluster number greater that 65536
 +
 
 +
[[file:C4CPC_V1.00.04.zip]] : Added compatibility with Symbiface II, CprSelect can now display text files
 +
 
 +
[[file:C4CPC_V1.00.03.zip]] : Fix bad behaviour in file read that may read more sector than available in a cluster
 +
 
 +
[[file:C4CPC_V1.00.02.zip]] : Fix an issue in directory list management that prevent browsing reliably folders with more than 247 files
 +
 
 +
== 3D printed case ==
 +
[[File:C4CPC_Cartridge.png|right|384px]]
 +
A dedicated cartridge case has been designed to protect your C4CPC. It can be 3D printed using online services using the stl file provided.
 +
 
 +
Link to online printing services are available on the [http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/c4c4c-3d-printed-cartridge/ forum dedicated thread].
 +
 
 +
The source sketchup design is also provided for those willing to customize it.
 +
 
 +
[[File:C4CPC.zip]]
 +
 
 +
== System Cartridges ==
 +
The following archives includes :
 +
* Original systems (Basic 1.1 + Amsdos + BurninRubber)
 +
* Original system with parados 1.2+ (Basic 1.1 + Parados 1.2 + BurninRubber)
 +
* Original system with parados 1.2  (Basic 1.1 + Parados 1.2)
 +
* FW3.16 32 rom (Basic 1.1 + Amsdos + BurninRubber)
 +
* FW3.16 32 rom with parados (Basic 1.1 + Parados 1.2)
 +
 
 +
 
 +
[[File:SystemCpr English.zip]] English version
 +
 
 +
[[File:SystemCpr French.zip]]  French version
 +
 
 +
[[File:SystemCpr Spanish.zip]] Spanish version
 +
 
 +
[http://futureos.cpc-live.com/ FutureOS] Cartridge are available in the [http://futureos.cpc-live.com/files/FutureOS_System_.8_Preview!!!.zip release file]
 +
 
 +
==Special System Cartridges made by dragon==
 +
The following archive includes:
 +
 
 +
- Firmware 3.14 OS or official OS or ParaDOS versions In different languages English/Spanish/French/German.
 +
 
 +
- The Cartridge of 512 KB has a modified firmware/ParaDOS to include in the OS variable with | symbol:
 +
*Burnning rubber with change buttons layout.
 +
*C4CPC loader
 +
*HXC ROM loader v3 or v3.5
 +
*FutureOS (system .8) and XROMs
 +
*Symbos 2.1 or 3.0
 +
*CP/M with all extra ROMs made by TFM
 +
*Local language variations of |game are deleted to do that.
 +
 
 +
-Incompatibilty:
 +
Don't try change the lower ROM with a external device such M4, this wouldn't work because how the C4CPC boots.
 +
 
 +
*Original release hxc v3 symbos 2.1
 +
https://mega.nz/#!B9wQXT4S!H2gA0cOFPN-Z6q5CEWwhzwjXXBgqyDA-S34-IOTA3RY
 +
*Second release hxc v3 symbos 3.0
 +
https://mega.nz/#!xoInQCCI!vCR_y0YZcMuPOdatiT0NkvqtIVpnnGkgNP_FnR2xj1Q
 +
*Third release hxc v3.5 symbos 3.0
 +
https://mega.nz/#!8tI1gabR!u-B6GZOfM5FYLkPdnnuLRTmFv-FjjY7wX9YROCTb2j4
 +
*Fourth release hxc v3.5 symbos 3.0 FutureOS .8 (updated)
 +
https://mega.nz/#!I8YyHDLT!XyPNLKsgpRnTFAZkHXzlgoKF_Scpz1StzX_4MGOZCiQ
 +
 
 +
== Videos ==
 +
 
 +
[https://www.youtube.com/watch?v=wCNv405jCbk&ab_channel=Novabug Unboxing & Playtest by Novabug]
 +
 
 +
[https://www.youtube.com/watch?v=pWpX5TY3QDc&ab_channel=Novabug 3D Printed Case Assembly by Novabug]
 +
 
 +
== Game Cartridges ==
 +
 
 +
For games that have been converted to cartridge format, see here: [[Converted_GX4000_games]]
 +
 
 +
== Demos ==
 +
 
 +
* [[CRTC³]]
 +
{{#ev:youtube|PgMJ39wfoBM|480}}
 +
 
 +
* [[Eerie Forest]]
 +
{{#ev:youtube|CPCyF71098o|480}}
  
 
== Further Discussion ==
 
== Further Discussion ==

Latest revision as of 04:03, 9 February 2021

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 simulator

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.

SD original content can be found in File:C4CpcSdContent base.zip

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.

Example for linux: sudo python3 C4CpcCom.py -p /dev/ttyACM0 cart.cpr

Latest version available in File:C4CpcCom.zip will only work with FW V1.00.01 and upward

Firmware upgrade

C4CPC microcontroller 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

A dedicated forum thread exists for new firmware announcement support and discussion.

Update requirement

Update procedure requires the dfu-programmer software:

  • Executable version is provided for windows users.
  • Linux users should find it in they distribution repository or build it from source. Older versions (before 0.7) of dfu-programmer have different commands so they will fail to run the UpdateCartEmu.sh script correctly. It is highly recommended you download the source and build it.
  • OSX users will have to build it from provided source and script in dfu-programmer_install_OSX. Check the included readme.txt for detail.

Upgrade procedure

Start C4CPC in usb update mode

  • put dip switch 4 ON (other three switches to OFF)
  • connect the card in one USB port
  • press and release the C4CPC reset switch

Install DFU driver (Windows only)

  • After the reset, windows will look for the device drivers. These are located in the windows\dfu-prog-usb-1.2.2 folder

You now just need to run the update script :

  • Linux/OSx, you need to have root/admin right

sudo UpdateCartEmu.sh

  • Windows, from the update package windows folder

UpdateCartEmu.bat

A successful update looks like this :

Manufacturer Code: 0x58 (88)
--- Erase ---
Erasing flash...  Success
Checking memory from 0x0 to 0x6FFF...  Empty.
--- Flash ---
Checking memory from 0x0 to 0x4DFF...  Empty.
0%                            100%  Programming 0x4E00 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
0%                            100%  Reading 0x7000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
Validating...  Success
0x4E00 bytes written into 0x7000 bytes memory (69.64%).
--- EEProm ---
0%                            100%  Programming 0x380 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
0%                            100%  Reading 0x400 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
Validating...  Success
0x380 bytes written into 0x400 bytes memory (87.50%).

Latest Firmware

File:C4CPC V1.00.07.zip : Fixed issue that loaded more sectors than remaining in current cluster

File:C4CPC V1.00.05.zip : Fixed cluster truncation error leading to crash when loaded files where on cluster number greater that 65536

File:C4CPC V1.00.04.zip : Added compatibility with Symbiface II, CprSelect can now display text files

File:C4CPC V1.00.03.zip : Fix bad behaviour in file read that may read more sector than available in a cluster

File:C4CPC V1.00.02.zip : Fix an issue in directory list management that prevent browsing reliably folders with more than 247 files

3D printed case

C4CPC Cartridge.png

A dedicated cartridge case has been designed to protect your C4CPC. It can be 3D printed using online services using the stl file provided.

Link to online printing services are available on the forum dedicated thread.

The source sketchup design is also provided for those willing to customize it.

File:C4CPC.zip

System Cartridges

The following archives includes :

  • Original systems (Basic 1.1 + Amsdos + BurninRubber)
  • Original system with parados 1.2+ (Basic 1.1 + Parados 1.2 + BurninRubber)
  • Original system with parados 1.2 (Basic 1.1 + Parados 1.2)
  • FW3.16 32 rom (Basic 1.1 + Amsdos + BurninRubber)
  • FW3.16 32 rom with parados (Basic 1.1 + Parados 1.2)


File:SystemCpr English.zip English version

File:SystemCpr French.zip French version

File:SystemCpr Spanish.zip Spanish version

FutureOS Cartridge are available in the release file

Special System Cartridges made by dragon

The following archive includes:

- Firmware 3.14 OS or official OS or ParaDOS versions In different languages English/Spanish/French/German.

- The Cartridge of 512 KB has a modified firmware/ParaDOS to include in the OS variable with | symbol:

  • Burnning rubber with change buttons layout.
  • C4CPC loader
  • HXC ROM loader v3 or v3.5
  • FutureOS (system .8) and XROMs
  • Symbos 2.1 or 3.0
  • CP/M with all extra ROMs made by TFM
  • Local language variations of |game are deleted to do that.

-Incompatibilty: Don't try change the lower ROM with a external device such M4, this wouldn't work because how the C4CPC boots.

  • Original release hxc v3 symbos 2.1

https://mega.nz/#!B9wQXT4S!H2gA0cOFPN-Z6q5CEWwhzwjXXBgqyDA-S34-IOTA3RY

  • Second release hxc v3 symbos 3.0

https://mega.nz/#!xoInQCCI!vCR_y0YZcMuPOdatiT0NkvqtIVpnnGkgNP_FnR2xj1Q

  • Third release hxc v3.5 symbos 3.0

https://mega.nz/#!8tI1gabR!u-B6GZOfM5FYLkPdnnuLRTmFv-FjjY7wX9YROCTb2j4

  • Fourth release hxc v3.5 symbos 3.0 FutureOS .8 (updated)

https://mega.nz/#!I8YyHDLT!XyPNLKsgpRnTFAZkHXzlgoKF_Scpz1StzX_4MGOZCiQ

Videos

Unboxing & Playtest by Novabug

3D Printed Case Assembly by Novabug

Game Cartridges

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

Demos

{{#ev:youtube|PgMJ39wfoBM|480}}

{{#ev:youtube|CPCyF71098o|480}}

Further Discussion

CPCWiki Forum discussion thread