EmuDaily Forums Discussion Forums Games | Software | Hardware Discussion The Retro console and FPGA thread

The Retro console and FPGA thread

The Retro console and FPGA thread

 
  • 0 Vote(s) - 0 Average
 
Samor
Junior Member
Posts: 11
Joined: Oct 2022
10-24-2022, 11:30 PM
#1
Intro

Back at NGEmu I made a thread about Retro consoles and FPGA devices back in 2019. I had already started this thread about FPGA here, but then I figured I could make an updated version of what I posted at the time.
Edited 10-30-2022, 01:43 PM by Samor.

Samor
Junior Member
Posts: 11
Joined: Oct 2022
10-24-2022, 11:30 PM
#1
Intro

Back at NGEmu I made a thread about Retro consoles and FPGA devices back in 2019. I had already started this thread about FPGA here, but then I figured I could make an updated version of what I posted at the time.

Samor
Junior Member
Posts: 11
Joined: Oct 2022
10-30-2022, 01:44 PM
#2
FPGAs and SOCs

FPGAs (Field Programmable Gate Array) are basically reprogrammable processors (a bit like an empty sheet of graph paper) on which you can program logical circuits, or entire SOCs. Ideal for reproduction of older chips or systems. Whereas a SOC however is a one-time production progress, an FPGA can be overwritten time and time again so like emulators their designs can be perfected. The huge advantage of SOCs / FPGAs being that they're as fast as the real thing, zero lag. If your FPGA implementation is close to 100% accurate (kind of impossible as even between different versions of original systems there are manufacturing differences) it's also compatible with original hardware and can even replace it.
Some SOCs by the way are actually based on FPGA designs, such as the Commodore 64 DTV (2004/2005), which was based on the C-One, an FPGA Commodore C64. One of the better implementations at the time as it even did a bold attempt to reproduce the SID. Of course the C-One can still be updated, the DTV can not. The reason the DTV wasn't an FPGA is simple, costs. FPGA's were very expensive at the time, and while a lot cheaper now, they're still not something often used in a large-scale production process. Thanks to the global chip shortage, FPGA's recently became harder to acquire again, and more expensive.

A brief history

Back when they were not yet known as Retro consoles, the NES design was often cloned on SOCs in China. You could perhaps see this as one of the origins of these type of consoles. Then there's the infamous "FireCore" Mega Drive / Genesis SOC, first used in the MegaDrive 3 and later in countless consoles by Tectoy and At Games. While perhaps impressive for its time, by today's standards it's of terrible quality.

Nintendo had a great hand in re-popularizing retro consoles with the introduction of the NES Classic Mini a few years back. Unlike others they did not use the SOC or FPGA approach. Their trick to keep costs down was simply using cheap and mass-produced hardware to run a software emulator on. Since the NES is well emulated these days this was easy and cheap to do and much better than we had seen in the toy market so far (thanks to the aforementioned ageing SOC designs). Their other trick of course was how it looked. A cute miniaturized looking version of the original console with the same controllers it originally had.

Others have copied Nintendo's approach. Retrogames.biz made a C64 Mini, Amiga 500 Mini and even a full-sized C64 and VIC20, all based on software emulation on cheap hardware. There's Sega with 2 versions of the Mega Drive Mini, Sony tried their hand at it with the not-so-impressive PlayStation Classic, Konami did a TurboGrafX Mini, SNK had their share of retro consoles and even At Games felt forced to update their yearly rehashed products with emulator-based versions.

Chinese knockoffs

Like the old days, the Chinese like to clone and they even clone the clones, so to speak. Browse a bit on a site like AliExpress and you can find all kinds of crazy things like (S)NES Mini's with much larger game selections, a variety of Mega Drive / Genesis clones, more generic named "classic" consoles of which some even mimic modern console designs, portables that run NES or sometimes even GBA games, "game players" that look surprisingly like a Playstation Portable or Vita and even one knockoff GameBoy Color that's surprisingly good. Most of these consoles are as good as you'd expect though (and the vast majority plays NES games). Legal? What's that?

