Tweet Messages From Punch Cards

It all started with a conversation about the early days of computing. The next thing he knew, [Tim Jagenberg’s] colleague gave him a stack of punch cards and a challenge.  [Tim] attempted to read them with a mechanical contact and failed.  Undeterred, he decided to make a punch card-to-keyboard interface using optical parts from disassembled HP print stations.  Specifically, he took apart the slotted optical interrupter switches to use their IR-LEDs and photo-transistors. Next, [Tim] drilled holes into two pieces of plastic, gluing the LEDs on one piece of plastic and the photo-transistors on the other. The photo-transistors tell the Teensy 3.1 whenever a hole is detected.

[Tim] developed an interpreter on the Teensy that reads the punch card according to IBM model 029 keypunch codes. The Teensy enumerates as a USB keyboard when connected to a computer. As a punch card is read, the Teensy outputs the decoded characters as key presses.  When a punch card has been completely read, an ‘Enter’ key press is transmitted.  Tweeting the punch cards is no more complicated than typing the text yourself. Naturally, the first message posted on Twitter from the stack of punch cards was “Hello World!”  [Tim’s] binary and source code is available for download on Github.

We’ve enjoyed covering the backstory of the punch card and a previous project reading these cards using a digital camera setup. It’s always interesting to see the clever ways people use current technology and can-do attitude to read data from obsolete systems that would otherwise be lost.  We wonder what is on the rest of those punch cards?  Let’s hope [Tim] has more punch card tweets soon!

Extreme Repair Of An All-in-One PC

While browsing a local auction site, [Viktor] found himself bidding on a beat up Lenovo A600 all-in-one PC. He bid around $50 and won. Then came the hard part – actually making the thing work. The front glass was cracked, but the LCD was thankfully unharmed. The heat pipes looked like they had been attacked with monkey wrenches. The superIO chip’s pins were mangled, and worst of all, the MXM video card was dead.

The first order of business was to fix the superIO chip’s pins and a few nearby discrete components which had been knocked off their pads. Once that was done, [Viktor] was actually able to get the computer to boot into Linux from a USB flash drive. The next step was bringing up the display. [Viktor] only needed a coding station, so in addition to being dead, the video accelerator on the MXM wasn’t very useful to him. The Lenovo’s motherboard was designed to support video on an MXM card or internal video. Switching over meant changing some driver settings and moving a few components, including a rather large LVDS connector for the display itself. A difficult task, compounded by the fact that [Viktor’s] soldering tools were a pair of soldering guns that would be better suited to fixing the bodywork on a ’57 Chevy. He was able to fashion a hot wire setup of sorts, and moved the connector over. When he was done, only one tiny solder bridge remained!

The end result is a new coding battle station for [Viktor] and a computer which was a basket case is saved from the landfill. If you like this hack, check out [Viktor’s] low power PSU, or his 1 wire network!

Breadboarding A 68000 Computer In Under A Week

We’ve been lurking over at Big Mess ‘o Wires as [Steve] geared up for his 68000 computer build. One of his previous posts mentioned a working breadboard version but we figured it would be a ways off. Surprise, he’s got it working and what you see above took just 6 days of “occasional work” to get running.

The chip in use is actually a 68008 but we remember reading that he does plan to migrate to a 68000 because this one lacks the memory pins to address more than 1 MB of RAM. The trick here was just to get the thing running and he made some common choices to get there. For instance, he grounded the /DTACK in much the same way [Brian Benchoff] explained in his own 68k build.

We’re not sure if his address decoding was a time saver or not. If you study [Steve’s] original planning post you’ll learn that he’s going to use programmable logic to handle the address decoding. But above he wired up 74-series logic chips to perform these functions. On the one hand you know your Hardware Description Language isn’t the problem, but did you terminate one of those wires where you ought not?

Additional tripping points include a bouncing reset pin. Looking at that we’d tell [Steve] there’s a problem with his chip, except that this was his first thought as well. He went the extra mile by building and testing a replica of the reset system. This makes our brain spin… shouldn’t the reset be among the most reliable parts of a processor?

At any rate, great work so far. We can’t wait to see where this goes and we hope that it unfolds in a way that is as exciting as watching [Quinn Dunki’s] Veronica project take shape.

Thinkpad 701c: Reverse Engineering A Retro Processor Upgrade

[Noq2] has given his butterfly new wings with a CPU upgrade. Few laptops are as iconic as the IBM Thinkpad 701 series and its “butterfly” TrackWrite keyboard. So iconic in fact, that a 701c is part of the permanent collection of the Museum of Modern Art in New York.

