About the TI-84+ glitch allowing an additional row of pixels to be erased below text you display with Text(Y,X,StrOfTxt), back when I had TI-83+ OS 1.12, I also had this happen on two occasions within the two years I used this OS. I don,t remember if I had it ever happen on newer OSes, though, but I had it happen on a regular 83+ with OS 1.12 and I had no ASM program installed on the calculator at the time. I don't know what caused it, though. I am curious if anyone might know? I know most people don't use OS 1.12 anymore but most of the time, those who want access to a TI-83+ ROM without having to dump one from their calc (altough this is not legal) often ends up with 1.12. Again, maybe not a lot of people might know because OS 1.12 was mostly used around 2000-2002
hehe, this bug wreaked havoc with Portal. It happens with calculators that use the small font for the mode menu, and the OS switches a flag that makes small text erase a pixel underneath as well as on top. I believe it can be changed back using CalcSys, but you can also visit the Matrix editing screen (where it is turned off so more text can fit on one screen), or you can reset your calculator.
Its pretty easy to detect, but then you need to inform the user that they need to reset their calculator :(
Or just have the program execute DispTable.
Find more info about my projects on Omnimaga:
http://www.omnimaga.org/index.php
I was wondering why something like this kept happening.
So if I just execute DispTable in the beginning of a program and then switch back to home or graph, that'll solve the problem every time?
Yeah in Portal, put DispTable on the second line or between the first and second lines write:
FnOff
Text(1,0,".
Text(0,0,".
If not(pxl-Test(6,0
Then
ClrHome
Disp "","AN ERROR HAS"," OCCURRED.","","PRESS [ENTER]"," TWICE.
Pause
ClrHome (This one is to avoid flicker)
DispTable
End
Find more info about my projects on Omnimaga:
http://www.omnimaga.org/index.php
Well, i did do something like this, but I had the user reset their calculator instead. I didn't like the table popping up :P
The table isn't too bad if you have FnOff before it; It just displays values for X.
Find more info about my projects on Omnimaga:
http://www.omnimaga.org/index.php
It's definitely better than asking the user to exit the program and do something. You can't trust users.
why not? And they don't have to exit the program, it does that for you.
With DispTable you see a table untill the user presses enter and then the program resumes vs the user gets a message the reset something and they may or may not do it. If they don't, then it's suddenly the programmer's fault that the program dosn't work.
Find more info about my projects on Omnimaga:
http://www.omnimaga.org/index.php
whatev, as soon as I get a complaint that its my fault i will change it. (never gotten one :P)
the only annoying thing about this is that there's no way to get rid of the Pause when the table pops up. If you could display the table without forcing the person to press ENTER to continue, It wouldn't be as bad. Plus, the code is executed only when the glitch occurs.
Yea!
I just thought of a new way to DispTable without having it pause!
Run this code:
FnOff
G-T
DispGraph
Full
It works great!
Find more info about my projects on Omnimaga:
http://www.omnimaga.org/index.php
ooooh Yay! I didn't even think about using splitscreen options! Very clever.
Well TI-83+/SE had big fonts for the MODE menu and it still happened on my 83+ OS 1.12, so I guess in my case it was a totally different glitch that caused it. On the Text( page, there's an ASM code to fix it, but DispTable also works (altough it's annoying considering in a program it creates a Pause so the user needs to press ENTER when the DispTable function is executed
Fortunately, very few games I made use Text( without the -1 argument, as most uses the Home Screen or Text(-1, but for the ones that does use Text(, such as Metroid II and ROL3, this can be an issue. In the future, if I make another graphical game that uses small text fonts, I might include the code Ztrumped posted below in my game so problems won't occur.
I have doubts that TI will fix this, because the TI-84+ came out 5 years ago and still carries bugs that were present on the TI-83+ since 10 years
wait, you say it happens using Text(-1 ? In that case its no bug. It just happens :P
woops sorry, i meant Text(, my bad x.x editing post above now x.x
sorry for the confusion
Does anyone else get an ARGUMENT error for trying the following?
Text(24,24,i
It seems as if the Text( command will not display an imaginary argument, and it for some reason calls it an argument error rather than a data type error. It will however, display the character i if it is in a string.
Timothy Foster - @tfAuroratide
Auroratide.com - Go here if you're nerdy like me
The reason it's an argument error, is because text can take a real or string.
Yeah, you'd thing they would have it say ERR:Data Type then.
It would, except that it is the text command, so it thinks you tried to pass the wrong variable. This is why it is not a data type error:
3+5i->A
0->A
Text(0,0, A
That should throw an argument error, because the number type was originally complex, so yeah, it should be data error, it just thinks that you passed the wrong thing, evan though the imaginary part is 0i. But hey, that's ti for ya.
Please, is it that hard to make sure that the meat is cooked before you send it to your customers? I must sound like a cantankerous old coot every time I do this, but let me point out that what you're attempting to support with evidence isn't even factual. This is how misinformation is spun and subsequently picked up by readers, and it's one more piece of mental junk that people end up carrying around with them before it should be knocked from their grasp, which can take some convincing sometimes (see: uses of Repeat and While, parentheses vs. and, etc.).
I also haven't seen anyone demonstrate an actual fix for the problem. Try this:
Text(0,0,real(A),"+",imag(A),"i
It's hard when you don't have a to to test it on. Anyway, sorry about that. I can't delete it, so if you'd have the honors of deleting my thread on down when you have read it.
I think it would look better (in my program) if text( erased an extra line below, how do you activate this bug? I tried going to the mode menu but it didn't work. I'm using a TI-nspire w/ 84+SE keypad.
The Text() command seems to ignore the "Fix" setting (fixed number of decimal places), which would be useful if you were outputting dollars and cents. It seems to just output floating point values. Has anyone found a way to force it to always show two decimal places?
(A workaround might be some complex logic to round the number and then check if there actually are any decimals and how many, and then manually output zeroes, but that's a pretty ugly workaround.)
The workaround you mentioned is what I usually do. You can use log() and iPart to get the number of places to the left of the decimal point, then use Text(A,B,"0.00") to write the 0's. After that you can use the rounding routine with 0.01 → N to round the final number to the nearest cent before outputting it