Join us on Discord!
You can help CodeWalrus stay online by donating here.

New TI-84+CE hardware change breaks compatibility with some ASM/C programs

Started by Dream of Omnimaga, August 05, 2017, 12:24:02 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dream of Omnimaga

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.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

MateoConLechuga

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.

Yuki

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
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

Dream of Omnimaga

Quote from: 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.
Why did the TI-Planet newa state that other programs were affected then? ???
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Yuki

Probably because we didn't knew about it yet so we assumed everything was affected.
  • Calculators owned: TI-83+ (dead?), Casio Prizm (also dead???)
  • Consoles, mobile devices and vintage computers owned: A lot
Read Zarmina!
YUKI-CHAAAANNNN
In the beginning there was walrii. In the end there will be walrii. All hail our supreme leader :walrii: --Snektron

if you wanna throw money at me and/or CodeWalrus monthly it's here

critor

Quote from: xlibman on August 05, 2017, 08:39:12 PM
Quote from: 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.
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

kotu

Quote from: 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.

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
  • Calculators owned: TI 84+CE-T
  • Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

c4ooo

What's the benefit of using interrupts? Surely can't be that much faster?

kotu

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.
  • Calculators owned: TI 84+CE-T
  • Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

Dream of Omnimaga

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.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Powered by EzPortal