Zork Running On 4-Bit Intel Computer

Before DOOM would run on any computing system ever produced, and indeed before it even ran on its first computer, the game that would run on any computer of the pre-DOOM era was Zork. This was a text-based adventure game first published in the late 70s that could run on a number of platforms thanks to a virtual machine that interpreted the game code. This let the programmers write a new VM for each platform rather than porting the game every time. [smbakeryt] wanted to see how far he could push this design and got the classic game running on one of the oldest computers ever produced.

The computer in question is the ubiquitous Intel 4004 processor, the first commercially available general-purpose microprocessor produced. This was a four-bit machine and predates the release of Zork by about eight years. As discussed earlier, though, the only thing needed to get Zork to run on any machine is the Z-machine for that platform, so [smbakeryt] got to work. He’s working on a Heathkit H9 terminal, and the main limitation here is the amount of RAM needed to run the game. He was able to extended the address bus to increase the available memory in hardware, but getting the Z-machine running in software took some effort as well. There’s a number of layers of software abstraction here that’s a bit surprising for 70s-era computing but which make it an extremely interesting challenge and project.

As far as [smbakeryt]’s goal of finding the “least amount of computer” that would play Zork, we’d have a hard time thinking of anything predating the 4004 that would have any reasonable user experience, but we’d always encourage others to challenge this thought and [smbakeryt]’s milestone. Similarly, DOOM has a history of running on machines far below the original recommended minimum system requirements, and one of our favorites was getting it to run on the NES.

Continue reading Zork Running On 4-Bit Intel Computer”

Jon Peddie’s The Graphics Chip Chronicles On Graphics Controller History

Using computers that feature a high-resolution, full-color graphical interface is commonplace today, but it took a lot of effort and ingenuity to get to this point. This long history is the topic of [Dr. Jon Peddie]’s article series called The Graphics Chip Chronicles. In the first of eight volumes, the early days of the NEC µPD7220 and the burgeoning IBM PC.

Texas Instruments TMS34020 (Source: Wikimedia)
Texas Instruments TMS34020 (Source: Wikimedia)

These are just brief overviews of these particular chips, of course, with a lot more detail to be found when you go digging. Details such as the NEC µPD7220 being the graphics chip in Japan’s PC-9800 series of computers which are famous for the amazingly creative art and games that this chip enabled.

While the average Hackaday reader is likely familiar with the IBM PC side of things, Texas Instruments’ graphics controllers, including the very interesting TMS34010 and successor TMS34020 which can be called the first proper graphical processing units, or GPUs, effectively a CPU with graphics-specific instructions.

Although it’s tempting to see computer graphics as a direct line from the days of monochrome graphic controllers to what we have today in our PCs, there were a lot of companies and countless talented individuals involved, including companies who built clones that would go on to set new standards. If you’re into reading through a few years worth of computer history articles by someone who has been in the industry for even longer, it’s definitely worth a read.

Thanks to [JohnS_AZ] for the tip.


Top image: NEC µPD7220 by Drahtlos – Own work, CC BY-SA 4.0)

The Many-Sprites Interpretation Of Amiga Mechanics

The invention of sprites triggered a major shift in video game design, enabling games with independent moving objects and richer graphics despite the limitations of early video gaming hardware. As a result, hardware design was specifically built to manipulate sprites, and generally as new generations of hardware were produced the number of sprites a system could produce went up. But [Coding Secrets], who published games for the Commodore Amiga, used an interesting method to get this system to produce far more sprites at a single time than the hardware claimed to support.

This hack is demonstrated with [Coding Secrets]’s first published game on the Amiga, Leander. Normally the Amiga can only display up to eight sprites at once, but there is a coprocessor in the computer that allows for re-drawing sprites in different areas of the screen. It can wait for certain vertical and horizontal line positions and then execute certain instructions. This doesn’t allow unlimited sprites to be displayed, but as long as only eight are displayed on any given line the effect is similar. [Coding Secrets] used this trick to display the information bar with sprites, as well as many backgrounds, all simultaneously with the characters and enemies we’d normally recognize as sprites.

Of course, using built-in hardware to do something the computer was designed to do isn’t necessarily a hack, but it does demonstrate how intimate knowledge of the system could result in a much more in-depth and immersive experience even on hardware that was otherwise limited. It also wasn’t free to use this coprocessor; it stole processing time away from other tasks the game might otherwise have to perform, so it did take finesse as well. We’ve seen similar programming feats in other gaming projects like this one which gets Tetris running with only 1000 lines of code.

Continue reading “The Many-Sprites Interpretation Of Amiga Mechanics”

Microsoft’s WebTV Is Being Revived By Fans

During the 1990s, everyone wanted to surf the information super-highway — also known as the World Wide Web or just ‘Internet’ — but not everyone was interested in getting one of those newfangled personal computers when they already had a perfect good television set. This opened a market for TV-connected thin clients that could browse the web with a much lower entry fee, with the WebTV service being launched in 1996. Bought by Microsoft in 1997 and renamed MSN TV, it lasted until 2013. Yet rather than this being the end, the service is now being revived by members of the community through the WebTV Redialed project.

The DreamPi adds dial-up support back to old hardware.
The DreamPi adds dial-up support back to old hardware.

The project, which was recently featured in a video by [MattKC], replaces the original back-end services that the thin clients connected to via their dial-up modems, with the first revision using a proprietary protocol. The later and much more powerful MSN TV 2 devices relied on a standard HTTP-based protocol running on Microsoft’s Internet Information Services (IIS) web server and Windows.

