CE Programming Toolchain Versions Save

Toolchain and libraries for C/C++ programming on the TI-84+ CE calculator series

v11.2

9 months ago

The v11.2 toolchain includes some new features, bugfixes, and improvements! :tada: 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.

v11.1

1 year ago

The v11.1 toolchain includes some new features, bugfixes, and improvements! :tada: 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_GetTokenInput to get tokenized input from the OS by @mateoconlechuga
    • Support hex string for fixed colors in convimg by @mateoconlechuga
  • Bugfixes

    • Fixes os_GetStringInput to support more menus by @mateoconlechuga
    • Add some pointer checks to usbdrvce examples by @adriweb
    • Change OS_MATRIX_ELEMENT to row-major by @Nikhil-42
    • Fix 1-wide gfx_Rectangle_NoClip calls by @runer112
    • Numerous fixes in both convbin and convimg by @mateoconlechuga
  • 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.

v11.0

1 year ago

The v11.0 toolchain includes support for working with USB devices! 🎉

Thanks to the hard work by @jacobly0, a new CE library named usbdrvce is available for interfacing with the USB port of the calculator in either host or device mode. Additionally, @commandblockguy has created the srldrvce library for communicating with USB serial-based protocols such as CDC and FTDI. For mass storage devices such as flash drives and SD cards, @mateoconlechuga implemented msddrvce and fatdrvce for reading and writing logical blocks on the drives, as well as providing functions for interacting with a FAT32-based filesystem.

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_ArchiveHasRoom and add ti_ArchiveHasRoomVar function 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-entries by @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.

nightly

1 year ago

[!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

v10.2

1 year ago

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_Eval and os_EvalVar for direct evaluation of equations by @mateoconlechuga
  • Fix comparison of int32_t and int64_t by @runer112.
  • Fix printf when printing certain floating point values by @mateoconlechuga.
  • Add automated DMG code signing / notarization for nightly macOS builds by @adriweb.
  • Fix printing of int32_t by @jacobly0.
  • Fix gfx_FloodFill issue on bottom on screen wrapping by @mateoconlechuga.
  • Updated and improved convfont support with text-based fonts by @drdnar.
  • Change the type of CLOCKS_PER_SECOND to match clock_t by @commandblockguy.
  • Deprecate TI_REAL_TYPE and ti_Ans style of macros by @mateoconlechuga.
  • Deprecate sk_key_t and ti_var_t typedefs by @mateoconlechuga.
  • Compiler fix for missing register class check by @jacobly0.
  • Added comments for 8XP programs in convbin by @mateoconlechuga.
  • Added transparent pixel support in convimg by @mateoconlechuga.
  • General documentation updates and improvements.

For a much more detailed list of changes, please see the changelog file.

v10.1

1 year ago

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 strcasecmp compilation.
  • Fixes make debug when LTO is enabled.
  • Adds byteswap.h header file as standard.
  • Added zx0 compression option for generating compressed programs via convbin by @mateoconlechuga.
  • Added zx0 compression option for images converted with convimg.
  • Moves C++ includes to separate include directory to ensure no C include overlap.
  • Added optional LibLoad library support via LIBLOAD_OPTIONAL makefile option.
  • Implement optimized lbswap and llbswap by @runer112 in https://github.com/CE-Programming/toolchain/pull/386
  • Documentation updates and improvements.

For a much more detailed list of changes, please see the changelog file.

v10.0

2 years ago

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 https://github.com/CE-Programming/toolchain/pull/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 https://github.com/CE-Programming/toolchain/pull/354
  • Complete refactor of the headers to simplify and better split features. By @drdnar in https://github.com/CE-Programming/toolchain/pull/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.

v9.2.2

2 years ago

Getting Started

Read the Getting Started Guide.

Downloads

Windows: CEdev-Windows-v9.2.2.zip Linux: CEdev-Linux-v9.2.2.tar.gz Mac: CEdev-Mac-v9.2.2.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

This is a bugfix release over v9.2, make sure to update!

  • Fix an edge case when creating multiple appvars with convimg
  • Prevent fileioc from crashing if the user provides an invalid slot

For a more detailed changelog of v9.2, please see the changelog file.

v9.2.1

2 years ago

Getting Started

Read the Getting Started Guide.

Downloads

Windows: windows_CEdev_v9.2.1.zip Linux: linux_CEdev_v9.2.1.tar.gz macOS: mac_CEdev_v9.2.1.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

This is a bugfix release over v9.2, make sure to update!

  • Fix an edge case in the delay() and usleep() functions that would cause them to freeze
  • Fix linking of extra assembly sources in the makefile

For a more detailed changelog of v9.2, please see the changelog file.

v9.2

2 years ago

(A minor bug was found and fixed since this release, please make sure to download the latest toolchain version instead!)

Getting Started

Read the Getting Started Guide.

Downloads

Windows: windows_CEdev.zip Linux: linux_CEdev.tar.gz macOS: mac_CEdev.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

Among other things:

  • New time and clock-related functions added
  • New os_runPrgm function to run an external program
  • Deprecations of some functions that lead to bad code
  • Some C++ related improvements (new headers, static_assert, quick_exit...)
  • Other minor fixes and improvements
  • Documentation-related improvements
  • CI-related improvements

For a more detailed changelog of v9.2, please see the changelog file.