9 September 2015
Tempest Test for Windows
Tempest Test for Windows
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
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.
Test for Windows v1.1.zip