Live data from Hacker News

MiSTer, an open-source FPGA gaming project

github.com

81–90 of 111 posts

Re: MiSTer, an open-source FPGA gaming project

#81
post #60

Earlier quoted context omitted.

Sure, and for hardware this old the FPGA could re-implement the CPU (which ran at <4MHz) and the shift register at almost the exact frequency (or whatever frequency is necessary to reproduce the original behavior) of the original as necessary. Then you can run the original software without modification and get much closer to identical behavior and performance characteristics with much lower resource utilization. Gran…

I don’t think reproducing the exact behavior here is necessary, useful, or even interesting. You could use a USB gamepad and get behavior that is close enough that humans can’t tell the difference.

While I don't know the current status, with MAME in the mid 2000s, an update that added support for certain games usually involved changes... that broke a different set of previously working games. I remember having 3 MAME versions installed to play all the games that I wanted. That kind of emulation hell is greatly reduced when you simulate every bus and chip of the original hardware.

To give you an example: I don't remember which game it was, but it was a platformer, and when the character jumped, the game put the starting pitch of the jumping sound effect in the sound chipset, with the DSP doing the loss and pitch change on each cycle. The game moved the character according to certain value in some register of the DSP, so the game was working normally until you jumped, then the DSP emulation code did something like returning the original value or 0 (because 99.9% of the games just write there), and the game crashed.

Re: MiSTer, an open-source FPGA gaming project

#82
My 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?

Re: MiSTer, an open-source FPGA gaming project

#83

My 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 t…

You 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.

Re: MiSTer, an open-source FPGA gaming project

#84
post #83

My 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 t…

You 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.

Well, you could ignore it, if you would be developing a new gaming console with an integrated FPGA unit.

Re: MiSTer, an open-source FPGA gaming project

#85
post #23

Earlier quoted context omitted.

That's exactly what's happening. There are loads of projects going on right now decapping old chips and reverse engineering them. From old CPUs like the 6502 to the Amiga Alice chip. It's just a matter of time before most of the retro systems are fully reverse engineered and documented.

FPGA cores are based on CPU emulators, so they aren't more accurate than the emulator, and decapping a chip doesn't help. FPGAs are written in languages like Verilog that are still high-level and do some probably misguided tricks to make it look like you're programming them with a vaguely C syntax.

> FPGAs are written in languages like Verilog that are still high-level and do some probably misguided tricks to make it look like you're programming them with a vaguely C syntax.

This is either incredibly badly explained or wrong. Verilog compiles to gate level.

Re: MiSTer, an open-source FPGA gaming project

#86
post #83

Earlier quoted context omitted.

You 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.

Well, you could ignore it, if you would be developing a new gaming console with an integrated FPGA unit.

It'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?"

Re: MiSTer, an open-source FPGA gaming project

#87

My 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 t…

> Using the FPGA for complex simulations like physic? Would that make any sense?

The graphics card is specialised for this and has better cost/performance. Graphics cards basically are specialised gaming hardware optimised as much as possible for that use case.

Trying to teach games programmers to use FPGA tooling would be a spectacular disaster. Oh, and FPGA toolchain-targeting is to a specific device; you probably don't remember the early days when games would target a specific model of 3DFX card, but that's what you'd go back to. Upgrade your hardware and you need recompiled versions of all your games.

The one case where it might make sense is if you focus on latency to a brutal extent. DisplayPort on one side of the FPGA, wired game controller (NOT USB) on the other. A unique experience that's hard for normal systems to replicate.

Re: MiSTer, an open-source FPGA gaming project

#88
post #37

Earlier quoted context omitted.

That is true. There are however techniques software emulators can use like run-ahead that can get you lower latency than even the original hardware on a PC: https://near.sh/articles/input/run-ahead The caveat is that it doesn't always work, and it makes the power requirements even more unbalanced. Some might also see it as a form of cheating to go below the original game's latency. If you want to match the original g…

Run-ahead seems pretty cool, great technical write up. How would you compare this to the feature called frame-skipping that I often see implemented in software emulators?

Frame-skipping is just a speed hack of skipping rendering every other frame or so, and makes games very unenjoyable to play. It won't help with input lag at all.

Re: MiSTer, an open-source FPGA gaming project

#89

Earlier quoted context omitted.

I'm really curious where you got "better" out of the quoted text. Because it's not there or implied, but people keep reading this into anything about fpga recreations of chips. There's nothing inherently better about doing emulation on an fpga or a cpu, other than basically the amount of electricity involved in doing it. But people keep presuming an improved accuracy that there's no basis for.

Lower latency is definitely a thing. With FPGA it's possible to 'chase the beam' like the original hardware, and have much reduced input latency from devices, etc. With an emulator you're going to be fighting the OS and the frameworks you built on top of. Even if you go "bare metal" (like my friend's BMC64 project which runs a C64 emulator like a unikernel on the RPi with no OS) you are still dealing with hardware bu…

Agreed about chasing the beam. With a SNAC addon and a CRT TV, you can even hook up original light guns to the mister and they work prefect.

Re: MiSTer, an open-source FPGA gaming project

#90

Earlier quoted context omitted.

I don’t think reproducing the exact behavior here is necessary, useful, or even interesting. You could use a USB gamepad and get behavior that is close enough that humans can’t tell the difference.

While I don't know the current status, with MAME in the mid 2000s, an update that added support for certain games usually involved changes... that broke a different set of previously working games. I remember having 3 MAME versions installed to play all the games that I wanted. That kind of emulation hell is greatly reduced when you simulate every bus and chip of the original hardware. To give you an example: I don't…

That's because MAME is distributed as a single executable which combines support for all the machines it emulates. If there was a mega 'multiple arcade machine FPGA core' that supported thousands of machines in one then you would need to do the same kind of installation management as different parts of that codebase matured. But when using FPGAs you normally have a seperate core for every machine being simulated. By the emulation analogy, you're actually switching between many different 'MAME versions', or single-game emulators when you switch between games on your FPGA.
Post reply on HN