World’s Worst BASIC?

I’ve heard people claim that the Timex-Sinclair 1000 / Sinclair ZX81 is the worst BASIC programming environment ever. That’s not even close. Borrowing the old Beatles drummer joke, the ZX81 isn’t even the least-capable computer made by Sinclair. The older ZX80 has half the memory and a smaller ROM. You kids were just spoiled by the ZX Spectrum having fancy features like color, a Chiclet keyboard, and sound.

And there’s a BASIC interpreter out there that makes the ZX80 look like a supercomputer.

A “Hello, World!” variant, in Atari BASIC Programming.
(You can see it running here, if the excitement won’t be too much.)

Back in 1979, people were designing all kinds of cool games for the Atari VCS (Atari 2600). This was a hastily-designed (but insanely popular and fun) video game system that was intended to be an upgraded version of Pong. It was designed to implement two player sprites, a missile sprite, static background graphics, and on-screen numeric scores. Famously, it didn’t even have a video buffer, so each line of video had to be drawn in real time by the program. (There’s a great book — Racing The Beam — that talks all about it.) It’s really a glorified, generalized Pong implementation. The tricks developers had to do in order to create the games I loved as kids don’t lose a bit of the magic when you start to understand how they’re done. Instead, you understand just how creative the developers had to be.

Despite the overall system being designed to handle games roughly as complex as Atari Combat (at best), creative programmers were able to use system features off-label to make the system do amazing things. The Atari graphics system provided for two player sprites, two scoreboards, and a “missile” sprite, in addition to a rudimentary background graphics system. (If you’re familiar with Atari Combat, that’s the sort of game that was envisioned.)

Warren Robinett’s “Adventure” was one of the first examples that really showed what the platform could do, despite all of its design limitations. By creative use of the background and sprites, and triggering the loading of different screens when the player moved offscreen, a multi-room Adventure was possible, with dragons, swords, chalices, magnets, bridges, and the world’s most annoying bat. (Seriously — Rhindle the Red Dragon is just misunderstood, but that thieving bat has to go!)

Adventure was one of two cartridges Robinett wrote while working at Atari. The other was BASIC Programming. This isn’t so much a practical IDE for creating programs as it is a proof that with sufficient creativity and determination, a talented programmer could bludgeon the 2600 into doing just about anything. Even the much-maligned Atari port of Pac-Man was an impressive feat of programming, given the platform. To actually implement a BASIC interpreter is straight-up mad scientist level stuff.

Still, given the environment, Atari 2600 BASIC is necessarily limited. While you can technically have up to 26 variables, you probably couldn’t use all of them at the same time, due to the 63-character memory limit for programs(!) Variables are two-digit unsigned BCD integers, storing values of 0-99. There’s support for graphics (moving white and red dots around a blue field) and sound (playing one of eight notes). Input is actually BASIC Programming’s strong point, since it is able to handle four channels of analog input — two channels each of horizontal and vertical. (Presumably, this is done with four paddle controllers.)

BASIC Programming for the Atari 2600 is probably the single worst BASIC implementation I’ve ever come across, in more than four decades of programming every BASIC implementation I could get my hands on, from the Timex-Sinclair 1000 to the Tandy PC-6 and Model 100 to the IBM PC to 1980s smartwatches programmable by a custom app.

But it’s also probably the most impressive BASIC implementation, too — and no doubt inspired lots more games that the 2600 really shouldn’t have been able to play.

Posted in BASIC, Coding, Nostalgia, Reviews, Toys | Leave a comment

Mystery Box

I love flea markets, especially when I come across interesting-looking pieces of technology that I’ve never seen (or maybe just read about) before. Even better if I can’t tell what they are or what they do. Those always have something interesting to teach you.

So when I saw a large, vaguely telco-looking, Bakelite box for four bucks at a flea market in Maine, I had to get it. I’ve seen a lot of tech in half a century, but this was not only something I’d never seen before — it was heavy, obviously contained mechanics, and looked like some kind of telco device. (If you’ve seen the underside of mid-1900s rotary phones, you know what I mean.)