Do it yourself, or the "Pi approach"

It's easy to create a little retro machine yourself, the most common option being a Raspberry Pi. Just use the appropriate emulators and you'll have a great machine that can play about everything from Atari 2600 until the original PlayStation. Find some good matching gamepads and you're good to go. There's even Amibian, an OS solely dedicated to turn the Pi into a tiny Commodore Amiga. As popular as the Pi is, you can get all kinds of 3D printed cases as well.
I also found the Odroid Go to be an interesting project (a do-it-yourself kit to built a portable console capable of emulating the GameBoy and various other 8-bit systems).

Not really a retro console

Just wanted to mention the Arduboy. it's not really a retro console but rather a credit-card sized portable running its own library of games. Some of its games were ported to actual old systems.g project (a do-it-yourself kit to built a portable console capable of emulating the GameBoy and various other 8-bit systems).

Next we're going to look at some individual systems that I use(d).

Jakks Pacific Atari Classics 10 in 1 TV Games

I have to mention this one as it was my first foray into the world of retro consoles. Jakk's made plug&play tv joysticks in the early 2000's. These were NES SOC's.... and some of them ran Atari2600 games. You can imagine how accurate that was. A far cry from the Atari Flashback, which at that time was a device that wasn't easy to find where I lived. The design was a 2600 joystick, which is of course nice to look at, and much better than some of Jakks' other, very toy-like designs.

NES Classic Mini

While Nintendo is hardly the inventor of the retro console, they're responsible for making the current "emulator-in-a-tiny-box" approach popular.
A typical example of launching the right product at the right time, it had basically no competition; The quality of the product was way beyond that of the "competitors" at the time (like AtGames) who still used A/V cables too where Nintendo went for HDMI. Besides, the mini-design was half the success. The product (with its shortage) was in fact so popular that these "competitors" probably benefited. Fortunately it also "forced" AtGames in redesigning their consoles (although results were mixed).

The emulator used in the NES Mini is good. It's not the best ever, but it does the job well enough. Menu design is fitting as well.
The game selection is good... if you don't like it there's ways to hack the console but I ended up leaving it in its original state.
I love the controller's looks but the cables are way too short. Because the console itself also has a button, it's recommendable to have it close to you, so that means if your TV is far away the best options are long HDMI and USB cables.... really, I don't know what they were thinking but I ended up using it mostly at a desk so I don't need long cable length. Hardly couch-friendly. 
Since then I bought a large insulation tape roll; since I had so many spare cables I taped them together so I now have a 5 meter HDMI+USB cable in case I want to play on the couch anyway.
   
look at what you made me do, Nintendo

The controllers use Nintendo's own connectors, there's no connecting them to PC without some kind of adapter.
There's also no way to update the product legally and even the second batch left cable length and emulation quality the same.
However, while not perfect, it does feel like a proper Nintendo product with a nice attention to detail.

Nintendo launched the same version in Europe and America, and a Famicom version in Japan (and later a special Shonen Jump edition). Before you scream that Japan always gets the best things (and yes, the Famicom Mini has an equally cute design), just ponder this... the original Famicom had the controllers hard-wired into the console and you could neatly slot them into the console when done with playing. As the mini version replicates this perfectly, you can imagine how tiny the controllers are on the Japanese edition...

SNES Classic Mini

The "sequel" to the NES Mini, it manages to improve in about every area. While I don't know a real SNES well enough to compare it with, the emulation quality in the SNES Mini seems to be actually better than its predecessor (and you'd think a NES would be easier to emulate). Another good game selection, although the SNES has enough gems to make you wonder "couldn't they have included x or y" ....and where is Chrono Trigger?
The menu design is similar but slightly nicer to look at (duh, we have arrived in the 16-bit era), with Mario and Luigi running around.
In an unprecedented act of generosity Nintendo included 2 controllers in the box. The cables are also longer but still nothing to write home about.
The rest is similar; again Nintendo's own connectors and a one-time release with no updates.
For what it does I rate the SNES Mini pretty highly. The games have aged well, and the console does a good job of bringing them back.

