I was debating whether or not to reply to this, since I've been basically AWOL from TI-Calculators for years now, but what the heck.

For years, people used to ask me why I never got into programming ASM or at least used an ASM shell or command in any of the programs I made.

This is why.

Ti has had a long and storied history of screwing over their platforms when it came to programming, Especially low level programming, in the interests of their primary customers. (K-12 teachers and districts, or in this case, to maintain ACT and SAT test compliance)

For example, Let me share a quote from my all but dead forum.
http://www.bluecrimson.com/cgi-bin/forum/Blah.pl?m-1161633215/s-15/#num18

Quote:
I swear that Ti anymore builds their calcs based on high school teacher input instead of Math professors and scientist input. Teachers want pretty graphics and ease of use while professors and scientists want raw power and calculation expandability. Teachers don't want programming capabilities because in their mind it turns them into a gameboy (Completely ignoring the fact that programming takes math to make a game work right not to mention gets students interested in computer programming) while professors want programming to solve complex problems without having to enter 20 equations manually each time. I think this is the same reason the Ti-82 OS keeps living on and on and the Ti-85 OS is dead, even though the Ti-85 OS was much more superior in many aspects and ran on basically the same hardware with a slightly bigger screen. The Ti-92 is the last calc OS they made with Both Teachers and Professors in mind. Thankfully they haven't snuffed it like they did the Ti-85/6 yet but who knows, they'll probably replace it with the Ti-84 super saiyan edition anytime now with bright flashing yellow case, 16 MB of flash and the same limitations and 24K Ram Footprint the Ti-82 has had for almost 15 years now.


Now. Consider that I wrote the above back in 2007, when they gimped Ti-basic programming for the then beta Ti-Nspire. Thirteen years later it's still relevant.

PS: Fun fact: Even the Ti-84 Super Saiyan Edition came out during that time.
https://education.ti.com/af/online-resources/products/classroom-solutions/ti-84_plusezspot

PPS: At least now they have some sort of Ti-Basic for the Nspire, although it's still gimped game wise with no sprite capable picture manipulation and the like. Either way it's looking more like Python is going to be the programming language moving forward. Ti-92 Ti-basic was just about all you needed to do some amazing things and there was no excuse for the lack of full program functionality on the original Nspire other than Teachers didn't want it because the calc can become a gameboy.
X-post from a LTT forum thread on the subject:


I personally don't like the "developer version" idea. In my (as someone who has written several calculator programs, including a clone of the chrome dino game and a port of a networking stack) opinion, the main two draws of calculator programming are the fact that you already own a calculator, and that the limited hardware available to work with, which requires you to write optimized code. A "developer edition" calc fails to meet either of these conditions, as someone who picked up a calculator for math class isn't going to choose the developer edition. At that point, you might as well just use a fantasy console or develop for another platform. Secondly, a more powerful developer edition would remove much of the challenge from calculator programming, and you might as well be writing an Android app. Finally, the total market for such a calculator would likely only be a few dozen to a few hundred people, so it would be unprofitable for TI to develop and market.



