GBDK-4.5.0
Upgrading
If upgrading, please review 4.5.0 section in "Migrating to new GBDK Versions" in the docs.
Build OSes (May alter OS compatibility)
- Changed from building on MacOS 13 to MacOS 15 for 64 bit Intel
Highlights
- Added HRAM variable allocation and example (sm83)
- Added SRAM bank
#pragma dataseg DATA_<N>and example (sm83, z80) - Added zx0 compression support and
zx0_decompress()(sm83, z80) png2asset:- Added logging of conversion arguments to .c and .h output files
- Added
-use_metafileoption to load arguments from<inputfile>.meta
- New Examples:
- Game Boy MBC5 Rumble (@EV3lindaboi)
- SMS NMI handler
- MegaDuck Laptop Printer
Other Notable Changes
- See Full Release notes in the online docs
- Library
- GB/AP/Duck
- Improved
get_bkg_xy_addr(),get_win_xy_addr() - Improved performance for banked calls
- Improved
- SMS/GG
- Changed GG "not interrrupt" link port control bit constant from GGEXT_NINIT to GGEXT_NINT
- Fixed parameter order of
set_tile_submap(),set_tile_submap_compat() - Fixed tilemap width not set correctly in
set_tile_submap_compat()
- NES: Fixed fill_bkg_rect() screen edge wrap, now calls set_bkg_tile_xy()
- GB/AP/Duck
- Examples
- Added MegaDuck and Game Gear support to Game Boy Printer example
- Fixed Platformer example incorrectly using
-keep_duplicate_tilesflag - Fixed Text Advanced Dialogue example printing
- Toolchain / Utilities
bankpack: Changed Linkerfile output for use with asm.bndryalignment in rom banksgbcompress: added include guards for header file output (@RodrigoCard)png2asset- Added binary palette export for -bin mode
- Fixed SGB borders with more than one 16 color palette
- Docs: Improved html style, section links and mobile web formatting