Multiple Language Programming on Ti-Calculator
Asked Answered
S

4

5

I am interested into programming with different languages besides Ti-Basic (like Java, C, and Python) on my Ti-84 plus calculator. Does my calculator support this, and if not, are there any calculators on the market that would be able to do this? Thanks in advance!

(The idea is that when I don't have access to my computer at home, I could just pull out my pocket calculator and start programming and testing out some algorithms on the go that come in mind.)

It doesn't have to be a calculator, just something cheap and programmable and something I can carry around in my hand.

Sweeny answered 23/6, 2015 at 3:13 Comment(5)
Calculators generally don't have very much processing power, so you're going to have difficulty finding a calculator that can run a Java virtual machine or Python interpreter. They also have fairly limited memory so they'll have trouble with large programs.Transferor
Do you have a smartphone?Carduaceous
My abacus has an embedded JVMIncommode
@Transferor Oh okay thanks. If calculators may not be capable of doing something like this, then what other cheap devices could do so?Sweeny
@Carduaceous I unfortunately don't have a smartphone, so I'm looking for other possible solutions.Sweeny
S
3

After a little research, I found some some hand-held "pocket" devices. The Palm m500 has a JVM to program java on. There apparently was a website that had an SDK for C, but the website was removed.

In regards to calculators:

  • TI-82, 83, 84, 85, 86, and related models all support TI-BASIC and z80 ASM.
  • TI-92, Voyage 200, TI-89, and related models all support TI-BASIC, C, and 68000 ASM.
  • TI-nspire supports TI-BASIC and Lua.
  • HP 50g supports RPL (User and System), ARM ASM, Saturn ASM, and C.
  • HP 49, 48G, or 48S, which support Saturn ASM and RPL.
Sweeny answered 27/6, 2015 at 5:21 Comment(0)
P
5

TI's calculators let you program them in z80 assembly! Unfortunately, TI didn't include a way to program in it on-calc using mnemonics (there are ways to, though. More on that later). You can, however, type machine code directly into the TI-BASIC program editor by starting a program with the AsmPrgm (or Asm84CPrgm, or Asm84CEPrgm, depending on the calc you have) token, then typing a series of opcodes that correspond to assembly instructions. For instance, here's a do-nothing program:

AsmPrgm
00
C9

Which translates directly (disregarding the necessary preprocessor directives) into:

NOP    ;no-op
RET    ;return to the OS. If this is omitted, the program will remain in execution forever, requiring a RAM clear to exit

This page has a bit more info on that, but note that "hex codes" is a misnomer, since "hex" has nothing specifically to do with z80 assembly.


If you have a monochrome (not the C Silver Edition or CE) calculator, though, I'd strongly recommend downloading Mimas, an on-calc assembly editor-- actual assembly, meaning it uses mnemonics! And it contains the OS include file, which assigns keywords to all the important system memory locations and "b_call()s" (which TI placed at rst 0x28), which are system routines TI put in the OS to make life easier.

There also exists a C compiler for the new 84 Plus CE calculator, if you happen to have that model. It's a computer program, though, so again (sadly) no on-calc C programming.

Pashalik answered 24/6, 2015 at 5:4 Comment(2)
@Sweeny That's great, glad I could help! Just out of curiosity, do you have a monochrome or color calculator?Pashalik
I've heard that using coding in z80 machine code (without assembly mnemonics) isn't actually that difficult once you get the hang of it. Just make sure to back up your calculator.Trajectory
S
3

After a little research, I found some some hand-held "pocket" devices. The Palm m500 has a JVM to program java on. There apparently was a website that had an SDK for C, but the website was removed.

In regards to calculators:

  • TI-82, 83, 84, 85, 86, and related models all support TI-BASIC and z80 ASM.
  • TI-92, Voyage 200, TI-89, and related models all support TI-BASIC, C, and 68000 ASM.
  • TI-nspire supports TI-BASIC and Lua.
  • HP 50g supports RPL (User and System), ARM ASM, Saturn ASM, and C.
  • HP 49, 48G, or 48S, which support Saturn ASM and RPL.
Sweeny answered 27/6, 2015 at 5:21 Comment(0)
I
1

You would need a compiler that will translate whatever language you're writing in (in the case of Java, an implementation of the JVM as well) to the assembly used by the calculator's CPU, it's probably not likely you will find an easy to use solution as calculators like the TI-84 are pretty archaic.

Innoxious answered 23/6, 2015 at 3:46 Comment(1)
Ah alright, but what kind of calculators besides the TI-84s would be able to do so? I'm willing to invest in something of a more "modern" calculator if needed.Sweeny
D
1

The TI-84 Plus CE Python allows you to code in Python but it is a barebones implementation. But it has been pretty useful for me.

Doubleripper answered 28/9, 2021 at 18:0 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.