As I’ve hinted before, your friendly Oscilloclock gang is entirely pacifistic. We abhor the thought of actual military activity in this modern day and age. BUT we love games just as much as anyone – and we also love light-hearted movies with happy endings!
So when [Ian] (of Bunker Club Clock fame) came up with the idea of a feature based on the iconic 1984 flick “War Games“, I pounced on the chance!
Check out my YouTube channel to see this and other videos in HD!
Now, this may look like a simple animation. But Ian’s Oscilloclock is powered by a tiny processor with minimal specifications, and 100% of the code is written in assembly language. Implementing this baby in assembly and keeping within just 3K of RAM was quite an accomplishment!!
About the host clock
The gorgeous model shown here is a painstakingly-retrofitted Heathkit CO-1015 Engine Analyzer. It’s the perfect play-toy for any serious motor-head who grew up during the Cold War!
First up on the custom build list is the original meter fitted with amber LED lighting and ticking audibly each second. (And yes, the tick intensity can be easily adjusted.)
Next up, there is the optional External X-Y input feature. Normally, this is used for plain and simple Lissajous figures like the below…
… but by tweaking some settings, we can get some segments of Jerobeam Fenderson’s incredible Oscilloscope Music Kickstarter video to display quite nicely!
Peeking inside the Engine Analyzer Oscilloclock is also a must-do! Not only is this visually appealing, but you also get a significant olfactory kick from the sweet smell of vintage electronic components…
Tech Talk – Strategies, Maps, and Missiles
The War Games feature uses the Oscilloclock’s Sprite Engine module to display the world map and up to 9 missiles when the W.O.P.R. system is simulating various war strategies.
32 of the 130+ strategies seen in the movie are implemented. For each strategy, a random number of missiles are launched along a predefined Primary trajectory, followed by a random number of missiles along a predefined Retaliatory trajectory. If any of the 9 missiles remain, they are launched along randomly selected (but predefined) trajectories.
Trajectories are predefined because computing them using 8-bit arithmetic would consume a huge number of cycles! At least, a small amount of randomness is added to the launch position and velocity parameters at run-time, to make things more interesting.
As the simulation progresses through the strategies, the speed of the launches increases and the delay between launches decreases. This gives a similar effect to that in the move, where WOPR moves through strategies at warp speed until it realises that there is no winning this game…
A Joint Effort
Creating a huge number of realistic trajectories (68 in total), translating start and end X and Y coordinates from latitude and longitude into the Oscilloclock’s Cartesian plane was a task of mind-blowing proportions! Here we see our 2nd junior technician eagerly earning his room and board.
Like what you see?
Are you a petrol-head? You need an Engine Analyzer ticking over at your bedside or in your office! Were you brought up during the Cold War, perhaps in the Soviet Union or in the US? Get the War Games feature and fry the world safely! Contact me if you like what you see.
(Disclaimer: Oscilloclock.com hopes that no-one is offended by the deliberately light-hearted tone of this post, in referring to the decidedly serious topic of nuclear warfare.)