Commodore 64 CRT file builder
Second iteration of the Commodore 64 cartridge builder. Designed for building EasyFlash
cartridge images, but it could be repurposed to generate images for other hardware.
Command line: CartridgeBuilder2 <config>
<config>
is the JSON configuration file that contains information about files, patches and
tables to include when generating cartridge images.
Exrom
(bool)Game
(bool)Hardware
(int)Capacity
(int)Name
(string)Files
(array of objects)LoadAddress
(int)Name
(string)Path
(string, required)Patches
(array of objects)Bank
(int, required)Offset
(int, required)WrapStrategy
(see below)Path
(string, required)Tables
(array of objects)Bank
(int, required)Offset
(int, required)Length
(int)Index
(int)WrapStrategy
(see below)Type
(see below, required)Fills
(array of objects)Bank
(int, required)Offset
(int, required)Length
(int)WrapStrategy
(see below)Byte
Both
: use both the 8000 and A000 memory mapped regions. (Default)Low
: use only the 8000 memory mapped region.High
: use only the A000 memory mapped region.Bank
: bank number where a file is stored.Name
: output file name, determined by properties in the Files section.NameNumber
: converts a number string to a byte value (hex.)OffsetLow
: low 8 bits of the offset within the bank.OffsetHigh
: high 8 bits of the offset within the bank.StartAddressLow
: low 8 bits of the system-mapped address within the bank.StartAddressHigh
: high 8 bits of the system-mapped address within the bank.LoadAddressLow
: low 8 bits of the load address.LoadAddressHigh
: high 8 bits of the load address.LengthLow
: low 8 bits of the data length.LengthHigh
: high 8 bits of the data length.OffsetReset
/BankStart
: see the Bank Wrapping section for more info.OffsetMatch
/BankStop
: see the Bank Wrapping section for more info.Compressed
: determines the compression type.When data reaches the end of storage space specified by the wrapping strategy while being written,
additional information can be stored to reflect at which page to perform a wrap, and which page
to wrap back to.
Both
: reset is 0x80, match is 0xC0Low
: reset is 0x80, match is 0xA0High
: reset is 0xA0, match is 0xC0Target frameworks
Compatible build processes
dotnet build
MIT. See LICENSE for details.