This time the US and European version again have the same game selection (which means several games that never were released in Europe on the original are included, we are not complaining) but the case differs because so did the original. Personally I prefer the looks of the European model (which is like the Super Famicom).

One Chip MSX (and deratives)

The original One Chip MSX (OCM) is an FPGA design from 2006. Pretty old, by today's standards. It's maintained well though, and the original inspired a bunch of clones and even a new one with a bigger FPGA chip, allowing for more hardware to be replicated. The VHDL code is also ported to other FPGA systems, like the MiST.
The first successful OCM clone was the Korean Zemmix NEO. Weird name eh? Well, the original Zemmix was a South Korean home console that used MSX hardware. The design of the Neo was also inspired by the original Zemmix consoles. The Zemmix NEO design was subsequently picked up by others, resulting in these clones becoming more widely available. I have 2 of them myself. While the Neo has a very striking design, this caused a flaw where audio interference is larger than it should be. There have been new (more traditional looking) OCM clones that fix this flaw. The latest OCM clones (before chip shortage tragedy hit us) even have a larger FPGA so more additional MSX hardware can be properly emulated (we're talking about hardware emulation here as opposed to software emulation). I was lucky and managed to get one of those, called the SX-2.
The OCM (and clones) hardware emulate MSX2+ machines and also implement the Konami SCC and MSX Music sound chips.
They can run real cartridges but also boot MSX-DOS 2 from an SD card. From there you can pretty much run anything.
The SX-2 adds a second PSG and OPL3 amongst other things. New additions are still in development. MSX has lots of cartridge-based hardware extensions; these work with OCM clones like they would with a real MSX.
What's less ideal about the older design is that OCM & co. still use PS/2 for keyboard input and VGA for video (also RGB, s-video and composite). It can especially be a bit of a challenge to find a keyboard for your device.
Edited 10-30-2022, 02:59 PM by Samor.

Samor
Junior Member
Posts: 11
Joined: Oct 2022
10-30-2022, 01:44 PM
#2
FPGAs and SOCs

FPGAs (Field Programmable Gate Array) are basically reprogrammable processors (a bit like an empty sheet of graph paper) on which you can program logical circuits, or entire SOCs. Ideal for reproduction of older chips or systems. Whereas a SOC however is a one-time production progress, an FPGA can be overwritten time and time again so like emulators their designs can be perfected. The huge advantage of SOCs / FPGAs being that they're as fast as the real thing, zero lag. If your FPGA implementation is close to 100% accurate (kind of impossible as even between different versions of original systems there are manufacturing differences) it's also compatible with original hardware and can even replace it.
Some SOCs by the way are actually based on FPGA designs, such as the Commodore 64 DTV (2004/2005), which was based on the C-One, an FPGA Commodore C64. One of the better implementations at the time as it even did a bold attempt to reproduce the SID. Of course the C-One can still be updated, the DTV can not. The reason the DTV wasn't an FPGA is simple, costs. FPGA's were very expensive at the time, and while a lot cheaper now, they're still not something often used in a large-scale production process. Thanks to the global chip shortage, FPGA's recently became harder to acquire again, and more expensive.

A brief history

Back when they were not yet known as Retro consoles, the NES design was often cloned on SOCs in China. You could perhaps see this as one of the origins of these type of consoles. Then there's the infamous "FireCore" Mega Drive / Genesis SOC, first used in the MegaDrive 3 and later in countless consoles by Tectoy and At Games. While perhaps impressive for its time, by today's standards it's of terrible quality.

Nintendo had a great hand in re-popularizing retro consoles with the introduction of the NES Classic Mini a few years back. Unlike others they did not use the SOC or FPGA approach. Their trick to keep costs down was simply using cheap and mass-produced hardware to run a software emulator on. Since the NES is well emulated these days this was easy and cheap to do and much better than we had seen in the toy market so far (thanks to the aforementioned ageing SOC designs). Their other trick of course was how it looked. A cute miniaturized looking version of the original console with the same controllers it originally had.

Others have copied Nintendo's approach. Retrogames.biz made a C64 Mini, Amiga 500 Mini and even a full-sized C64 and VIC20, all based on software emulation on cheap hardware. There's Sega with 2 versions of the Mega Drive Mini, Sony tried their hand at it with the not-so-impressive PlayStation Classic, Konami did a TurboGrafX Mini, SNK had their share of retro consoles and even At Games felt forced to update their yearly rehashed products with emulator-based versions.

Chinese knockoffs

Like the old days, the Chinese like to clone and they even clone the clones, so to speak. Browse a bit on a site like AliExpress and you can find all kinds of crazy things like (S)NES Mini's with much larger game selections, a variety of Mega Drive / Genesis clones, more generic named "classic" consoles of which some even mimic modern console designs, portables that run NES or sometimes even GBA games, "game players" that look surprisingly like a Playstation Portable or Vita and even one knockoff GameBoy Color that's surprisingly good. Most of these consoles are as good as you'd expect though (and the vast majority plays NES games). Legal? What's that?

Do it yourself, or the "Pi approach"

It's easy to create a little retro machine yourself, the most common option being a Raspberry Pi. Just use the appropriate emulators and you'll have a great machine that can play about everything from Atari 2600 until the original PlayStation. Find some good matching gamepads and you're good to go. There's even Amibian, an OS solely dedicated to turn the Pi into a tiny Commodore Amiga. As popular as the Pi is, you can get all kinds of 3D printed cases as well.
I also found the Odroid Go to be an interesting project (a do-it-yourself kit to built a portable console capable of emulating the GameBoy and various other 8-bit systems).

Not really a retro console

Just wanted to mention the Arduboy. it's not really a retro console but rather a credit-card sized portable running its own library of games. Some of its games were ported to actual old systems.g project (a do-it-yourself kit to built a portable console capable of emulating the GameBoy and various other 8-bit systems).

Next we're going to look at some individual systems that I use(d).

Jakks Pacific Atari Classics 10 in 1 TV Games

I have to mention this one as it was my first foray into the world of retro consoles. Jakk's made plug&play tv joysticks in the early 2000's. These were NES SOC's.... and some of them ran Atari2600 games. You can imagine how accurate that was. A far cry from the Atari Flashback, which at that time was a device that wasn't easy to find where I lived. The design was a 2600 joystick, which is of course nice to look at, and much better than some of Jakks' other, very toy-like designs.

NES Classic Mini

While Nintendo is hardly the inventor of the retro console, they're responsible for making the current "emulator-in-a-tiny-box" approach popular.
A typical example of launching the right product at the right time, it had basically no competition; The quality of the product was way beyond that of the "competitors" at the time (like AtGames) who still used A/V cables too where Nintendo went for HDMI. Besides, the mini-design was half the success. The product (with its shortage) was in fact so popular that these "competitors" probably benefited. Fortunately it also "forced" AtGames in redesigning their consoles (although results were mixed).

The emulator used in the NES Mini is good. It's not the best ever, but it does the job well enough. Menu design is fitting as well.
The game selection is good... if you don't like it there's ways to hack the console but I ended up leaving it in its original state.
I love the controller's looks but the cables are way too short. Because the console itself also has a button, it's recommendable to have it close to you, so that means if your TV is far away the best options are long HDMI and USB cables.... really, I don't know what they were thinking but I ended up using it mostly at a desk so I don't need long cable length. Hardly couch-friendly. 
Since then I bought a large insulation tape roll; since I had so many spare cables I taped them together so I now have a 5 meter HDMI+USB cable in case I want to play on the couch anyway.
   
look at what you made me do, Nintendo

The controllers use Nintendo's own connectors, there's no connecting them to PC without some kind of adapter.
There's also no way to update the product legally and even the second batch left cable length and emulation quality the same.
However, while not perfect, it does feel like a proper Nintendo product with a nice attention to detail.

Nintendo launched the same version in Europe and America, and a Famicom version in Japan (and later a special Shonen Jump edition). Before you scream that Japan always gets the best things (and yes, the Famicom Mini has an equally cute design), just ponder this... the original Famicom had the controllers hard-wired into the console and you could neatly slot them into the console when done with playing. As the mini version replicates this perfectly, you can imagine how tiny the controllers are on the Japanese edition...

SNES Classic Mini

The "sequel" to the NES Mini, it manages to improve in about every area. While I don't know a real SNES well enough to compare it with, the emulation quality in the SNES Mini seems to be actually better than its predecessor (and you'd think a NES would be easier to emulate). Another good game selection, although the SNES has enough gems to make you wonder "couldn't they have included x or y" ....and where is Chrono Trigger?
The menu design is similar but slightly nicer to look at (duh, we have arrived in the 16-bit era), with Mario and Luigi running around.
In an unprecedented act of generosity Nintendo included 2 controllers in the box. The cables are also longer but still nothing to write home about.
The rest is similar; again Nintendo's own connectors and a one-time release with no updates.
For what it does I rate the SNES Mini pretty highly. The games have aged well, and the console does a good job of bringing them back.

