Author Topic: Interesting TI-84+ Screen Behavior  (Read 6145 times)

0 Members and 2 Guests are viewing this topic.

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Interesting TI-84+ Screen Behavior
« on: December 13, 2011, 01:21:44 am »
Well I was messing around with grayscale, and this happened. I have no idea what is going on here. Does the screen have some strange physical quality that is causing this? Left is supposed to be white, middle is supposed to be gray, right is supposed to be black. However, the middle appears to be cycling between dark gray and super-white. Also the center of the screen has more wild contrast changes than areas further away from the center. O.O








EDIT: I have attached the program I used to observe this strange effect. It will only work on 15MHz calculators. Use +/- to tune the frequency, CLEAR to quit. Don't press - too much or it will probably crash! I can't easily give the source because it is part Axe, part Axiom, and part raw hex edited. But if you do look at the disassembly of it, please don't mind any unoptimized code or code that seems out of place, I never actually meant to release this. ::)


EDIT 2: PLEASE READ THIS BEFORE DOWNLOADING

Alternating pixels between black and white at the same speed as the LCD controller alternates between positive and negative voltages means that those pixels receive only the positive pulses or only the negative pulses, effectively creating direct current just like the controller is supposed to prevent.
In summary: Don't use this effect unless you want to screw up your screen.
« Last Edit: December 13, 2011, 03:16:49 am by Runer112 »

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #1 on: December 13, 2011, 01:28:13 am »
That looks really neat!  How is it possible that the left is so perfectly gray? 

What's the temperature of your room?
ld a, 0
ld a, a

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #2 on: December 13, 2011, 01:33:27 am »
Perhaps I should give more information about what is going on here. The screen is split into 4 columns, each being updated at almost exactly the LCD's refresh rate (about 58Hz). It's pretty obvious what I'm doing with the left and right columns; they're being set to white and black respectively each frame. The middle two columns are each being toggled between white and black each frame and are always opposite colors of each other. From other testing I know that the fact that these two columns are always opposite colors is not the source of the strange behavior.

I find it very odd that this only happens when trying to produce perfect 3-color grayscale without dithering. When sending dithered 3-color grayscale or 4-color grayscale that is either dithered or undithered at the same update rate, you get just what you would expect, solid and correct colored columns.

Offline Freyaday

  • The One And Only Serial Time Killing Catboy-Capoeirista-Ballerino
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1970
  • Rating: +128/-15
  • I put on my robe and pixel hat...
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #3 on: December 13, 2011, 01:37:16 am »
Hey, if this could be controlled, we could make some really cool effects!
In other news, Frey continues kicking unprecedented levels of ass.
Proud member of LF#N--Lolis For #9678B6 Names


I'm a performer at heart; I stole it last week.
My Artwork!

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #4 on: December 13, 2011, 01:38:29 am »
Would you care to send an executable or a source for us to look at?
(I've already BSOD'd my calculator, so there's nothing worse you can do. :P)
ld a, 0
ld a, a

Offline Runer112

  • Moderator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #5 on: December 13, 2011, 01:47:24 am »
Per request, I have attached the program that I used to the original post.
« Last Edit: December 13, 2011, 01:48:03 am by Runer112 »

Offline ralphdspam

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 841
  • Rating: +38/-1
  • My name is actually Matt.
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #6 on: December 13, 2011, 02:19:27 am »

I'll edit the video once it's fully processed by Youtube.
ld a, 0
ld a, a

Offline DrDnar

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 546
  • Rating: +97/-1
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #7 on: December 13, 2011, 02:38:48 am »
My calculator doesn't really show the center of screen fading more wildly than the outside. It could be due to a difference in the driver. However, if it's true that the left is getting only 0s, then it is quite funky that the center columns are somehow lighter. Obviously, there's an unavoidable difference between your update frequency and the driver's. My guess is that the memory isn't properly double-ported or something, so that the driver ends up trying to read data at the same time you're trying to write it, and that's happening for multiple frames.

One thing is for sure, however. Runer112 has created an abomination of assembly, Axe, and hex, and is therefore a mad calculator-scientist.
"No tools will make a man a skilled workman, or master of defense, nor be of any use to him who has not learned how to handle them, and has never bestowed any attention upon them. . . . Yes, [] the tools which would teach men their own use would be beyond price."—Plato's The Republic, circa 380 BC

Offline Goplat

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 289
  • Rating: +82/-0
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #8 on: December 13, 2011, 03:12:07 am »
Quote from: Wikipedia
STN LCDs have to be continuously refreshed by alternating pulsed voltages of one polarity during one frame and pulses of opposite polarity during the next frame.

The T6A04 used does just that, and so do all other controllers for this kind of LCD. And for good reason:

Quote from: TI OMAP5910 documentation
This pin is used to periodically invert the polarity of the power supply to prevent dc charge build-up within the display.
Quote from: ARM PL110 documentation
STN displays, which require the pixel voltage polarity to be periodically reversed to prevent damage due to DC charge accumulation
Quote from: Atmel AVR065 application note
The LCD must be driven by alternating current (AC). Direct current (DC) will cause electrophoresis effects in the liquid crystal and will degrade the display.
Quote from: Panasonic EDMGRB8KJF requirements
ON/OFF of Power Supply and Signal - Driving liquid crystal molecular by DC current may cause serious damages to LCD including disorder of alignment and electrical decomposition.
Quote from: Maxim MAX1677 application note
The contrast voltages must be symmetric about VM to avoid a DC component across the liquid crystal, which in turn would damage the LCD or shorten its life.

Alternating pixels between black and white at the same speed as the LCD controller alternates between positive and negative voltages means that those pixels receive only the positive pulses or only the negative pulses, effectively creating direct current just like the controller is supposed to prevent.
In summary: Don't use this effect unless you want to screw up your screen.
Numquam te deseram; numquam te deficiam; numquam circa curram et te desolabo
Numquam te plorare faciam; numquam valedicam; numquam mendacium dicam et te vulnerabo

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Interesting TI-84+ Screen Behavior
« Reply #9 on: December 13, 2011, 06:42:57 am »
Oh wow, how very odd. Nice explanation Goplat.