Zork on an OscilloTerm!

Today’s story began with a mail from [Eric], who’d read up on the Oscilloclock 3-inch VGA Assembly and wondered if it could be used to create an old-school serial terminal display on a vintage oscilloscope CRT.

Yes it could! In fact, the Oscilloclock Lab did one better. Instead of just a VGA display controlled by an external device, we developed native terminal firmware that accepts DEC VT52 compatible commands over a serial port, and renders all text and graphics using beautiful, curvy Lissajous figures.

The stuff of dreams. The OscilloTerm Exo B7S4.

Demonstrating basic terminal features, connecting to a PC via serial cable
Oh, did I mention? It’s a clock as well!

Zork, anyone?

Ultimately, [Eric] just wanted to play Zork. And together we made it happen.

The CRT. The Case.

[Eric] wanted a sleek ‘skeleton’ look. His choice of a gorgeous B7S4 CRT, mounted in custom-machined cast acrylic supports, exposes all glassware and allows for a titillating rear viewing experience.

CRT rings and supports – originally introduced for the Oscilloblock “Summer Dusk” edition

And with a high-transparency cast acrylic case housing the electronics, the OscilloTerm Exo can be enjoyed from every angle!

Astute readers may wonder about the 2.1 kilovolts of high voltage coursing through their innocent-looking device. Rest assured! All internal wiring is sealed off, and Oscilloclock CRT harnesses are hand-crafted with heavy insulation and precautions taken against dust, prying fingers, rats, and even salivating cats.

An O-ring blocks dust from entering the CRT/socket gap (picture from the Oscilloblock)

This case and CRT mounting variation is branded the Oscilloclock Exo, and has proven its wow-factor at several public exhibits to date. We certainly love it, and [Eric] did too!

The Terminal.

This post would never be complete without showing you what real serial terminals from the 1970’s looked like, and explaining what they actually did! Here goes…

Terminals such as the above were physical input/output console devices, back when computers were the size of massive refrigerators, and the operator would sit remotely – at a desk in a separate area, or even a different room.

Gregory Lloyd, CC BY 2.0, via Wikimedia Commons

The terminal and the remote computer were connected via a cable, and would communicate each other by sending data back and forth across the cable; mainly terminal commands and ascii encoded text. Most commonly, a serial communication protocol was used to get the data safely from one end to the other – and hence the devices were known as serial terminals or even serial consoles.

Amusingly, they were also called dumb terminals, because they had no computing power of their own; they were only extensions of the computer to which they were connected.

The OscilloTerm Terminal.

[Eric] wanted a special Oscilloclock that he could also operate as a terminal, connecting it to a remote computer via cable. The remote computer would control the display, using the same serial protocol and commands as an ancient dumb terminal.

But an Oscilloclock is anything but dumb. [Eric] wanted to keep all the standard exciting screens and features of his Oscilloclock active, and only display the special Terminal screen when the remote computer started to send commands. Then, when the commands stopped, the Oscilloclock should go back to the screen it was on!

His wish was our command! Here’s a demo of smart screen switching in the final product:

Some technical Comments

Naturally, the terminal emulator firmware was written entirely in assembly language.

PIC18F2680 – the Oscilloclock workhorse.

We use assembly mainly because the minimalist PIC microcontroller used in the current Control Board revision has only 64K ROM, and an unbelievable 3328 bytes (yes, BYTES!) of RAM. To squeeze all the lovely Oscilloclock features in, while driving Circle Graphics real-time processing, the code and memory space has to be clean, tight, and heavily optimized at the machine code level.

Assembly. It’s the ONLY way to squeeze it all in!

For even more technical details, such as the list of VT52 (and VT100) commands supported by the OscilloTerm, and the various configuration parameters that can be tweaked to make the terminal emulator more ‘friendly’ when connecting to a specific device, check out the Support page. Worth a visit!

Why Zork? And HOW?

Zork is an interactive adventure game. But it’s old. And it’s text-based, because it was run on computers long before fancy graphics capabilities were widely available. The player explores mysterious locations, solves puzzles, and collects treasures while avoiding various hazards and creatures. All by reading text and typing commands and responses!

[Eric] was able to play Zork by loading the game’s Z-code into a Z-machine interpreter known as Frotz, on a PC connected to the OscilloTerm. But there was trickery involved!

  1. He had to recompile a version of dfrotz (the dumb terminal version of frotz) to remove the status bar and audio from the game.
  2. He needed to wrap the dfrotz output with a custom Python script to support the OscilloTerm’s 16×8 screen and simulate the required baud rate.

But now that’s done, he can play any Infocom game that runs in dfrotz on his OscilloTerm!

What’s next?

Readers would probably agree that adding a generative AI feature would be incredibly cool. For example, the War Games feature is great, but the text on the screens is all pre-programmed. What if you could interact more naturally with your Oscilloclock?

Another one for the list!

Are you a serial serial terminal collector? Do you want to play Zork on the oddest device imaginable? Or, you fancy a clock in the Oscilloclock Exo range? Contact us and let us know!

Connect !!

These days, just about everyone has an old oscilloscope lying around. You know, an old, dusty, derelict scope handed down from Grandpa (or Grandma). Well, [Paul] had something even better – an old Tektronix 602 X-Y Monitor! Could an Oscilloclock Control Board drive this vintage beauty? Absolutely. Could I make an aesthetically pleasing case? Definitely. How about time sync via WiFi? Stock standard!

Presenting the Oscilloclock Connect:

Here’s what it looks like plugged in to my fabulous old Tektronix 620 monitor:

