Jump to content

- - - - -

TV Demonstrator for TI calculators



4: Adsense

I've been tinkering with a number of small projects recently. I've resumed work on an LED clock for my bedroom (using a 32×8 LED display) and written an experimental BASIC interpreter in C# which I may try to turn into an assembler (implementing assembly statements as BASIC ones). In the mean time, I have finished one project — a device to display a calculator's screen on a television set.

TV Demonstrator showing the STAT PLOT settings on a monitor.

Texas Instruments also manufacture a product that allows you to view the screen contents of a calculator with supported hardware on a TV; here is a video demonstrating it. The additional hardware (either on special "ViewScreen" calculator models or built into the more advanced calculators such as the TI-84+) allows the device to mirror what is sent to the calculator's LCD in real-time.

I do not have one of these calculators, just a plain old TI-83+. However, this calculator (as well as the older TI-83 and TI-82) allows you to capture a screenshot over the link port. Pressing a button on my device captures a screenshot in this manner and displays it on the TV. This relies on the calculator being in a state where it can respond to these screenshot requests, so is not ideal, but considering that the TI Presenter costs $300 and relies on special hardware inside the calculator and mine should cost less than a tenth of that in parts and work with older calculators I think it's a decent compromise.

Inside the TV Demonstrator.
Click for a gratuitous 360° view

I had previously believed that NTSC composite video signals used a negative voltage for sync pulses. I have since found documents that indicate that the sync, black and white levels are the same as those for PAL. The timing is, naturally, different but as there's no need to change the hardware it makes supporting both NTSC and PAL relatively straightforwards. This contraption can be set to operate in either NTSC or PAL mode by sending the real variable M to it from the calculator, with a value of 60 for NTSC and 50 for PAL.

I acknowledge that this is not the most useful of projects (unless you're a maths teacher with an interest in electronics) but the code may be of interest for other projects. A handful of inexpensive parts can get you a picture on a TV from a 96×64 monochromatic frame buffer (the 1KB RAM on the ATmega168 doesn't allow for much more, alas).

More information and downloads can be found on the TV Demonstrator project page.

Oct 13 2010 12:39 AM
I'm a math teacher with an interest in electronics, so your efforts have not been for naught. :)

I always enjoy reading your blog and try to keep up with it often. Also, a lot of your code is very well documented, and it's a pleasure to try to replicate your efforts.

Thanks.
Oct 13 2010 02:49 AM
Quote:
Original post by brownnrl
I'm a math teacher with an interest in electronics, so your efforts have not been for naught. :)
Hurrah! [smile]

Quote:
I always enjoy reading your blog and try to keep up with it often. Also, a lot of your code is very well documented, and it's a pleasure to try to replicate your efforts.
Thank you very much for your kind words! I must confess that my code here is rather poorly commented, especially where it transfers variables to and from the calculator. The TI Link Protocol & File Format Guide can be used in its place, though that does not seem to mention the CBL/CBR and hence the protocol for Send() and Get(). I've made a guess on those, which seems to work.

Note: GameDev.net moderates comments.