CARTRIDGE FILE FORMAT FOR CCS64 (using fileextension .CRT)

Latest change: 4 July 2003

0000 'C64 CARTRIDGE '
0010 ULONG fileheader-length (counted from offset 0000, default=0040)
0014 UWORD Version (=0100)
0016 UWORD Hardware type
0018 UBYTE Exrom line
0019 UBYTE Game line
001A UBYTE[6] For future use...
0020 UBYTE[20] Name (null-terminated string)
0040 Chip Packets
...

Chip Packets:

0000 'CHIP'
0004 ULONG packetlength (counted from offset 0000)
0008 UWORD chiptype
000A UWORD bank (for normal cartridges = 0)
000C UWORD address
000E UWORD length
0010 UBYTE[] data
...


Hardware Types:

0 - Normal cartridge
1 - Action Replay
2 - KCS Power Cartridge
3 - Final Cartridge III
4 - Simons Basic
5 - Ocean type 1 (256 and 128 Kb)
6 - Expert Cartridge
7 - Fun Play
8 - Super Games
9 - Atomic Power
10 - Epyx Fastload
11 - Westermann
12 - Rex
13 - Final Cartridge I
14 - Magic Formel
15 - C64 Game System
16 - Warpspeed
17 - Dinamic
18 - Zaxxon
19 - Magic Desk, Domark, HES Australia
20 - Super Snapshot 5
21 - COMAL 80


Chip Types:

0 - ROM
1 - RAM, no data field
2 - Flash ROM


All UWORD and ULONG's are in (MSB,LSB) format, i.e. $1234 will be $12,$34 in bytes.

EXAMPLE FOR ACTION REPLAY CARTRIDGE

$0000: 'C64 CARTRIDGE   '
$0010: 00 00 00 40  01 00 00 01  00 00 00 00  00 00 00 00
$0020: 'Action Replay V' 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10  00 00 00 00  80 00 20 00
$0050: <data 8192 bytes for bank 0>...

$2050: 'CHIP'
$2054: 00 00 20 10  00 00 00 01  80 00 20 00
$2060: <data 8192 bytes for bank 1>...

$4060: 'CHIP'
$4064: 00 00 20 10  00 00 00 02  80 00 20 00
$4070: <data 8192 bytes for bank 2>...

$6070: 'CHIP'
$6074: 00 00 20 10  00 00 00 03  80 00 20 00
$6080: <data 8192 bytes for bank 3>...

$8080:

 

EXAMPLE FOR KCS POWER CARTRIDGE

$0000: 'C64 CARTRIDGE   '
$0010: 00 00 00 40  01 00 00 02  00 00 00 00  00 00 00 00
$0020: 'KCS Power Cartridge' 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10  00 00 00 00  80 00 20 00
$0050: <data 8192 bytes for 8000-9fff>...

$2050: 'CHIP'
$2054: 00 00 20 10  00 00 00 00  A0 00 20 00
$2060: <data 8192 bytes for a000-bfff>...

$4060:

 

EXAMPLE FOR FINAL CARTRIDGE III

$0000: 'C64 CARTRIDGE   '
$0010: 00 00 00 40  01 00 00 03  01 01 00 00  00 00 00 00
$0020: 'Final cartridge' 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 40 10  00 00 00 00  80 00 40 00
$0050: <data 16384 bytes for bank 0>...

$4050: 'CHIP'
$4054: 00 00 40 10  00 00 00 01  80 00 40 00
$4060: <data 16384 bytes for bank 1>...

$8060: 'CHIP'
$8064: 00 00 40 10  00 00 00 02  80 00 40 00
$8070: <data 16384 bytes for bank 2>...

$C070: 'CHIP'
$C074: 00 00 40 10  00 00 00 03  80 00 40 00
$C080: <data 16384 bytes for bank 3>...

$10080:

 

EXAMPLE FOR SIMONS BASIC

$0000: 'C64 CARTRIDGE   '
$0010: 00 00 00 40  01 00 00 04  00 01 00 00  00 00 00 00
$0020: 'Simons Basic' 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10  00 00 00 00  80 00 20 00
$0050: <data 8192 bytes for 8000-9fff>...

$2050: 'CHIP'
$2054: 00 00 20 10  00 00 00 00  A0 00 20 00
$2060: <data 8192 bytes for a000-bfff>...

$4060:

 

EXAMPLE FOR OCEAN TYPE1

$0000: 'C64 CARTRIDGE   '
$0010: 00 00 00 40  01 00 00 05  00 00 00 00  00 00 00 00
$0020: 'Robocop2' 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10  00 00 00 00  80 00 20 00
$0050: <data 8192 bytes for 8000-9fff, bank 0>...

