A Cycle-Accurate Sega Genesis With FPGA

The Field-Programmable Gate Array (FPGA) is a powerful tool that is becoming more common across all kinds of different projects. They are effectively programmable hardware devices, capable of creating specific digital circuits and custom logic for a wide range of applications and can be much more versatile and powerful than a generic microcontroller. While they’re often used for rapid prototyping, they can also recreate specific integrated circuits, and are especially useful for retrocomputing. [nukeykt] has been developing a Sega Genesis clone using them, with some impressive results.

The Sega Genesis (or Mega Drive) was based around the fairly common Motorola 68000 processor, but this wasn’t the only processor in the console. There were a number of coprocessors including a Z80 and several chips from Yamaha to process audio. This project reproduces a number of these chips which are cycle-accurate using Verilog. The chips were recreated using images of de-capped original hardware, and although it doesn’t cover every chip from every version of the Genesis yet, it does have a version of the 68000, a Z80, and the combined Yamaha processor working and capable of playing plenty of games.

The project is still ongoing and eventually hopes to recreate the rest of the chipset using FPGAs. There’s also ongoing testing of the currently working chips, as some of them do still have a few bugs to work out. If you prefer to take a more purist approach to recreating 90s consoles, though, we recently featured a project which reproduced a Genesis development kit using original hardware.

Thanks to [Anonymous] for the tip!

The Another World Chip

We cover many recreations of classic computer games on these pages, sometimes on original hardware, other times through ports to newer hardware, or even on emulators. But [Sylefeb]’s version of the Amiga classic Another World is in a class of its own. It doesn’t recreate an Amiga or run an emulator, instead it implements the game itself on a relatively modest Lattice UP5K FPGA.

This feat is possible because of the game’s architecture, it runs on a quite minimalist virtual machine that only needs blitter and rasterising hardware. This makes it a good candidate for the FPGA treatment. [Sylefeb] goes into a deep discussion of the hardware implemented in the FPGA, which makes a solid primer for how some of the 16-bit era games worked. In particular, we needed to read over the section about the rasterisation of polygons more than once. But it’s worth it.

The game can be run on a few dev boards featuring this FPGA, among which we’re particularly pleased to see the MCH 2023 conference badge. It requires a copy of the original to be owned for the game files, but we suspect if you’re this deep in you’d probably see that as a small price to pay.

3D Audio Imaging With A Phased Array Microphone

Remember the scene from Blade Runner, where Deckard puts a photograph into a Photo Inspector? The virtual camera can pan and move around the captured scene, pulling out impossible details. It seems that [Ben Wang] discovered how to make that particular trick a reality, but with audio instead of video. The secret sauce isn’t a sophisticated microphone, but a whole bunch of really simple ones. In this case, it’s 192 of them, arranged on long PCBs working as the spokes of a wall-art wheel. Quite the conversation piece.

Continue reading “3D Audio Imaging With A Phased Array Microphone”

FPGA Plays Tic-Tac-Toe

As computers get more and more powerful and artificial intelligence algorithms improve, few games remain where the best humans can reliably beat their electronic counterparts. In chess this barrier was passed in 2005 with the last human win against a computer, and recently humans lost to computers at go. Simpler games like tic-tac-toe have been solved for all possible positions for a while now, so even a simple computer will always win or tie the game. But that doesn’t mean that there’s nothing left to learn about these games as [Hayden] demonstrates with this tic-tac-toe game built entirely on an FPGA.

[Hayden] is making this as part of a college course on digital design, so it really starts at first principles for working with FPGAs. It’s programmed in Verilog on a Basys 3 board, which also hosts the switches used as the game’s input and handles the VGA video output as well. The build uses state machines to keep track of the moves played on each of the squares, and another state machine to keep track of whether or not the current game has been won. If so, it highlights the winning moves in red, and stops taking further inputs until it is reset. Some more logic ties everything together along with a customized VGA driver to produce the entire gaming experience.