It’s Bakelite, has what looks like a generator crank on the side, and not much else…

The bottom side was not much more help in determining what it might be. Normally if it’s some kind of telephone ringer, you can hear the bells resonate when you shake it — but not so, in this case. Just a heavy, solid piece of Bakelite, metal, and whatever else was inside.

Gotta be a telco device of some kind. But what?

The two screws on the front were the obvious place to start opening it up (and I had tried this at my folks’ place when I first bought it), but the crank on the side was preventing the cover from opening. Turning it in either direction seemed to be turning a generator / dynamo mechanism inside the box, so it looked like the only way in was to punch out a retaining pin. I decided to wait until I came back with a car, because whatever this thing was, it was too big and too heavy to fit into my luggage. And I could just imagine the conversation with TSA, trying to explain why I’m flying with something that I didn’t know what it was.

So the Mystery Box got to go home the slow way — via The Great Kia Niro EV Adventure.
(The station wagon, in all its forms, remains one of humanity’s best inventions ever.)

Back home, I punched out the retaining pin, only to discover that the crank would have simply unscrewed — it was just stuck.) With the crank removed, the cover came right off, revealing a generator, mechanical crank-activated switch, terminal block — and two large dry cells. (Note to self: Carrying this back home by car and not plane was a good idea. It’s not a bomb — but I bet it would look like one if x-rayed.)

Dry-cell batteries, a generator, and a switching mechanism. But no electronics…?
(Also, that’s the wrong size nut. Redneck engineering spans generations!)

…So, what is it, (other than old enough to have batteries I’ve never seen in use — and I’m 52)?

Dry-cell batteries! I remember reading old 1960s science books that talked about them!

A few minutes’ Googling found the answer: it’s apparently the power unit of a “monophone,” a predecessor of the two-element telephone. It was made by Automatic Electric, and is roughly 100 years old. (I’m guessing the batteries might be newer, but who knows?)

Near as I can tell, the batteries (which seem to be non-rechargeable) power the monophone for speech, while the generator creates higher voltage for the ring functionality. (There’s a switch that’s activated when the crank is turned, changing the output terminals from battery to generator. When the crank is released, it springs back to its center position, releasing the switch.)

Neat.

But the coolest part is, somehow the dry cells still produce voltage! (They can only source microamps, but the voltage is still there.)

What do you mean, it still has most of its voltage?!?
(It briefly hit 1.2345 volts, trending downward, just to add to the surrealism.)

…I wonder if it will power some 1970s-era telephones I have?

If nothing else, those Hercules batteries will make great Thévenin source demonstrators.

Posted in Analog, Nostalgia, Reverse Engineering | Leave a comment

Transistor Reliability

Today’s computers depend on billions of tiny switches known as CMOS transistors (CMOS logic) to process information using Boolean logic. Each transistor, smaller than a virus, flips billions of times a second without error—a feat that would amaze the early inventors of the transistor, whose first devices were famously unreliable.

But just how reliable must these transistors be? Our intuitions can fail us badly here — do they have an error rate of one part in a billion? Maybe even one part in a trillion? Amazingly, such an ostensibly-reliable CPU, whose transistors have only a one-in-a-trillion chance of malfunctioning, wouldn’t even get through the bootup process. It would fail in milliseconds. You might be lucky enough to see a few characters on the screen before it halted.

So, just how reliable do the transistors in modern CPUs need to be? Let’s estimate.

Imagine a university computer lab with 100 computers (or, 100 students in a lecture using their smartphones, which are roughly as complex). Each device has a CPU with about one billion transistors (this is conservative for 2025), and we’ll assume that about 10% switch states every clock cycle (sounds reasonable to conservative, since transitions happening where there shouldn’t be any is a problem, too) at 4 GHz (typical for modern CPUs). That’s around 100 million transistors switching 4 billion times per second, for 8 hours every school day. And yet, crashes due to transistor errors are almost unheard of. (That’s what software is for.)

