Now, it's what you've all been waiting for:
CEaShell 2!
As you may know, the original CEaShell had quite a few bugs. The source code was also a mess (especially the C code), and it was a lot bigger than it needed to be. RoccoLox and I initially planned on making a few fixes and optimizations, but after a little tinkering it became clear that it would be better to simply re-write most of it from scratch. By doing this, we'd also open the door to make a number of improvements and additions as well!
So, for the past few months (I think we started in June or July of 2023), we've been working on re-writing CEaShell from the ground up. Since the last version, probably 97% of the code has been changed, and we're excited to announce that
it's also currently over 30KB smaller than the previous version!
Here's a list of a lot of notable changes:
New Features:
▪ Four scales for displaying files in the shell, allowing for viewing up to 18 files at once. (Suggested by
nanobot567)
▪ Support for app icons, using
the format discussed here.
▪ An option to hide the "Programming" menu on Python calculators, skipping directly to a TI-BASIC menu like non-Python calcs. (Suggested by
DO Omnimaga)
▪ Support for app icons and copyright info in the OS [apps] menu, like the program icons and descriptions in the OS [prgm] menu feature.
▪ Support for custom text colors, with a separate color for the names of hidden programs. (Suggested by
NicePotato)
▪ Scrollbar in the shell's main file viewer.
▪ Integration with
HexaEdit.
Notable changes / improvements:
▪ Far cleaner and more consistent C and Assembly code, with better documentation as well.
▪ French and English translations are now in the same source files, with a setting at compile time for which version to build.
▪ Text wrapping is now done using a much more versatile and optimized
algorithm.
▪ Keys are properly debounced everywhere.
▪ It is possible to turn the calculator off in the shell regardless of the currently opened menu.
▪ Larger scrollbars which are easier to see.
▪ More consistent styling throughout the shell.
▪ Better string input routine which allows for cursor movement and backspace / delete.
▪ Hidden files are no longer obscured for a transparent look and use a different text color, like in Cesium. (Hidden file icons were hard to see at small scales.)
▪ Much more optimized method of the closing transition animation, using SPI commands.
▪ It is possible to view file info for the Apps, AppVars, and Programs folders.
▪ Text on the homescreen isn't cleared after running programs using CEaShell's hook.
▪ Menus are much better written now and far more optimized.
▪ A bunch of bugs with running / editing programs have been fixed.
Removed:
▪ Easter egg (Don't worry, a new one will be added)
▪
Welcome screen (TBD whether this will be added) We added a simple welcome screen but not as bloated as the old version.
▪
Header to hide programs from the shell (Do people want this? We could look into adding it back) We've re-included this.
To-do:
▪ A lot of testing.
▪ Optimizations.
▪ Any other random features we come up with before release.
▪ Most of the text needs to be re-translated for the French version since a lot of it changed.
Screenshots:
Where can I get it?
We're not quite ready to release it yet, but for now you can always clone the
GitHub repository and build it yourself if you'd like to give it a try. We'll also be releasing a beta testing build in our
Discord server before the official release, so if you're interested in testing early you can join there as well.
As always, be sure to let us know what you think and give us any feedback you have and we'll try to incorporate it into the shell as well