A system that stores data on LEGO bricks

How To Use LEGO Bricks For Data Storage

Those old enough to have encountered punch cards in their lifetime are probably glad to be rid of their extremely low data density and the propensity of tall stacks to tip over. But obsolete as they may be, they’re a great tool to show the basics of binary data storage: the bits are easily visible and can even be manipulated with simple tools. As an experiment to re-create those features in a more modern system, [Michael Kohn] made a punch card-like system based on LEGO bricks that stores machine code instructions for a 65C816 CPU, the 16-bit successor to the venerable 6502.

Bits are stored on a white 8×20 stud board, onto which small black pieces are placed. A white background stud encodes a logic “zero”, while a black stud encodes a logic “one”. The bits are read out by an array of reflectance sensors, which conveniently has the same 8 mm pitch as standard LEGO studs. A big wheel driven by a stepper motor slides the data card under the readout circuit along a short stretch of LEGO train tracks.

The optical sensors are read out by an MSP430 series microcontroller, which also drives the motor through a stepper motor driver. Once the data is read out, the bytes are transferred into a WDC W65C265SXB board, which executes them as machine code instructions on its 65C816 CPU. In the video below, you can see a program being loaded that blinks an LED.

We’ve featured educational punch-card systems before, like this Raspberry Pi-based model. If you’ve got a bunch of actual punch cards that need reading out, check out this Arduino-powered readout system.

Continue reading “How To Use LEGO Bricks For Data Storage”

Outline 2022: Everyone Should Go To A Demo Party

The community of Hackaday readers is diverse and talented, and supplies us with plenty of motivation, feedback, knowledge, and of course cool stuff to show you. There are many interest streams within it, but it’s safe to say that we’re more directed towards the hardware scene here. One of those parallel streams which has much overlap is the demoscene, that area in which programming, art, and music come together and push computer hardware to the limit of its abilities in pursuit of the most eye-catching works. I took a road trip with a friend to Outline, a small demo party held on a farm in the eastern Netherlands, to take a look at the world of demos up-close as a hardware-focused outsider.

Like A Hacker Camp, But The Music’s Better

A still from Thrive, a 256-byte demo for the TIC-80 fantasy console.
A still from Thrive, a 256 byte demo for the TIC-80 fantasy console.

If I wanted to sum up the flavour of Outline, I’d describe it as very similar to a small hacker camp, but with better music and partying. The hackerspaces are replaced by demo groups and awesome graphics take the place of robots and electronics, but the vibe of people with a passionate interest in the low-level understanding of technology is exactly the same. Even some of the same faces make an appearance. On the benches sit modern high-spec PCs alongside classic consoles and microcomputers, on the projector screen are live coding shaders or some of the most recognisable demos past and present, and in the air is an eclectic mix of live-DJ EDM and chiptunes.

As an outsider at a first demoscene event it’s difficult to appreciate the work from a comparative perspective, while like most of us I’m familiar with quite a few demos that have become popular I’m not well-equipped enough to talk about the code and techniques behind them But I can run through the various sections of the competition, and since everything is online I can link to a few of them. The competition is split up into several sections, which are loosely for all-out technology-no-object demos, space-limited 256 byte and 128 byte demos, and old-school demos for retrocomputing hardware. Each is a test of the programmer’s skill in fitting the most into the least of resources, and for those who appreciate such things it’s the cleverness of the technique which produces the demo that’s as much a draw as the look of the thing. I don’t think I have ever exercised such mastery over any of the computers I have owned. So browse the entries, and marvel at their ingenuity. My personal aesthetic favourites were Thrive by [Agenda] for the TIC-80 fantasy console and It’s about time by [Guideline] for Windows, but you may have different tastes. 

Don’t Forget The Hardware

Mine Storm 4D, on a lenticular holographic display.
Mine Storm 4D, on a lenticular holographic display.

Beyond the atmosphere and the demos themselves, there was a bit of hardware for the retrocomputer enthusiast. The Atari Falcon and Jaguar were neither destined to set the world on fire when they appeared, but there they were for those of us who drooled over them back in the day to lust for once more.

