Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
A Forth Interpreter/Compiler for the TI-84+
Hi all,




I thought I'd share a project I've been working for the past couple of months. It's a Forth interpreter for the TI-84+ calculator. You can grab it at https://github.com/siraben/ti84-forth. The README explains it all, but here's a list of the main interesting points:

- Featuring Forth, the coolest low-level language after assembly! Mixes interpret/compile modes, the language's syntax and semantics can be changed on the fly. A concise language too, making it easier to learn and type than TI BASIC.
- More than 180 words for doing everything from low level memory management to arithmetic, to drawing pixels, to sending sound over the I/O port.
- Integration with the Variable Allocation Table to read/write programs.
- Send over convert Forth files to the calculator for it to be interpreted. Swap programs in and out!

Where help is needed
I've been working on this project completely solo for the last few months, so any help would be greatly appreciated, including to the following (but not limited to) areas:

- Improving the interpreter (perhaps using a smaller font, handling errors etc.), rework user input.
- Integrate better with the floating point ROM calls (currently no floating point reading etc.)
- Find a way around the $C000 limit. When the program counter exceeds that address, the calculator crashes. I've thought about using Indirect Threading instead of Direct Threading for that ( see README for reading list) but the slowdown is too much.
- Add words to interact with the flash memory, make use of interrupts and so on.

I look forward to seeing how the community receives this and any help :-).
  
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 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

 

Advertisement