Skip to content

Releases: ZERICO2005/PortCE

Version 3.0 (Alpha)

Version 3.0 (Alpha) Pre-release
Pre-release

Choose a tag to compare

@ZERICO2005 ZERICO2005 released this 12 May 19:19

Version 3.0 introduces a brand new build system which registers PortCE as a CMake package and also adds support for targeting emscripten.

  • PortCE is registered as a CMake package
  • PortCE can now target emscripten

New Features

  • PortCE CMake package
  • PortCE emscripten support
  • Implemented some ti_real operations
  • <ti/sprintf.h> functions like boot_sprintf

Other things have been added to the internal PortCE code if you want to modify things yourself:

  • ti84cpeg.inc equates are available via the internal ti84pceg.hpp file
  • Extra internal keybind presets are available.
  • Custom memory interface via the internal PortCE_memory.hpp header

Migration Notes

PortCE no longer needs to be a submodule of your project (you can take a look at https://github.com/Sightem/libtexce for setting up PortCE as a submodule). You can look at PortCE/examples/hello_world to see how a PortCE project should be setup. You can copy the updated CMakeLists.txt template into your own project.

  • ti_clock/ti_random et al have been replaced by ce_clock/ce_random
  • typedefs such as ti_unsigned_int and ez80_unsigned_long_long now use <atomic.h> spellings (ti_uint and ez80_ullong)
  • PortCE requires support for C17/C++20 along with _BitInt to build, so we recommend using Clang 18 or later.

Version 2.2

Choose a tag to compare

@ZERICO2005 ZERICO2005 released this 15 Jan 21:48

This version is mostly compatible with the guide from prime17569 https://www.cemetech.net/forum/viewtopic.php?t=20095

Version 2.0 brings a few things including:

  • fontlibc
  • zx0 and zx7 decompression routines (based off the eZ80 assembly implementations)
  • better emulation of TiOS
  • fixed behavior of RAM_ADDRESS(0) and etc
  • some fixes to keyboard inputs
  • Slightly different folder structure

Version 2.1:

  • Mostly fixes to graphx/graphy
  • Added PortCE_get_appvar_path. This allows one to do fopen(PortCE_get_appvar_path("MYAPPVAR"), "r") (although you may need to manually skip some header bytes to read the appvar).

Version 2.2:

  • Implemented fontlib_GetFontByIndex and fontlib_GetFontByStyle by @Sightem
  • Fixed issues in older C/C++ standards

Lots of files were switched from C to C++ to make things easier to maintain. GraphX and GraphY may have some new bugs introduced as a result, so please let me know of any issues and feel free to make contributions.

Version 2.1

Choose a tag to compare

@ZERICO2005 ZERICO2005 released this 03 Jan 00:51

This version is mostly compatible with the guide from prime17569 https://www.cemetech.net/forum/viewtopic.php?t=20095

Version 2.0 brings a few things including:

  • fontlibc
  • zx0 and zx7 decompression routines (based off the eZ80 assembly implementations)
  • better emulation of TiOS
  • fixed behavior of RAM_ADDRESS(0) and etc
  • some fixes to keyboard inputs
  • Slightly different folder structure

Version 2.1:

  • Mostly fixes to graphx/graphy
  • Added PortCE_get_appvar_path. This allows one to do fopen(PortCE_get_appvar_path("MYAPPVAR"), "r") (although you may need to manually skip some header bytes to read the appvar).

Lots of files were switched from C to C++ to make things easier to maintain. GraphX and GraphY may have some new bugs introduced as a result, so please let me know of any issues and feel free to make contributions.

Version 2.0

Choose a tag to compare

@ZERICO2005 ZERICO2005 released this 01 Jan 22:23

This version is mostly compatible with the guide from prime17569 https://www.cemetech.net/forum/viewtopic.php?t=20095

Version 2.0 brings a few things including:

  • fontlibc
  • zx0 and zx7 decompression routines (based off the eZ80 assembly implementations)
  • better emulation of TiOS
  • fixed behavior of RAM_ADDRESS(0) and etc
  • some fixes to keyboard inputs
  • Slightly different folder structure

Lots of files were switched from C to C++ to make things easier to maintain. GraphX and GraphY may have some new bugs introduced as a result, so please let me know of any issues and feel free to make contributions.

Version 1.0

Choose a tag to compare

@ZERICO2005 ZERICO2005 released this 05 Mar 18:36

Version 1.X will be compatible with the guide made by prime17569 https://www.cemetech.net/forum/viewtopic.php?t=20095