This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's
Technology & Calculator Open Topic subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.
Calculator Tech Support =>
Technology & Calculator Open Topic
Author |
Message |
|
Igrek
Member
Joined: 23 Aug 2007 Posts: 151
|
Posted: 03 Jun 2008 01:22:49 pm Post subject: |
|
|
It seems that thee is a bug in OS 2.21 and 2.22 (TI84), once you switch to sequence graphing mode and you enter an equation, the bug appears. While tracing the equation everything goes fine, but once you try to enter a number it displays gibberish instead of n=.
Does anyone else has this problem? (Probably yes because it is a common problem in my school.)
Is there any way to fix this without loading a new OS on the calculator? (I don't feel like updating 50 OS's around my school.) |
|
Back to top |
|
|
brandonw
Advanced Member
Joined: 12 Jan 2007 Posts: 455
|
Posted: 04 Jun 2008 03:11:40 am Post subject: |
|
|
Congratulations! You've found (more) certifiable proof that TI's coders are idiots. I sacrificed my night of sleep to bring you this little nugget of entertainment.
Here's the code from OS 2.21/2.22 which displays the string prompt at the bottom of the screen:
Code: 50B5 DisplayTraceNumPrompt:
50B5 call CurRowToLastRow
50B8 set 6, (iy+1Dh)
50BC set 7, (iy+1Dh)
50C0 bit 2, (iy+17h)
50C4 jr dumbJump
50C6
dumbJump:
50C6 ld hl, 405Eh
50C6 call isFuncGraph
50CC jr nz, displayString
50CE ld hl, 405Bh
50D1 call isPolarGraph
50D4 jr nz, displayString
50D6 ld hl, 4061h
50D9 call isParametricGraph
50DC jr nz, displayString
50DE ld hl, 1
50E1
50E1 displayString:
50E1 call _PutS
50E4 call _EraseEOL
50E7 ret
As you can see, it determines from flags which prompt string to display (for function, polar, parametric, and sequence graphing modes). If function...405Eh, a pointer to a zero-terminated string. If polar...405Bh. If parametric...4061h. If sequence...1? What? The garbage you're seeing on the LCD is coincidentally the data from page 0, address 0001h...turned into characters.
There's a whole lot more wrong with just that snippet alone. No excuse for this kind of stuff in a production OS. At least they fixed it...
Anyway, I attempted to write some hooks to work around this, but this routine is called in a couple of different places inconsistently, so I resorted to an OS patch, which I've uploaded to http://brandonw.net/calcstuff/seqfix.zip. If you run that on an OS 2.21/2.22 calculator, it'll patch that code to point to the correct string.
If you can't do this, the workaround is to let it display the garbage by pressing a number key like [0], then press [DEL] once, then enter the number you wanted to, then press enter. You'll see it works like it's supposed to. Ugly, but it does work and it means you don't have to load something on everyone's calculator. |
|
Back to top |
|
|
|
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