git.y1.nz

gbdk-2020

GameBoy Development Kit
download: https://git.y1.nz/archives/gbdk.tar.gz
README | Files | Log | Refs | LICENSE

commit b421dac3e265fffee2405c32a1c0abe940db5ef0
parent bbc6375fe33a34a6b5b344101aac44efefc9005b
Author: bbbbbr <bbbbbr@users.noreply.github.com>
Date:   Fri, 25 Apr 2025 00:12:18 -0700

Merge pull request #766 from bbbbbr/docs_4_4_0

Docs: text changelog, other minor updates
Diffstat:
Mdocs/ChangeLog49+++++++++++++++++++++++++++++++++++++++++++++++++
Mdocs/pages/09_migrating_new_versions.md3++-
Mdocs/pages/10_release_notes.md5+++--
Mgbdk-lib/examples/gb/mbc7_accelerometer/Readme.md2+-
Mgbdk-lib/include/gb/gb.h1+
Mgbdk-lib/include/nes/nes.h1+
6 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/docs/ChangeLog b/docs/ChangeLog @@ -1,3 +1,52 @@ +gbdk-4.4.0 + - Library + - NES + - Added delay() and reset() functions for compatibility + - Added Timer interrupt emulation: add_TIM(), remove_TIM() + - Improved LCD ISR support for less graphics glitches + - Improved palette function code size (smaller) + - Changed LCD bkg_scroll_y to be relative to the current scanline for higher compatibility with Game Boy SCY_REG and LCD handlers + - Fixed bug with set_bkg_1bpp_data() not working in buffered mode + - Fixed bug with multiple column attribute updates + - Fixed bugs with non-multiple-of-2 (/4) map width in set_bkg_submap_attributes() + - SMS/GG + - Added Timer interrupt emulation: add_TIM(), remove_TIM() + - Improved metasprite Y clipping + - Changed from unsigned (uint16_t) to signed int16 (int16_t) for coordinates with the family of ...metasprite...() functions + - MegaDuck + - Added header files: duck/laptop_io.h, duck/model.h, duck/laptop_keycodes.h + - Toolchain / Utilities + - lcc + - Changed use --no-optsdcc-in-asm for building user programs and the GBDK library + - This removes some "O line" meta-data from object files to avoid false-positive linker errors + - It is a workaround for SDCC now appending the calling convention to the "O Line" in the object files by default + - Changed to warn about some deprecated flags: A,b, B, -dn, -g, -n, -O, P, -p, -static, -t, -w + - Added makenes utility for finalizing NES rom headers (called automatically by lcc) + - png2asset + - Added -area option to specify linker area name (such as -area LIT for SMS/GG) + - Added support for 512 tiles via alternate tile bank on GBC + - Fixed Palette Generation broken when using -source_tileset option + - bankpack: Added support for MBC7 + - romusage + - Added Set hex bytes treated as Empty in ROM files (.gb/etc) -b:HEXVAL:[...] + - Added option to Hide memory regions (ex hide all RAM: -nMEM:RAM) + - Added support NES (-p:NES1) .noi/.map files + - Changed to allow filename at any location in option arguments + - Fixed detecting areas with leading underscores for .noi/.map files + - Fixed Brief/summarized mode counting overlapped header areas multiple times + - png2hicolorgb + - Added --palendbit for indicating end of data + - Added --addendcolor=N for appending color to clear the background on non-full height images + - Added --precompiled mode + - Added -s to specify variable/symbol name in C output + - ihxcheck: Fixed check on max bank to prevent crash + - Examples + - Added Game Boy MBC7 Accelerometer, MBC3 Real Time Clock (RTC) + - Added Mega Duck Laptop Keyboard, RTC, Speech + - Added Text and Dialog example + - Changed irq example to be cross-platform + - Improved emu_debug example + gbdk-4.3.0 - Library - Added get_system() which indicates system speed diff --git a/docs/pages/09_migrating_new_versions.md b/docs/pages/09_migrating_new_versions.md @@ -7,7 +7,8 @@ This section contains information that may be useful to know or important when u ## Porting to GBDK-2020 4.4.0 - GBDK now requires ~SDCC 4.5.0 or higher with GBDK-2020 patches for the z80 and NES - Build Host: - - Changed from building on MacOS 11 to MacOS 13 + - Changed from building on MacOS 11 to MacOS 13 for 64 bit Intel + - Changed from building on Ubuntu Linux 20.04 to 22.04 for 64 bit Intel - NES - LCD bkg_scroll_y is now relative to the current scanline - This change creates higher compatibility with the Game Boy SCY_REG and makes it easier to re-use Game Boy LCD handlers diff --git a/docs/pages/10_release_notes.md b/docs/pages/10_release_notes.md @@ -13,7 +13,8 @@ https://github.com/gbdk-2020/gbdk-2020/releases - See the [github workflow](https://github.com/gbdk-2020/gbdk-2020-sdcc/tree/main/.github/workflows) for details. - Building GBDK - Added native GBDK build for ARM 64 Linux - - Changed from building on MacOS 11 to MacOS 13 (may reduce compatibility with older OS versions) + - Changed from building on MacOS 11 to MacOS 13 for 64 bit Intel + - Changed from building on Ubuntu Linux 20.04 to 22.04 for 64 bit Intel - SDCC - Changed to using the `-N` flag with sdas since the the `-n` flag was removed - Library @@ -29,7 +30,7 @@ https://github.com/gbdk-2020/gbdk-2020/releases - Improved LCD ISR support for less graphics glitches - Improved palette function code size (smaller) - Changed LCD bkg_scroll_y to be relative to the current scanline for higher compatibility with Game Boy SCY_REG and LCD handlers - - NES: Align coordinates and scanline counting in LCD ISR implementation with GB, add SCX / SCY / LYC defines + - Align coordinates and scanline counting in LCD ISR implementation with GB, add SCX / SCY / LYC defines - Fixed bug with @ref set_bkg_1bpp_data() not working in buffered mode - Fixed bug with multiple column attribute updates - Fixed bugs with non-multiple-of-2 (/4) map width in @ref set_bkg_submap_attributes() diff --git a/gbdk-lib/examples/gb/mbc7_accelerometer/Readme.md b/gbdk-lib/examples/gb/mbc7_accelerometer/Readme.md @@ -23,7 +23,7 @@ cartridge as part of the process. Some example ranges for the sensor data: -`` +``` Slow rotation, measuring mostly the pull earth's gravity when the sensor not flat. The range is for a full rotation of 90 degrees from flat diff --git a/gbdk-lib/include/gb/gb.h b/gbdk-lib/include/gb/gb.h @@ -295,6 +295,7 @@ void add_LCD(int_handler h); Up to 4 handlers may be added, with the last added being called last. + @note For NES make sure to wrap TIM interrupt handlers with a nooverlay pragma. For more details see @ref docs_nes_tim_overlay diff --git a/gbdk-lib/include/nes/nes.h b/gbdk-lib/include/nes/nes.h @@ -282,6 +282,7 @@ void add_LCD(int_handler h) NO_OVERLAY_LOCALS; It is therefore currently limited to 60Hz / 50Hz (depending on system). + @note Make sure to wrap TIM interrupt handlers with a nooverlay pragma. For more details see @ref docs_nes_tim_overlay

This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.