And why not have a pair of Connects drive a Tek 601 and 602?

The Build

The main component of the Connect is, of course, a standard Oscilloclock Control Board. As usual, all 121 parts on Paul’s board were individually mounted and soldered by hand. The board then was programmed and underwent rigorous inspection and testing. Finally, the board was cleaned to remove flux and renegade flecks of solder, and sprayed with HV coating for humidity protection and – arguably more importantly – to give it its glorious sheen.

The case was custom-made and professionally machined right here in Japan from 6mm-thick sheets of pure cast acrylic (not extruded). This is an extremely transparent, hard, high grade acrylic – and Oscilloclocks deserve nothing less!

The case was sprayed with a special acrylic cleaner and static protection solution, before fitting the various components. Naturally, every part was cherry-picked, right down to the three BNC connectors – they needed an aesthetically pleasing colour, but they also had to have a shaft long enough to mount through 6mm-thick acrylic!

Finally, the physical interface! The knob was chosen for its perfect finger-fit and delicate aluminium/black tones, which gently contrast with the rest of the unit.

The Compatibility Crisis

Over the years, many folks have observed that the scope at hand has an “X-Y mode”, and asked if they could just ‘plug in’ an Oscilloclock Control Board. “Is it compatible?” Unfortunately, the response has usually been disappointing.

You see, creating figures and characters with Circle Graphics relies on the scope’s ability to turn the beam on and off at split-second intervals. This feature is called a “Z-axis input”. While many scopes from the 80’s and beyond do sport such an input, there are two common limitations:

Limitation 1: AC-coupled Z-axis inputs

Capacitive coupling – effective at isolating the input from cathode potential (-1260V !)

The input is connected to the CRT’s grid or cathode circuit via a capacitor. This is a low-cost, effective way to isolate the (usually) very high negative voltage of the grid circuit from the input.

The problem here is that the capacitor, by its very nature, removes the edges from the pulse. The controller is no longer able to control the beam on/off timing, and you end up with uneven blanking across the segments, as shown in the screenshot at right.

Depending on the values of the capacitor and the surrounding resistors, the symptoms may not be severe. However, the best way to resolve this problem (while still keeping the oscilloscope’s original circuit intact) is to insert an isolated DC blanking amplifier directly in series with the grid (or cathode). See the Kikusui 537 Oscilloclock for an example of this.


Most oscilloscopes tend to require at least +5V on the Z-axis input to noticeably blank the beam. The Connect, however, is only capable of delivering +2.5V. It works just fine if you set the scope’s Intensity control very low, but as you increase intensity, the blanking quickly becomes ineffective.

Below we have a beautiful Japanese YEW (Yokogawa Electric Works) 3667 storage scope. The left shot is misleading due to the camera exposure; the displayed image is actually extremely dim. The right shot shows the same* image with the intensity control increased – the image is bright, but there is no blanking!

* Astute readers will observe that the time is significantly different between the two shots. This is a result of the WiFi NTP sync kicking in right in the middle! More (or less) astute readers may also notice that the scope’s trace rotation is not adjusted very well…

Of course, it would be a simple matter to incorporate a pre-amplifier for the Z-axis, which would solve this problem. This will be introduced with the next Control Board revision!

Like what you see?

Nothing brings more joy than connecting this bundle of usefulness into a woefully unused old oscilloscope or X-Y monitor. If this is of interest to you, visit the Availability page for more information, and of course see the Gallery for other unique creations!

More 2015 craziness – the CopperClock!

Happy New Year! Looking back, 2015 was a superb year, full of fun and fancy. And just in case you thought last year’s creative juices were exhausted by the fabulous Oscilloblock, rest assured that there was an even crazier creation – the 2015 luxury edition CopperClock!

CopperClock on shelf 01

The unusual facade for this unit was built to order by a Canadian craftsman specializing in hand-hammered and silver-soldered copper weather vanes. If you enjoy metal art, you will certainly approve of this!

Oscilloclock CopperClock 01

But… you may have read my previous articles and know that three-inch Oscilloclock models are typically powered by 2.1kV high voltage power supplies. Isn’t there any danger in using a metal case?

Never fear! The internals are fully encapsulated in a beautiful cast acrylic case, providing full insulation and utmost safety.

Oscilloclock CopperClock - internals 01

Breaking from tradition, I’ll refrain from describing other features of this unit (such as the selection of a round-faced CRT to give it character), and instead just post a few more photos of the clock ‘in situ’. Enjoy!

The 2015 CopperClock atop a beautiful Philips Radioplayer. What a match!

... or perhaps atop a vintage Estey pump organ?

… or perhaps atop a vintage Estey pump organ?

... perhaps it looks best on a 1920's Edison Diamond Disc Phonograph!

… perhaps it looks best on a 1920’s Edison Diamond Disc Phonograph!

Like what you see?

This exquisite specimen is currently available to someone with a metallurgical and chronometric disadvantage. Visit the Availability page for more information, and of course see the Gallery for other unique creations!

VectorClock Reloaded!


Fresh from Oscilloclock Labs – a new VectorClock creation, commissioned for the office of a world-famous film and television director:

Tek 520 VectorClock - S/N 002 (image published with permission of the owner)

Tek 520 VectorClock – S/N 002 (image published with permission of the owner)

This unit is based on an original Tektronix 520 vectorscope, which is the predecessor of the 520A that was used in the first VectorClock, described here. This custom conversion employs several key enhancements, and performance has never been better!

Be sure to check out videos on my YouTube channel.