Donate for the Cryptome archive of files from June 1996 to the present


9 September 2015

Tempest Test for Windows


Tempest Test for Windows

Ben Hutchinson

Why I wrote it:

I wrote this program, because the original Tempest for Eliza (and the compiled version called Tempest Showroom) had some downfalls. Tempest for Eliza itself had 4 problems.

One, it is source code only, so it needed to be compiled. If you wanted to try it, but didn't know how to compile it, well that was just too bad for you then, and you couldn't use it.

Two, it only ran on Linux, not Windows, so even if you did compile it, you now were forced to either replace your hard drive with one that had Linux, or format your drive and install Linux, or run Linux in a virtual machine software (like Microsoft Virtual PC).

The third problem is that it was based on CRT monitors, which have a pixel rate. For example, at 60 frames per second on a 640x480 monitor, the pixel rate is 640*480*60=18,432,000 pixels per second. So to make the software cause the monitor to broadcast in the AM radio frequency range, he had to modulate the brightness horizontally as well as vertically. On LCD monitors though (as used on modern PCs), each line of pixels is sent to the screen at a time, not one pixel at a time. So horizontal modulation is not needed to produce a radio frequency signal in the range used by standard AM radios. Only modulation of the brightness vertically is needed, in order to encode the audio on that radio signal. The radio frequency signal itself, in the needed frequency range, comes as a harmonic in the lower sideband of the data clock signal in the monitor (which means its not 100% predictable what it will be, as different makes and model of monitor will use different speed clock signals for processing that data, so you have to try it at different frequencies to find the best one). In fact, doing any horizontal modulation of the pixel brightness on modern LCD monitors, is simply going to cause the signal to be weaker than it needs to be.

And the fourth problem that Tempest for Eliza has, is that it works only on 4 different resolution monitors, and all of which have a 4:3 aspect ratio. There's no support for the 16:9 aspect ratio.

Then some guy came along and created Tempest Showroom. This is simply an ISO (CD-ROM disk image) of a Linux boot disk, and containing an already compiled copy of Tempest for Eliza on it. All you need to do is reboot your PC and follow the onscreen instructions to run the program. If you don't want to have to reboot your PC, just boot a virtual machine with it. The problem is, this still doesn't solve the problem of the use of horizontal modulation of pixel brightness. As this is not new software, it's still Tempest for Eliza, which with CRT monitors, such horizontal modulation was needed to achieve the correct radio frequency signal, but is no longer needed with LCD monitors, and in fact hurts the strength of the signal coming from. It also doesn't solve the problem of what monitor resolutions are available. All Tempest Showroom does, is make it so the end user doesn't have to compile it themselves, and doesn't need to worry about installing Linux on any of their PCs.

A description of my program:

My program fixes all of these problems. I wrote it in Visual Basic 6. It does not require booting your computer to a different operating system, nor does it require you to compile it. The zip file contains both the source code and an already compiled exe file. It does not contain any horizontal modulation of pixel brightness. This means that while it is optimized for LCD monitors, it won't work with CRT monitors (a minor downside, as most people these days use LCD monitors, not CRT monitors). Also it doesn't matter what size of monitor it is on or the aspect ratio. It automatically adjusts the displayed signal transmitting pattern to fill the screen. It automatically stops running after it finishes "playing" (or more accurately, transmitting from your LCD monitor) the song. If you want to quit the program before it finishes playing the song, press the ESC key. Note that you need to have the song.txt file in the same folder as exe file, as this file contains the codes for the musical notes for the song, that the program needs to read in order to play the music. I've tested it in 32bit Windows XP and 64bit Windows 7, and it works on both of those operating systems.

Tempest Test for Windows v1.1.zip