If the original hardware wasn’t enough then there was some newly minted retrocomputing hardware making a showing, with a couple of minimig Amiga FPGA boards showing Workbench. Star of the hardware show though went to Mine Storm 4D, a version of the classic Vectrex game Mine Storm running on a PC, for the Looking Glass Factory holographic portrait display. With my visual superpower I didn’t quite get a 3D effect, but I definitely got the holographic effect when moving my head.

Having never been to a demo party I didn’t know quite what to expect, but I can safely say I had a fantastic time, saw a lot of really cool stuff, and made some friends along the way. If you’ve never been to a demo party because it’s not quite your scene then all I can say is that you should give it a go. Every hardware hacker should go to a demo party!

Picture of the modification as it's being performed, with an extra chip stacked on top of the original, extra magnet wire connection going to the chip select line pin

Original XBox V1.6 RAM Upgrade Stacks TQFP Chips

RAM upgrades for the original XBox have been a popular mod — you could relatively easily bump your RAM from 64MB to 128MB. While it wouldn’t give you any benefit in most games written to expect 64MB, it does help with emulators, game development, and running alternative OSes like Linux. The XBox PCB always had footprints for extra RAM chips, so RAM upgrades were simple – just get some new RAM ICs and solder them onto the board. However, in the hardware revision 1.6, these footprints were removed, and RAM upgrades on v1.6 were always considered impossible.

[Prehistoricman] brings a mod that makes RAM upgrades on v1.6 possible using an old trick from the early days of home computers. He’s stacking new RAM chips on top of the old ones and soldering them on in parallel. The overwhelming majority of the RAM lines are shared between chips, which is what makes this mod possible – all you need to connect to the extra chips is magnet wire for extra RAM chip select lines, which are, thankfully, still available on the board. He shares a tutorial with plenty of illustrations, so it should be easier for you to perform this mod, in case you’re stuck with a newer console that doesn’t have the RAM chip footprints left onboard.

We just covered an original XBox softmodding tutorial, so this is as timely as ever! If you’re looking to read about the 128MB mod, this is a good place to start.

We thank [DjBiohazard] for sharing this with us!

Quantum Computing: The First Taste Is Free

There are a few ways to access real quantum computers — often for free — over the Internet. However, most of these are previous-generation machines that have limited capabilities. Great for learning, perhaps, but not something you could do anything practical with.  Xanadu, however, has announced what they claim to be a computer capable of reaching quantum advantage that is free for anyone to use, within limits. Borealis — the computer in question — uses photonic states and has the capability of working with over 216 squeezed-state qubits.

The company is selling time on the computer, but the free tier includes 5 million free shots on Borealis and 10 million shots on an earlier series of quantum computers. You can also buy pay-as-you go service for about $100 per million shots on Borealis.

While a few million shots may sound like a lot, we noticed that the quickstart demo consumes 10,000 shots and that’s presumably something simple. That’s still about 500 runs of that on Borealis — not bad for free on a state-of-the-art quantum computer. You will be wanting to debug with a simulator, though.

We presume the developers are Beatles fans given that you use software called Penny Lane and Strawberry Fields to access the machines. Your job is controlled by Python and there is a cloud simulator to save your shots.

We won’t pretend to understand all there is about squeezed light qubits and the Borealis architecture. But you can get some general practice in our series on quantum computing. Or there are a few lectures around including one that aims at different levels of experience.

Continue reading “Quantum Computing: The First Taste Is Free”

Have You Heard Of MCGA?

In the world of PC graphics, the early standards followed the various video cards of the day. There was MDA, familiar through the original text-based DOS prompt, CGA, then EGA, and the non-IBM Hercules along the way. Finally in 1987 IBM produced the VGA, or Video Graphics Array standard for their PS/2 line of computers, which became the bedrock on which all subsequent PC graphics cards, even those with digital outputs, have been built. It’s interesting then to read an account from [Dave Farquhar] of the other now-forgotten video standard that made its debut with the PS/2, MCGA, or Multicolor Graphics Array. This was intended as an entry-level graphics system to compete with the more multimedia-oriented home computers of the day such as the Commodore Amiga and Atari ST.

