I had a good idea for a shell that just runs BASIC programs. You can select different programs and run them, but when you end the program, it saves the variables in a push down stack, and allows you to look at open “windows”, select which ones to run, and edit which ones are open. To avoid having to store all the matrices and lists, which would gobble down RAM, it might prescan the programs and only store the variables involved, or only run programs that only use certain variables (e.g. only letter variables, or only L1 allowed.) I only just downloaded the C toolchain, but it does some weird things with my terminal shell (zsh), and it has a weird error when I try to compile programs. I might have to jailbreak the calculator (I haven’t enabled editing asm programs yet), and learn native hex assembly, since I don’t think ICE is powerful enough to make a shell, so I’m having trouble with actually writing it and using it on calc, but I have a pretty good conceptual idea of it. I haven’t picked out a name yet, though.
I have refined the idea. It is now a shell named MultiCE which will display only BASIC programs, compile them based on data from the last time that program ran, and execute them. When you end the program, it saves data (specified in a specific format on the top line of the program) for the next time you execute it. This would be useful for stuff like projects in recreational mathematics, like finding prime numbers or more complicated things, where you could run the program while the calculator is connected to power, and end it when you have to do other things (like play Calcuzap or go to math class), and resume the program exactly where it left off from when you run it from the shell again. I have more specifications on the to-do list that I will post when I have a rudimentar version going. The main problem I’m running into is how exactly BASIC programs are stored. I’m trying to list all the tokens with help from hexaedit, but I would love to see if anyone has a great link to a site that lists them.
I don't think you will necessarily have to parse BASIC programs yourself which might save you some work - although I do definitely encourage that you read up on as much about how the OS and BASIC program execution works.

WikiTI is a good reference for TIOS calls too that can assist: https://wikiti.brandonw.net/index.php?title=Calculator_Documentation#TI-84_Plus_CE.5B-T.5D.2C_TI-83_Premium_CE

I can't remember the exact call, may have been ParseInp?
The tokens are all available here in the include file, and here's the toolchain's version, which I presume are identical or nearly so. As someone else has said though, you're not going to have a good idea trying to write in raw hex. This is something that should be done in either assembly on your computer or in C with assembly snippets (as has been said before).

And that's correct tr1p1ea, the call is ti.ParseInp (Spasm would be _ParseInp, I believe?).

EDIT: The toolchain include file is probably the one that you want if you're using LLVM.
Instead of a shell or any etc etc.... guys? we have T-ASM right? cant we not make a nice port of Quick Basic 4.5 or 7.0 for the TI? at least much of functionality that MADE the basic so great? such as better graphics handling like better rectangle and circle with fill? The use of OOP structure such as CLASS and gosub or even case (select case). AND and...lets not stop there folks, how bout ....wait for it......Properties, methods and events OH MY!!!!
What is that? I'm not really understanding what you're saying. Is that another third-party language?
Prosyrous wrote:
Instead of a shell or any etc etc.... guys? we have T-ASM right? cant we not make a nice port of Quick Basic 4.5 or 7.0 for the TI? at least much of functionality that MADE the basic so great? such as better graphics handling like better rectangle and circle with fill? The use of OOP structure such as CLASS and gosub or even case (select case). AND and...lets not stop there folks, how bout ....wait for it......Properties, methods and events OH MY!!!!


???????????
Remind me what T-ASM is? I'm not trying to improve the BASIC language itself, just the way the programs run, and add the ability to store where the programs left off, and the state of certain variables for each program.
I honestly really like this idea. Good Luck!
  
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

 

Advertisement