To quantify this, if we assume there’s a 10% chance a single transistor error causes a computer crash, for the lab to have only a 50% chance of experiencing at least one crash in an 8-hour day, each transistor switching event must be about 99.9999999999999999999994% reliable —that’s less than one error in every 10²³ switches!

…And one computer failing each day would be a big reliability problem for the lab. You shouldn’t have anywhere near that many hardware problems. Not in 2025. Maybe a few per semester or something if your PCs are old. And most of those will be related to bad power supplies, failed motherboard capacitors, or just good old PEBKAC.

In practical terms, this reliability means each transistor would likely switch continuously at 4 GHz for millions of years without making a single mistake. Engineers achieve this remarkable reliability through precise manufacturing, rigorous testing, and built-in error correction mechanisms. (The very nature of digital electronics corrects for noise.)

Real-world studies from companies like Intel and research institutions like CERN confirm this high reliability, noting that rare errors, often caused by cosmic radiation, are usually managed through error-correcting systems.

Next time your computer runs flawlessly for days or months on end, consider the silent marvel happening billions of times every second—tiny transistors working almost perfectly, making modern digital life possible.

This article was coauthored by ChatGPT 4.5 in Deep Research mode, and then abridged and modified upon request and edited and expanded by the author.

Posted in Components, Digital, EET205, Electronics, Math, Science | Tagged , , , , , , | Leave a comment

Mini Museum: Abacus

A 15-column Japanese Soroban abacus (click for larger)
(reading a rather large number, since the “5” beads are active when displayed at this angle. Oh, well.)

The latest addition to Drexel’s Mini Museum of Computing History is a deceptively simple device: a Japanese Soroban abacus. Long before silicon chips and software, devices like this were the calculators of their day. It may be hard to imagine now, but people once counted using tally marks on sticks or by moving small stones. In fact, calculate comes from calculus, Latin for “small stone”​ (kartsci.org). The abacus transformed such primitive methods into a portable, fast, and reliable calculating tool. The Soroban model – with one bead on top and four on the bottom per rod – represents the pinnacle of abacus design, refined for efficiency and speed. Let’s explore the Soroban’s historical significance and how it bridges the gap between ancient counting and modern computing.

From Tally Sticks to the Soroban: A Brief History

The abacus is one of the earliest devices built specifically for computation. Counting boards with grooves or lines for moving counters were used in ancient Sumer, Egypt, Greece, and Rome. Over time, the concept evolved into framed bead abaci. The Roman abacus had beads slid in slots, and the Chinese suanpan (dating back over 2,000 years) featured a classic 5+2 bead configuration: 5 “earth” beads and 2 “heaven” beads per rod​ (kartsci.org). This 5+2 design was versatile – it even allowed calculations in hexadecimal (base-16) in addition to decimal​.

The Japanese Soroban emerged after the abacus made its way to Japan around the 14th century​. Early Japanese abaci mimicked the 5+2 design, but innovators saw room for improvement. By the early 20th century, the Soroban was standardized to a 4+1 bead system (4 one-value beads and 1 five-value bead per rod)​. Reducing the number of beads streamlined operations: four lower beads (each worth 1) and one upper bead (worth 5) are all you need to represent any digit 0–9 in a single column​. Fewer beads meant faster manipulation and less chance for error, since there were no unused extra beads cluttering the calculation. The Soroban’s efficiency quickly proved itself, and this 1-above, 4-below layout hasn’t changed since. (For reference, a standard Soroban has around 13 rods, each a decimal place—more than enough to handle very large numbers.)

In essence, the Soroban took a design that had been effective for centuries and honed it to perfection for base-10 arithmetic. This humble frame of beads became the calculator of choice across Japan and much of East Asia well into the 20th century, even as mechanical calculators began to appear.

Speed and Accuracy: Abacus vs. Early Methods and Slide Rules