This time the US and European version again have the same game selection (which means several games that never were released in Europe on the original are included, we are not complaining) but the case differs because so did the original. Personally I prefer the looks of the European model (which is like the Super Famicom).

One Chip MSX (and deratives)

The original One Chip MSX (OCM) is an FPGA design from 2006. Pretty old, by today's standards. It's maintained well though, and the original inspired a bunch of clones and even a new one with a bigger FPGA chip, allowing for more hardware to be replicated. The VHDL code is also ported to other FPGA systems, like the MiST.
The first successful OCM clone was the Korean Zemmix NEO. Weird name eh? Well, the original Zemmix was a South Korean home console that used MSX hardware. The design of the Neo was also inspired by the original Zemmix consoles. The Zemmix NEO design was subsequently picked up by others, resulting in these clones becoming more widely available. I have 2 of them myself. While the Neo has a very striking design, this caused a flaw where audio interference is larger than it should be. There have been new (more traditional looking) OCM clones that fix this flaw. The latest OCM clones (before chip shortage tragedy hit us) even have a larger FPGA so more additional MSX hardware can be properly emulated (we're talking about hardware emulation here as opposed to software emulation). I was lucky and managed to get one of those, called the SX-2.
The OCM (and clones) hardware emulate MSX2+ machines and also implement the Konami SCC and MSX Music sound chips.
They can run real cartridges but also boot MSX-DOS 2 from an SD card. From there you can pretty much run anything.
The SX-2 adds a second PSG and OPL3 amongst other things. New additions are still in development. MSX has lots of cartridge-based hardware extensions; these work with OCM clones like they would with a real MSX.
What's less ideal about the older design is that OCM & co. still use PS/2 for keyboard input and VGA for video (also RGB, s-video and composite). It can especially be a bit of a challenge to find a keyboard for your device.

Samor
Junior Member
Posts: 11
Joined: Oct 2022
10-30-2022, 03:34 PM
#3
MiST

While originally designed for aMIga and atariST (hence MiST), these devices are capable of running quite a few different systems by running different "cores".
This is because the design of the MiST is generic (vga, usb, db-9 port). If you look at (for example) Analogue's devices; while technically they can run different systems they are very much designed with a certain system in mind, with dedicated cartridge slots and all.
MiST is the "older little brother" of the more well known MiSTer (which is hardware-extendable, something not possible with MiST).

The STMini I own myself is a MiST clone designed by https://www.8bits4ever.net/ but does pretty much the same things as a regular MiST.

I had it for a while now, but lately it was sitting on the shelf. I had read about how MiST actually benefits from the newer MiSTer as a lot of the development done there gets ported to MiST (and I guess the opposite is true as well).
So, let's dive in... first things first, I had to upgrade the firmware because I was far behind. Fortunately, that was a simple process you can trigger from running any core. P.S. You can boot one core from another, making it rather easy to switch between systems. What a core does is basically applying a complete device cirtcuitry to the FPGA chip, effectively making it act the same as the original system, depending on how well the design matches the original.

First up was the X86 core (Next186).
   
That sure is a tiny ms-dos pc.

This one is capable of running a lot of pc games from before the 386 era. This core is still young, meaning it isn't as accurate yet, but it can still do cool things, such as running the game my avatar is based on.

   
Hello there, Alley Cat

Next, I tried the SNES core. This one is is very impressive; I'd say it's spot on but I've never played a real SNES enough to be the judge.
   
I know the original was on the NES Mini but I wanted this to be on the SNES Mini as well

Others cores I tried:
GameBoy - the documentation said it was an "early" core but I think this info was a bit old; it seemed accurate to me. I played through Gradius Interstellar Assault (because it's a great Gradius game, and super short/easy) and everything just looked and played as it should. I couldn't find a way to turn off GameBoy Color mode though (this might warrant further investigation).
Mega Drive - Another very good core, but the sound was ever so slightly different from what I'm used to from emulation.
PC Engine - Like I remember it from playing on Magic Engine
C64 - Another core where the documentation plays down the quality. The SID music chip is very hard to do right, and an expert can probably point out where it is inaccurate, but I thought it sounded quite good.
   
Monty On The Run
Edited 10-30-2022, 03:35 PM by Samor.

Samor
Junior Member
Posts: 11
Joined: Oct 2022
10-30-2022, 03:34 PM
#3
MiST

While originally designed for aMIga and atariST (hence MiST), these devices are capable of running quite a few different systems by running different "cores".
This is because the design of the MiST is generic (vga, usb, db-9 port). If you look at (for example) Analogue's devices; while technically they can run different systems they are very much designed with a certain system in mind, with dedicated cartridge slots and all.
MiST is the "older little brother" of the more well known MiSTer (which is hardware-extendable, something not possible with MiST).

The STMini I own myself is a MiST clone designed by https://www.8bits4ever.net/ but does pretty much the same things as a regular MiST.

I had it for a while now, but lately it was sitting on the shelf. I had read about how MiST actually benefits from the newer MiSTer as a lot of the development done there gets ported to MiST (and I guess the opposite is true as well).
So, let's dive in... first things first, I had to upgrade the firmware because I was far behind. Fortunately, that was a simple process you can trigger from running any core. P.S. You can boot one core from another, making it rather easy to switch between systems. What a core does is basically applying a complete device cirtcuitry to the FPGA chip, effectively making it act the same as the original system, depending on how well the design matches the original.

First up was the X86 core (Next186).
   
That sure is a tiny ms-dos pc.

This one is capable of running a lot of pc games from before the 386 era. This core is still young, meaning it isn't as accurate yet, but it can still do cool things, such as running the game my avatar is based on.

   
Hello there, Alley Cat

Next, I tried the SNES core. This one is is very impressive; I'd say it's spot on but I've never played a real SNES enough to be the judge.
   
I know the original was on the NES Mini but I wanted this to be on the SNES Mini as well

Others cores I tried:
GameBoy - the documentation said it was an "early" core but I think this info was a bit old; it seemed accurate to me. I played through Gradius Interstellar Assault (because it's a great Gradius game, and super short/easy) and everything just looked and played as it should. I couldn't find a way to turn off GameBoy Color mode though (this might warrant further investigation).
Mega Drive - Another very good core, but the sound was ever so slightly different from what I'm used to from emulation.
PC Engine - Like I remember it from playing on Magic Engine
C64 - Another core where the documentation plays down the quality. The SID music chip is very hard to do right, and an expert can probably point out where it is inaccurate, but I thought it sounded quite good.
   
Monty On The Run

 
  • 0 Vote(s) - 0 Average
Recently Browsing
 1 Guest(s)
Recently Browsing
 1 Guest(s)