A photo of the PiStorm68K circuit board

PiStorm68K Offers Supercharged Retro Amiga Experience

[AmiCube] has announced their new PiStorm68K special edition MiniMig accelerator board. This board was developed to replace the 68000 CPU in a MiniMig — a recreation of the original Amiga chipset in an FPGA allowing a real genuine 68000 CPU to operate.

The PiStorm68K itself can host a real genuine 68000 CPU but it can also host various Raspberry Pi models which can do emulation of a 68000. So if you combine a PiStorm68K with a MiniMig you can, at your option, boot into an emulated environment with massively increased performance, or you can boot into an original environment, with its reliable and charming sluggishness.

In the introduction video below, [AmiCube] uses the SYSINFO utility software to compare the CPU speed when using emulation (1531 MIPS) versus the original (4.47 MIPS), where MIPS means Millions of Instructions Per Second. As you can see the 68000 emulated by the Raspberry Pi is way faster than the original. The Raspberry Pi also emulates a floating-point unit (FPU) which the original doesn’t include and a memory management unit (MMU) which isn’t used.

If you’re interested in old Amiga tech you might also like to read about Chip Swap Fixes A Dead Amiga 600 or The Many-Sprites Interpretation Of Amiga Mechanics.

Continue reading “PiStorm68K Offers Supercharged Retro Amiga Experience”

Commodore Disk Drive Becomes General Purpose Computer

The Commodore 1541 was built to do one job—to save and load data from 5.25″ diskettes. [Commodore History] decided to see whether the drive could be put to other purposes, though. Namely, operating as a standalone computer in its own right!

It might sound silly, but there’s a very obvious inspiration behind this hack. It’s all because the Commodore 1541 disk drive contains a MOS 6502 CPU, along with some RAM, ROM, and other necessary supporting hardware. As you might remember, that’s the very same CPU that powers the Commodore 64 itself, along with a wide range of other 1980s machines. With a bit of work, that CPU can indeed be made to act like a general purpose computer instead of a single-purpose disk controller.

[Commodore History] compares the 1541 to the Commodore VIC-20, noting that the disk drive has a very similar configuration, but less than half the RAM. The video then explains how the drive can be reconfigured to run like the even-simpler MOS Technology KIM-1 — a very primitive but well-known 8-bit machine. What’s wild is that this can be achieved with no hardware modifications. It’s not just a thought exercise, either. We get a full “Hello World!” example running in both BASIC and machine code to demonstrate that it really works.

Code is on GitHub for the curious. We’ve featured hacks with the chunky Commodore 1541 before, too.

Continue reading “Commodore Disk Drive Becomes General Purpose Computer”

Print Pixel Art To A Floppy Disk

Here at Hackaday we love floppy disks. While they are by no means a practical or useful means of storing data in the age of solid state storage, there is something special about the little floppy disc of magnetic film inside that iconic plastic case. That’s why we were so excited to see the tool [dbalsom] developed for printing pixel art in a floppy’s track timing diagrams!

Floppy timing diagrams are usually used to analyze the quality of an individual disk. It represents flux transitions within a single floppy tack as a 2D graph. But it’s also perfectly possible to “paint” images on a floppy this way. Granted, you can’t see these images without printing out a timing diagram, but if you’re painting images onto a floppy, that’s probably the point.

This is where pbm2track comes in handy! It takes bitmap images and encodes them onto floppy emulators, or actual floppies. The results are quite excellent, with near-perfect recreation in floppy graphical views. The results on real floppies are also recognizable as the original image. The concept is similar to a previous tool [dbalsom] created, PNG2disk

If you, too, love the nearly forgotten physical likeness of the save button, make sure to check out this modern Linux on a floppy hack next!

Thanks [gloriouscow] for the tip!

FPGA Dev Kit Unofficially Brings MSX Standard Back

In the 1980s there were an incredible number of personal computers of all shapes, sizes, and operating system types, and there was very little interoperability. Unlike today’s Windows-Mac duopoly, this era was much more of a free-for-all but that didn’t mean companies like Microsoft weren’t trying to clean up all of this mess. In 1983 they introduced the MSX standard for computers, hoping to coalesce users around a single design. Eventually it became very successful in Japan and saw some use in a few other places but is now relegated to the dustbin of history, but a new FPGA kit unofficially supports this standard.

The kit is called the OneChip Book and, unlike most FPGA kits, includes essentially everything needed to get it up and running including screen, keyboard, and I/O all in a pre-built laptop case. At its core it’s just that: and FPGA kit. But its original intent was to recreate this old 80s computer standard with modern hardware. The only problem is they never asked for permission, and their plans were quickly quashed. The development kit is still available, though, and [electricadventures] goes through the steps to get this computer set up to emulate this unofficially-supported retro spec. He’s also able to get original MSX cartridges running on it when everything is said and done.

Although MSX is relatively unknown in North America and Western Europe, it remains a fairly popular platform for retro computing enthusiasts in much of the rest of the world. We’ve seen a few similar projects related to this computer standard like this MSX-inspired cyberdeck design, but also others that bring new hardware to this old platform.

Continue reading “FPGA Dev Kit Unofficially Brings MSX Standard Back”

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”