The IBM 1401’s Unique Qui-Binary Arithmetic

Old mainframe computers are interesting, especially to those of us who weren’t around to see them in action. We sit with old-timers and listen to their stories of the good ol’ days. They tell us about loading paper tape or giving instructions one at a time with toggle switches and LED output indicators. We hang on every word because its interesting to know how we got to this point in the tech-timeline and we appreciate the patience and insanity it must have taken to soldier on through the “good ol’ days”.

[Ken Shirriff] is making those good ol’ days come alive with a series of articles relating to his work with hardware at the Computer History Museum. His latest installment is an article describing the strange implementation of the IBM 1401’s qui-binary arithmetic. Full disclosure: It has not been confirmed that [Ken] is an “old-timer” however his article doesn’t help the argument that he isn’t.

Ken describes in thorough detail how the IBM 1401 — which was first introduced in 1959 — takes a decimal number as an input and operates on it one BCD digit at a time. Before performing the instruction the BCD number is converted to qui-binary. Qui-binary is represented by 7 bits, 5 qui bits and 2 binary bits: 0000000. The qui portion represents the largest even number contained in the BCD value and the binary portion represents a 1 if the BCD value is odd or a 0 for even. For example if the BCD number is 9 then the Q8 bit and the B1 bit are set resulting in: 1000010.

The qui-binary representation makes for easy error checking since only one qui bit should be set and only one binary bit should be set. [Ken] goes on to explain more complex arithmetic and circuitry within the IBM 1401 in his post.

If you aren’t familiar with [Ken], we covered his reverse engineering of the Sinclair Scientific Calculator, his explanation of the TL431, and of course the core memory repair that is part of his Computer History Museum work.

Thanks for the tip [bobomb].

Open Source Binary Wristwatch Is Professional Quality

If you want to proclaim to the world that you’re a geek, one good way to go about it is to wear a wristwatch that displays the time in binary. [Jordan] designs embedded systems, and he figured that by building this watch he could not only build up his geek cred but also learn a thing or two about working with PIC microcontrollers for low power applications. It seems he was able to accomplish both of these goals.

The wristwatch runs off of a PIC18F24J11 microcontroller. This chip seemed ideal because it included a built in real-time clock and calendar source. It also included enough pins to drive the LEDs without the need of a shift register. The icing on the cake was a deep sleep mode that would decrease the overall power consumption.

The watch contains three sets of LEDs to display the information. Two green LEDs get toggled back and forth to indicate to the user whether the time or date is being displayed. When the time is being displayed, the green LED toggles on or off each second. The top row of red LEDs displays either the current hour or month. The bottom row of blue LEDs displays the minutes or the day of the month. The PCB silk screen has labels that help the user identify what each LED is for.

The unit is controlled via two push buttons. The three primary modes are time, date, and seconds. “Seconds” mode changes the bottom row of LEDs so they update to show how many seconds have passed in the current minute. [Jordan] went so far as to include a sort of animation in between modes. Whenever the mode is changed, the LED values shift in from the left. Small things like that really take this project a step further than most.

The board includes a header to make it easy to reprogram the PIC. [Jordan] seized an opportunity to make extra use out of this header. By placing the header at the top of the board, and an extra header at the bottom, he was able to use a ribbon cable as the watch band. The cable is not used in normal operation, but it adds that extra bit of geekiness to an already geeky project.

[Jordan] got such a big response from the Internet community about this project that he started selling them online. The only problem is he sold out immediately. Luckily for us, he released all of the source code and schematics on GitHub so we can make our own.

Retrotechtacular: Teleprinter Tour, Teardown

This week, we’re taking the wayback machine to 1940 for an informative, fast-paced look at the teleprinter. At the telegram office’s counter, [Mary] recites her well-wishes to the clerk. He fills out a form, stuffs it into a small canister, and sends it whooshing through a tube down to the instrument room. Here, an operator types up the telegram on a fascinating electro-mechanical device known as a teleprinter, and [Mary]’s congratulatory offering is transmitted over wires to her friend’s local telegraph office hundreds of miles away.

We see that the teleprinter is a transceiver that mechanically converts the operator’s key presses into a 5-digit binary code. For example, ‘y’ = 10101. This code is then transmitted as electrical pulses to teleprinters at distant offices, where they are translated back into alphanumerical data. This film does a fantastic job of explaining the methods by which all of this occurs and does so with an abstracted, color-coded model of the teleprinter’s innards.

The conversion from operator input to binary output is explained first, followed by the mechanical translation back to text on the receiving end. Here, it is typed out on a skinny paper tape by the type wheel shown above. Telegraphists in the receiving offices of this era cut and pasted the tape on a blank telegram in the form of meaningful prose. Finally, it is delivered to its intended recipient by a cheeky lad on a motorbike.