A game like tic-tac-toe is a great way to master the fundamentals of a system like this before moving on to more complex programs, especially on an FPGA platform that might handle a lot of the things we take for granted on more traditional computing systems, such as the video output. If you’re interested in taking more of a deep dive into the world of FPGAs, we published a primer about them a few years ago that will get you started.

Continue reading “FPGA Plays Tic-Tac-Toe”

FPGA Breakout Board For DIP Package Shenanigans

FPGAs are supremely flexible and powerful devices. However, they usually come in QFP or BGA packages that are altogether difficult for hobbyists to play with. The DIP-FPGA breakout board aims to solve that problem by using a carrier PCB to put an advanced chip in a friendlier form factor.

The board itself fits a DIP-20 form factor when soldered up with regular-pitch pin headers. It features a  MachXO2-1200HC FPGA from Lattice Semiconductor. That’s the same chip as used on similar the TinyFPGA A2. With 18 GPIO, a DIP-20 layout is just about enough pins to take care of business. It’s intended specifically for use on breadboards or via regular IC sockets. There’s also a six-pin programming port laid out on the board that you can use with pogo pins or header connectors as you desire.

If you want to do some fancy signal stuff in an easy-to-prototype form factor, this could be the setup for you. If you want to buy one ready-made, they’re available on Tindie for the curious. In the meantime, consider whether this beefy FPGA Arduino concept could also propel your next project to greater heights.

The FPGA board in question which was programmed to run the algorithm. (Source: iranintl)

Iran’s Military Quantum Claim: It’s Only 99.4% Ridiculous

When Iran recently announced a quantum processing algorithm (Google translation) that would help its military to detect water surface disturbances, the instant response from Western media was one of ridicule, based on the displayed hardware. The hardware in question was the Digilent ZedBoard Zynq-7000 hybrid SoC/FPGA development board, which can be yours for less than $600.

Seems absurd, and the claim about any realistic military use absolutely is. But buried deep, deep down, there may be a tiny kernel of truth: because quantum computers are inherently parallel, FPGAs can make a good fit for small-scale quantum simulations.

Does this mean that the Iranian Navy would be better off simulating quantum circuits on an FPGA board than on a GPU or even a used laptop? Probably not. Will this hardware serve the proposed military application in the forseeable future? Absolutely not! Was this a misleading and ridiculous photo op? Yup. 100%.

But is emulating qubits in FPGA fabric a real thing? Turns out it is! Let’s have a look.

Continue reading “Iran’s Military Quantum Claim: It’s Only 99.4% Ridiculous”

Commodore 64 Upgrade In Modern Package

While the Commodore 64 was an immensely popular computer for its time, and still remains a strong favorite within the retrocomputing community, there’s a reason we’re not using modern Commodore-branded computers today. Intense competition, company mismanagement, and advancing beyond 8-bit computers too late in the game all led to the company’s eventual downfall. But if you’re still a Commodore enthusiast and always wished you were able to get an upgraded C64, you might want to take a look at the Commander X16, a modern take on this classic computer.

We’ve actually seen the Commander X16 before, but this was back in its early days of prototyping and design. This video from [Adrian’s Digital Basement], also linked below the break, takes a look at how it’s come in the four years since [David Murray] started this project. At its core, it’s an 8-bit 6502-based computer like you’d find in the 1980s but built with new components. There are some more modern updates as well such as the ability to use an SD card as well as built-in SNES controller ports, but the real magic here is the VERA module. Built around an FPGA, this module handles graphics, some of the audio, and the storage capabilities and does all of these things much better than the original Commodore, while still being faithful to what made these computer great.

While the inclusion of the FPGA might offend some of the most staunch 8-bit purists, it turns out to be necessary due to the lack of off-the-shelf video chips and really makes this build shine in the end. It’s also capable of running 6502-based software from other machines too, including the original NES. The VERA module makes it possible to run other software too, including a sample of Sonic the Hedgehog from the Sega Genesis which [Adrian] demonstrates in his video. 6502-based computers are quite versatile as the Commander X16 demonstrates, and it’s even possible to build a rudimentary 6502 on a breadboard with just a few parts.

Continue reading “Commodore 64 Upgrade In Modern Package”