11 ms·
MiSTer, an open-source FPGA gaming project
- GekkePrutser 6y agoThis isn't really new, right? I've heard of this years ago. But it is an amazing project. Instead of emulating, they actually rebuilt the old custom ICs (which 8-bit computers were full of) in an FPGA. Really impressive.
- jonny_eh 6y agoOld projects get reshared many times. It's always new to someone.
- tediousdemise 6y agoYeah, it really is an amazing application for FPGAs—preserving computing and gaming history. The list of cores available for MiSTer is simply staggering: > Computers - Classic • Acorn Archimedes • Acorn Atom • Alice MC10 • Altair 8800 • Amiga • Amstrad CPC 6128 • Amstrad PCW • ao486 (PC 486) • Apogee • Apple I • Apple II+ • Apple Macintosh Plus • Aquarius • Atari 800XL • Atari ST/STe • BBC Micro B,Master • BK0011M • Color Computer 2, Dragon 32 • Commodore 16, Plus/4 • Commodore 64, Ultimax • Commodore PET • Commodore VIC-20 • DEC PDP-1 • EDSAC • Galaksija • Jupiter Ace • Laser 310 • MSX • MultiComp • Orao • Oric 1 & Atmos • SAM Coupe • Sharp MZ Series • Sinclair QL • Specialist/MX • TI-99/4A • TRS-80 Model 1 • TSConf • Vector 06C • X68000 • ZX Spectrum • ZX Spectrum Next • ZX81 > Consoles - Classic • Astrocade • Atari 2600 • Atari 5200 • Atari Lynx • AY-3-8500 • ColecoVision, SG-1000 • Gameboy, Gameboy Color • Gameboy Advance • Genesis/Megadrive • SMS, Game Gear • MegaCD • NeoGeo • NES • Odyssey2 • SNES • TurboGrafx 16 / PC Engine • Vectrex > Other Systems • Arduboy • Chess • CHIP-8 • Epoch Galaxy II • Flappy Bird • Game of Life • TomyTronic Scramble
- timbit42 6y agoI'm still waiting for the KENBAK-1 core.
- tediousdemise 6y agoIs there good documentation or ICDs out there that adequately describe the architecture? Looks like there’s only 50 that were ever made, and only 14 believed to exist today.
- zokier 6y agohttp://kenbakkit.com/manuals.html http://kenbakkit.com/manuals.html Seems pretty well documented. Considering the simplicity of the computer, feels like it would be relatively easy project to get to MiST
- pomian 6y agoInteresting project would be to dig out some old cassettes from, let's say, commodore 64. Try to load them into a present day computer by patching wires/cables? - and see if they run in this system. I remember writing for example: a mining program, to calculate, overburden, volume and tonnage, at different slopes, different rock types, etc. The science behind the calculations is still valid, but we could likely increase load times, and calculating times.
- near 6y agoIt is indeed an amazing project, especially its open source nature. It provides some impressive power savings and latency reductions that are very hard to match with general purpose CPUs. But in most cases, it is emulation, as the lead developer will attest. https://github.com/MiSTer-devel/Main_MiSTer/wiki/Why-FPGA https://github.com/MiSTer-devel/Main_MiSTer/wiki/Why-FPGA "From my point of view, if the FPGA code is based on the circuitry of real hardware (along with the usual tweaks for FPGA compatibility), then it should be called replication. Anything else is emulation, since it uses different kinds of approximation to meet the same objectives. Currently, it's hard to find a core that can truly be called a replica – most cores are based on more-or-less functional recreations rather than true circuit recreation. The most widely used CPU cores – the Z80 (T80) and MC68000 (TG68K) – are pure functional emulations, not replications. So it's okay to call FPGA cores emulators, unless they are proven to be replicas." But there's nothing wrong with emulation for preservation, until we get to a point where we can wide-scale clone these older chips down to the transistor level through analysis of delayered decap scans. And even then, emulation will be useful for artificial enhancements as well as for understanding how all those transistors actually worked at a higher level. It's also not a total solution: by taking many more transistors to programmatically simulate just one, it limits the maximum scale and frequency of what it can support. N64/PS1/Saturn has not yet been fully supported and is still theoretical, but likely, to be possible. Going beyond that is not possible at this time. Software emulation and FPGA devices should be seen as complementary approaches, rather than competitive. The developers of each often work together, and new knowledge is mutually beneficial.
- floatboth 6y agoWell, yeah, it's not replication if it's not an exact hardware replica, but the word "emulation" has very "software" connotations. I guess let's call it.. recreation? (That word is even in the quote above!)
- someperson 6y ago"FPGA re-implementation" may be a better term
- 6y ago
- Jorge1o1 6y agoI don’t really know much about game emulation so I was curious about what differentiates this FPGA game project vs traditional CPU emulation. From their github page [1]: >Traditional emulators on CPUs execute code sequentially. This is a tricky method of emulation because real hardware has many chips and all of them work in parallel...This requires a lot of CPU power to emulate even an old and slow retro computer. Sometimes even a modern CPU working at 100 times the speed of the retro computer is not enough, so the emulator has to use approximation, skip emulation of some less important parts, or assume some standard work of the emulated system without extraordinary usage. > FPGA doesn't need high frequencies to emulate retro computers; it works at much lower frequencies than traditional emulators require. Since everything in FPGA works in parallel, it is no problem to handle any possible usage of the emulated system. [1] https://github.com/MiSTer-devel/Main_MiSTer/wiki/Why-FPGA https://github.com/MiSTer-devel/Main_MiSTer/wiki/Why-FPGA (Edited for formatting)
- TillE 6y agobyuu wrote a good article about this, unfortunately it's no longer available, but basically it should be self-evident that there's nothing inherently more accurate about hardware emulation. If you've actually decapped the original chips and duplicated them exactly in an FPGA, that's pretty cool. But otherwise it's just another approximation. The lower power requirements are nice, of course.
- mbalyuzi 6y agoActually decapping the original chips is very much a thing. See for example Chris Smith's work mapping out the innards of the ZX Spectrum ULA - http://www.zxdesign.info/book/insideULA.shtml http://www.zxdesign.info/book/insideULA.shtml .
- near 6y agoIt is, but these cores are almost exclusively not being done that way. Not yet at least. I hope that they will be, that would be really awesome. I paid $1200 last year for the SNES PPUs to be decapped for this purpose, but it's a truly enormous undertaking to map out those chips and then recreate it in Verilog. You're talking thousands of hours of work per chip. If anyone reading this is able to help with that effort, please do let me know, we could really use the help.
- hyperpl 6y agoI'd really like to see a portable/handheld leverage this technology for on-the-go gaming.
- tediousdemise 6y agoThe Analogue Pocket[1] is exactly this (albeit proprietary). Out of the box it recreates GB, GBC, and GBA using the Altera Cyclone-V platform. [1] https://www.analogue.co/pocket https://www.analogue.co/pocket
- drewblaisdell 6y agoI wonder, why is there no DIY Analogue Pocket-style MiSTer project? Is the DE10-Nano too large or inefficient for this?
- jamespo 6y agoThe limited market is problably covered with Odroid Go / GPD XD / RG350M etc. Mister leverages an off the shelf FPGA board that would require a lot more work in a handheld form.
- tediousdemise 6y agoI’d reckon it’s the same reason that there isn’t much of a custom laptop scene. The open ended nature of stuffing a screen, battery, and input peripherals into a chassis seems an order of magnitude more difficult than just making a headless box to plug into your TV. But with some effort, it would be awesome.
- jonny_eh 6y agoPhysical design is also a lot more important. Getting "feel" just right is very hard and expensive, especially when it comes to game controllers.
- duskwuff 6y agoThe DE10-Nano itself is a bit large for a handheld device, and hasn't been optimized for power consumption. (It's designed as a development board, not as a component of a finished product.) There's nothing stopping someone from using the Cyclone-V SoC in a handheld device, though.
- fooblat 6y agoI love my MiSTer build! The usb controllers made for the recent mini systems (NES, SNES, Genesis, etc) make great accessories for the mister. Add a couple of usb arcade sticks and you can really play almost any classic retro games as it was meant to be played. And then there are all the classic computer cores even including the PDP-1!
- vardump 6y agoYup, same! Can wholeheartedly recommend it for those who want something between emulation and real hardware. The Amiga core is fun, AGA, 2 MB chip, 384 MB fast. It supports hard disk images, so you can do a hard disk based Workbench installation and load games and demos practically instantly (and safely exit to Workbench) using WHDLoad. Arcade cores are fun as well. Just like in childhood, but less hungry for quarters. :) Recently played with arcade Gauntlet core a bit for example.
- hrvach 6y agoThanks for mentioning the PDP-1 among other amazing cores! :)
- dang 6y agoRelated thread from 2018: MiSTer: Run Amiga, SNES, NES and Genesis on an FPGA - https://news.ycombinator.com/item?id=18721594 https://news.ycombinator.com/item?id=18721594 - Dec 2018 (30 comments)
- phendrenad2 6y agoMiSTer is an amazing phenomenon. The MiSTer itself is just an Intel FPGA devkit, which many believe to be sold at a loss (because it's a training tool and not Intel's main source of FPGA revenue). The amazing thing is the aftermarket for addons. There are many possible combinations of addon boards that add RAM with deterministic latency, USB hubs, cooling fans, cases, retro controller ports, etc. All custom-made for this ecosystem.
- tinybear1 6y agoIt is definitely being sold at a loss, the Cyclone V SOC being used costs more than the entire development board.[0] I wonder if Intel will ever take notice due to MiSTer's growing popularity and quit subsidizing the board. [0] https://www.digikey.com/en/products/detail/intel/5CSEBA6U23I7N/3929193 https://www.digikey.com/en/products/detail/intel/5CSEBA6U23I... Edit: it was erroneous of me to state the board was being sold at a loss, rather I meant that the board was being definitely being subsidized by companies such as Intel and their partners such as Panasonic. My mistake. I also wasn't meaning to convey that the consumer Digikey pricing was the same as the large volume manufacturers such as Terasic. Rather I meant to demonstrate and agree with the OP on the astounding situation that MiSTer currently exists in, owning to the lack of economic viability for someone to produce a low volume commercial FPGA emulation machine for a niche audience without any subsidization.
- tverbeure 6y agoThere is absolutely no way they’re sold at a loss. Your DigiKey price of $245 proves this, because a factor of 10 is a good starting point as a ratio between volume and one-off DigiKey pricing of any type of complex silicon. A better way to approach this is as follows: what’s the die size of an FPGA like this? What’s the production cost of the die? Then check the historic gross margin percentage of FPGA companies. Xilinx is around 68%, and that includes high-end products which carry the highest markups, unlike this cookie cutter thing. That should give you a good ballpark number. DigiKey charges what they do because nobody else is willing to sell these things in low volume, and they have very high inventory costs.
- 6y ago
- xigency 6y agoInteresting. I have a couple of FPGA boards on their way to me in the mail which I intend to use for some homebrew video game projects. Besides getting the development environment working, it can be tricky outputting video from an FPGA because of the precise timing involved. I will have to look through these resources to see if there are any good tricks to use here.
- Graziano_M 6y agoIt can be tricky outputting video from FPGAs? Quite the opposite, this is where they shine.
- bane 6y agoOne really great way to think of MiSTer is as a living documentation project that results in documented and working system hardware vs MAME which is focused on documenting working system software. It just so happens if you have working hardware you can run the software meant for it (MiSTer) and from the other end if you want software to work you need a pretty good idea what the hardware is supposed to be doing. They're basically similar efforts but approaching the problem from a different point of view. Given how hard FPGA programming is, the work in MiSTer is quite magnificent.
- voicedYoda 6y agoI just got my first fpga and i have no idea where to start. Any recommendations so I'm not overwhelmed?
- ZeikJT 6y agohttps://github.com/MiSTer-devel/Main_MiSTer/wiki/How-to-start-with-MiSTer https://github.com/MiSTer-devel/Main_MiSTer/wiki/How-to-star...
- nanoscopic 6y agoThe main problem that remains with emulation and virtualization is that there are few legal ways to acquire ROMs. It is possible to purchase hardware to pull images from cartridges and/or adapters to read old magnetic media, but most solutions are expensive and difficult to do compared to the ease of pirating. What is really needed is global copyright reform to make it legal to share/acquire ROM images of games that you own in some form. Additionally there needs to be some solution that allows sale and resale of licenses to games without the particular medium mattering.
- acquacow 6y agoMy buddy recently did a really nice video overview of the MiSTer project: https://www.youtube.com/watch?v=-IP0k3GatHE https://www.youtube.com/watch?v=-IP0k3GatHE
- hutzlibu 6y agoMy first thoughts when reading the headline were: how to integrate FPGA power into making new games. Which it is not, but still very awesome. Anyway - if one would try to actually use FPGAs for developing a new game - would there be any benefits? I mean programming it, will probably the main hurdle. But if one would be good at it - and ignoring for a moment that the typical gamer does not have an FPGA around, would there be actually benefits when programming a new game? I thought about in the combination with a normal gaming computer. Using the FPGA for complex simulations like physic? Would that make any sense?
- ejolto 6y agoYou can't just ignore the fact that the average gamer doesn't have an FPGA. For such a game you would have to ship the FPGA with the game, making it prohibitively expensive.
- hutzlibu 6y agoWell, you could ignore it, if you would be developing a new gaming console with an integrated FPGA unit.
- megameter 6y agoIt's just never worked out to justify itself by the stakeholders who would approve such a thing. The standard gaming hardware configuration has always tended towards a little bit of general purpose computing capability plus a very focused specialization in graphics. And the standard incentive structure of game production tends towards a rapid deployment of assets authored in general-purpose content creation software, not a game driven by new algorithms. These things drive away from the experimental places where FPGAs could shine - unique ways of creating audio and video signals, customized inner loop optimizations, etc. The first thing everyone will be asking is "OK, but how do I make it portable?"
- girvo 6y agoSure, you’re completely right, but as a hobby project it would be pretty neat!
- mindentropy 6y agoBy any chance is the AMD acquisition of Xilinx also targeted towards emulation market for their gaming processors? In the future would they have the emulated bitstream present for different iterations of the gaming consoles?
- duskwuff 6y ago> By any chance is the AMD acquisition of Xilinx also targeted towards emulation market for their gaming processors? Not even a little bit. Retro gaming emulation accounts for basically zero revenue compared to other markets that Xilinx serves, like HPC, networking, and computer vision.
- mindentropy 6y agoWhat about backward compatibility of games in consoles?
- rbanffy 6y agoI like to emphasise that this is about much more than gaming. This is hardware emulation of old computers. I would love to see it emulating other machines - if it can do an Atari ST, it'd probably be able to do a Xerox Star or an Apollo Domain. One thing I noticed from owning a C64-Maxi is how much of the experience is the physical aspect - We interacted with these machines through keyboards of different designs and that was a very important part of the overall experience. Running VALDOCS on an Epson QX-10 without a VALDOCS keyboard is not quite the right feel.
- zokier 6y agoNice thing about fpgas is that at least in theory it should be relatively easy to interface pretty much anything to them, so you could grab your favourite retro keyboard and connect it to MiSTer.
- rbanffy 6y agoI wish we could have easier/cheaper ways to build keyboards like that could function with the emulation. A Symbolics without circle, square and triangle keys is not a Symbolics
- tediousdemise 6y agoI regret not making the title “MiSTer, an open-source FPGA computing and gaming project,” maybe @dang can help.