Releases: CE-Programming/toolchain
CE C/C++ Toolchain (nightly)
Important
This is where all the latest development happens! (build is from the master branch)
Use only if you want a bleeding-edge toolchain (but mostly stable) or encounter any bugs as they might be squashed here.
This release is automatically updated.
Documentation is versioned per release; you can find the master branch docs here. Use the sidebar's bottom selector to switch versions.
Downloads
- Windows: CEdev-Windows-nightly.zip
- Linux: CEdev-Linux-nightly.tar.gz
- macOS intel: CEdev-macOS-intel-nightly.dmg
- macOS arm: CEdev-macOS-arm-nightly.dmg
CE Libraries
- Libraries Group: clibs.8xg
- Libraries Zip: clibs_separately_in_zip.zip
CE C/C++ Toolchain (v13.0)
The v13.0 toolchain is quite a big release: it includes lots of new features, fixes, improvements and optimizations! 🎉
We would like to thank @ZERICO2005 in particular who's worked on it a lot for a few months!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS (intel): CEdev-macOS-intel.dmg
macOS (arm): CEdev-macOS-arm.dmg
CEdev/bin/ (toolchain install) folder.
Changelog
-
New features
- Added new LCDDRVCE library (to interact with the ST7789 LCD controller) by @calc84maniac
- Added
long double/float64support and routines by @ZERICO2005 - Added CRT routines for 32/24/16bit * 8bit unsigned multiplication by @ZERICO2005
- Added clipped gfx_RotatedScaled(Transparent)Sprite by @ZERICO2005
- Added missing
<c*>C++ headers @ZERICO2005 - Implemented some C++ headers:
<algorithm>,<concepts>,<memory>,<numbers><source_location>,<version>by @ZERICO2005 - Implemented some C headers:
<complex.h>,<stdckdint.h>,<tgmath.h>by @ZERICO2005 - Added
fprintfandasprintf@ZERICO2005 - Added
boot_sprintf,boot_vsprintfet al by @calc84maniac, @ZERICO2005 - Implemented
strlcpyby @nitinseshadri - Implemented
memccpyby @calc84maniac - Implemented
stpcpy,mempcpy, andmemrchrby @ZERICO2005 - Implemented bit operations under
<ez80_builtin.h>,<bit>, and<stdbit.h>by @calc84maniac, @ZERICO2005
-
Fixes
- Fixed cursor image bugs and improved LCD cursor behavior by @nitinseshadri
- Fixed missing
__fremCRT routine by @calc84maniac - Fixed C++
absoverloads by @ZERICO2005 - Fixed conformance/behaviour of
<math.h>and<cmath>headers by @ZERICO2005 - Fixed floating-point bugs in math routines by @ZERICO2005
-
Improvements
- Updated (rebased) clang compiler from 15.0.0 to 15.0.7 (producing overall better code) by @adriweb
- Various compiler optimizations and misc. improvements by @calc84maniac
- Updated convimg submodule (adds multithreading support for increased speed) by @mateoconlechuga
- Expanded C++
<type_traits>by @ZERICO2005 - Implemented compile time evaluation of floating-point classification routines by @ZERICO2005
- Updated
nanoprintfversion (with long double support) by @ZERICO2005 - Optimized
strcmp,strncmp,strlcpy,strlen,memcpy, andmemsetby @ZERICO2005, @calc84maniac - Optimized
frexpf,ilogbf,ldexpf,modff,truncf, and others by @ZERICO2005, @calc84maniac - Improved precision and accuracy of
log1pf@parisseb - Optimized
sinf/cosf, and ensured that the result will be [-1,+1] by @ZERICO2005 - Improved precision and accuracy of
erf,atan2,acosh, and others by @ZERICO2005 - Optimized GraphX clipping and added SMC for parameters by @calc84maniac
- Optimized various GraphX routines by @ZERICO2005
- Added
__TICE__define by @ZERICO2005
CE C/C++ Toolchain (v12.1)
The v12.1 toolchain includes some new features, bugfixes, and improvements! 🎉
Thanks to all the contributors!
This is primarily a bugfix release over 12.0, as well as supplying both native intel&ARM binaries for macOS!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS (intel): CEdev-macOS-intel.dmg
macOS (arm): CEdev-macOS-arm.dmg
Changelog
-
New features
- Added convbin support for bundles by @mateoconlechuga
- Added
isblankfunction by @mateoconlechuga - Added
_fpclassifyfand_isnormalfby @ZERICO2005 - Added both intel+arm macOS releases by @adriweb
-
Bugfixes
- Fixed
_isinffunction by @runer112 - Fixed
__ftollABI and left shift amount by @calc84maniac - Fixed graphx line clipping issue (#353) by @mateoconlechuga
- Fixed
msd_Closemsddrvce freezing issue (#477) by @mateoconlechuga - Fixed multiple issues with
inchar/outcharandfget/fputfunctions by @mateoconlechuga - Fixed some memory leaks in convimg by @mateoconlechuga
- Fixed
-
Improvements:
- Optimized all
isxxxxxctype.h functions by @calc84maniac / @mateoconlechuga - The
incharfunction now returnsintto support EOF by @mateoconlechuga
- Optimized all
For a breakdown of changes, please see the changelog file.
CE C/C++ Toolchain (v12.0)
The v12.0 toolchain includes some new features, bugfixes, and improvements! 🎉
Thanks to all the contributors!
Most notable is support for 48-bit routines using int48_t and uint48_t, first proposed by @fundudeone and heavily optimized and improved by @calc84maniac! These types can be used in place of int64_t and uint64_t for better performance and size.
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS: CEdev-macOS.dmg
Changelog
-
New features
- Added optimized 48-bit runtime routines by @calc84maniac / @fundudeone
- Added strftime implementation by @mateoconlechuga
- Added flip and rotate options for tilesets to convimg by @mateoconlechuga
- Added support for different memory allocators by @mateoconlechuga
-
Bugfixes
- Exit functions are no longer read-only by @commandblockguy
- Fixed off-by-one localtime day calculation (#469) by @mateoconlechuga
- Fixed clipped text respecting multiple transparent colors (#353) by @mateoconlechuga
- Fixed stop token in os_RunPrgm by @mateoconlechuga
- Fixed initializer_list definition by @jacobly0
- Fixed write crash in fileioc (#461) by @mateoconlechuga
- Fixed floating point multiply bug by @calc84maniac
- Fixed incorrect sign compare in __lcmpzero by @calc84maniac
- Fixed bug in fatdrvce that could corrupt the root directory when creating a file by @mateoconlechuga
- Fixed ldexpf behaviour for NaN and Inf by @ZERICO2005
- Fixed duplicated OS_TOK_STAT_F define by @adriweb
- Fixed some repository submodule issues by @myclevorname
- Fixed color quantization for unique colors in convimg by @mateoconlechuga
-
Improvements:
- Fixes/improvements for str[n]casecmp by @calc84maniac
- Fixes/improvements for GetStringInput by @calc84maniac
- Fix skipping of large USB transfers by @jacobly0
- Ensure interface is set in MSDDRVCE by @mateoconlechuga
- Optimize 24-bit and 32-bit and/or/xor operations by @calc84maniac
- Optimize malloc implementation by @calc84maniac
- CI macos improvements by @adriweb
- Greatly optimized the fatdrvce fat_SetFileBlockOffset function by @mateoconlechuga
- Enforce fatdrvce to only support uppercase filenames by @mateoconlechuga
- Added prefix and suffix options for convimg by @JonasVdS18
For a breakdown of changes, please see the changelog file.
CE C/C++ Toolchain (v11.2)
The v11.2 toolchain includes some new features, bugfixes, and improvements! 🎉
Thanks to all the contributors!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS: CEdev-macOS.dmg
Changelog
-
New features
- Add back dedicated timer functions by @mateoconlechuga
- Use timer 1 for clock and related functions by @mateoconlechuga
-
Bugfixes
- Fix sprintf/vsprintf/snprintf/vsprintf bounds checking by @mateoconlechuga
- Fixes for convimg (palette generation) by @mateoconlechuga
-
Improvements:
- Add framerate limiting example by @commandblockguy
- Ensure tools are compiled statically by @mateoconlechuga
- Improve macOS deployment tools by @adriweb
- Minor documentation improvements by @mateoconlechuga
For a breakdown of changes, please see the changelog file.
CE C/C++ Toolchain (11.1)
The v11.1 toolchain includes some new features, bugfixes, and improvements! 🎉
Thanks to all the contributors!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS: CEdev-macOS.dmg
Changelog
-
New features
- Changes fatdrvce API to make it easier to use by @mateoconlechuga
- Adds
os_GetTokenInputto get tokenized input from the OS by @mateoconlechuga - Support hex string for fixed colors in convimg by @mateoconlechuga
-
Bugfixes
- Fixes
os_GetStringInputto support more menus by @mateoconlechuga - Add some pointer checks to usbdrvce examples by @adriweb
- Change
OS_MATRIX_ELEMENTto row-major by @Nikhil-42 - Fix 1-wide
gfx_Rectangle_NoClipcalls by @runer112 - Numerous fixes in both convbin and convimg by @mateoconlechuga
- Fixes
-
Improvements:
- Add comments for symbols to grahpx source code by @TIny-Hacker
- Improve error for long variable names by @mateoconlechuga
- Add VS Code IDE documentation by @commandblockguy
- Add names to some anonymous structures by @adriweb
- Update fasmg-ez80 support by @jacobly0
- Add more info about system values by @adriweb
- Allow for overriding of source file extensions by @mateoconlechuga
- Default example binaries to archive by @LogicalJoe
For a breakdown of changes, please see the changelog file.
CE C/C++ Toolchain (11.0)
The v11.0 toolchain includes support for working with USB devices! 🎉

These libraries took a long time to get to this point, and still are being worked on, so give them a try and report any issues you may encounter. Join our Discord/IRC chat in order to ask questions, or provide input on what you would like to see in terms of documentation for interfacing with these libraries.
Thanks to all the contributors!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS: CEdev-macOS.dmg
Changelog
- Add usbdrvce library for interfacing with the USB port by @jacobly0
- Add srldrvce library for interfacing with serial-based devices by @commandblockguy
- Add msddrvce and fatdrvce libraries for interfacing with mass storage devices by @mateoconlechuga
- Fix fileioc library
ti_ArchiveHasRoomand addti_ArchiveHasRoomVarfunction by @mateoconlechuga - Fix defines for OS_VAR_Z and OS_VAR_THETA by @commandblockguy
- Update convimg to support more conversion options by @mateoconlechuga
- Fix convimg option
max-entriesby @mateoconlechuga - Ensure spaces aren't provided in the program name by @mateoconlechuga
- Optimize utility function in fileioc by @jacobly0
- Optimize 24-bit right shift for much lower maximum runtime by @calc84maniac
- Improve macOS codesigning and nightly builds by @adriweb
- Update documentation for os_GetCSC and os_GetKey by @RealStoneSword
- Optimize __ishl for bounded execution time for larger shifts by @calc84maniac
For a breakdown of changes, please see the changelog file.
CE C/C++ Toolchain (10.2)
The v10.2 toolchain includes some new features, improvements, and bugfixes! 🎉
Thanks to all the contributors!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS: CEdev-macOS.dmg
CE Libraries
Download the latest CE Libraries to fully utilize the CE C/C++ Toolchain.
These libraries add runtime support for fast graphics, file access, keypad integration, and more.
Documentation for the libraries can be found here.
Changelog
- Add
os_Evalandos_EvalVarfor direct evaluation of equations by @mateoconlechuga - Fix comparison of int32_t and int64_t by @runer112.
- Fix
printfwhen printing certain floating point values by @mateoconlechuga. - Add automated DMG code signing / notarization for nightly macOS builds by @adriweb.
- Fix printing of
int32_tby @jacobly0. - Fix
gfx_FloodFillissue on bottom on screen wrapping by @mateoconlechuga. - Updated and improved
convfontsupport with text-based fonts by @drdnar. - Change the type of CLOCKS_PER_SECOND to match clock_t by @commandblockguy.
- Deprecate
TI_REAL_TYPEandti_Ansstyle of macros by @mateoconlechuga. - Deprecate
sk_key_tandti_var_ttypedefs by @mateoconlechuga. - Compiler fix for missing register class check by @jacobly0.
- Added comments for 8XP programs in
convbinby @mateoconlechuga. - Added transparent pixel support in
convimgby @mateoconlechuga. - General documentation updates and improvements.
For a much more detailed list of changes, please see the changelog file.
CE C/C++ Toolchain (10.1)
The toolchain v10.1 is a bugfix release over v10.0, along with some new features and improvements! 🎉
Thanks to all the contributors!
Getting Started
Check out the CE C/C++ Toolchain Documentation.
Downloads
Windows: CEdev-Windows.zip
Linux: CEdev-Linux.tar.gz
macOS: CEdev-macOS.dmg
CE Libraries
Download the latest 'Standard' CE Libraries to fully utilize the CE C Toolchain.
These libraries add runtime support for fast graphics, file access, keypad integration, and more.
Documentation for the libraries can be found here.
Changelog
- Fixes invalid jump targets generated by the compiler by @jacobly0.
- Fixes
strcasecmpcompilation. - Fixes
make debugwhen LTO is enabled. - Adds
byteswap.hheader file as standard. - Added
zx0compression option for generating compressed programs viaconvbinby @mateoconlechuga. - Added
zx0compression option for images converted withconvimg. - Moves C++ includes to separate include directory to ensure no C include overlap.
- Added optional LibLoad library support via
LIBLOAD_OPTIONALmakefile option. - Implement optimized
lbswapandllbswapby @runer112 in #386 - Documentation updates and improvements.
For a much more detailed list of changes, please see the changelog file.
CE C/C++ Toolchain (10.0)
The toolchain v10.0 is a major update release over v9.x, with new features/libraries/docs, and lots of improvements! 🎉
Thanks to all contributors!
Getting Started
Read the Getting Started Guide.
Downloads
Windows: CEdev-Windows-v10.0.zip
Linux: CEdev-Linux-v10.0.tar.gz
macOS: CEdev-Mac-v10.0.dmg (not available, check v10.1)
CE Libraries
Download the latest 'Standard' CE Libraries to fully utilize the CE C Toolchain.
These libraries add runtime support for fast graphics, file access, keypad integration, and more.
Documentation for the libraries can be found here.
Changelog
- New: 64-bit math support. By @runer112 in #354
- New: LTO (link-time optimization) is now available and enabled by default - it may help generating smaller binaries.
- New: Ellipses functions added to GraphX. By @PeterTillema.
- Bugfixes in the ez80-clang compiler, in the tooling (convimg, convbin...) and libload
- Bugfixes in standard functions (
asin,strrchr,strtok...), OS ones (os_RealAsinRad,os_RealAcosRad), library ones (ti_RclVar), and headers. - Optimize and add static math functions. By @runer112 in #354
- Complete refactor of the headers to simplify and better split features. By @drdnar in #378
- Documentation: Lots of improvements and details added, following the various refactors listed above, but also typos, clarifications, etc.
For a much more detailed list of changes, please see the changelog file.