Titanium Multimedia
Introduction
Background
TIMM 1.4.72 Splash Screen
Titanium Multimedia, sometimes referred to as TItanium MultiMedia (note the capitals) or by the acronym TIMM, is an application I wrote based on a wacky idea I had. It can convert video media files in a variety of formats to an assembler program for a Texas Instruments graphical calculator so you can watch videos on you calculator wherever you want.
At first, I started out small with an initial version only capable of very short 3 second uncompressed video clips which could only be written to a Z80 assembly file suitable for a TI-83 model calculator. As the program evolved and more of the TI community got involved with requests, it gained features like image compression and quality settings and also support for many different calculators, even the models using the Motorola 680x0 chipset.
As of today I still receive feature requests for the application because of newer calculator models, however I can no longer maintain the application. The last public version is, and will ever be 1.4.72 I think.
Usage overview
The programs was written to be very simple, and as an end user you are guided through six steps to get the video conversion done. Steps are presented as a conventional Windows wizard and allow you to quickly step back and forward in the program. The steps are, in order:
- Welcome and introduction
- Selecting the media type
- Selecting and previewing the source video file
- Setting up conversion target and image options
- Converting the video
- Finishing up
That sure sounds simple, doesn't it? Take a look at the screenshots to see the program in action. For downloads, scroll down a bit.
Technical Overview
The conversion process
On the technical side there a few interesting things to note about the program. The thing I'm most proud of is that TIMM can be used for a wide range of TI calculators and even in different source languages, binary formats and assembler shells. Supported models and shells are:
- Z80 based models:
- TI-82 using CrAsh 1.6
- TI-83 using AShell83
- TI-83+ using Ion 1.6
- TI-85 using ZShell (optional)
- TI-86
- M680x0 based models:
- TI-89
- TI-92+
There is only a single TIMM core conversion application that uses calculator specific compilation targets to create binaries for all targets. The process looks roughly like this:
In the first step, the TIMM Video Converter will take the source video file and compress it to a grayscale stream, which will be integrated into an assembler program that decompresses the video in real-time. The assembler program is then compiled and linked into a normal calculator program. TI-89 and TI-92+ programs are created using the TIGCC compiler.
Video compression
There are various ways TIMM tries to achieve compression on the converted video. Firstly it converts the source video from full color to black and white or grayscale which naturally saves space, on top of that it uses a technique called delta-compression. Delta-compression means that only the differences between two video frames are encoded instead of the full frames. The quality of the delta-compression can be set to either save space or give a better image quality.
After delta-coding the video, a simple RLE compressor is used to scan for repeats in the frame data and encode them using fewer bits. In a newer, public testing release of TIMM there are more advanced compression algorithms available, which utilize ZCP coding. This testing release can only create videos for the TI-82 and TI-83 models yet. The testing release also supports Floyd-Steinberg dithering and interlacing of the video.
Related Links
Downloads and external links
Check out the following pages for more information, downloads and screenshots of Titanium Multimedia: