Retro computing interest is on the rise. There are now a number of incredible YouTube channels boasting tens of thousands subscribers. The 8-Bit Guy, Lazy Game Reviews and SeeJayAre are three great examples that cover all kinds of retro-inspired hardware and software. New magazines such as Retro Gamer are coming back (in a real dead-tree paper format, I’ll add). Second hand online markets like eBay are full of ads selling retro. And more and more people go to retro conferences and gatherings every year.

My interest in retro machines are formed from mix of feelings. For sure, there’s nostalgia of past times, lost childhood and memories of skin blocked pores. I grew up with these simple, lovely, slow, chunky, fanless machines. Machines that can do so little, that, when you went to the cinema and saw someone doing video conferencing on a computer screen you couldn’t help but smile and think “I’ll never have a computer like that”. I used to dream of science fiction whilst using my 12” green screen AMSTRAD, picturing Star Trek, or getting directions printed on a map, in a little glowing rectangle you can hold with your hands.

Giving a demo to the Mobile Jazz team during one of our weekly hangouts.

But there’s some real fun to be had using these (in theory) obsolete (and then by definition useless) machines. There’s something about the machine being so simple that enables you to really understand how they work, to see each part and know it’s function and where it belongs. Being able to fix your own computer and enabling it handle more than you ever thought it would be capable of is extremely satisfying. This is every geek’s dream – really understanding everything that’s going on in your machine and getting every drop of computing juice out of it.

So I’m a retro computer user (and a bit of retro collector, to my wife’s despair). I own several AMSTRAD CPC machines (3 CPC 6128, 2 CPC 464, 1 PCW 8256), some Commodore ones (C64 breadbin, Amiga 600, 2 A1200), a range of old PCs (laptops and a noisy tower) and some more obscure ones, like a Dragon 64. Also the obligatory Spectrum, in this case a boxed, mint-condition, glorious ZX Spectrum. And I use them. Mostly to play games, but mainly to tinker with. I enjoy using diskettes, or hearing the tones from the tape while a game is loaded (yes, back in the day we stored digital information in analog media; they were called cassette tapes, ask Indiana Jones for more details).

Old Technology: The Problems

Using things from the ‘80s can sometimes be a challenge. I’m used to storing everything on the SSD of my main computer. And by everything, I mean you can download each and every single game and utility ever made for these computers, thanks to the effort of many people working for free to preserve this digital legacy. You can run emulators that load these disk images easily (called ROMs for brevity, although they’re not necessary ROM chip dumps) and play the games or try the utilities. You can even program in C or PASCAL using CP/M compilers. But as I often have the real machines to run these games on, I want to do that. So after downloading the disk image… what’s next?

Long story short, you need to burn the disk image back to a floppy disk, for one of these old machines to understand. However, not many people have a floppy drive these days, even then most USB floppy drives only support High Density (HD) 1.44 MB disks, not Single Density (SD) 740 KB disks (used by the Amiga line of computers, for instance). My AMSTRAD CPC is even worse: they used a special, obscure, 3” disc format (yes, not even 3.5”). Thankfully you can convert an old 3.5” floppy into an AMSTRAD compatible one just rewiring some cables. If you can find one, that is.

I have a workflow to copy files from my old AMSTRAD to my Mac and back. It involves using that 3.5” modified floppy and a very old IBM laptop with a real internal floppy controller that can be programmed to understand the different layout (tracks, sectors) of the AMSDOS format. The disk images are saved using CPCDiskXP. It’s fun to try, but sometimes tiresome.

M4 Board

Imagine my excitement when I first heard about this board. A little, inexpensive board (less than 50€ shipped) that connects to the expansion port of your CPC. It reads microSD cards up to 32GB and gives you 32 programmable ROMs… and Wifi. This enables you to copy all those files to a SD card and then browse all the directories (and disk images) using several new commands this board adds to your AMSTRAD (via RSX, resident extensions, a trick to make code in ROM available to you without using the precious 128 KB of RAM this machine has).

The M4 board with a 32GB SD card and Wifi support. Micro USB powered.

3” floppies held 180 KB per side (imagine how many of these you can fit on a 32GB card :-D). An M4 board will allow you to store literally all software ever made for the AMSTRAD CPC, and run game after game with near instant loading times.

To do this, I just connected the microSD card to an a SD card adapter, then plugged it into my iMac, and I’m done. I can then copy files, delete unwanted ones, transfer my BASIC programs from the CPC to my iMac or the other way around. I can also manage files, create directories, etc, directly on the CPC. For reference, you have these commands (among others):

A throwback to MS DOS times!

But the best part of the M4 is the wifi board. Your 1985 computer can connect using wifi to the internet. Obviously, you can’t browse the modern web with a Z80 4 Mhz processor and 128 KB of RAM. Neither will the first JS library included in your regular Node.js app fit there. And you probably won’t be able to watch YouTube videos (not even considering the 16 colors and resolution of 160×200 pixels). But the wifi card enables you to connect to your network and download disc images directly from the internet. Better yet, manage the contents of your microSD from the comfort of your modern browser because the M4 board includes its own web server.

First, you need to configure your wifi settings. These will be kept on the board, so this is a one-time setup. To do that you write on your AMSTRAD CPC:

In this example, your CPC will appear as “cpc” in your LAN, connected to the access point called “amstrad” with password “alansugar”. It will use DHCP to get an IP address automatically. In my case, I didn’t want to join my regular network. When I’m using that computer my iMac is always on (to transfer files or remotely control the CPC), so I ended up creating a new network using the Shared Network option in System Preferences. The iMac has proper connection through wired Ethernet, and the wifi is never used.

After sharing my internet connection a message will appear on screen, telling me everything’s OK (and the IP I’ve got). I can also use |netstat to reconnect or to get some info on the connection.

My 80’s CPC 6128 ready to surf the web!

Now you can control your little computer from a modern browser. Yes, the M4 includes a management console running inside a web server, which can even run auto-updates. You can upload files, create directories or delete them just using your browser, no need to even type the RSX commands.

You can even manage everything from your tablet or phone! This is some kind of cool science-fiction trick, for sure!

Other Projects

There are number of other projects and retro machines I enjoy playing with. I own an Everdrive for the Nintendo Entertainment System, to test and play games I just can’t find on cartridge. Surprisingly you’ll find plenty of new hardware (and software) being made for your favourite old computer/console. They’re not dead. They are getting now more and more love from a group of enthusiastic people and a surprisingly young crowd fascinated by these blocky pixels.

The simplicity and reliability of these machines, the keyboards used, the use of physical media, the fanless construction, all give these machines a charm that no other modern computers have. Maybe you’re nostalgic. Maybe curious. Don’t you feel the urge to dust off now that old little computer in the attic and run that game or program something silly in BASIC? Do it now!

Jose Luis Franconetti

Jose Luis Franconetti

Jose Luis is a senior software engineer, with a strong experience in mobile, backend and dev-ops.