|
GBDK 2020 Docs
4.4.0
API Documentation for GBDK 2020
|
-tile_origin to create a map with the tile index offsets built in.-yt makebin flag?
old "gbz80" SDCC PORT name specified (in "-mgbz80:gb"). Use "sm83" instead. You must update your build settings. mean?PORT name for the Game Boy and related clones changed from gbz80 to sm83 in the SDCC version used in GBDK-2020 4.1.0 and later. You must change your Makefile, Build settings, etc to use the new name. Additional details in the Console Port and Platform Settings section. ?ASlink-Warning-Conflicting sdcc options: "-msm83" in module "_____" and "-mgbz80" in module "_____". mean?gbz80 (meaning a version of SDCC / GBDK-2020 OLDER than GBDK-2020 4.1.0).sm83 (meaning GBDK-2020 4.1.0 or LATER).sm83 with GBDK-2020 4.1.0 or later so that the linker is able to use them with the other object files. Additional details in the Console Port and Platform Settings section. ?ASlink-Warning-Undefined Global ... mean?z80instructionSize() failed to parse line node, assuming 999 bytes mean?WARNING: possibly wrote twice at addr 4000 (93->3E) Warning: Write from one bank spans into the next. 7ff7 -> 8016 (bank 1 -> 2)You may have a overflow in one of your ROM banks. If there is more data allocated to a bank than it can hold it then will spill over into the next bank.
A common problem is when there is too much data in ROM0 (the lower 16K unbanked region) and it spills over into ROM1 (the first upper 16K banked region). Make sure ROM0 has 16K or less in it.
The warnings are generated by ihxcheck during conversion of an .ihx file into a ROM file.
See the section ROM/RAM Banking and MBCs for more details about how banks work and what their size is. You may want to use a tool such as romusage to calculate the amount of free and used space.
error: size of the buffer is too small error: ROM is too large for number of banks specifiedYour program is using more banks than you have configured in the toolchain. Either the MBC type was not set, or the number of banks or MBC type should be changed to provide more banks.
See the section setting_mbc_and_rom_ram_banks for more details.
warning 283: function declarator with no prototype mean?func() to func(void).func() and func(void) do not mean the same thing. () means any number of parameters, (void) means no parameters. For example if a function with no arguments is declared with () then there may not be an error or warning when mistakenly trying to pass arguments to it. warning 126: unreachable code warning 110: conditional flow changed by optimizer: so said EVELYN the modified DOGvolatile keyword can be added to it's declaration. This removes some optimizations and tells the compiler the variable's value may change unexpectedly and cannot be predicted only based on the surrounding code. WARNING: overflow in implicit constant conversion
... developer cannot be verified, macOS cannot verify that this app is free from malware mean?info 218: z80instructionSize() failed to parse line node, assuming 999 bytes-debugto turn on debug output. It covers most uses and removes the need to specify multiple flags such as -Wa-l -Wl-m -Wl-j. Also see tools_debug. .sym) compatible with an emulator?.noi output (LCC argument: -Wl-j or -debug and then use -Wm-yS with LCC (or -yS with makebin directly).DATA section and the Shadow OAM location?_shadow_OAM=0xC000 and 240 bytes after it _DATA=0xC0A0-Wl-g_shadow_OAM=0xC100-Wl-b_DATA=0xc1a0 const keyword. It's important to use the const keyword for read-only data. See const_gbtd_gbmb and const_array_data#included into other C source files, or if there is a very large source file. float type to do floating point math?fixed point math (including the fixed type included in GBDK).