(Should this go in the TI-BASIC subforum?)

It has come to my attention over the course of my TI-BASIC programming experiences that the TI-BASIC interpreter, and in fact many parts of the operating system, are suboptimally coded. This thread on Omnimaga caught my attention: someone planned to improve the routines in the interpreter! Such a patch would seem to me enormously important for TI-BASIC programmers, perhaps as important as libraries. Imagine if code parsing were 50% faster; this could amount to a 30% speedup in parsing-heavy programs—or if graphics were 10% faster as planned in the thread I linked to. Additionally, giving TI-BASIC more power through overloading could add useful features.

1. Is it legal to modify the operating system? What does willrandship mean by "patches against the ROMs"?
Quote:
If I release anything, to avoid copyright concerns, it will be patches against the ROMs I specify. It's a historically non-grey method of distributing hacked and modded software, so I hope I can avoid any nasty legal letters with this.


2. What parts of the interpreter could be made to run faster?

3. Other than improving speed, what can this approach do that parser hooks cannot? Do parser hooks slow down the interpreter appreciably? If so, in what situations? (Sorry if this is a wrong question; I don't quite know how they work yet)

4. In particular, how difficult would it be to turn expr( into a sort of eval(? I vaguely remember that overloaded real(, etc. can be executed inside expr(, so it seems possible to modify the state of the calculator within expressions; would it be possible to extend this to ordinary commands?

5. Do we have any way of seeing the source code of bcalls?

6. How would one install a modified operating system, once it is created?
Well, a distribution and installation of a modified OS is technically illegal. Praser hooks could accomplish many of these tasks by replacing system calls with optimized versions. This does cause somewhat of a slowdown, depending on the amount of replacements, because after each instruction basically, the calculator checks to see if it should hook elsewhere. Turing expr into eval is doable, but code must be written to do that. And it is totally possible to see the source of bcalls, although I prefer to call them system calls, or OS or boot calls, because of their integration. That's how most documentation works. Wink Modifying an operating system is no easy feat, and one should take a look at the legal items about doing this. It is technically not allowed, but there have been certain cases in which it has, but it is not a good thing to look for, in most instances. Praser hooks and home screen hooks are the way to go. Smile
  
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