One key reason the abacus remained relevant for so long is its speed and accuracy in skilled hands. Compared to writing out calculations on paper or using earlier methods like tally sticks, an abacus can be blazingly fast. For example, adding a long list of numbers on paper requires writing each intermediate sum and carrying digits mentally, which is slow and error-prone. On a Soroban, a trained user can simply flick beads up or down for each number, visually and tactilely keeping track of the total. There’s a satisfying clack as numbers resolve almost physically. With practice, operators develop a muscle-memory rhythm – it becomes more mechanical skill than mental math​. In fact, expert abacus users in Japan (called soroban masters) can often add or subtract numbers quicker than someone using a basic electronic calculator!​

A famous demonstration of the abacus’s speed came in 1946, when U.S. Army personnel in occupied Japan organized a contest between the Soroban and an electric calculator. In a series of timed tests (addition, subtraction, multiplication, division, and a mixed-problem round), the abacus won 4 out of 5 rounds. The Soroban operator, Kiyoshi Matsuzaki, outpaced the electromechanical calculator for all tasks except one – a resounding proof of the abacus’s efficiency. As one report put it, “the machine age took a step backward” that day, with the centuries-old abacus dealing defeat to a modern calculator, its victory described as “decisive”.​ While a personal electric calculator of the 1940s was a noisy, cumbersome device, the abacus was silent, portable, and, in the right hands, faster for everyday arithmetic.

What about more complex calculations like multiplication or working with large numbers? This is where the learning curve of the abacus shows. Anyone can grasp the basic idea of moving beads to count, but using it at high speed requires memorizing complementary pairs (to efficiently handle carries and borrows) and lots of practice. Multiplication and division on an abacus are typically done through sequence of simpler steps – essentially break the problem down into additions or subtractions based on place values. For instance, to multiply, you set up one number and add it to itself repeatedly (with appropriate shifts, similar to long multiplication on paper), or use methods taught in abacus schools that rely on knowing your times tables​. The Soroban can handle surprisingly advanced operations: traditional techniques exist not only for the basic four functions but even for things like square roots and cube roots. It’s genuinely a general-purpose calculator – as long as the operator knows the procedure.

Now, consider the slide rule, another pre-digital calculator that succeeded the abacus in many places. A classic “log log duplex decitrig” slide rule (a mouthful referring to high-end slide rules with multiple log scales and trig functions) was the pride of engineers by the mid-20th century. Slide rules work on a completely different principle: analog logarithmic scales. By sliding scales relative to each other, users could multiply or divide numbers by adding lengths (logarithms) on the rulers. This made tasks like finding products, quotients, squares, or even sines and cosines very quick – essentially one or two steps to get an answer. In terms of speed, for operations like multiplication or division, a slide rule likely beats an abacus; you just align the markers and read off the result, rather than do multiple additions. But slide rules have an inherent limit in accuracy: a typical 10-inch slide rule is good for about 3 significant digits of precision at best​. The answer you get is an approximation; you’d still need to estimate where the decimal point goes, and you can’t get an exact figure beyond those ~3 digits. For many engineering tasks circa 1950, three digits were “good enough”​ – after all, physical measurements often weren’t more precise than that. The abacus, by contrast, is a digital device: it deals in whole numbers and exact quantities. If you add 1234 and 5678 on an abacus, you get exactly 6912, not 691.2 or something – no rounding involved. This made the abacus more suitable for accounting or commerce, where exact totals of money or goods were needed, while slide rules were suited for scientific calculations where a ballpark figure was acceptable.

The learning curve of the two devices also differs. A slide rule requires understanding the concept of logarithms and logarithmic scales – a bit of abstract math that might intimidate a beginner. However, once you grasp it, using a slide rule is fairly straightforward for standard tasks, and instruction manuals (often included with the device) would guide new users through examples. On the other hand, a Soroban’s principle (each bead has a value, you physically count them) is more intuitive, but becoming proficient demands repetition and muscle memory. Japanese students historically spent considerable time drilling on the soroban for speed and accuracy. In short: Addition/subtraction is usually faster on the abacus (since that’s literally what it’s built for), while multiplication/division might be faster on a slide rule if only an approximate answer is needed. And while a slide rule can do things like trig or logs in seconds (things an abacus cannot do directly at all), the abacus will give you an exact integer result for arithmetic, which a slide rule never will. Each tool had its niche; in fact, they coexisted for some time – one might use an abacus for bookkeeping and a slide rule for engineering calculations.