Finally, about the developer OS, that looks good on paper but would likely have a bunch of issues if actually implemented. Many teachers don't use exam mode and instead reset students' calculators (which isn't a good idea, as you can archive programs to preserve them across resets, but whatever). Additionally, a student could inadvertently install the developer OS (while blinding following a tutorial to install Mario, perhaps) and not be able to use their calculator on an exam because they didn't know they needed to uninstall the dev OS. Lastly, a student using the developer OS could just use assembly to fake the test mode.



It's clear that TI don't actually care about security, only the appearance of security. The incident that caused this resulted from outdated OS versions, and releasing a new OS version isn't going to do anything to help fix that. If TI really wants to ensure that their calculators are secure, they should tell testing institutions to require that students' calculators are updated to the latest version, stop giving developers a reason to release exploits by keeping native code support, and start working together with the dev community through a bug bounty program or similar. It seems very unlikely at this point that they will implement any of those, though.
I agree that the small market probably makes a developer version unworkable as a commercial product.
But in a in a sense, we've already started work on a developer version. For the new hardware revision, all you need is Digikey, a soldering iron, and a hand steady enough to do SMT rework. Sure, few if any students would be willing to try that, but for me, the reverse engineering possibilities are exciting.

A faster eZ80 CPU isn't an option; the eZ80 IP core is only spec'd for 50 MHz. However, even the newer, much faster hardware is still leaving the CPU stalled most of the time, so there's plenty of room to improve performance without boosting the CPU speed itself. Or to put it another way, running the CPU faster wouldn't give you more instructions per second, you'd just get more stall cycles per second. My guess is that the current hardware still leaves the CPU stalled somewhere around 75 % of the time---a massive improvement over the > 90 % of the first generation hardware.
I genuinely feel as though TI is between a rock and a hard place here. I can sympathize with them not wanting to anger school boards who absolutely are obsessed with students cheating on tests that are meaningless in the end. But it really does come as a low blow that the solution is a seemingly nuclear one. To forcefully sever the past is not a move that can possibly keep a community moving forward. I know that I, amongst many other people, got into programming these calculators because we were able to download older programs and games and tinker at large with them. But to prevent future students from having access to learn easily on the shoulders of those who came before, is losing the sight of what TI had inadvertently built over the years.

I cannot think of any surefire solution that would make the most sense here. A DevOS would mean that those students could still cheat, but then again if you are going through that much trouble maybe you are smarter than is thought. And a DevUnit is a great idea and totally in-line with TIís solid history of supporting developers, but then you have the issue of who is really going to shell out the premium in price over the cost of a regular calculator then?

I am disheartened to see this move happen. But it isnít the first time TI has caused me to feel disenfranchised, so count me as not surprised in the end.
This goes way beyond what they have done. The manner in which they have done it is simply appalling, disrespectful and condescending to anyone who's ever used or written an ASM/C program on the TI-83 PCE.

I made a point in another thread (https://www.cemetech.net/forum/viewtopic.php?p=285865#285865) about how two different companies in the business of graphing calculators have handled this particular problem. Frankly, I'm out of metaphors at this point. The behavior of Texas Instruments as of lately makes them an expy of the Galactic Empire from Star Wars. Especially when compared to what competitors in a similar situation are handling their problems.

TI: I am altering the deal. Pray I don't alter it any further.
You're better off designing a hobbyist board than expecting a dev platform from TI.

There are things like this for example:
https://www.electronics-lab.com/makerlisp-machine-expandable-ez80-cpu-card-running-bare-metal-lisp/
https://hackaday.io/project/161496-cpm-50-mk-ii

Related to the topic at hand, I can't help but feel this stems all the way back to the factored keys - that really put a dent in the relationship with TI for what I feel wasn't exactly overly useful for the community other than an "I wanted to see if it could be done" kind of thing. Those keys were hardly utilised when you think about it.
@tr1p: that board looks awesome, but it seems the crowdsupply link is dead .___.
tr1p1ea wrote:
Related to the topic at hand, I can't help but feel this stems all the way back to the factored keys - that really put a dent in the relationship with TI for what I feel wasn't exactly overly useful for the community other than an "I wanted to see if it could be done" kind of thing. Those keys were hardly utilised when you think about it.

I know this gets existential pretty fast but isnít ďI wanted to see if it could be doneĒ the biggest driving force of this entire community? Iíve seen everything from a literal web browser on a calculator to DOOM and it was clearly never about practicality.
tr1p1ea wrote:
Related to the topic at hand, I can't help but feel this stems all the way back to the factored keys - that really put a dent in the relationship with TI
If I remember correctly, that was back in the dark(er) days before Peter Balyta. It's true responsible disclosure would have required telling TI first, but I doubt that TI Education's former leadership would have gracefully accepted the finding; they probably would have responded to responsible disclosure with a lawsuit, essentially hoping a judge could rule against any fundamental laws of mathematics they didn't like. Ultimately, it was their screw-up for waiting so long that even an old, disused PC could break their crypto in a reasonable time frame. If Moody hadn't done it, somebody else would have had the same idea with a year or two, I suspect.

On TI Planet, somebody posted a message from TI saying that playing games voids your warranty. Another user likened that to selling a car with a sticker on the gas pedal saying, "WARRANTY VOID IF PRESSED."
TI is acting so pathetic. Here's the translation of the message TI sent.
Quote:
Hello, Thank you for contacting Texas Instruments. If the game no longer works, we are not the publisher, and we cannot help you with that. In addition, installing games voids the warranty, and we strongly advise against using them. Hoping to have been useful to you, I wish you a pleasant day.

https://tiplanet.org/forum/viewtopic.php?f=41&t=23858&start=120
They're not going to help you unless you're a teacher or a student with a legitimate question. They're not even going to pretend they like us. This is all about how they appear to academia.
DrDnar wrote:
tr1p1ea wrote:
Related to the topic at hand, I can't help but feel this stems all the way back to the factored keys - that really put a dent in the relationship with TI
If I remember correctly, that was back in the dark(er) days before Peter Balyta.

Correct.
On multiple occasions in the decade preceding the factorization of the validation keys, TI EdTech damaged its relationship with its community of users and developers: the two episodes which comme immediately to my mind are the handling of Olivier Miclo (I'm enough of an old-timer in the community to know about this episode), and no longer replying to signing requests for community TI-68k FlashApps (and thereby hampering development efforts on e.g. GTC), but I'm sure there are others. Needless to say, TI's illegal DMCA takedown requests for legal content did really put a further dent into their relationship with the community...
The relationship started to improve again soon after I released the harmless (unusable in practice in standard mode due to its unreliability, no effect in PTT mode) OSLauncher + DummyOS for the Nspire, and contacts were created with TI management, starting with the French arm. Soon thereafter, I met Peter Balyta once, in 2011, and I can tell you that he was aware that TI did it horribly wrong wrt. the "TI Signing Key Controversy" Smile
Thanks for the insight into those developments Lionel - very interesting.
I don't have much useful to add, except to say I agree that harassing TI in a negative fashion is unlikely to help the situation, but everyone will have their own opinions on that.

I do miss the 90's. I had a few emails back and forth with Pat Milheron (who worked for TI, I think he wrote the ROM code for the TI-83 if I recall correctly?) when I was learning assembly, and he helped me out with a few pointers. I'm sure I was just one of many who emailed him with questions, but the fact that he took time out of his day to respond to a kid from Australia whose only programming experience was learning TI-Basic from the calculator manual seems incredible when I think about it now. I can't even remember what kind of questions I used to ask him, but I'm sure they were more basic than questions I've seen people get flamed on here for asking.

Even though I wasn't a very proficient coder, it was just really exciting to be part of the growing community in those early days, and it's been awesome seeing what people have achieved over the years. Despite what some might consider the heyday of the community long since passing and devices like smart phones taking over the world, there has always been this community continuing to exist.

Is this the end? That question has been asked many times in the last 5-10 years, but undoubtedly this will be a bit demotivator for a lot of people Sad
If you missed it, I made a post on the Linus Tech Tips forum about this whole situation. It was picked up by a few other sites like SlashDot and TechLinked gave it a segment in their show. I wish they had gone a bit more in-depth but hey it's nice to see the news out there.

(segment at 3:43)


Amusing: my friend actually sent me the SlashDot article, he didn't realize I made that LTT post. Laughing
TheLastMillennial wrote:
If you missed it, I made a post on the Linus Tech Tips forum about this whole situation. It was picked up by a few other sites like SlashDot and TechLinked gave it a segment in their show. I wish they had gone a bit more in-depth but hey it's nice to see the news out there.

(segment at 3:43)

It might be only a couple seconds, but its nice to see that the story made it to a somewhat mainstream corner of the internet. Its pretty rare that anything gets out of the calc forums at all Smile
JamesV wrote:
I don't have much useful to add, except to say I agree that harassing TI in a negative fashion is unlikely to help the situation, but everyone will have their own opinions on that.

I do miss the 90's. I had a few emails back and forth with Pat Milheron (who worked for TI, I think he wrote the ROM code for the TI-83 if I recall correctly?) when I was learning assembly, and he helped me out with a few pointers. I'm sure I was just one of many who emailed him with questions, but the fact that he took time out of his day to respond to a kid from Australia whose only programming experience was learning TI-Basic from the calculator manual seems incredible when I think about it now. I can't even remember what kind of questions I used to ask him, but I'm sure they were more basic than questions I've seen people get flamed on here for asking.

Even though I wasn't a very proficient coder, it was just really exciting to be part of the growing community in those early days, and it's been awesome seeing what people have achieved over the years. Despite what some might consider the heyday of the community long since passing and devices like smart phones taking over the world, there has always been this community continuing to exist.

Is this the end? That question has been asked many times in the last 5-10 years, but undoubtedly this will be a bit demotivator for a lot of people Sad


I see what you did there Smile.
IMO, the whole idea of a developer version of the calculator fundamentally misses the point of programming on a calculator. The main appeals of creating programs for TI-84s are that nearly everyone (especially in school) has one and can run anything you can make, and the challenge/absurdity of making games and other complex apps on something which was not really intended to run them.

A developer edition completely misses both of these appeals. It's designed from the ground up to be able to run programs, so you don't get the same feeling of pushing hardware beyond what it was meant to accomplish. And more importantly, nobody is ever even going to consider buying a developer edition other than people who are already developers.

A developer edition would be a device bought exclusively by developers to develop programs to show to other developers. Nothing you ever make on a developer edition calculator will ever have the same appeal to other people because you made it for a completely different and incompatible piece of hardware from whatever they own. The entire appeal of sending programs to your friends that they can download and run on their own calculators is gone.

A developer edition would essentially be a platform with tons of developers and 0 end users. On its own that isn't necessarily an issue since many hobbyists could easily find the motivation to hack around on a device to make programs no one will use, the issue is applying that model to a TI calculator. TI calculators are notorious for being outclassed in nearly every metric by other hardware that everyone already owns, and yet still being ubiquitous, mainly because they're required for school. A developer edition would keep all of these downsides, but lose the ubiquity.

If the developer calculator remains an underpowered machine, it's instantly going to lose out to all of the other low-powered hobbyist kits and boards. There are Arduino and Raspberry Pi kits that come with way more stuff to mess around with for the same price (or less) as a TI-84. There are also free emulators for many low-powered machines (including calculators) that run quite easily on modern computers and can provide the same experience at basically no cost.

If they beef up the developer calculator so that it's actually a powerful machine, they've basically just made an inferior version of a cell phone. If I'm going to be using the same high-level constructs and careless memory allocation that I can get away with on a modern computer or phone, why not just program on one of those platforms, where people will actually see what I make, instead? If there's little to no additional challenge involved, then what motivation is there to do the exact same high-level coding on a platform few, if any, people will ever use?

The whole concept of a developer calculator is essentially a big Catch-22: it's either going to be a worse version of a hobbyist board, a worse version of a cell phone, or both. There's no situation in which you wouldn't be able to find a much better platform for your needs.
There are other solutions than a developer edition of a calculator. Like making the calculator bootloader check the flashed firmware and display a splash-screen that tells if the calculator is running an official firmware or not. All you need to trust then is that the bootloader hasn't been tampered with and that the RESET button works. That's actually an option that has been suggested to NumWorks when they asked their community for ideas on how to solve this problem in their case.

A developer edition makes sense for SoloKeys because the people who want to develop the SoloKeys firmware need a unrestricted platform to do so and their openness is a differentiator. I highly doubt that Texas Instruments sees a business case in there for them. That doesn't mean they have to gratuitously throw their power users off a cliff.
I am actually confused why this was removed at all in lieu of doing some proper security practices.
Back peddle a bit though.
I really doubt a DE calculator is a good idea for the community or TI. Why? Simple This is a niche community already, Made wonderful by the prolificnesss of Ti-Calculators and their ease of access, and wide spread use. If we were to transition to a hardware locked model with developer support Only those of us who really care would be involved at this point further sending the community to a grinding halt.

My proposition would be more in line of what every other major end user device does at this point.
Implement some proper OS/Boot loader security. Give us a separate OS version for running ASM/C that when installed pops up a lovely boot loader based splash screen. You know like every major unlock-able cellphone out there now?
as well as implement some OS HASH checking in some form or another to test for in place modifications.
The real issue with these calculators is the lack of ingrained security, Moving to a Larger signing Key was a good, albeit slow, move. They needed to also implement some runtime checks with that. And lastly they need to shore up their boot page protections and this will be a quite secure handheld.
  
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 2 of 5
» All times are GMT - 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