Toolchain diagnostics (GBS0500–GBS0599)
The toolchain and the build itself: missing tools, project file problems, and settings that were asked for but could not be honoured.
GBS0501: GBDK not found
Severity: Error · Suppressible: no
Could not locate a GBDK-2020 installation. Looked in: {0}
Run 'gbsharp doctor --fix' (or 'pwsh tools/get-gbdk.ps1' in a checkout) to fetch the pinned toolchain, set the GBDK_HOME environment variable, or pass --gbdk-path.
GBS0502: Backend compilation failed
Severity: Error · Suppressible: no
GBDK failed to compile the generated C (exit code {0}). Generated source: {1}
This is usually a GB# code generation bug. The generated C has been kept so it can be inspected.
GBS0503: Invalid project file
Severity: Error · Suppressible: no
{0}: {1}
GBS0504: No source files
Severity: Error · Suppressible: no
No .cs files found under '{0}'.
GBS0505: No emulator configured
Severity: Warning · Suppressible: no
No emulator is configured for this project.
Set "emulator" in the project file to the path of SameBoy, BGB or Emulicious.
GBS0506: Emulator could not be launched
Severity: Error · Suppressible: no
Could not launch '{0}': {1}
The ROM was built and is still on disk. Check the path, or set "emulator" in the project file to the emulator you want.
GBS0507: Project file drift
Severity: Warning · Suppressible: yes
'{0}' would let an editor compile a different set of files than GB# builds: {1}.
GB# always builds from gbsharp.json's own file list, never from the .csproj. Update the csproj, or gbsharp.json's "exclude", so an editor sees the same files GB# does.
GBS0508: Diagnostic cannot be suppressed
Severity: Warning · Suppressible: no
{0} cannot be suppressed or downgraded, and the setting for it was ignored.
GB# stops the build on this diagnostic because it cannot generate code for what it describes; letting it through would produce C that compiles and does the wrong thing. Costs and resource notes can be configured freely.
GBS0510: Bank usage unavailable
Severity: Info · Suppressible: no
Per-bank ROM and WRAM usage could not be read ({0}).
The ROM was still built. GB# reads what the linker actually placed using GBDK's 'romusage' tool; check that the toolchain install is complete.
GBS0511: Library not found
Severity: Error · Suppressible: no
{0}: "libraries" names '{1}', which does not exist.
GB# links whatever is declared under "libraries" without inspecting it - check the path is correct and relative to the project directory, and that the file has been built.
GBS0512: Include not found
Severity: Error · Suppressible: no
{0}: "includes" names '{1}', which does not exist.
Headers declared under "includes" are added to the generated C, which is how a [Native] method reaches a function the framework does not wrap - check the path is correct and relative to the project directory.
GBS0513: Cartridge RAM does not match the mapper
Severity: Warning · Suppressible: yes
{0}: {1}
The ROM still builds; its header just describes a cartridge that was never made. Leave "ramBanks" unset to let the mapper decide, or name a mapper that matches the save RAM you want.