CodeWalrus

Development => Calculators => Calculator News, Coding, Help & Talk => Topic started by: xlibman on August 05, 2017, 12:24:02 pm

Title: New TI-84+CE hardware change breaks compatibility with some ASM/C programs
Post by: xlibman on August 05, 2017, 12:24:02 pm
Bad news for students who are planning to purchase a brand new TI-84 Plus CE for this upcoming school semester: If you planned to play Oiram CE, Calcuzap, Wal-Rush! CE or First Fantasy on your calculator, then you might be out of luck.

Last Spring, Texas Instruments introduced the 13th hardware revision for the TI-84 Plus CE model, ending with the letter I. Unfortunately this change breaks compatibility with many a few ASM and C program and games released by the TI community over the last two years, causing the keypad to no longer respond during execution, forcing you to hit the reset button on the back. And what makes this worse is that there is no way to tell if the calculator you will buy (new or used) is gonna be hardware I or later or if it's gonna be an older one that can run those games.

For now, there is no estimate about when (or if) a C SDK libraries update that circumvents this issue is gonna be released, if it's even possible at all, because none of the TI community developers own such recent TI-84 Plus CE version. The TI-83 Premium CE is also affected.

In April 2007, a similar situation affected the TI-84 Plus and TI-84 Plus Silver Edition with missing RAM pages, while in 2016 it was the TI-Nspire CX's turn with a new LCD hardware. And TI isn't alone, as the fx-CG9860G series changed processor completely in 2011.

Source : https://github.com/mateoconlechuga/oiram/issues/2 via https://tiplanet.org/forum/viewtopic.php?f=41&t=20347 & https://codewalr.us/1586/58887

Update: Turns out it breaks compatibility with only one way out of many to fetch keyboard inputs, namely interrupts. Fortunately, the only known program that uses them is Oiram CE and some toolchain demos, but still, it is a problem if you're planning to use them in your programs. Mostly every program should work fine on hardware revision I, provided they don't use interrupts. Please check with your program's author if it's affected.
Title: Re: New TI-84+CE hardware change breaks compatibility with most ASM/C programs
Post by: MateoConLechuga on August 05, 2017, 04:50:32 pm
The only affected program is Oiram. The issue is with interrupts, not the keypad hardware. Interrupts are only available with the C toolchain SDK, and no one besides myself has used them.
Title: Re: New TI-84+CE hardware change breaks compatibility with most ASM/C programs
Post by: Juju on August 05, 2017, 05:05:45 pm
Still, the issue is in the toolchain SDK and not in Oiram, so it affects whoever that uses the interrupts, even if it's just you.

Gonna edit the OP to make it more clear. Edit: Done, before someone claims it's fake news :P
Title: Re: New TI-84+CE hardware change breaks compatibility with most ASM/C programs
Post by: xlibman on August 05, 2017, 08:39:12 pm
The only affected program is Oiram. The issue is with interrupts, not the keypad hardware. Interrupts are only available with the C toolchain SDK, and no one besides myself has used them.
Why did the TI-Planet newa state that other programs were affected then? ???
Title: Re: New TI-84+CE hardware change breaks compatibility with most ASM/C programs
Post by: Juju on August 05, 2017, 09:47:16 pm
Probably because we didn't knew about it yet so we assumed everything was affected.
Title: Re: New TI-84+CE hardware change breaks compatibility with most ASM/C programs
Post by: critor on August 05, 2017, 09:52:24 pm
The only affected program is Oiram. The issue is with interrupts, not the keypad hardware. Interrupts are only available with the C toolchain SDK, and no one besides myself has used them.
Why did the TI-Planet newa state that other programs were affected then? ???
Sorry, I've got no HW-I to test.

So that's what I had understood from the following posts :
https://codewalr.us/index.php?topic=1586.msg58918#msg58918
Title: Re: New TI-84+CE hardware change breaks compatibility with most ASM/C programs
Post by: kotu on August 06, 2017, 12:31:58 pm
The only affected program is Oiram. The issue is with interrupts, not the keypad hardware. Interrupts are only available with the C toolchain SDK, and no one besides myself has used them.

Hahaha, although it was never really completed (it is still fun to play) Walrus Cheese Run used the interrupts

*edit*
and the demo of Kill Cmnd
Title: Re: New TI-84+CE hardware change caused nuclear war.
Post by: c4ooo on August 07, 2017, 09:13:35 pm
What's the benefit of using interrupts? Surely can't be that much faster?
Title: Re: New TI-84+CE hardware change breaks compatibility with some ASM/C programs
Post by: kotu on August 07, 2017, 09:15:37 pm
The reason I was using them was, if the framerate of your game is slow enough, a keypress can be missed altogether (the keydown and keyup both happen within the frame length). Interrupts allow you a way around that.
Title: Re: New TI-84+CE hardware change breaks compatibility with some ASM/C programs
Post by: xlibman on August 07, 2017, 09:16:54 pm
It depends I guess. They were used very very often way back in the 90's-late 2000's on monochrome models in games. Someone like @tr1p1ea or @MateoConLechuga would have a much better answer than me. All I can say is that TI-BASIC enhancer libs should probably not use interrupts during TI-OS execution because someone tried to make an interrupt-based grayscale lib in 2004 so that I can redo Reuben Quest: Ev Awakening to run much faster with less flickering, but it was so unstable because interrupts kept conflicting with everything in the TI-BASIC parser or something.


What I hope is that TI won't remove RAM pages or change the CPU or something.