Releases: gbdk-2020/gbdk-2020-sdcc
sdcc binaries (patched) for GBDK-2020 4.4.0
For: GBDK-2020 4.4.0
Versions
- Version for SDCC binaries:
152241524215267 (SDCC 4.5.0+)
Changes
Changes vs 4.3.0:
- Suppress .lst missing .o errors/warnings
- Warn instead of error on mis-matched object file o-line compiler/assembler settings
See Patches section for link with details.
Patches:
- Patches are now in ordered, individualized format instead of single tarball
See "GBDK-2020 4.4.0" in the Patches release: - https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/tag/patches
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 tag sdcc-patched-gbdk-4.4.0
gbdk-sdcc-next
Pre-release builds of GBDK-SDCC
For development purposes, not officially supported
- SDCC @
15267
w/gbdk patches +dataseg
pragma patch for z80/sm83
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 4.5 (GBDK 4.4.0)
- Windows 32 Bit: sdcc-4.5-win32-dlls.zip
- Windows 64 Bit: sdcc-4.5-win64-dlls.zip
- macOS: sdcc-4.5-macos-cc1-15224.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