Live data from Hacker News

MiSTer, an open-source FPGA gaming project

github.com

91–100 of 111 posts

Re: MiSTer, an open-source FPGA gaming project

#91
I 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.

Re: MiSTer, an open-source FPGA gaming project

#92
post #91

I 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…

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

Re: MiSTer, an open-source FPGA gaming project

#93

Earlier quoted context omitted.

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,…

Sure, you’re completely right, but as a hobby project it would be pretty neat!

Re: MiSTer, an open-source FPGA gaming project

#94
post #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…

I have never really done low level programming, so excuse my ignorance. (for example I was not aware "FPGA toolchain-targeting is to a specific device", which is a very great hurdle only maybe enabling something like this in game consoles)

I know that gpu's are mainly optimized for games, but aren't they still general purpose computing units? (which is why nvidia put a special physics unit into their GPU's)

So the idea as I understand it, is with FPGA's your logic is directly in circutry - which in theory beats general purpose units.

So my actual question would have been, if this would allow for more complex simulations. Because most advancement in games just seem to be in making them look prettier, but not more complex and just faking complexity. But I really like the idea of an advanced voxel engine, for example.

But by your input it seems FPGA's as of today, are probably not the way to get practical improvements there and rather focus on the GPU.

Re: MiSTer, an open-source FPGA gaming project

#95
post #91

I 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…

I regret not making the title “MiSTer, an open-source FPGA computing and gaming project,” maybe @dang can help.

Re: MiSTer, an open-source FPGA gaming project

#96
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.

> FPGA cores are based on CPU emulators

FPGA cores are literal CPUs.

Re: MiSTer, an open-source FPGA gaming project

#97
post #66
post #64

Earlier quoted context omitted.

That's generally not what's happening with the mister cores. I haven't looked at all of them, but the ones I have studied are very high level in implementation.

To the best of my knowledge, the Neo Geo core has certain chips based on a full decap and implementation in FPGA. Not the entire system though.

Neat. I'll have to look at that one.

Re: MiSTer, an open-source FPGA gaming project

#98
post #16

Earlier quoted context omitted.

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

Unless you have seen MISTer running (especially on an fixed HZ old school CRT monitor) vs running that same thing emulated on on a modern cycle-exact emulator. The difference is really noticeable. This might come down to the emulator also running on a modern OS, which cannot guarantee at all times smooth framerates, whereas a dedicated FPGA can promise you that it's not running much more than the actual core needed t…

I would beg to differ. In fact, I would doubt many people could tell it apart in a blind test situation, especially on NES or SNES games. FPGA is just another expensive toy for hobbyists.

Re: MiSTer, an open-source FPGA gaming project

#99

Earlier quoted context omitted.

Most game consoles don’t do any of this, though. The gamepad is polled by software. On the NES and SNES, the buttons are connected to a shift register (e.g. 4021). The CPU triggers a latch and then reads out the shift register one bit at a time.

This would be less about a user peripheral like the gamepad (which is obviously going to be read out exactly once per frame anyway) and more about getting subtle interactions between the CPU, memory/DMA, and specialized systems for graphics/audio correct. And not just correct after thousands of hours of work to smoke out the exact sources of specific title bugs, but correct essentially for free. See for example the t…

> but correct essentially for free.

Definitely not. Per your example, "what happens if an interrupt gets raised between prefetch and the data load" is not a question that the type of emulation can answer. You can implement hardware as well as software that gets details like this right or wrong. In both cases you usually need an extensive catalog of observations or a full description of the original hardware to correctly emulate it functionally.

Re: MiSTer, an open-source FPGA gaming project

#100
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.

For me as an occasional hobby developer for old platforms it's interesting. Subtle differences in how emulators work compared to the original hardware has sometimes resulted in nasty surprises.

In the best world, I could use an emulator as a reference, but for now I have to keep the old hardware around for that reason and always make sure to test my code on it regularly. Even differences that have no impact on the entire software library are important in that sense.

For example, if I write an address to an OPL chip I normally have to wait a few cycles for the address change to be effected before I write a value. You can remove that limitation in an emulator and all software written for the original platform will still work, but the emulator will no longer be useful as a reference, because now I can write software that works in the emulator but not on the real system.

There's of course a use case for emulators that take these kinds of shortcuts for the purpose of running an existing software library, and that's how people were able to play SNES games on Pentium class hardware, but as a point of reference and complete functional preservation of the hardware platform itself, that isn't good enough.

Post reply on HN