Skip to content

v4.0

Choose a tag to compare

@Zal0 Zal0 released this 01 Oct 12:50
  • GBDK now requires SDCC 4.0.3 or higher, that has fully working toolchain. Old link-gbz80 linker is not used anymore, sdldgb and makebin are used to link objects and produce binary roms; maccer tool is no longer needed either

    • SDCC 4.0.3 has much better code generator which produces smaller and faster code. Code is twice faster
    • SOURCE LEVEL DEBUGGING is possible now! Native toolchain produces *.CDB files that contain detailed debug info. Look for EMULICIOUS extension for vs.code. It supports breakpoints, watches, inspection of local variables, and more!
    • SDCC 4.0.4 has fixed RGBDS support; library is not updated to support that in full yet, but it is possible to assemble and link code emitted by SDCC with RGBDS
    • New banked trampolines are used, they are faster and smaller
    • New (old) initialization for non-constant arrays do NOT require 5 times larger rom space than initialized array itself, SDCC even tries to compress the data
  • Library was improved

    • itoa/ltoa functions were rewritten, div/mod is not required now which is about 10 times faster
    • sprite functions are inline now, which is faster up to 12 times and produces the same or smaller code; .OAM symbol is renamed into _shadow_OAM that allows accessing shadow OAM directly from C code
    • interrupt handling was revised, it is now possible to make dedicated ISR's, that is important for time-sensitive handlers such as HBlank.
    • printf/sprintf were rewritten and splitted, print functions are twice faster now and also requre less rom space if you use sprintf() only, say, in bgb_emu.h
    • crash_handler.h - crash handler that allows to detect problems with ROMs after they are being released (adapted handler, originally written by ISSOtm)
    • improved and fixed string.h
    • many other improvements and fixes - thanks to all contributors!
  • Revised examples

  • Improved linux support

  • Lcc has been updated

    • it works with the latest version of sdcc
    • quoted paths with spaces are working now