To put things in perspective, consider that by the 1960s one might find a Soroban on a bank clerk’s desk in Tokyo, and a slide rule in an engineer’s pocket at Boeing. Both would be rendered largely obsolete in the 1970s by cheap electronic calculators, but they showcase two very different approaches to the same goal: making calculation faster and easier for humans.

How to Use a Soroban Abacus

Anatomy of the Soroban: The Soroban consists of a rectangular frame with vertical rods (usually an odd number of rods) and a horizontal bar dividing each rod​. Each rod has one bead above the bar (the “heavenly” bead worth 5) and four beads below the bar (the “earth” beads worth 1 each)​. To represent a number, you slide beads toward the bar: each earth bead pushed up counts as 1, and the heaven bead pushed down counts as 5. For example, to represent the digit 7 on one rod, you’d slide the 5-valued bead down against the bar (worth 5) and two 1-valued beads up (5+2=7). All beads pushed away from the bar mean zero on that rod.

Basic operations:

  • Addition & Subtraction: To add numbers, you typically “enter” the first number on the abacus, then add the second by moving beads upward (for addition) or downward (for subtraction). If a column exceeds 9, you carry into the next column (e.g. if you need to add 1 to 9 on a rod, you reset that rod to 0 and add 1 to the next rod to the left). This is analogous to how we do carries on paper, but the abacus lets you feel the carry as you flip beads over. Soroban technique uses something called complementary numbers: instead of directly adding a bead that isn’t there, you might add 10 and subtract a complementary value. For instance, to add 7 on a rod showing 6, you know 7 = 10 – 3, so you’d add 10 (i.e. carry 1 to next rod) and subtract 3 on the current rod. It sounds complex, but with practice these moves become second-nature, and they allow very rapid calculations without pausing to think through each carry. Subtraction is the reverse process (using complements to borrow). A skilled user can rapidly cascade carries/borrows across multiple columns without losing track.
  • Multiplication & Division: These are done by reducing the problem to a series of additions or subtractions, much like long multiplication/division by hand. One common method for multiplication on the soroban is to break the multiplication into smaller parts using the multiplication table (as taught by the Japanese Abacus Committee)​. For example, to multiply 123 by 45, you could multiply 123 by 5 (getting 615) and 123 by 40 (which is 123 * 4 * 10, so 492 * 10 = 4920), then add the results to get 5535. Each of those sub-steps (multiplying by a single-digit and handling the place value) is done on the abacus sequentially. There are specific techniques to streamline this process on the abacus, but it takes practice to do quickly. Division works in a similar stepwise way, essentially repeated subtraction (like long division) where you find how many times the divisor fits into portions of the dividend, one digit at a time.
  • Advanced operations: Impressively, the abacus isn’t limited to simple arithmetic. Historic texts and abacus schools teach algorithms for things like square roots extraction, using methods somewhat analogous to the long-hand square root algorithms once taught in schools. There are even techniques for cube roots and more​kartsci.org. These are quite advanced and would be considered esoteric skills today, but they demonstrate that the abacus is a complete computing tool in the mathematical sense. Essentially, any computation that you could do by hand with pen and paper, you can also do on an abacus – often faster.

The Soroban’s usability comes from its clever design: each rod is a full decimal digit. This means you can handle very large numbers by using multiple rods (just as each additional column in written notation is another power of ten). To help read large results, Japanese sorobans often mark every third rod with a dot or color to denote thousands, millions, etc., making it easier to distinguish place values​. This feature is one of the refinements that set Sorobans apart from earlier Chinese suanpans.