Continue reading “Retrotechtacular: Teleprinter Tour, Teardown”

Binary Clock Fit For Queen Elsa’s Ice palace

When life gives you lemons, you make lemonade. When life gives you freezing cold temperatures and a yard full of snow, you make binary clocks out of ice. At least that’s what [Dennis] does, anyway.

[Dennis’] clock is made from several cylindrical blocks of ice stacked on top of one another. There are six columns of ice blocks. The blocks were made by pouring water into empty margarine containers and freezing them. Once they were frozen, [Dennis] bore a 5/16″ hole into the bottom of each block to house an LED. Wires ran from the LEDs back into the drainage port of a cooler.

The cooler housed the main electronics. The LED controller board is of [Dennis’] own design. It contains six TLC59282 chips allowing for control of up to 96 LEDs. Each chip has its output lines running to two RJ45 connectors. [Dennis] couldn’t just use one because one of the eight wires in the connector was used as a common power line. The main CPU is an Arduino. It’s hooked up to a DS3234 Real Time Clock in order to keep accurate time. The oscillator monitors temperature in order to keep accurate time even in the dead of winter. Continue reading “Binary Clock Fit For Queen Elsa’s Ice palace”

Binary Clock Would Make Doc Brown Proud

[Brett] was looking for a way to improve on an old binary clock project from 1996. His original clock used green LEDs to denote between a one or a zero. If the LED was lit up, that indicated a one. The problem was that the LEDs were too dim to be able to read them accurately from afar. He’s been wanting to improve on his project using seven segment displays, but until recently it has been cost prohibitive.

[Brett] wanted his new project to use 24 seven segment displays. Three rows of eight displays. To build something like this from basic components would require the ability to switch many different LEDs for each of the seven segment displays. [Brett] instead decided to make things easier by using seven segment display modules available from Tindie. These modules each contain eight displays and are controllable via a single serial line.

The clock’s brain is an ATmega328 running Arduino. The controller keeps accurate time using a DCF77 receiver module and a DCF77 Arduino library. The clock comes with three display modes. [Brett] didn’t want and physical buttons on his beautiful new clock, so he opted to use remote control instead. The Arduino is connected to a 433MHz receiver, which came paired with a small remote. Now [Brett] can change display modes using a remote control.

A secondary monochrome LCD display is used to display debugging information. It displays the time and date in a more easily readable format, as well as time sync information, signal quality, and other useful information. The whole thing is housed in a sleek black case, giving it a professional look.

Unreadable Binary Epoch clock is unreadable


What time is it? For that matter, what is the date? This clock can tell you both of those things, if only you could read it. The inspiration for this Binary Epoch kit came after a friend of [Maniaclal Labs] built an eight-bit binary clock. That’s a pretty common project that gets riffed on for things like mains-timed logic-driven clocks. They figured why not make it bigger? But even then you can make some sense out of the display after studying it for just a bit, you won’t be much closer to answering those two questions.

The problem is that this is unreadable in a couple of different ways. First off, how long did it take you to figure out in your head the decimal equivalent of the binary number displayed above? We gave up. But pounding the number into Google (search for: 0b01010010000010000001001010010011 in decimal) gives us 1376260755. meaningful? Again, not to a human. This is Unix time, which is the number of seconds elapsed since the Epoch: 8/11/13-22:39:15.

Check out the video below that shows how to set the clock, which uses a menu system for human-friendly input. But since it’s Arduino compatible you can also connect an FTDI cable and program it from a computer. Oh, and since this is Open Source Hardware (note the icon in the lower right) you can get all the info to build (or breadboard) your own from their Github repo.

Here’s another complicated clock that uses Nixie tubes to display time and date info which is actually of use.

Continue reading “Unreadable Binary Epoch clock is unreadable”

A homebrew binary wristwatch


There are 2 types of people in the world; those who know binary, those who don’t, and those who know ternary. [Emanuele] thought a binary wristwatch is the pinnacle of nerd and set out to build his own. The resulting binary clock not only screams nerd as intended, but is also a functional time piece, as well.

The idea of a binary wristwatch came to [Emanuele] while he was working with PICs at school. Not wanting to let that knowledge go to waste, he used a PIC16F628 microcontroller for this build. There are four LEDs for the hours and six LEDs for the minutes, each attached to a separate microcontroller pin for easy programming.

To keep time, [Emanuele] kept the PIC in sleep mode most of the time, only waking it up when a an internal timer’s register overflows. The watch spends most of its time sleeping, sipping power from a coin cell battery with a battery life that should last weeks, at least.

The entire circuit is tucked away in a PVC enclosure with a wonderful rainbow ribbon cable band. We’re not so sure about how that feels against the skin all day, but it does exude the nerd cred [Emanuele] was looking for.