Why Learn Ancient Tech?

The inner orbits of the Hackaday solar system have been vibrating with the announcement of the 2022 Hackaday Supercon badge. The short version of the story is that it’s a “retrocomputer”. But I think that’s somehow selling it short a little bit. The badge really is an introduction to machine language or maybe a programming puzzle, a ton of sweet blinky lights and clicky buttons, and what I think of as a full-stack hacking invitation.

Voja Antonic designed the virtual 4-bit machine that lives inside. What separates this machine from actual old computers is that everything that you might want to learn about its state is broken out to an LED on the front face, from the outputs of the low-level logic elements that compose the ALU to the RAM, to the decoder LEDs that do double-duty as a disassembler. You can see it all, and this makes it an unparalleled learning aid. Or at least it gives you a fighting chance.

So why would you want to learn a made-up machine language from a non-existent CPU? Tom Nardi and I were talking about our experiences on the podcast, and we both agreed that there’s something inexplicably magical about flipping bits, calling the simplest of computer operations into action, and nonetheless making it do your bidding. Or rather, it’s anti-magical, because what’s happening is the stripping away of metaphors and abstractions. Peering not just behind, but right through the curtain. You’re seeing what’s actually happening for once, from the bottom to the top.

As Voja wrote on the silkscreen on the back of the badge itself: “A programmer who has never coded 1s and 0s in machine language is like a child who has never run barefoot on the grass.” It’s not necessary, or maybe even relevant, but learning a complex machine in its entirety is simultaneously grounding and mind-expanding. It is simply an experience that you should have.

Toteable PC Is Inspired By Macs Of Days Gone By

Back in the 1980s, the personal computer was a hip new thing, and the form this new technology would take was still up for debate. Back then, all kinds of weird clamshells, breadbins, and all-in-one designs hit the market, with the Apple Macintosh proving to be a successful example of the latter. Inspired by the Macintosh 128K that served as their first computer, [Arnov Sharma] decided to whip up a modern all-in-one of their very own.

It’s nicknamed the LATTEintosh, as it’s built around the Latte Panda 3 Delta. This is a single-board computer with an Intel Celeron N5105 CPU, 8GB of RAM, and 64GB of eMMC storage on board. It’s capable of running full-fat x86 operating systems, and here, it’s running Windows 10.

The enclosure is a custom 3D-printed design of [Arnov]’s own creation. It sports a 7-inch HD monitor, fans for cooling, and speakers integrated into the case. Naturally, it’s got a handle on top to make it easy to carry, just like the Macintosh all-in-ones all those years ago.

There’s something to be said for a computer you can just pick up and carry away, and we love the boxy form factor. Sometimes a laptop simply won’t do, and we can imagine many engineers and technicians out there appreciating a build like this. We’ve seen some great all-in-ones before, too. Video after the break.

Continue reading “Toteable PC Is Inspired By Macs Of Days Gone By”

Exploring The Cutting Edge Of Desktop ARM Hardware

While the x86 architecture certainly isn’t going away anytime soon, it seems that each year more and more of our computing is done on ARM processors. It started with our smartphones, spread into low-cost Chromebooks, and now Apple’s gone all-in with their M1/M2 chips. But so far we haven’t seen too much movement in the desktop space, a fact which has arguably slowed the development of ARM-compatible software and operating systems.

But that doesn’t mean there aren’t options out there, and no, we don’t mean using a Raspberry Pi. [Wooty-B] has been documenting their efforts to switch over to a ARM desktop, which makes for fascinating reading even if you’re currently comfortable with your architecture choices. The key is the HoneyComb LX2K, a Mini-ITX ARM development board that offers enough expansion and raw power to meet most daily computing needs…assuming you’re willing to put in the effort. Continue reading “Exploring The Cutting Edge Of Desktop ARM Hardware”

Card's author typing on the IBM PC110's keyboard, with the Pico W-based card plugged into the PCMCIA slot on the left. PC110's screen shows successful ping 8.8.8.8.8.

Pi Pico W Does PCMCIA, Gets This IBM PC110 Online

Bringing modern connectivity to retro computers is an endearing field- with the simplicity of last-century hardware and software being a double-edged sword, often, you bring a powerful and tiny computer of modern age to help its great-grandparent interface with networks of today. [yyzkevin] shows us a PCMCIA WiFi card built using a Pi Pico W, talking PCI ISA. This card brings modern-day WiFi connectivity to his IBM PC110, without requiring a separate router set up for outdated standards that the typical PCMCIA WiFi cards are limited by.

The RP2040 is made to talk PCI ISA using, of course, the PIO engine. A CPLD helps with PCI ISA address decoding, some multiplexing, and level shifting between RP2040’s 3.3V and the PCI 5 V levels. The RP2040 software emulates a NE2000 network card, which means driver support is guaranteed on most OSes of old times, and the software integration seems seamless. The card already works for getting the PC110 online, and [yyzkevin] says he’d like to improve on it – shrink the design so that it resembles a typical PCMCIA WiFi card, tie some useful function into the Pico’s USB port, and perhaps integrate his PCMCIA SoundBlaster project into the whole package while at it.

This is a delightful project in how it achieves its goal, and a pleasant surprise for everyone who’s been observing RP2040’s PIO engine conquer interfaces typically unreachable for run-of-the-mill microcontrollers. We’ve seen Ethernet, CAN and DVI, along many others, and there’s undoubtedly more to come.

We thank [Misel] and [Arti] for sharing this with us!

3D Printer Upcycles Computer Case To DAS

