Just for fun, I decided to try installing the Python app on my old TI-84 Plus CE (revision pre-A) from 2015.

Turns out the Python App only needs two things to install:
    1. A supported OS version. (Otherwise TI-Connect CE will throw a 'Not for you' error) I used 5.6.0.
    2. A 'P' in the certificate at field 43. This marks the calculator as a 'Python Edition'.

Since pre-A TI-84 Plus CEs can be downgraded, I had no issues installing OS 5.6.0. I then used CERMASTR to create field 43 and used the 'default' button to apply the 'P'.


Now that both the calculator and TI-Connect CE think I have a Python Edition, I was able to send the Python App (version 5.5.0) over. I ran the app and it seemed to function just fine. I even wrote a Hello World program. However, when I tried to run the code, I got an error that simply said "Run and Shell are not available right now".


To be clear, I never expected this to work. I know hardware revision pre-A nothing like the hardware revision M that Python Editions use. Even if I did try this on my revision M, the extra Python co-processor included in Python Editions is physically absent in non-Python Editions. Maybe if I soldered the required components to my revision M the app would work, but that's beyond the scope of this topic.

Hardware Revision pre-A vs Revison M


My goal wasn't to make this work, I was just hoping for some sort of interesting glitch. Surprisingly, TI actually took time to implement hardware error handling (most likely left over from when Python was suppose to be run off of a separate box via USB). Despite the anti-climatic result, it was worth a shot and hopefully it'll answer some people's question on whether non-Python calculators can run Python!
Quote:
hopefully it'll answer some people's question on whether non-Python calculators can run Python!

Okay, who was asking this.
MateoConLechuga wrote:
Quote:
hopefully it'll answer some people's question on whether non-Python calculators can run Python!

Okay, who was asking this.
I've probably been asked no more than 10 times via commenters on YouTube, but I figured it'd be interesting enough to go ahead and answer for fun.
Yeah I saw many people ask that question too before and even wondered myself. I didn't read the entire post from start to finish, though. I'm gonna have a good read when my attention span is better. Thanks for this topic, by the way. Smile
To be pedantic, you installed the Python *editor* on a non-Python TI-84 Plus CE, since the interpreter lives on the coprocessor. Wink Nice work!
If the TI-83 (france) python box is connected (and maybe the TI-83 python app is used), could it work then?
Jelte2357 wrote:
If the TI-83 (france) python box is connected (and maybe the TI-83 python app is used), could it work then?


No, that requires the separate PyAdaptr app, which you could already install without modifying the certificate.
Sorry, I'm quite a noob when it comes to hardware, but why do you need that extra microprocessor to run python programs?
ProgrammerBobSmith wrote:
Sorry, I'm quite a noob when it comes to hardware, but why do you need that extra microprocessor to run python programs?
A combination of shortcomings of the ez80, including (1) not very fast to run C++ code, (2) lack of a good C++ compiler, and (3) lack of memory space for running a Python interpreter.
KermMartian wrote:
ProgrammerBobSmith wrote:
Sorry, I'm quite a noob when it comes to hardware, but why do you need that extra microprocessor to run python programs?
A combination of shortcomings of the ez80, including (1) not very fast to run C++ code, (2) lack of a good C++ compiler, and (3) lack of memory space for running a Python interpreter.


If the ez80 was replaced with a faster microprocessor, could you be able to run python on the same chip?
Even having the ability to edit your Python programs on a non-Python calculators is a great feature! I just saw your YouTube short on this topic. Nice work!

Now, if only there were a Python co-processor to plug into the link port of a monochrome....
ProgrammerBobSmith wrote:
KermMartian wrote:
ProgrammerBobSmith wrote:
Sorry, I'm quite a noob when it comes to hardware, but why do you need that extra microprocessor to run python programs?
A combination of shortcomings of the ez80, including (1) not very fast to run C++ code, (2) lack of a good C++ compiler, and (3) lack of memory space for running a Python interpreter.


If the ez80 was replaced with a faster microprocessor, could you be able to run python on the same chip?
Faster, and ideally different microarchitecture, yes. E.g. something like the TI-Nspire, with an ARM running a TI-84 Plus CE emulator that could communicate with the host CPU to actually run Python.
KermMartian wrote:
not very fast to run C++ code

While true, I think it's fairly well-established that TI doesn't care about speed. Besides, even after they optimized their hardware for performance, literally every single bus access still stalls the CPU for at least one cycle.

KermMartian wrote:
lack of a good C++ compiler

I am offended on jacobly's behalf.

But more seriously, Micropython uses C, not C++. Zilog's C89 compiler is not great, and jacobly's llvm eZ80 target was not completed when TI decided to add Python programming. They probably wouldn't have used it anyway, since it'd be rather embarrassing to ask us for help.

KermMartian wrote:
lack of memory space for running a Python interpreter.

Actually, the eZ80-side has more waaay more RAM and flash available.

Ultimately, I'd be willing to bet a reasonable sum of money that TI's decision to use a coprocessor was driven entirely by the quality (or lack thereof) of Zilog's C compiler.
KermMartian wrote:
Faster, and ideally different microarchitecture, yes. E.g. something like the TI-Nspire, with an ARM running a TI-84 Plus CE emulator that could communicate with the host CPU to actually run Python.


By changing the CPU to a faster CPU would I obtain faster speeds, or is it more complicated than that? I was wondering this not only because I'm a noob at hardware, but also because I've heard that some of the other hardware on the 84+ CE also contribute to the overall lack of speed on calculators.
The CPU itself is already as fast as it can (it's an eZ80...). Slowness doesn't really come from that alone. DrDnar could talk about this for a while. In fact he has already, and the toolchain docs has a hardware overview that explains some things.

Anyway ; it wouldn't be a problem tu run MicroPython (or circuitpython anyway) on it - but memory-wise, stack and heap are too small.

(Otherwise, it's C not C++, but regardless ez80-clang compiles both just fine)
Adriweb wrote:
The CPU itself is already as fast as it can (it's an eZ80...). Slowness doesn't really come from that alone. DrDnar could talk about this for a while. In fact he has already, and the toolchain docs has a hardware overview that explains some things.

Anyway ; it wouldn't be a problem tu run MicroPython (or circuitpython anyway) on it - but memory-wise, stack and heap are too small.

(Otherwise, it's C not C++, but regardless ez80-clang compiles both just fine)


I might sound like a complete idiot and that's fine with me, but I was thinking along the lines of maybe using something as fast as an apple M2 chip.
iCalculator Pro Max now with Dynamic Island!

Kidding aside, if you could get any custom project working with an M2 I would be impressed. I've previously tried using Raspberry Pis to emulate the CE, but only the Pi 3B and newer are fast enough to run at normal calculator speeds Laughing
ProgrammerBobSmith wrote:
I might sound like a complete idiot and that's fine with me, but I was thinking along the lines of maybe using something as fast as an apple M2 chip.


The calculator's CPU is part of the ASIC, so you would have to replace that entire custom chip with your own custom chip. And if I recall correctly, the maximum clock speeds for the eZ80 processor is 50 MHz, so even if you did replace it with your own CPU it would either be only like 5% faster or the CPU wouldn't be able to run TI's OS.
TheLastMillennial wrote:
Just for fun, I decided to try installing the Python app on my old TI-84 Plus CE (revision pre-A) from 2015.



Waiting for the title, "I installed 16 GB of ddr4 memory and an i9-12900k with a 2 terabyte SSD on my TI-84 Plus CE."
  
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