Go to the first, previous, next, last section, table of contents.

# 14 cartconv

The cartconv program is a cartridge conversion utility, it can convert between binary and .crt images and it can 'insert' binary and/or .crt images into the EPROM type of cartridges.

    convert:    cartconv [-r] [-q|-v] [-t cart type] [-s cart revision] -i "input name" -o "output name" [-n "cart name"] [-l load address]
    print info: cartconv [-r] [-q|-v] -f "input name"
    check file: cartconv [-r] [-q|-v] -c "input name"

    -f <name>                   print info on file
    -c --check <name>           check file
    -r                          repair mode (accept broken/invalid input files)
    -p                          accept non padded binaries as input
    -b                          output all banks (do not optimize the .crt file)
    -t <type> or <crtid>        output cart type
    -s <rev>                    output cart revision/subtype
    -i <name>                   input filename
    -o <name>                   output filename
    -n <name>                   crt cart name
    -l <addr>                   load address
    -q                          quiet
    -v --verbose                verbose
    --types                     show the supported cart types
    --version                   print cartconv version
    --options-file <filename>   write options for reverting the conversion into a file (for test script)

## 14.1 cartconv command line options

The cartconv program has the following parameters:

`-i "input name"`
  This parameter is mandatory, it should contain the name of the binary/.crt file you want to convert. For the EPROM type of cartridges this parameter can be used multiple times to insert images into the resulting file.
`-o "output name"`
  This parameter is mandatory, it should contain the name of the binary/.crt file you want to convert the input file to.
`-t carttype`
  This parameter is optional. It is only needed when converting to a .crt file. See below for the supported cartridge types.
`-s revision`
  This parameter is optional. It is only needed when converting to a .crt file. See the detailed description of the .crt format for which types support subtypes/revisions.
`-n "cart name"`
  This parameter is optional and is used as the cartridge name when creating a .crt file. By default the cartridge name will be set to the cartridge type.
`-l loadaddress`
  This parameter is optional and is used as the load-address when converting a .crt file to a .prg file, or when converting to a generic type .crt file.
`-f "input name"`
  This parameter is optional, and is meant to output information about the named file. It can't be used in conjuction with any of the other parameters.
`-c "input name"`
`--check "input name"`
  Works similar to -f, but does not output anything except on errors. On errors it will also make cartconv exit with an exitcode of -1.
`-r`
  This parameter is optional, it enables repair mode (accept broken input files)
`-p`
  This parameter is optional, when it is given cartconv will accept input files that do not match the cartridge sizes (useful for development).
`-b`
  This parameter is optional, when it is given cartconv will not omit banks that are empty (filled with $ff).
`-q`
  This parameter is optional, it disables all non-error messages
`-v`
`--verbose`
  This parameter is optional, it enables more verbose messages
`--types`
  This parameter is optional. It shows all supported cartridge types (see below).
`--version`
  Show cartconv version string and exit
`--options-file <filename>`
  This parameter is optional. If present, cartconv writes options for reverting the conversion into a file, this is mostly useful for the test script.

## 14.2 cartconv supported cartridge types

The following cartridge types are supported:

`bin`
  Binary .bin file (Default crt->bin)
`prg`
  Binary C64 .prg file with load-address

C64 cartridges:

`normal`
  Generic 8KiB/12KiB/16KiB .crt file (Default bin->crt)
`ulti`
  Ultimax mode 4KiB/8KiB/16KiB .crt file
`ap`
  Atomic Power .crt file
`ar2`
  Action Replay MK2 .crt file
`ar3`
  Action Replay MK3 .crt file
`ar4`
  Action Replay MK4 .crt file
`ar5`
  Action Replay V5 .crt file
`bis`
  BIS-Plus .crt file
`bb3`
  Blackbox V3 .crt file
`bb4`
  Blackbox V4 .crt file
`bb8`
  Blackbox V8 .crt file
`bb9`
  Blackbox V9 .crt file
`cap`
  Capture .crt file
`comal`
  Comal 80 .crt file
`dep256`
  Dela EP256 .crt file, extra files can be inserted (1)(2)
`dep64`
  Dela EP64 .crt file, extra files can be inserted (1)
`dep7x8`
  Dela EP7x8 .crt file, extra files can be inserted (1)(2)(3)
`din`
  Dinamic .crt file
`dsm`
  Diashow-Maker .crt file
`easy`
  EasyFlash .crt file
`ecr`
  Easy Calc Result .crt file
`epyx`
  Epyx FastLoad .crt file
`exos`
  EXOS .crt file
`expert`
  Expert Cartridge .crt file
`f64`
  Formel 64 .crt file
`fc1`
  The Final Cartridge .crt file
`fc3`
  The Final Cartridge III .crt file
`fcp`
  Final Cartridge Plus .crt file
`ff`
  Freeze Frame .crt file
`ff2`
  Freeze Frame MK2 .crt file
`fm`
  Freeze Machine .crt file
`fp`
  Fun Play .crt file
`gk`
  Game Killer .crt file
