The shoutbox is currently out of service. Join us on Discord instead.
You can help CodeWalrus stay online by donating here.

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

Started by DJ Omnimaga, August 05, 2017, 12:24:02 pm

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DJ 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.

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.

Juju

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
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

DJ 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? ???

Juju

Probably because we didn't knew about it yet so we assumed everything was affected.
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
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.
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

DJ 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.

Powered by EzPortal