SourceCoder 2.5 has long been one of the most popular Cemetech tools. First released around 2005, SourceCoder 1 originally let you view the source code of TI-83, TI-83+, and TI-84+ .8xp programs in human-readable format. Soon, the ability to decode .8xi images, .8xm matrices, .8xl lists, and many other data types was added. With the help of Brazucs (now known as MysteryGuitarMan), it gained syntax highlighting rudimentary optimization capabilities. SourceCoder 2 brought an editor that let you type up programs within SourceCoder and convert them into .8xp programs. SourceCoder 2.5 overhauled the editor, improving the Javascript-powered calculator keypad and later adding Casio Prizm BASIC support. However, one perennial and somewhat far-fetched complaint remained: SourceCoder had no built-in TI-83+/84+ emulator.

For years, I resisted the requests, claiming that it was impossible to write a decent client-side TI-83+/84+ emulator, even while at the back of my mind I pondered how such a project might be completed. In December 2011, I finally realized that technology had progressed far enough to make such an emulator feasible. With HTML5, DOM Storage, and modern fast Javascript engines, a fast in-browser emulator could be created that keeps all ROMs and data client-side to avoid any possible legal issues. The result, written in a day and refined two months later, is jsTIfied, a beta of which was opened to the public in February. Since that beta, I have added more features to jsTIfied, including the ability to load programs from the users computer (you can even drag files onto the emulator's screen to load them!), export programs from the emulator back to the user's computer, and load and save SourceCoder projects.

I am now happy to announce that jsTIfied is completely integrated into SourceCoder itself. Logged-in Cemetech users may switch between the classic SourceCoder keypad that lets you type commands, tokens, and symbols, and the fully-functional jsTIfied TI-83+ emulator. You can directly load programs from the SourceCoder editor pane into your jsTIfied emulator and back without leaving the page. I am confident that this new feature will make SourceCoder an even more powerful and useful tool for TI-BASIC programmers. Please test out this new feature and let me know any feedback, comments, questions, and suggestions that you may have. Later in the summer I may do another partial overhaul of the backend and frontend and create SourceCoder 3.0, but either way, the current feature set should be functional and bug-free. Enjoy!

Cemetech Tools
SourceCoder 2.5 TI program editor
Main SourceCoder portal
jsTIfied TI-83+/84+ emulator

Well, I found a problem. The "→" token changes into a '. Well, not quite a ', but it is close enough. Screenshot:

KermMartian wrote:
First released arouns 2005, SourceCoder 1 originally

Typo Kerm. It says arouns not around
yeah, sto turns into a back tick.
and while we're on the subject of things that are broken, the little u v w tokens that can be accessed through [2nd]+[7]/[8]/[9] have always changed into normal lowercase letters when exported. that's not a matter of huge importance, though Razz

all quibbles aside, sourcecoder has been one of my most used 8x tools, and it's great to see it still being updated =)
This is very neat! I'm excited that there's some sort of API for SourceCoder Smile And, of course, linking SC with the emulator like this is a great way to test out programs on the fly.
Merth: Thanks very much! Yes, we need to chat some time so I can tell you all of the things that SourceCoder does and does not offer via its API; perhaps you can help me figure out things that might need to be added for it to be useful for you.

Shmibs: Ah, that's supposed to be the other way around. For size concerns, I'd prefer they always be the one-byte u/v/w, even if they're inside a string and might otherwise be the two-byte lowercase letter.

Krazy: Nice catch, fixed the OP and the article.

Spence: Thanks for pointing that out. I'll try to fix it early tomorrow.
...This is awesome!
shkaboinka wrote:
...This is awesome!
Many thanks, Shkaboinka! I am very happy with how it came out, other than the small glitches in the jsTIfied->SC2 token conversion.
The only problem is that jsTIfied supports only the 83+. Don't a lot more people have 84+/SEs?
blue_bear_94 wrote:
The only problem is that jsTIfied supports only the 83+. Don't a lot more people have 84+/SEs?
I have most of the extra stuff for the TI-84+/SE support written; I just haven't gotten around to finishing and releasing it. I figured I'd wait until after I got SourceCoder integration perfected.
*bump* With a great deal of difficulty and annoyance tossing different encodings around, and working around missing features and poor design decisions in both PHP and Javascript, I hope I fixed the issues with special characters such as the -> STO operators and others, both SC2 -> jsTIfied and SC2 <- jstified. Please test and let me know.
What the crap? Major glitch on my end. Messed up my code really bad. Random characters just got thrown in. Syntax error as soon as I entered the program.
Spenceboy98 wrote:
What the crap? Major glitch on my end. Messed up my code really bad. Random characters just got thrown in. Syntax error as soon as I entered the program.
Can you be ore specific, such as showing me the correct and incorrect code and explaining the steps that took you from correct to incorrect?
Okay. Now the code is better. The → STO thing is still messed up, but it adds a "" behind it. Also, it puts random "" characters in there too.
We'll still need examples of what happened and where in-order to prevent it from happening again.

Was it on a newly uploaded program? Sent from jsTIfied? An existing project?

As much information as you can remember would be appreciated.
What OS are you using?
The computer OS - or rather the calculators - has nothing to do with this error as it's happening online within SourceCoder.
I was actually working on this this am and forgot to post an update. I got it halfway fixed, and know better what the problem is now.

Edit: Please let me know if it's mostly fixed (or not) now, slash if you run into any tokens that don't translate properly going in either direction.
It's amazing how easy it is to test programs now Surprised

Only thing I can think of suggesting right now is putting an awesome title screen in the canvas when jsTIfied doesn't have a ROM to work with, instead of a blank screen, which confused me at first because I thought the calculator was frozen.
Thanks. Smile Did it not pop up a little message of some sort inviting you to load a ROM? I suppose if that's not clear, a screen image to drive the point home might be a good idea. It also shows a message about logging in to non-logged-in users who try to load up jsTIfied.
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 2
» All times are GMT - 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