`gmod2`
  GMod2 .crt file
`gmod3`
  GMod3 .crt file
`gs`
  C64 Games System .crt file
`hyper`
  Hyper-Basic .crt file
`ide64`
  IDE64 .crt file
`ieee`
  IEEE-488 Interface .crt file
`ieeeflash64`
  IEEE Flash! 64 interface .crt file
`kcs`
  KCS Power Cartridge .crt file
`ks`
  Kingsoft .crt file
`ltk`
  Lt. Kernal Host Adaptor .crt file
`mach5`
  MACH 5 .crt file
`md`
  Magic Desk .crt file
`mf`
  Magic Formel .crt file
`max`
  MAX Basic .crt file
`mikro`
  Mikro Assembler .crt file
`mmc64`
  MMC64 .crt file
`mmcr`
  MMC Replay .crt file
`mv`
  Magic Voice .crt file
`mm`
  MultiMAX .crt file
`ocean`
  Ocean .crt file
`p64`
  Prophet64 .crt file
`pf`
  Pagefox .crt file
`partner64`
  Partner 64 .crt file
`rep256`
  REX 256KiB EPROM Cart .crt file, extra files can be inserted (1)(2)(3)
`rgcd`
  RGCD .crt file
`ross`
  ROSS .crt file
`rr`
  Retro Replay .crt file
`rrnet`
  RR-Net MK3 .crt file
`rrf`
  REX RAM-Floppy .crt file
`ru`
  REX Utility .crt file
`sdbox`
  SD-BOX .crt file
`s64`
  Snapshot 64 .crt file
`sb`
  Structured BASIC .crt file
`se5`
  Super Explode V5.0 .crt file
`sg`
  Super Games .crt file
`silver`
  Silverrock 128KiB Cartridge .crt file
`simon`
  Simons' BASIC .crt file
`ss4`
  Super Snapshot V4 .crt file
`ss5`
  Super Snapshot V5 .crt file
`star`
  Stardos .crt file
`turtle`
  Turtle Graphics II .crt file
`wl`
  Westermann Learning .crt file
`ws`
  Warp Speed .crt file
`zaxxon`
  Zaxxon .crt file
`zipp`
  ZIPP-CODE 48 .crt file

- (1) insertion of 32KiB EPROM files supported.
- (2) insertion of 8KiB .crt/binary files supported.
- (3) insertion of 16KiB .crt/binary files supported.

C128 cartridges:

`c128`
  generic C128 cartridge ("external function ROM")
`comal128`
  Comal 80
`gmod128`
  Gmod2-C128
`md128`
  Magic Desk 128
`partner128`
  Partner 128
`ws128`
  Warpspeed128

VIC20 cartridges:

`vic20`
  Generic 8KiB/12KiB/16KiB cartridge
`bb`
  Behr Bonz
`fe3`
  Final Expansion
`mega`
  Mega-Cart
`um`
  UltiMem
`vicfp`
  Vic Flash Plugin

PLUS4 cartridges:

`plus4`
  Generic 4KiB/8KiB/16KiB/32KiB cartridge
`c1lo`
  Generic 4KiB/8KiB/16KiB C1LO cartridge
`c1hi`
  Generic 4KiB/8KiB/16KiB C1HI cartridge
`c2lo`
  Generic 4KiB/8KiB/16KiB C2LO cartridge
`c2hi`
  Generic 4KiB/8KiB/16KiB C2HI cartridge
`jacint`
  1MB Cartridge
`magic`
  c264 magic cart
`multi`
  Plus4 multi cart

CBM2 cartridges:

TODO - not implemented yet

## 14.3 cartconv examples

`cartconv -i foo.crt -o foo.bin`
  Convert a .crt file to a binary file with no load-address.
`cartconv -t prg -i foo.crt -o foo.prg`
  Convert a .crt file to a .prg file with default load-address.
`cartconv -t prg -l 49152 -i foo.crt -o foo.prg`
  Convert a .crt file to a .prg file with 49152 as the load-address.
`cartconv -t ocean -i foo.bin -o foo.crt`
  Convert a binary file to an ocean type cartridge.
`cartconv -t dep64 -i dep64.bin -i eprom.prg -o foo.crt`
  Inserting a 32KiB EPROM file into an dep64 type cartridge.
  - step 1 : use the dep64 binary file in VICE as a generic 8KiB cartridge.
  - step 2 : generate an EPROM file.
  - step 3 : get the EPROM file to the host computer.
  - step 4 : insert the EPROM file into the final dep64 .crt file:
`cartconv -t dep256 -i dep256.bin -i somegame.crt -o foo.crt`
  Insert an 8KiB .crt file into a dep256 type cartridge.
`cartconv -t rep256 -i rep256.bin -i foo1.crt -i foo2.crt -i foo3.crt -o foo.crt`
  Insert multiple 8KiB .crt files into a rep256 type cartridge.
`cartconv -f foo.crt`
  Get information about a .crt file.

Go to the first, previous, next, last section, table of contents.