wfconfig.toml serves as a project-wide configuration file.
This section describes the cartridge header of the output .ws
/.wsc
file.
The following fields can affect cartridge loaders and/or the boot ROM, and thus should be configured correctly:
“NONE”
- no save memory,“SRAM_8KB”
- 8 kilobytes of SRAM,“SRAM_32KB”
- 32 kilobytes of SRAM,“SRAM_128KB”
- 128 kilobytes of SRAM,“SRAM_256KB”
- 256 kilobytes of SRAM,“SRAM_512KB”
- 512 kilobytes of SRAM,“EEPROM_128B”
- 128 bytes of EEPROM,“EEPROM_2KB”
- 2048 bytes of EEPROM,“EEPROM_1KB”
- 1024 bytes of EEPROM.true
if your program starts out in the vertical orientation; this adjusts the boot ROM's splash screen appropriately.“2001”
- Bandai 2001 mapper. Supports EEPROM communication.“2003”
- Bandai 2003 mapper. Supports RTC communication, GPIO pins.The following fields have no effect on execution and exist solely as metadata:
true
if your program uses Color modes (regardless of whether it's mandatory or optional).The following fields are meant for advanced users only. Don't touch these unless you're building custom hardware.
8
or 16
.2
to enable an extra waitstate, slowing ROM reads down.true
if your program intends to read to the normally locked area of internal EEPROM. Note that, if used irresponsibly, this can lead to a brick on Color consoles!true
to force using the default boot splash on Color consoles, as opposed to the one stored in the internal EEPROM. May be used to unbrick consoles in some cases.true
to exclude the last 8 KiB of each linear ROM block (memory addresses 0xFE000
- 0xFFFFF
) from allocation. Note that this still allows using this area for ROM0/ROM1 allocations, as accessing them does not overlap the boot ROM.libws comes with some configuration options of its own, using defines:
-DLIBWS_USE_EXTBANK
- if defined, the ws_bank
ROM memory wrappers/functions in <ws/memory.h>
will use the 16-bit bank I/O ports exclusive to the 2003 mapper, as opposed to the default 8-bit bank I/O ports.