Linux Fu: Forward To The Past!

Ok, so the title isn’t as catchy as “Back to the Future,” but my guess is a lot of people who are advanced Linux users have — at least — a slight interest in retrocomputing. You’d like an Altair, but not for $10,000. You can build replicas of varying fidelities, of course. You can also just emulate the machine or a similar CP/M machine in software. There are many 8080 or Z80 emulators out there, ranging from SIMH to MAME. Most of these will run on Linux or — at the least — WINE. However, depending on your goals, you should consider RunCPM. Why? It runs on many platforms, including, of course, Linux and other desktop systems. But it also will work with the Arduino, Teensy, ESP32, or STM32 processors. There is also experimental support for SAM4S and Cyclone II FPGAs.

It’s pretty interesting to have one system that will work across PCs and embedded hardware. What’s more is that, at least on Linux, the file system is directly translated (sort of), so you don’t have to use tricks or special software to transfer files to and from CP/M. It is almost like giving Linux the ability to run CP/M software. You still have to have virtual disks, but they are nothing more than directories with normal files in them.

Goals

Of course, if your goal is to simulate a system and you want to have 180 kB floppies or whatever, then the direct file system isn’t a benefit. But if you want to use CP/M software for education, nostalgia, or cross-development, this is the way to go, in my opinion.

It isn’t just the file system, either. If you need a quick utility inside your bogus CP/M environment, you can write it in Lua, at least on desktop systems. On the Arduino, you can access digital and analog I/O. Theoretically, you could deploy an embedded Altair for some real purpose fairly cheaply. Continue reading “Linux Fu: Forward To The Past!”

Linux Fu: The Old School Terminal

Maybe you have a vintage old-school computer. Maybe you have a replica. Maybe you just want to run SIMH and relive the glory days of CP/M or VMS. The problem is, it looks kind of silly to have CP/M running in your beautiful X11 terminal window full of 3D animations, opacity effects, and special fonts. You could buy an old CRT monitor. That would be cool, too, because on a modern screen, you don’t get scan lines and all the crummy artifacts that go along with an electron beam and phosphor display device. Or you can grab retro-cool-term.

Star Trek on CP/M

Even if you don’t have an old computer, the program will work fine to simply run your shell for everyday use. Confound the youngsters when they see your terminal with scan lines and CRT jitter updating the latest packages.

What Is It?

If you want a shell in a GUI, you used to use xterm, although most people use something more modern. I use Konsole, but some like RXVT or whatever terminal your distro favors. Cool-retro-term is just a replacement for this. By default, it only opens a shell prompt.

Continue reading “Linux Fu: The Old School Terminal”

Ask Hackaday: Why Retrocomputing?

I recently dropped in on one of the Vintage Computer Festival events, and it made me think about why people — including myself — are fascinated with old computer technology. In my case, I lived through a lot of it, and many of the people milling around at VCF did too, so it could just be nostalgia. But there were also young people there.

Out of curiosity, I asked people about the appeal of the old computers on display there. Overwhelmingly, the answer was: you can understand the whole system readily. Imagine how long it would take you to learn all the hardware and software details of your current desktop computer CPU. Then add your GPU, the mass storage controllers, and your network interface. I don’t mean knowing the part numbers, specs, and other trivialities. I mean being able to program, repair, and even enhance it.

Continue reading “Ask Hackaday: Why Retrocomputing?”

Your Own Engineering Workstation, With Mame

There are some things that leave indelible impressions in your memory. One of those things, for me, was a technical presentation in 1980 I attended — by calling in a lot of favors — a presentation by HP at what is now the Stennis Space Center. I was a student and it took a few phone calls to wrangle an invite but I wound up in a state-of-the-art conference room with a bunch of NASA engineers watching HP tell us about all their latest and greatest. Not that I could afford any of it, mind you. What really caught my imagination that day was the HP9845C, a color graphics computer with a roughly $40,000 price tag. That was twice the average US salary for 1980. Now, of course, you have a much better computer — or, rather, you probably have several much better computers including your phone. But if you want to relive those days, you can actually recreate the HP9845C’s 1980-vintage graphics glory using, of all things, a game emulator.

The Machine

The HP9845C with a Colorful Soft Key Display

Keep in mind that the IBM PC was nearly two years away at this point and, even then, wouldn’t hold a candle to the HP9845C. Like many machines of its era, it ran BASIC natively — in fact, it used special microcode to run BASIC programs relatively quickly on its 16-bit 5.7 MHz CPU. The 560 x 455 pixel graphics system had its own CPU and you could max it out with a decadent 1.5 MB of RAM. (But not, alas, for $40,000 which got you — I think –128K or so.)

The widespread use of the computer mouse was still in the future, so the HP had that wonderful light pen. Mass storage was also no problem — there was a 217 kB tape drive and while earlier models had a second drive and a thermal printer optional, these were included in the color “C” model. Like HP calculators, you could slot in different ROMs for different purposes. There were other options such as a digitizer and even floppy discs.

Continue reading “Your Own Engineering Workstation, With Mame”

Your Own IBM Mainframe (or Vax, Or Cray…) The Easy Way

If you want the classic experience of working with an IBM mainframe or another classic computer like a DEC VAX, you have a few choices. You could spend a lot of money trying to find one, transport it, and refurbish it. But, of course, most of us will settle for an emulator. While there are great emulators out there, most of the time you aren’t interested in running just the bare machine — you want the operating systems, the compilers, and the other software that made these machines so interesting. Running your three lines of machine code isn’t as much fun as playing hunt the wumpus or compiling some Fortran IV code. Unfortunately, finding copies of all this old software can be daunting. But thanks to the efforts of [Rattydave], you can do it with no problems at all. The secret? Pre-built docker images that have everything you need in one place.

Continue reading “Your Own IBM Mainframe (or Vax, Or Cray…) The Easy Way”

Reliving Second-Hand Nostalgia With The PDP-11

Levy’s Hackers: Heroes of the Computer Revolution is something like required reading for the hacker subculture, and Hackaday by extension. The first section of that book is all about early hackers and their adventures with the PDP-1 at MIT. The PDP-11 has earned a special place in hacker history for being the minicomputer used to write the first Unix. We’re always amazed to find how many of our readers have stories about programming PDP microcomputers, usually the PDP-11. Those of us young enough to have missed out on the PDP experience often have something of a second-hand nostalgia for the old machines. An exceptionally detailed article over at Ars Technica promises to get us started reliving the glory days, even if it is for the first time.

It turns out that there’s an emulator for the old minicomputers, the History Simulator, abbreviated SimH. The article gives step-by-step instructions to get the emulator running, booting Unix 2.11 on a virtual PDP-11. The fun doesn’t stop there. The write-up includes an intro the the PDP-11 hardware, and a crash-course to assembly programming for the beast. It’s a great look at how the stack, branching, and subroutines work under the hood. Most of it still applies to computing today, so it really is worth the read.

Looking for more PDP-11 lore? Check out our coverage of DEC’s history.

The image above is “PDP-11” by ToastyKen, and is licensed under CC BY 2.0

A Miniature VT102 Running A Miniature PDP11

We spend a lot of time looking at retrocomputing in the form of gaming and home computers, but it’s true to say that minicomputers are less common than hardware projects. Perhaps it’s the size, cost, or even relative rarity of the original machines, but DEC minicomputers are a bit unusual around here. [Sprite_TM] hasn’t bought us a PDP11 or a VT102 terminal, but he’s done the next best thing in the form of a miniature working VT102 that also conceals a PDE11 emulator. It runs Tetris, which was originally developed on a Russian clone of the PDP11 architecture, and the 2.1BSD operating system.

Powering it all is an ESP32 module, and the PDP11 emulator is the well-known SIMH software. Porting this to the slightly limited environment of the microcontroller required a few compromises, namely the network stack and the configuration interface. In a particularly clever move [Sprite_TM] enabled BSD networking by writing an ESP32 layer that takes network packets via SIMD directly from BSD. It includes its own DHCP client and wireless network configuration tool, allowing an ancient UNIX-derived operating system from the 1970s to connect to the 21st century Internet through an emulator with its network code stripped out.

The case is a masterwork in OpenSCAD, a complete VT102 unit in miniature with a tiny LCD screen that when printed on a resin printer is a remarkable facsimile of the real thing. It doesn’t have a keyboard counterpart, but even with a miniature Bluetooth ‘board it still looks pretty impressive. In the video below the break he boots it into 2.1BSD, and importantly since it is a server operating system, logs into it from his laptop and plays a game of Zork.

[Sprite_TM] has brought us so many impressive projects over the years using the ESP32 and other parts. Maybe you have a favorite, but for us it’s the PocketSprite Game Boy-like tiny handheld console.

Continue reading “A Miniature VT102 Running A Miniature PDP11”