Learning to use a Soroban for basic calculations is not difficult – children in East Asia have done it for generations as a way to learn arithmetic. Mastering it to perform lightning-fast calculations, however, is like learning a musical instrument. It requires drills and practice until the movements become fluid. Once that skill is acquired, an expert can almost literally play the abacus, solving problems with a flick of the fingers. It’s no surprise that some competitions and performances feature people doing calculations on abaci at dazzling speeds, much to the awe of onlookers.

From Beads to Binary: The Legacy of the Abacus in Computing

The Soroban abacus may seem quaint next to today’s technology, but it represents a critical milestone in the evolution of computing. It was an early example of optimizing computation, allowing people to offload cognitive work onto a tool. This same principle underlies every advancement in computing: we build devices to automate or accelerate the work of calculation. The abacus led the way, demonstrating that a properly designed tool could vastly improve speed and accuracy compared to unaided human effort.

After the abacus came a succession of increasingly sophisticated inventions. The 17th century saw mechanical calculators like Blaise Pascal’s Pascaline (geared wheels to sum numbers) and Gottfried Leibniz’s Step Reckoner. By the 19th century, commercial mechanical adding machines and cash registers were common – these could add and subtract (and some, like the Curta or the Marchant, could do more) with a few cranks of a handle. Each step in this progression made computation a bit faster and required less human skill to operate. The analog slide rule (in widespread use by the late 1800s through mid-1900s) took a different route, leveraging mathematics to allow quick multiplications and other functions by simply sliding scales – a powerful tool, but one that traded away exactness for speed.

The real explosion in computing power came with the advent of electronics. By the 1940s, machines like the ENIAC (one of the first electronic general-purpose computers, built in 1945) could do in seconds what a roomful of human “computers” with desk calculators might take hours to do. From there, the trajectory shoots upward: vacuum tubes gave way to transistors in the 1950s, then to integrated circuits in the 1960s. Each generation was faster, smaller, and more energy-efficient than the last. In 1965, Intel co-founder Gordon Moore famously observed that the density of transistors on a chip seemed to be doubling every couple of years – an empirical trend that held for decades and is now known as Moore’s Law. This exponential growth in capability meant that by the late 20th century, computation was not just a million times faster than in the abacus era – it was billions of times faster. To illustrate: the computing power of a single microchip today is roughly 2 billion times greater than what a chip had in 1960​. That’s a mind-boggling increase in a relatively short time span. If you plot computing power over time (from abaci and mechanical calculators to modern microprocessors), you see a curve that starts shallow for millennia and then skyrockets upward in the 20th century – that’s the exponential trend made evident in hindsight.

Moore’s Law, and the advancement of technology it represents, can make devices like the Soroban appear obsolete. And indeed, in practical terms, almost nobody uses an abacus for daily calculations when we all have calculators on our phones and computers. Yet, the abacus still holds value, not only as a historical artifact but also as an educational tool. Just as some math teachers recommend slide rules or mental math exercises to build number sense, learning the abacus can impart a visceral understanding of place value and arithmetic. It’s a way to experience calculation in a tactile form, which can deepen one’s comprehension of what our modern abstract devices are actually doing under the hood. There’s also a certain poetic continuity in the fact that both the abacus and a modern computer ultimately break numbers down into simple states (beads either moved or not, bits either 0 or 1) and perform logical steps to manipulate those numbers.

Comparing the Soroban to a modern smartphone, one can appreciate how far we’ve come. The abacus’s wooden beads and a modern CPU’s billions of transistors might seem worlds apart, but they’re points along the same continuum – a testament to human ingenuity in computation. From moving stones on a counting board to shifting bits in a microprocessor, the goal has always been the same: calculate faster, more accurately, and with less effort. The Soroban abacus is a beautiful reminder that even in an age of gigahertz and terabytes, the fundamental challenge of computing – and the clever solutions we devise – is an age-old human story.

This post was assisted by ChatGPT’s new Deep Research mode, with edits and final review by the author.

Posted in Mini Museum, Tools | Leave a comment