Project-wide settings are stored in the new project.json
that lives in the root of an SDK project.
{ "title" : "My GameTank Game", "romname" : "game.gtr", "progbanks" : 1, "modules" : [ "PERSIST", "RANDOM", "TEXT", "DRAWQUEUE" ] }
The full title of your game. Not actually used for anything yet but stay tuned!
The output filename for the GameTank ROM to compile from this project
A number of additional ROM banks to set aside near the top of cartridge memory. The first segment is “PROG0”, additional segments are “PROG1”, “PROG2”, etc.
cc65 recognizes preprocessor directives such as #pragma code-name (“PROG0”)
which will store compiled program data into another segment. Be sure to swap to the correct ROM bank before attempting to access that data or code though!
The modules list defines which of the optional features are enabled and compiled.
If you're not using certain SDK features then why have them take up ROM space? Normally you should be able to fit a lot of content into the 2MB cartridge, but if you're *thiiiis* close to fitting into the banks you're using and don't want to refactor then try removing an unused feature.
API for saving data to the flash chip
Default RNG algorithm
Functions for printing strings to the screen
The interrupt-driven queued drawing system.