What’s interesting about this new project is that it allows you to not just reconnect your vintage WebTV/MSN TV box, but also use a Windows-based viewer and more. What difficulty level you pick depends on the chosen hardware and connection method. For example, you can pair the Raspberry Pi with a USB modem to get online thanks to the DeamPi project.

Interestingly, DreamPi was created to get the Sega Dreamcast back online, with said console also having its own WebTV port that can be revived this way. Just in case you really want to get the full Dreamcast experience.

Continue reading “Microsoft’s WebTV Is Being Revived By Fans”

Only Known Copy Of UNIX V4 Recovered From Tape

UNIX version 4 is quite special on account of being the first UNIX to be written in C instead of PDP-11 ASM, but it was also considered to have been lost to the ravages of time. Joyfully, we can report that the more than fifty year old magnetic tape that was recently discovered in a University of Utah storeroom did in fact contain the UNIX v4 source code. As reported by Tom’s Hardware, [Al Kossow] of Bitsavers did the recovery by passing the raw flux data from the tape read head through the ReadTape program to reconstruct the stored data.

Since the tape was so old there was no telling how much of the data would still be intact, but fortunately it turned out that the tape was not only largely empty, but the data that was on it was in good nick. You can find the recovered files here, along with a README, with Archive.org hosting the multi-GB raw tape data. The recovered data includes the tape file in SimH format and the filesystem

Suffice it to say that you will not run UNIX v4 on anything other than a PDP-11 system or emulated equivalent, but if you want to run its modern successors in the form of BSD Unix, you can always give FreeBSD a shot.

Exploring Modern SID Chip Substitutes

The SIDKick Pico installed on a breadboard. (Credit: Ben Eater)
The SIDKick Pico installed on a breadboard. (Credit: Ben Eater)

Despite the Commodore 64 having been out of production for probably longer than many Hackaday readers have been alive, its SID audio chip remains a very popular subject of both retrocomputing and modern projects. Consequently a range of substitutes have been developed over the decades, all of which seek to produce the audio quality of one or more variants of the SID. This raises the question of which of these to pick when at first glance they seem so similar. Fret not, for [Ben Eater] did an entire video on comparing some modern SID substitutes and his thoughts on them.

First is the SIDKick Pico, which as the name suggests uses a Raspberry Pi Pico board for its Cortex-M0+ MCU. This contrasts with the other option featured in the video, in the form of the STM32F410-based ARMSID.

While the SIDKick Pico looks good on paper, it comes with a number of different configurations, some with an additional DAC, which can be confusing. Because of how it is stacked together with the custom PCB on which the Pi Pico is mounted, it’s also pretty wide and tall, likely leading to fitment issues. It also doesn’t work as a drop-in solution by default, requiring soldering to use the SID’s normal output pins. Unfortunately this led to intense distortion in [Ben]’s testing leading him to give up on this.

Meanwhile the ARMSID is about as boring as drop-in replacements get. After [Ben] got the ARMSID out of its packaging, noted that it is sized basically identical to the original SID and inserted it into the breadboard, it then proceeded to fire right up with zero issues.

It’s clear that the SIDKick Pico comes with a lot of features and such, making it great for tinkering. However, if all you want is a SID-shaped IC that sounds like a genuine SID chip, then the ARMSID is a very solid choice.

Thanks to [Mark Stevens] for the tip.

Continue reading “Exploring Modern SID Chip Substitutes”

Retrocomputing: Simulacrum Or The Real Deal?

The holidays are rapidly approaching, and you probably already have a topic or two to argue with your family about. But what about with your hacker friends? We came upon an old favorite the other day: whether it “counts” as retrocomputing if you’re running a simulated version of the system or if it “needs” to run on old iron.

This lovely C64esque laptop sparked the controversy. It’s an absolute looker, with a custom keyboard and a retro-reimagining-period-correct flaptop design, but the beauty is only skin deep: the guts are a Raspberry Pi 5 running VICE. An emulator! Horrors!

We’ll admit to being entirely torn. There’s something about the old computers that’s very nice to lay hands on, and we just don’t get the same feels from an emulator running on our desktop. But a physical reproduction like with many of the modern C64 recreations, or [Oscar Vermeulen]’s PiDP-8/I really floats our boat in a way that an in-the-browser emulation experience simply doesn’t.

Another example was the Voja 4, the Supercon 2022 badge based on a CPU that never existed. It’s not literally retro, because [Voja Antonics] designed it during the COVID quarantines, so there’s no “old iron” at all. Worse, it’s emulated; the whole thing exists as a virtual machine inside the onboard PIC.

But we’d argue that this badge brought more people something very much like the authentic PDP-8 experience, or whatever. We saw people teaching themselves to do something functional in an imaginary 4-bit machine language over a weekend, and we know folks who’ve kept at it in the intervening years. Part of the appeal was that it reflected nearly everything about the machine state in myriad blinking lights. Or rather, it reflected the VM running on the PIC, because remember, it’s all just a trick.

So we’ll fittingly close this newsletter with a holiday message of peace to the two retrocomputing camps: Maybe you’re both right. Maybe the physical device and its human interfaces do matter – emulation sucks – but maybe it’s not entirely relevant what’s on the inside of the box if the outside is convincing enough. After all, if we hadn’t done [Kevin Noki] dirty by showing the insides of his C64 laptop, maybe nobody would ever have known.