(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"?
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?
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?