$2050: 'CHIP'
$2054: 00 00 20 10  00 00 00 01  80 00 20 00
$2060: <data 8192 bytes for 8000-9fff, bank 1>...
...
$20140: 'CHIP'
$20144: 00 00 20 10  00 00 00 10  A0 00 20 00
$20150: <data 8192 bytes for a000-bfff, bank 16>...

$22150: 'CHIP'
$22154: 00 00 20 10  00 00 00 11  A0 00 20 00
$22160: <data 8192 bytes for a000-bfff, bank 17>...
...
$40240:

 

EXAMPLE FOR FUN PLAY TYPE

$0000: 'C64 CARTRIDGE '
$0010: 00 00 00 40 01 00 00 07 00 00 00 00 00 00 00 00
$0020: 'FUN PLAY' 00 00 00 00 00 00 00 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10 00 00 00 00 80 00 20 00
$0050: <data 8192 bytes for 8000-9fff, bank 0>...

$2050: 'CHIP'
$2054: 00 00 20 10 00 00 00 08 80 00 20 00
$2060: <data 8192 bytes for 8000-9fff, bank 1>...

$4060: 'CHIP'
$2054: 00 00 20 10 00 00 00 10 80 00 20 00
$2060: <data 8192 bytes for 8000-9fff, bank 2>...
...

$1E130: 'CHIP'
$1E134: 00 00 20 10 00 00 00 39 80 00 20 00
$1E140: <data 8192 bytes for 8000-9fff, bank 15>...

$20140:

 

EXAMPLE FOR SUPER GAMES TYPE

$0000: 'C64 CARTRIDGE '
$0010: 00 00 00 40 01 00 00 08 00 00 00 00 00 00 00 00
$0020: 'SUPER GAMES' 00 00 00 00 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 40 10 00 00 00 00 80 00 40 00
$0050: <data 16384 bytes for 8000-bfff, bank 0>...

$4050: 'CHIP'
$4054: 00 00 40 10 00 00 00 01 80 00 40 00
$4060: <data 16384 bytes for 8000-bfff, bank 0>...

$8060: 'CHIP'
$8064: 00 00 40 10 00 00 00 02 80 00 40 00
$8070: <data 16384 bytes for 8000-bfff, bank 0>...

$C070: 'CHIP'
$C074: 00 00 40 10 00 00 00 03 80 00 40 00
$C080: <data 16384 bytes for 8000-bfff, bank 0>...

$10080:

 

EXAMPLE FOR ATOMIC POWER CARTRIDGE

$0000: 'C64 CARTRIDGE   '
$0010: 00 00 00 40  01 00 00 09  00 00 00 00  00 00 00 00
$0020: 'Atomic Power' 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10  00 00 00 00  80 00 20 00
$0050: <data 8192 bytes for bank 0>...

$2050: 'CHIP'
$2054: 00 00 20 10  00 00 00 01  80 00 20 00
$2060: <data 8192 bytes for bank 1>...

$4060: 'CHIP'
$4064: 00 00 20 10  00 00 00 02  80 00 20 00
$4070: <data 8192 bytes for bank 2>...

$6070: 'CHIP'
$6074: 00 00 20 10  00 00 00 03  80 00 20 00
$6080: <data 8192 bytes for bank 3>...

$8080:

 

EXAMPLE FOR EPYX FASTLOAD TYPE

$0000: 'C64 CARTRIDGE '
$0010: 00 00 00 40 01 00 00 0A 01 01 00 00 00 00 00 00
$0020: 'EPYX FASTLOAD' 00 00 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10 00 00 00 00 80 00 20 00
$0050: <data 8192 bytes for 8000-9fff>

$2050:

 

EXAMPLE FOR WESTERMANN TYPE

$0000: 'C64 CARTRIDGE '
$0010: 00 00 00 40 01 00 00 0B 00 01 00 00 00 00 00 00
$0020: 'Westermann' 00 00 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 40 10 00 00 00 00 80 00 40 00
$0050: <data 16384 bytes for 8000-bfff>

$4050:

 

 

EXAMPLE FOR REX TYPE

$0000: 'C64 CARTRIDGE '
$0010: 00 00 00 40 01 00 00 0C 00 01 00 00 00 00 00 00
$0020: 'Rex' 00 00 00
$0030: 00 00 ... 00

$0040: 'CHIP'
$0044: 00 00 20 10 00 00 00 00 80 00 20 00
$0050: <data 8192 bytes for 8000-9fff>

$2050: