Hi, I’m interested in making a faster runtime (either interpreter or compiler) for TIBASIC programs on the TI-84 plus CE. I see there’s this project “ICE Compiler”, but it’s been archived for years now. Is there any project, such as that one, which already does this, or would it be a useful project for others if I did it?
honestly your best bet is to use ICE, or learn ASM. Ti-basic in itself sucks for the most part due to it being interpreted (very slow) on legacy hardware (even slower), so learning another language such as C or even using python to C to the CEdev toolchain is your best bet for fast programming. Hope this helps!
My goal is not to run my own programs faster. My goal is to make other people’s TIBASIC programs faster for them without needing to write them in another language. When you say “use ICE”, are you referring to that ICE compiler?
If I understand you correctly, I think you mean something like Indium CE by PT_, which unfortunately was never finished. I don't know of any other projects like it, but you could make your own if you're familiar enough with ASM.
ICE is a completely different assembly-based language that only uses TI-BASIC as a UI. If you mean you just want to run TI-BASIC programs faster, you can try reducing your CE's wait states.
Be warned that overclocking can be dangerous, and this program doesn't work with newer CEs or Pythons.
Oh OK i get it now but i'm not referring to Indium CE i meant that one programming language that you need clibs to use! and also if you want to stay to ti basic your best bet is coding a ti basic to ASM compiler, and this is REALLY tricky because 1; the specific type of ASM (which is short for assembly, or machine code) used on the calculator varies by calculator. This means that the code on a Ti84 black and white/Ti83 will need to be completely different then the code you make on the ti84+ce. 2nd, ASM in itself is extremely complicated (the average length of a print block of code involves around 3-5 commands and like 15-20 characters) and not something that's really worthwhile learning in this day and age. I get that it may be cool to mess around with the calculator you bought for high school, but this language is effectively worthless, unfortunately. Now, i know you guys are gonna counter "Oh BuT iT TeAcHeS YoU CoDiNg SkIlLs!!", and although you are right, you will not use SPECIFICALLY z80 ASM (since the ASM varies from hardware as said in point 1) anywhere but on legacy hardware, which in the name, is LEGACY!!! 3rd, how do you run your compiled ti-basic to ASM??? You cant really run ASM on newer calculators without arTifaCE, so you would have to inbuild the exploit that arTifaCE uses into your code so that if you where to a shell, it could immediately run after transpiling, or if you decide to use this for older non color calculators, you wouldn't even have to worry about this exploit! And plus, all of this assumes you want to have the 'speeding up' of your code via ASM, there are other options which i am too tired to discuss.

TL;DR
it a'int feasible.
Voblit wrote:
Oh OK i get it now but i'm not referring to Indium CE i meant that one programming language that you need clibs to use!

ICE, Assembly and C all use clibs (it's short for "C libraries"). Assembly is the fastest of the three.
Voblit wrote:
I get that it may be cool to mess around with the calculator you bought for high school, but this language is effectively worthless, unfortunately. Now, i know you guys are gonna counter "Oh BuT iT TeAcHeS YoU CoDiNg SkIlLs!!", and although you are right, you will not use SPECIFICALLY z80 ASM (since the ASM varies from hardware as said in point 1) anywhere but on legacy hardware, which in the name, is LEGACY!!!

First of all, yes, it does teach you valuable "CoDiNg SkIlLs"; learning any programming language (especially lower-level ones such as Z80 Assembly) will teach you general principles that will assist you with learning and understanding any language. Second, the TI-84+CE uses eZ80 Assembly, not Z80 Assembly, since it uses the more modern recent eZ80 microprocessor instead of a Z80. And third, (e)Z80 Assembly is very practical and you will use it quite a bit if you are active in this community; posting on Cemetech that it's a worthless language because you only use it with calculators is like saying in Israel that Hebrew is a worthless language because you only speak it in Israel.

TL;DR
(e)Z80 Assembly is not a worthless language. If you plan on programming calculators, you should learn it.
Edit: As I was writing this, TIny_Hacker released eZ80 Studio v1.1.0. If you do plan on learning Assembly, this is a very helpful tool.
  
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