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.

This forum is locked: you cannot post, reply to, or edit 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
Display posts from previous:   
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
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement