Although never officially unveiled, the graphing calculator programming and data management IDE SourceCoder 3 has been one of Cemetech's most popular tools. While it focuses on tools for TI graphing calculator programmers and users, it includes a program editor for Casio Prizm programmers. Thanks to a recent project by Cemetech administrator TIFreak8x, this program editor has recently been improved with a more accurate and complete list of Prizm programming tokens, a process which will continue as my users create Prizm programs with SourceCoder 3 and discover missing or inaccurate tokens. A reverse-engineering effort is underway to also add .g1m support to SourceCoder 3 to allow it to import and export fx-9750 and fx-9860 programs. Perhaps most significantly, SourceCoder 3 now includes support for the Prizm image format, .g3p.

The .g3p format has been the root of significant contention and disagreement in the graphing calculator enthusiast community over the roughly three years since the Prizm was first released. This image format is primarily used to store 384x192-pixel 3-bit and 16-bit color images on the Casio Prizm calculator. Unlike the TI image formats .8xi, .8ci, and .8ca, it includes security and obfuscation features. The body of every image is compressed, obfuscated, and signed with a cryptographic signature. A header is then added, and the header is signed with "security" values based on the file size. Throughout the years, the community leaders have largely pursuaded the community to use that obfuscation as evidence that Casio does not want the format opened, and more specifically, to not produce tools that allow users to put arbitrary pictures on their Casio Prizm (fx-CG10/fx-CG20) graphing calculators. Moreover, the method of generating and verifying the cryptographic signature at tbe end of the image data was not known. However, recent handhelds like the HP Prime, the TI-84+CSE, and the TI-Nspire CX can allow load arbitrary images created by users. Therefore, after an extensive discussion with Cemetech staff and members about the ethics of .g3p support in SourceCoder 3, I have decided to unveil the feature for all Cemetech users. You can now upload .g3p files to SourceCoder 3 to get the equivalent .PNG image. You can also upload .GIF, .BMP, and .PNG images and export 3-bit or 16-bit .g3p files that you can then transfer directly to your Casio Prizm and use in your Casio BASIC programs. In fact, well-known progammer of RPGs DJ_O has already started experimenting with the tool for his games.

TI and Casio Program and Data Editor
SourceCoder 3

Original image (left), exported from SourceCoder as 3-bit g3p (center), exported as 16-bit g3p (right).
holy cow, what perfect timing! I am buying my casio prizm today!

Thanks, Kerm, TIFreak, and Others who helped make this possible.
Luxen wrote:
holy cow, what perfect timing! I am buying my casio prizm today!

Thanks, Kerm, TIFreak, and Others who helped make this possible.
Great, and you'll be happy to hear that I'm working on more Prizm-related and Casio-related improvements to SourceCoder 3 as well! The full list of people to thank is tifreak8x for helping with test files and moral support, DJ_O for providing sample files and testing, fxdev for posting corroborating information on Prizm file headers, and Casio for providing a lot of reference picture files to compare.
KermMartian this is very good however I am sure that you are already aware of the Floyd-Steinberg dithering algorithm
I think applying this to the 3-bit images would be a good quality compression ratio tradeoff. Of course it should be optional. Or maybe given the fact that the 3bit images follow a uniform palette you could use simple ordered dithering. Both Floyd-Steinberg and/or ordered dithering could also be applied to 16bit images as well.
Yes, I've been planning to offer optional dithering for all of the image conversions, especially to make TI-84+CSE Picture files a little nicer. Thank you for reminding me that I wanted to do that sooner rather than later.
Floyd-Steinberg is one of the possible dithering algorithms, indeed.
Optional dithering would definitively be nice for complex images. Very Happy
Thanks for the kind words, Rickey! Be sure to keep us posted on anything we can continue to do to keep SourceCoder 3 the most useful possible tool for you.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum