Omnimaga
Calculator Community => Other Calculators => Topic started by: calcdude84se on July 13, 2010, 02:31:03 pm
-
So, while messing around with communicating directly with the LCD in Axe, (I made a few Asm routines and put them under labels), I made a typo. Long story short, I found the use for the undocumented LCD commands ranging from $0C to $0F. Fitting with the LCD documentation, these commands are of the form %000011**
Setting bit 0 ($0D) flips the screen left/right, and setting bit 1 ($0E) flips it up/down, and setting both ($0F), well, does both, rotating it 180 degrees.
Now you know. ;D If you have Calcsys, output these values to the LCD command port (port $10) and see it for yourself.
(Note that I only know it works with the type of LCD I have on my 84+SE, which is the kind not needing ALCDFIX)
-
Hmmmm sending $1D to Port $10 creates blue lines of Death on my 84+SE O.O The binary you posted however does not translate to $1D , it translates to $0* where the first hex bit is 0. However, trying $0C through $0F resulted in no change at all. o.O
-
Oops, I meant $0D to $0F... Sorry :(
I'll fix that.
-
What letter do you guys have on the back?
-
Mine is a revision M from the P factory. I don't need ALCDFIX.
-
Mine is an S, and sending 0C-0F does nothing to my calc.
-
ok, so that means that calcdude's lcd is nicer then :P or something
-
Mhmm since it is undocumented, would this fail on Nspire?
-
Since it has to do with the driver itself, I can say with some certainty, yes.
-
That said, In Axe, wasn't there a command to copy data starting at a memory address/pointer inverted? If so, couldn't Axe programmers just use that instead?
-
Interesting find! Too bad this can't be used on all calc models... :(
-
Yeah, it doesn't work on mine. But I guess this explains bug reports when people's screens got vertically flipped. I could never figure that out.
-
Ah, if only i had a better calc to try this on. Mine is an H from the K factory (or possibly vise versa). What was the asm code you used in case anyone else wants to try it?
-
Yeah I remember hearing about ppl screen getting flipped. I always thought it was strange at first.
I never had such thing happen on any of the 83+ I used, same for the 83+SE I got. The two 83+ calcs were bought in 2001 and the 83+SE in early 2002 (I think it was a 2001 one, though, because it had OS 1.13 on it)
-
On my 83+, something different happens- the commands seem to alter how light/how dark the screen is. 0C makes it darker, 0F makes it lighter, and I'm not really sure what 0D and 0E do (reset it to the default, it looks like, but I'm not really sure).
-
Mhmm, this seems like this trick might be best avoided if it gives different result on various calcs x.x
EDIT: http://ourl.ca/4129/102147 safer way to do it, I think (although IDK if it's the most efficient one, in terms of speed and optimizing)
-
The only cool thing about it is that you don't do anything else, the driver does it automatically.
Btw, can anyone else replicate this? I can post a vid later, to demonstrate this.
-
No flips occur on a S-0702A 83+SE and a S-0106F 84+SE, when outputting $0C through $0F to port $10. Maybe a small effect on contrast, as TC01 described.
-
So I have a special driver... woohoo...
I'll get some pics so you can see it for yourselves.
Edit: got the pics, they're attached. They're named to correspond to the port output that produced them.
-
WOW! I can't believe that actually works. Imagine playing Mario like that. Do the asm programs work?
-
Since absolutely nothing touches the setting (except a RAM clear), everything is like that until I put it back by outputting $0C to the lcd. I'll get you another picture of, say, Tetris Marathon. Hold on. :P
Edit: Here you go. :P Plus a bonus! (I'll stop probably stop posting pics now)
-
Doesn't work on my TI-84+SE S-0408D, nice though, if only they implemented it in more models :(
-
Yeah, currently I'm wondering what LCD driver I have... Maybe I should open it up...
-
Seems like this is a pretty rare occurrence o.O Too bad, it could have been exploited to be sooo annoying ;)
-
D: it didn't work on my calculator
-
Looks cool, but when I tried it, nothing happened. Oddly enough, my serial number ends with P-0908M, which should mean I also have an M revision from P factory, right? Perhaps, mine just has a worse LCD driver...
-
This is confusing... I feel special. :P
If the LCD drivers are clearly labeled, do you think I should open it up?
-
Might be a good idea. Make sure not to damage anything in the process though.
-
Doesn't work on mine, plus bad screen.
PBT7474A1(1)
T6K04(SEM.6DS)
And while I had it open, I made the LCD really clean.
Edit:
2518110828 P-0508M btw
-
So what is the process for testing this exactly?
-
Grab Calcsys and send it to your calc, then go into the port monitor and go over to '10', hit enter and then type in the values to test with. This is how I did it, anyway.
-
Yeah, that's about the best way to do it, unless you really like writing ASM programs :P
-
wow, just looked at the pics, didn't realize it not only flipped vertically, but horizontally as well.
-
Yeah, I got four different orientations. Very interesting.
*calcdude is still feeling special
-
Ok, so I'm still not quite sure what to do. I have Calcsys on my calculator, went to Port Monitor and went to port 10 (says at the bottom that it is LCD Instr but not sure what that means). After that I'm not exactly sure what to do. Like I push enter and see something that says "Output:" and a little weird token thing. Not sure what I type in there.
Ok, so I take that back. I figured it out. My screen flips to like calcdude84se's. The last part of my serial is P-0108J.
-
It works for me too. Serial is S-0506K. I also found how to shift the screen vertically while I was at high school, it was the same port number, but I didn't knew about flipping the screen...
Edit: Found the numbers: it's from $40 to $7F, $40 is the normal position, $41 causes the screen to shift one pixel up, $48 is one line of text up (since 8 pixels are one line), the first line becomes the last line, and so on.
I believe all the others values causes blue lines of death, that's why I didn't gone below $40...
-
does not work on mine :(
_K-0605
-
Yay, two others who've been able to duplicate it!
* calcdude feels less special now :P
As for the BLOD's, commands in the range $18-$1F cause them. Other commands do stuff like set the position on the LCD to read from/write to.
-
S-0406F: nothin
(but speaking of such oddities, i'll think i'll go start another topic to discuss another one that's been puzzling me.....)
-
Nice find! So that's the source of these mysterious "glitches" like the one that killed Nyarr. ;D
edit: Tried! I love it! It works on my calc, 2635016775 P-0509M. This is so much fun!
How do I put it back to normal? :P
-
I thought Nyaar RPG died due to {AP} having lost motivation on the battle engine? I don't remember him getting mem clears on it
-
It works for me too. Serial is S-0506K. I also found how to shift the screen vertically while I was at high school, it was the same port number, but I didn't knew about flipping the screen...
Edit: Found the numbers: it's from $40 to $7E, $40 is the normal position, $41 causes the screen to shift one pixel up, $48 is one line of text up (since 8 pixels are one line), the first line becomes the last line, and so on.
I believe all the others values causes blue lines of death, that's why I didn't gone below $40...
Something like this happened to him. I just can't find the topic to site this source. =/
-
What, BLOD's or vertical shifting?
Vertically shifting the screen is documented and the OS will fix it every time you turn the calc off and back on.
As for BLOD's, pull the battery. Quickly.
Also, it's $40-$7F, not $7E :P
-
calcdude84se: yes I meant $7F, my keyboard slipped and didn't noticed the error. Fixing my post now.
But it could be nice for a vertically scrolling picture, right?
Vertically shifting the screen is documented and the OS will fix it every time you turn the calc off and back on.
I love how the flipping trick doesn't do that so you can easily trick your friends.
-
Vertically shifting the screen is documented and the OS will fix it every time you turn the calc off and back on.
I love how the flipping trick doesn't do that so you can easily trick your friends.
Alright, a RAM Clear didn't even fix the flipping trick. I see a lot of fun in my future. :P
-
Indeed. The reason it probably isn't automatically fixed is that it produces different results over different LCD drivers, and some of the results were apparently bad.
But if it works, then yes :P
-
What if we emailed TI about this? How would they tell us to fix a flipped screen? ;D
-
Probably the typical "Reset the RAM, if that does nothing, pull a battery"
We can't even be sure they're aware of it. ;D
-
Probably the typical "Reset the RAM, if that does nothing, pull a battery"
But that doesn't work. I think I'd do an OS resend if I didn't know how to fix it, but that may not even fix it. :D
-
ztrumpet, I think the most probable answer is to send them your calculator. Or the usual endless "I don't know, lemme send you to another department".
-
I'm pretty sure pulling a battery works. Did you only try a RAM reset?
-
I'm pretty sure pulling a battery works. Did you only try a RAM reset?
I only tried a RAM reset (2nd + 7 1 2).
Edit: Aww, pulling a battery works. :(
-
Yeah, it kinda has to, since losing all power will reset things to a default state unless they're saved (and I doubt TI would invest in hardware with non-volatile RAM :P) and the normal orientation is the default, obviously ;D
But it's still amusing, since most people think resetting the RAM fixes everything. But I'd think even receiving an OS wouldn't fix it, because you don't need to pull a battery to do that. So you can definitely confuse people. :P
-
I don't think the battery pull itself is what does it though. You'll notice that when you pull a battery, when the screen turns back on, it was displaying the same thing it did before it turned off. This would mean the the lcd ram didn't get cleared. It would probably also mean that it's settings didn't get cleared either. That is probably the job of the OS to clear.
I couldn't find the spot in the OS where it happens, but I found it in the boot code. The boot code sends: 40h, 05h, 01h, 03h, 17h, 0Bh, and 0EFh. This makes me think that these aren't defaults. (13h-17h are undefined, but 13h-16h raise my contrast)
Also, not many people realize this because no one does it, but if you pull out the little battery as well as the AAA's. When you turn the calculator back on, the screen displays a bunch of garbage. Which makes me think that this is the only time that the lcd ram loses power. Maybe it will reset the screen flip settings too.
-
Interesting. Now that I think about, I noticed this when I opened it up and put the board in contact with the batteries...
Yeah, it makes sense that the boot code does it. There are probably different revisions of the boot code with the same version number.
-
Interesting. Now that I think about, I noticed this when I opened it up and put the board in contact with the batteries...
Yeah, it makes sense that the boot code does it. There are probably different revisions of the boot code with the same version number.
Most definitely. The only problem is figuring out which is which. :)
-
You can also fix the orientation by typing in 0C, or at least that fixed the orientation for me.
-
We were already aware of that, we're just trying now to see what the boot code does about it. :P
-
I wish mine could flip the screen :[ Maybe my sisters does.... >:D
-
Ah ok, just reading it sounded like you guys didn't know (which kinda shocked me :P). But I gotcha.
-
I don't think the battery pull itself is what does it though. You'll notice that when you pull a battery, when the screen turns back on, it was displaying the same thing it did before it turned off. This would mean the the lcd ram didn't get cleared. It would probably also mean that it's settings didn't get cleared either. That is probably the job of the OS to clear.
I couldn't find the spot in the OS where it happens, but I found it in the boot code. The boot code sends: 40h, 05h, 01h, 03h, 17h, 0Bh, and 0EFh. This makes me think that these aren't defaults. (13h-17h are undefined, but 13h-16h raise my contrast)
Also, not many people realize this because no one does it, but if you pull out the little battery as well as the AAA's. When you turn the calculator back on, the screen displays a bunch of garbage. Which makes me think that this is the only time that the lcd ram loses power. Maybe it will reset the screen flip settings too.
I remember actually reading in Asm in 28 days that when removing the 4 tr1p1eas from the calc, the calc isn't turning OFF really. To really turn it OFF, you need to remove all 5 batteries. Even then, I wonder if it really turns OFF right away? Maybe it takes a minute or so?
-
Add one more person with this interesting quirk to the list. My old 84+ doesn't do this, but I just tested it on my new 84+se, and it works on there (no omnicalc ram restore, tho :'().
Serial: S-0306F (84+), P-0909M (84+se - a mysterious P factory calc!)
-
Add one more person with this interesting quirk to the list. My old 84+ doesn't do this, but I just tested it on my new 84+se, and it works on there (no omnicalc ram restore, tho :'().
Serial: S-0306F (84+), P-0909M (84+se - a mysterious P factory calc!)
P's are normal, they just always have bad ram. Old table (http://www.unitedti.org/forum/index.php?showtopic=8913&st=165). K's are the weird ones.
-
My bad. So confuzzling...