Storage technologies are a bit of an alphabet soup, with NAS, SAN, and DAS systems being offered. That’s Network Attached Storage, Storage Area Network, and Direct Attached Storage. The DAS is the simplest, just physical drives attached to a machine, usually in a separate box custom made for the purpose. That physical box can be expensive, particularly if you live on an island like [Nicholas Sherlock], where shipping costs can be prohibitively high. So what does a resourceful hacker do, particularly one who has a 3d printer? Naturally, he designs a conversion kit and turns an available computer case into a DAS.

There’s some clever work here, starting with the baseplate that re-uses the ATX screw pattern. Bolted to that plate are up to four drive racks, each holding up to four drives. So all told, you can squeeze 16 drives into a handy case. The next clever bit is the Voronoi pattern, an organic structure that maximizes airflow and structural strength with minimal filament. A pair of 140mm fans hold the drives at a steady 32C in testing, but that’s warm enough that ABS is the way to go for the build. Keep in mind that the use of a computer case also provides a handy place to put the power supply, which uses the pin-short trick to provide power.

Data is handled with 4 to 1 SATA to SAS breakout cables, internal to external SAS converters, and an external SAS cable to the host PC. Of course, you’ll need a SAS card in your host PC to handle the connections. Thankfully you can pick those up on ebay for $20 USD and up.

If this looks good, maybe check out some other takes on this concept!

Bootstrapping The Old Fashioned Way

The PDP-11, the Altair 8800, and the IMSAI 8080 were some of the heroes of the computer revolution, and they have something in common — front panel switches, and a lot of them. You probably have a fuzzy idea about those switches, maybe from reading Levy’s Hackers, where the painful process of toggling in programs is briefly described. But how exactly does it work? Well thanks to [Dave Plummer] of Dave’s Garage, now we have a handy tutorial. The exact computer in question is a reproduction of the IMSAI 8080, the computer made famous by a young Matthew Broderick in Wargames. [Dave] managed to score the reproduction and a viewer saved him the time of assembly.

The example program is a Larson Scanner, AKA making an strip of lights push a pulse of light across the strip. [Dave] starts with the Assembly code, a scant 11 lines, and runs it through an assembler available online. That gives us machine code, but there’s no hex keypad for input, so we need those in 8-bit binary bytes. To actually program the machine, you set the address switches to your start-of-program location, and the data switches to your first byte. The “deposit” switch sets that byte, while the “deposit next” switch increments the address and then stores the value. It means you don’t have to key in an address for each instruction, just the data. Get to the end of the program, confirm the address is set to the start, and flick run. Hope you toggled everything in correctly. If so, you’re rewarded with a friendly scanner so reminiscent of 80s TV shows. Stick around after the break to see the demonstration!
Continue reading “Bootstrapping The Old Fashioned Way”

Ztachip Accelerates Tensorflow And Image Workloads

[Vuong Nguyen] clearly knows his way around artificial intelligence accelerator hardware, creating ztachip: an open source implementation of an accelerator platform for AI and traditional image processing workloads. Ztachip (pronounced “zeta-chip”) contains an array of custom processors, and is not tied to one particular architecture. Ztachip implements a new tensor programming paradigm that [Vuong] has created, which can accelerate TensorFlow tasks, but is not limited to that. In fact it can process TensorFlow in parallel with non-AI tasks, as the video below shows.

A RISC-V core, based on the VexRiscV design, is used as the host processor handling the distribution of the application. VexRiscV itself is quite interesting. Written in SpinalHDL (a Scala variant), it’s super configurable, producing a Verilog core, ready to drop into the design.

A Digilent Arty-A7, Arducam and a VGA PMOD is all you need

From a hardware design perspective the RISC-V core hooks up to an AXI crossbar, with all the AXI-lite busses muxed as is usual for the AMBA AXI ecosystem. The Ztachip core as well as a DDR3 controller are also connected, together with a camera interface and VGA video.

Other than providing an FPGA-specific DDR3 controller and AXI crossbar IP, the rest of the design is generic RTL. This is good news. The demo below deploys onto an Artix-7 based Digilent (Arty-A7) with a VGA PMOD module, but little else needed. Pre-build Xilinx IP is provided, but targeting a different FPGA shouldn’t be a huge task for the experienced FPGA ninja.

Ztachip top level architecture

The magic happens in the Ztachip core, which is mostly an array of Pcores. Each Pcore has both vector and scalar processing capability, making it super flexible. The Tensor Engine (internally this is the ‘dataplane processor’) is in charge here, sending instructions from the RISC-V core into the Pcore array together with image data, as well as streaming video data out. That camera is only a 0.3 MP Arducam, and the video is VGA resolution, but give it a bigger FPGA and those limits could be raised.

This domain-specific approach uses a highly modified C-like language (with a custom compiler) to describe the application that is to be distributed across the accelerator array. We couldn’t find any documentation on this, but there are a few example algorithms.

The demo video shows a real-time mix of four algorithms running in parallel; one object classification (Google’s Tensorflow mobilenet-ssd, a pre-trained AI model) canny edge detection, a Harris corner detection, and Optical flow which gives it a predator-like motion vision.

[Vuong] reckons, efficiency wise it is 5.5x more computationally efficient than a Jetson Nano and 37x more than Google’s TPU edge. These are bold claims, to say the least, but who are we to argue with a clearly incredibly talented engineer?

We cover many AI-related topics, like this AI assisted tap-typing gadget, for starters. And not wanting to forget about the original AI hardware, the good old-fashioned neuron, we got that covered as well!

Continue reading “Ztachip Accelerates Tensorflow And Image Workloads”