Jibby configuration

Inspired by Chronicles, Jibby allows you to configure various ROM setttings at compile-time through command line parameters.

The available parameters are as listed in the Consts section below, but with "gb" prepended to it.

Example:

-d:gbAllocType=FreeList
-d:gbRomTitle='HELLO WORLD'

Some of these configurations require the wrapper tools to be rebuilt, so you may want to delete the .tools/ subdirectory beforehand.

Consts

allocType: AllocType = Arena
which allocator to use
codeStart: int = 336
where in ROM should the compiled code start
Note: requires tool rebuild.
compilerMaxAlloc: int = 50000
controls SDCC's --max-alloc-per-node setting. higher value = better code gen but longer to compile.
Note: requires tool rebuild.
dataStart: int = 49312
where in WRAM should variables go
Note: requires tool rebuild.
heapSize: int = 256
the size of the dynamic heap available to the malloc function.
Note: requires tool rebuild.
romTitle: string = ""
Name to use inside the ROM header
Note: requires tool rebuild.
stackStart: int = 57344
where in WRAM should the stack grow from
Note: requires tool rebuild.
useAsmProcs: bool = false

whether or not some procs should use the assembly version.

currently affects:

  1. nimMemory: nimCopyMem and the memcpy function.
  2. init: initNimRuntimeVars.
useGbdk: bool = false
if we are using GBDK's libraries
Note: requires tool rebuild.
virtualSpritesStart: int = 49152
where in WRAM should the virtual OAM start
Note: requires tool rebuild.