Being a 1995 vintage laptop, [Noq2’s] 701c understandably was no speed demon by today’s standards. The fastest factory configuration was an Intel 486-DX4 running at 75 MHz. However, there have long been rumors and online auctions referring to a custom model modified to run an AMD AM-5×86 at 133 MHz. The mods were performed by shops like Hantz + Partner in Germany. With this in mind, [Noq2] set about reverse engineering the modification, and equipping his 701c with a new processor.

thinkpad-brainsurgeryThe first step was determining which AMD processor variant to use. It turns out that only a few models of AMD’s chips were pin compatible with the 208 pin Small Quad Flat Pack (SQFP) footprint on the 701c’s motherboard. [Noq2] was able to get one from an old Evergreen 486 upgrade module on everyone’s favorite auction site. He carefully de-soldered the AM-5×86 from the module, and the Intel DX4 from the 701c. A bit of soldering later, and the brain transplant was complete.

Some detailed datasheet research helped [noq2] find the how to increase the bus clock on his 5×86 chip, and enable the write-back cache. All he had to do was move a couple of passive components and short a couple pins on the processor.

The final result is a tricked out IBM 701c Thinkpad running an AMD 5×86 at 133 MHz. Still way too slow for today’s software – but absolutely the coolest retro mod we’ve seen in a long time.

home made keyboard

Delving Into The Design And Manufacture Of A Keyboard

A while back [Dave] decided he wanted to build his own keyboard. [Dave] has no experience in design, or dealing with manufacturing companies, or even sourcing materials – he just wanted to see if he could do it.

That’s the beauty of the DIY world – most of the time, you can do it, you just don’t know it yet. The keyboard is made out of laser cut steel and acrylic sheets. The switches and key caps are Cherry MX Browns, supplied by GONSKeyboards Works. A Teensy 2.0 lies at the heart of the keyboard acting as an HID device, and the whole thing assembled looks pretty slick – but it wasn’t easy getting to that point.

Continue reading “Delving Into The Design And Manufacture Of A Keyboard”

The Economics Of Fuzz Testing With The Intel Edison

The Intel Edison is an incredibly small and cheap x86 computing platform, and with that comes the obvious applications for robotics and wearable computing. [mz] had another idea: what if the Edison could do work that is usually done by workstations? Would it make economic sense to buy a handful of Edisons over a single quad-core Xeon system?

[mz] thought the Edison would be an ideal platform for fuzz testing, or sending random, automated data at a program or system to figure out if they’ll misbehave in interesting ways. After figuring out where to solder power and ground wires to boot an Edison without a breakout board, [mz] got to work benchmarking his fuzz testing setup.

Comparing the benchmarks of a fuzzing job running on the Edison and a few servers and workstations, calculations of cost-efficiency worked out well for this tiny x86 system on module. For parallelizable tasks, the Edison is about 8x less powerful than a reasonably modern server, but it’s also about 5-8x cheaper than a comparable desktop machine. Although renting a server is by far the more economic solution for getting a lot of computing power easily, there are a few use cases where a cluster of Edisons in your pocket would make sense.

CARDIAC Cardboard Computer

A Clever Cardboard Computer

Back in the 70’s when computers were fairly expensive and out of reach for most people, [David Hagelbarger] of Bell Laboratories designed CARDIAC: CARDboard Illustrative Aid to Computation. CARDIAC was designed as an educational tool to give people without access to computers the ability to learn how computers work.

The CARDIAC computer is a single-accumulator single-address machine, which means that instructions operate on the accumulator alone, or on the accumulator and a memory location. The machine implements 10 instructions, each of which is assigned a 3-digit decimal opcode. The instruction set architecture includes instructions common to simple Von Neumann processors, such as load, store, add/subtract, and conditional branch.

Operating the computer is fairly simple–the cardboard slides guide you through the operation of the ALU and instruction decoder, and the flow chart shows you which stage to go to next. The program counter is represented by a cardboard ladybug which is manually moved through the program memory after each instruction completes.

Even though the CARDIAC is dated and very simplistic, it is still a useful tool to teach how microprocessors work. Although modern processors include multi-stage pipelines, finely-tuned branch predictors, and numerous other improvements, the basic principles of operation remain the same.

Feeling adventurous? Print out your own CARDIAC clone and try writing your first cardboard computer program.

[via Reddit]