Offering 320×200 graphics at 256 colors but only two colors at 640×480 it’s difficult to see how it could have been a viable competitor to the Amiga’s 4096-color HAM mode, but it did offer the ability to drive an RGB monitor through its VGA-like socket. The story goes that IBM intended it to provide an upgrade incentive for PS/2 customers to buy a more powerful model with VGA, but in the event a host of third-party VGA-compatible cards emerged and allowed more traditional ISA computers from third parties to retain a competitive edge and eventually sideline the PS/2 line entirely.

We called time on VGA back in 2016, and it’s fair to say that it’s disappeared from PC hardware since then even if much of its technologies still lurk within. It’s pleasing to see though that it remains a stalwart of hacked-together display interfaces, with efforts such as this 7400-based VGA card continuing to impress us.

Remote Screen Viewer Is Text-Only

Have you been slowly falling down a rabbit hole of Stallman-like paranoia of computers ever since installing Ubuntu for the first time in 2007? Do you now abhor anything with a GUI, including browsers? Do you check your mail with the command line even though you’re behind seven proxies? But, do you still want to play Minecraft? If so, this command-line-only screen viewer might just be the tool to use a GUI without technically using one.

This remote screen viewer is built in Python by [louis-e] and, once installed, allows the client to view the screen of the server even if the client is a text-only console. [louis-e] demonstrates this from within a Windows command prompt. The script polls the server screen and then displays it in the console using the various colors and textures available. As a result, the resolution and refresh rate are both quite low, but it is still functional enough to play Minecraft and do other GUI-based tasks as long as there’s no fine text to read anywhere.

The video below only shows a demonstration of the remote screen viewer, and we can imagine plenty of uses beyond this proof-of concept game demonstration. Installing a desktop environment and window manager is not something strictly necessary for all computers, so this is a functional workaround if you don’t want to waste time and resources installing either of those components. If you’re looking for remote desktop software for a more specific machine, though, take a look at this software which enables remote desktop on antique Macs.

Continue reading “Remote Screen Viewer Is Text-Only”

On the left, the Thunderbolt chip as mounted on the motherboard originally. On the right, the shim installed in place of a Thunderbolt BGA chip, with the IPEX connector soldered on

Macbook Gets NVMe SSD With Help Of A BGA-Imitating PCB

Recently, we stumbled upon a video by [iBoff], adding an M.2 NVMe port to a 2011-2013 MacBook. Apple laptops never came with proper M.2 ports, especially the A1278 – so what’s up? The trick is – desoldering a PCIe-connected Thunderbolt controller, then soldering a BGA-like interposer PCB in place of where the chip was, and pulling a cable assembly from there to the drive bay, where a custom adapter PCB awaits. That adapter even lets you expose the PCIe link as a full-sized PCIe 4x slot, in case you want to connect an external GPU instead of the NVMe SSD!

The process is well-documented in the video, serving as an instruction manual for anyone attempting to install this specific mod, but also a collection of insights and ideas for anyone interested in imitating it. The interposer board ships with solder balls reballed onto it, so that it can be installed in the same way that a BGA chip would be – but the cable assembly connector isn’t installed onto the interposer, since it has to be soldered onto the mainboard with hot air, which would then melt the connector. The PCB that replaces the optical drive makes no compromises, either, tapping into the SATA connector pins and letting you add an extra 2.5mm SATA SSD.

Adding an NVMe drive is an underappreciated way to speed up your old laptop, and since they’re all PCIe under the hood, you can really get creative with the specific way you add it. You aren’t even limited to substituting obscure parts like Thunderbolt controllers – given a laptop with a discrete GPU and a CPU-integrated one, you could get rid of the discrete GPU and replace it with an adapter for one, or maybe even two NVMe drives, and all you need is a PCB that has the same footprint as your GPU. Sadly, the PCB files for this adapter don’t seem to be open-source, but developing a replacement for your own needs would be best started from scratch, either way.

We’ve seen such an adapter made for a Raspberry Pi 4 before, solderable in place of a QFN USB 3.0 controller chip and exposing the PCIe signals onto the USB 3 connector pins. However, this one takes it up a notch! Typically, without such an adapter, we have to carefully solder a properly shielded cable if we want to get a PCIe link from a board that never intended to expose one. What’s up with PCIe and why is it cool? We’ve talked about that in depth!

Continue reading “Macbook Gets NVMe SSD With Help Of A BGA-Imitating PCB”