Releases: gbdk-2020/gbdk-2020-sdcc
sdcc binaries (patched) for GBDK-2020 4.3.0
For: GBDK-2020 4.3.0
Versions
- Version for SDCC binaries:
14635
14878
14650
Changes
Changes vs 4.2.0: Added NES overlay function decorator, fixed sdld errors when missing .lst files
See Patches section for link with details.
Adds Apple Silicon support (@chrismaltby)
Patches:
See "GBDK-2020 4.3.0" in the Patches release:
Dependencies:
Building SDCC from source:
Use the Build SDCC for GBDK
github workflow on MacOS, Linux, and Cross builds for Win32 and Win64 using Linux at commit 4fb514b
c46b607
+ 14650
sdcc binaries (patched) for GBDK-2020 4.2.0
For: GBDK-2020 4.2.0
Versions
- Version for SDCC binaries:
14228
Changes
Changes vs 4.1.1: Previously just sdldz80
was patched, now more parts of SDCC are patched to enable NES banking support. See Patches section for link with details.
Patches:
See "GBDK-2020 4.2.0" in the Patches release:
Dependencies:
Building SDCC from source:
See the github workflow for building this version on MacOS, Linux, and Cross builds for Win32 and Win64 using Linux:
sdcc-13350 binaries (patched) for GBDK-2020 4.1.0
For: GBDK-2020 4.1.0
Versions
- Version for unpatched SDCC binaries:
13350
- Version for patched SDCC binaries:
12539
Changes
Changes vs 4.0.6 are that only sdldz80
is patched, all other changes have been merged upstream.
Patches:
sdldz80
: sms/gg address translation - https://sourceforge.net/p/sdcc/patches/396/
Other Notes:
The linux port is not a SDCC project built snapshot. Instead it is built on Ubuntu 16.04 due to reduced GLIBC compatibility issues in more recent SDCC project snapshot builds.
# Building SDCC from source on Ubuntu 16.04 VM (for better GLIBC compatibility)
## Dependencies
sudo apt-get install flex bison
sudo apt install libboost-dev
sudo apt-get install texinfo
sudo apt install zlib1g
sudo apt install zlib1g-dev
# Build (For future may want to explicitly enable the 6500/6502 port)
mkdir sdcc
cd sdcc
wget https://sourceforge.net/code-snapshots/svn/s/sd/sdcc/code/sdcc-code-r13350-trunk.zip
unzip https://sourceforge.net/code-snapshots/svn/s/sd/sdcc/code/sdcc-code-r13350-trunk.zip
cd sdcc-code-r13350-trunk/sdcc
./configure \
--enable-gbz80-port \
--enable-z80-port \
--disable-mcs51-port \
--disable-z180-port \
--disable-r2k-port \
--disable-r2ka-port \
--disable-r3ka-port \
--disable-tlcs90-port \
--disable-ez80_z80-port \
--disable-z80n-port \
--disable-ds390-port \
--disable-ds400-port \
--disable-pic14-port \
--disable-pic16-port \
--disable-hc08-port \
--disable-s08-port \
--disable-stm8-port \
--disable-pdk13-port \
--disable-pdk14-port \
--disable-pdk15-port \
--disable-ucsim \
--disable-doc \
make
cd sdcc
strip *
sdcc-12539 binaries (patched) for GBDK-2020 4.0.6
For: GBDK-2020 4.0.6
Changes vs 4.0.5 are the -yN
flag for makebin, which LCC begins using by default
Pending:
- Fix for truncated .noi to .sym conversion: https://sourceforge.net/p/sdcc/patches/400/
Patches:
makebin
(for gbz80) : Adds -yN flag to turn off forced GB logo copy - https://sourceforge.net/p/sdcc/patches/395/sdldz80
: sms/gg address translation - https://sourceforge.net/p/sdcc/patches/396/sdcc -mz80
: allow -bo -ba switches (Linux & macOS only, not available in Windows sdcc.exe)sdasz80
: support for .incbin directive - https://sourceforge.net/p/sdcc/patches/398/sdasz80
andsdasgb
: patched for macOS macro symbol 80 character overflow (for bgb_debug) - https://sourceforge.net/p/sdcc/bugs/3277/
(osx build is: 12548 for official binaries, 12539 for patched)
sdcc-12539 compiler source unpatched
Un-patched snapshot of the SDCC source tree at 12539
You can apply the GBDK-2020 SDCC patches to this and then build it.
You can also generate a snapshort directly at the SDCC SourceForge website:
Go to this URL and then click the "Get Snapshot" link:
https://sourceforge.net/p/sdcc/code/12539/tree/trunk/
SDCC Extras (Windows dependency DLLs, etc)
SDCC 4.3
- Windows 32 Bit: sdcc-4.3-win32-dlls.zip
- Windows 64 Bit: sdcc-4.3-win64-dlls.zip
- macOS: sdcc-4.3-macos-cc1-14110.tar.gz
sdcc-13911 binaries (patched) for GBDK-2020 4.2.0 Prerelease
For: GBDK-2020 4.2.0
Versions
- Version for patched and unpatched SDCC binaries:
13911
Changes
Only sdldz80
is patched, all other changes have been merged upstream.
Patches:
sdldz80
: sms/gg address translation - https://sourceforge.net/p/sdcc/patches/396/
Other Notes:
The linux port is not a SDCC project built snapshot. Instead it is built on Ubuntu 16.04 due to reduced GLIBC compatibility issues in more recent SDCC project snapshot builds.
# Building SDCC from source on Ubuntu 16.04 VM (for better GLIBC compatibility)
## Dependencies
sudo apt-get install flex bison
sudo apt install libboost-dev
sudo apt-get install texinfo
sudo apt install zlib1g
sudo apt install zlib1g-dev
# Build (For future may want to explicitly enable the 6500/6502 port)
mkdir sdcc
cd sdcc
wget https://sourceforge.net/code-snapshots/svn/s/sd/sdcc/code/sdcc-code-r13911-trunk.zip
unzip sdcc-code-r13911-trunk.zip
cd sdcc-code-r13911-trunk/sdcc
./configure \
--enable-sdcdb \
--enable-gbz80-port \
--enable-z80-port \
--disable-mcs51-port \
--disable-z180-port \
--disable-r2k-port \
--disable-r2ka-port \
--disable-r3ka-port \
--disable-tlcs90-port \
--disable-ez80_z80-port \
--disable-z80n-port \
--disable-ds390-port \
--disable-ds400-port \
--disable-pic14-port \
--disable-pic16-port \
--disable-hc08-port \
--disable-s08-port \
--disable-stm8-port \
--disable-pdk13-port \
--disable-pdk14-port \
--disable-pdk15-port \
--disable-ucsim \
--disable-doc
wget https://sourceforge.net/p/sdcc/patches/396/attachment/sdldz80-sms-virtual-address.patch
patch -p1 < sdldz80-sms-virtual-address.patch
make
# copy some files that are now linked to instead from bin
cp support/sdbinutils/binutils/sdar bin/sdar
cp support/cpp/gcc/cpp bin/sdcpp
cp src/sdcc bin/sdcc
cp support/sdbinutils/binutils/sdnm bin/sdnm
cp support/sdbinutils/binutils/sdobjcopy bin/sdobjcopy
cp support/sdbinutils/binutils/sdranlib bin/sdranlib
cp support/cpp/gcc/cc1 bin/cc1
# Strip the binaries
strip bin/*
sdcc-12539 patch source
Patches for SDCC 12539 used for the GBDK 4.0.5 release
SDCC Patches
Patches for SDCC
These patches are used in the Github workflow for building a patched SDCC (to be used by GBDK-2020)
GBDK-2020 4.1.0 - 4.1.1
gbdk-4.1.0-sdldz80-sms-virt-addr.patch
GBDK-2020 4.2.0
- A combined patch:
gbdk-4.2-nes_banked_nonbanked_v4_combined.diff.patch
gbdk-4.2-nes_banked_nonbanked_v3_combined-patches
gbdk-4.2-nes_banked_v2_merged-patches
- ("non-combined version has the same patches, but is not packaged for Github Action building)
GBDK-2020 4.3.0
(SDCC 4.3.x)gbdk-4.2-nes_banked_nonbanked_no_overlay_locals_v5_combined.diff.patch
(SDCC 4.4.0)gbdk-4.2-nes_banked_nonbanked_no_overlay_locals_v6_combined.diff.patch
gbdk-4.3-nes_banked_nonbanked_no_overlay_locals_v7_combined_no_banked_or_bank_overhead.diff.patch
(SDCC 4.4.0)gbdk-4.3-nes_banked_nonbanked_no_overlay_locals_v8_combined.patch
(SDCC 4.4.0 @ 14865)
GBDK-2020 4.1.0 Linux-x64 Pre 2022-09-28
This is temporary - Do not rely on it.
Used for CI/CD to build some ROM projects until official GBDK 4.1.0 build is out.