5 ms·
ticalc.... I spent so many hours on their forums in high school. It's one of the first online communities I was super-active in. I did a TON of TI-BASIC program
by joshstrange 6y ago
ticalc.... I spent so many hours on their forums in high school. It's one of the first online communities I was super-active in. I did a TON of TI-BASIC programming and it's how I got my start programming. There are even 1-2 of my old BASIC programs on ticalc that I uploaded over a decade ago.
I never got into assembly much because it required a a computer and I could code and run BASIC on the calculator itself. I remember a few ASM programs you could drop on your calculator and then call them from your BASIC programs. So certain things that could be done faster in ASM were all put together in a "library" that you could use to speed up your BASIC programs (most were visual in nature, clear screen, draw sprite, etc). I still have my TI84+ SE from high school, I really love that calculator.
- avhon1 6y agoYou can actually enter ASM code on the calculator, but it is very limited, and non-trivial programs are extremely tedious to enter. http://tibasicdev.wikidot.com/asm-command http://tibasicdev.wikidot.com/asm-command
- joshstrange 6y agoInteresting, I remember the "ASM(" command to run those helper libraries but yeah, the issues around trying to write ASM on the calculator would have been a non-starter for me (both back them and now lol): > Using AsmPrgm is the only built-in way to create assembly programs on the calculator, and it's not very convenient. To use it, after AsmPrgm itself, you must type in the hexadecimal values (using the numbers 0-9, and the letters A-F) of every byte of the assembly program. Even for assembly programmers, this is a complicated process: unless you've memorized the hexadecimal value of every assembly command (which is about as easy as memorizing the hexadecimal value of every TI-Basic token) you have to look every command up in a table.
- monocasa 6y agoEven more than that, computing the branch offsets by hand is tedious and error prone. You remember the important opcodes pretty quickly, but recomputing the branches every time you modify the program is a huge pain.
- a1369209993 6y agoUsually you'd pad the program with NOPs during development to keep each basic block X-byte-aligned. Still a pain, but less of one.
- saagarjha 6y agoI would argue that it is not limited at all, as it gives you full arbitrary code execution.
- henearkr 6y agoOn my Ti92Plus I had created an assembler in TI-BASIC in order to use this "native" machine-language input. I had even some linking step, with labels and all, which were resolved in offsets. I hope this feature is still in the successors, their Ti-Nspire CX series... and if so, that it will not be removed.