Jump to content
IGNORED

FPGA Based Videogame System


kevtris

Interest in an FPGA Videogame System  

682 members have voted

  1. 1. I would pay....

  2. 2. I Would Like Support for...

  3. 3. Games Should Run From...

    • SD Card / USB Memory Sticks
    • Original Cartridges
    • Hopes and Dreams
  4. 4. The Video Inteface Should be...


  • Please sign in to vote in this poll.

Recommended Posts

Well much of classic arcade hardware, even if every game was unique, share lots of off the shelf parts such as CPUs, I/O logic, sound chips, and the like. MAME works by emulating every "chip" and then mapping the hardware together, which is unique for every game.

 

I think this would be doable to have an FPGA implementation of MAME for certain games, by designing each "block" comprised of the chips the motherboard uses. All that's really left is the interconnects, which would be super easy to do at this point. The MAME ROMs for supported games could be stored unzipped in the SD card folder, using the "extract to" command, which creates a folder with the proper file name, and associated files within that folder.

 

Compiling the FPGA core for each unique hardware configuration would be easy to do once you've assembled all the building blocks. It would be a bit more work than a software emulation of MAME, but considering there are thousands of games, most of which are junk, cores for a few of the more popular golden era arcade titles would be a welcome addition, after most core work has been finished for most consoles and vintage computers.

 

The downside of this arrangement is you have to reflash the FPGA for every game you want to play, as opposed to every console. A single MAME core would never work, or would be more massive than any FPGA on the planet, but I think popular games would be nice. Perhaps Kevtris could field arcade games to decide which are doable and then do polls to see which ones get ported first.

 

Yes all that. And I'm certain several arcade games have been reimplemented like so.

 

But I do ask if it's worth the time and effort to do it again in Verilog or something? What would be the advantages over a dedicated mame computer?

Link to comment
Share on other sites

The downside of this arrangement is you have to reflash the FPGA for every game you want to play, as opposed to every console. A single MAME core would never work, or would be more massive than any FPGA on the planet, but I think popular games would be nice. Perhaps Kevtris could field arcade games to decide which are doable and then do polls to see which ones get ported first.

Kevin talked about a Williams arcade core, are a few FPGA based multigame systems, see http://www.jrok.com/hardware/wsf/so on things like that you would not need to load another core between games. I suspect Kevin becoming more well known will result in more paid work and perhaps less time for all the cores he would like to create. I wonder if we will ever see third party core (not made by Kevin) on the NT Mini?

Edited by Radfoo
Link to comment
Share on other sites

 

But I do ask if it's worth the time and effort to do it again in Verilog or something? What would be the advantages over a dedicated mame computer?

 

Wouldn't it be the same advantages as an FPGA console (assuming it's well implemented) vs software emulation: accuracy, compatibility, and zero lag

?

Edited by cacophony
Link to comment
Share on other sites

How do I change which bios a core uses? Everything was fine until I added addition bioses in the smoke monster pack and now the tails adventure game gear conversion for the master system wont work. Also, the start button on the nes controller doesnt seem to work on any of the conversions Ive tried, so the games cant be started.

 

Go to the system menu (at the game selection, press 'start') and then select Cores, and from there you can choose a different BIOS if supported.

Link to comment
Share on other sites

 

Care to share the video you're referring to? if it's the one I'm thinking of I wouldn't read much into it...

 

I think he was confused with RetroUSB, a portable is being made and updates are on Facebook and Youtube, such as this one: https://www.facebook.com/retroUSB/posts/1340400982705968

Link to comment
Share on other sites

 

Wouldn't it be the same advantages as an FPGA console (assuming it's well implemented) vs software emulation: accuracy, compatibility, and zero lag

?

Not quite, one of the things arcades have different to home consoles is that they didn't have to run at 60Hz (or almost).

Albeit it is highly likely that many did hence the trick of kevtris to accelerate/slowdown the actual console master clock to meet the strict 60Hz of HDMI would work, some (RType for example) are different beasts. RType runs at 55Hz, there's no easy way to do it "lag" free, you need a framebuffer and drop/repeat a frame every so often to match 60Hz HDMI, which gives you both slight stuttering and at least 1 frame of lag.

The analogue outputs are different in that you can run them out of std but then you'd need an RGB monitor that can sync those weird refresh rates. That's what MiST does on the VGA out as SVGA monitors already had to deal with quite the gamut of frequencies/resolutions like 800x600 at 56Hz or 1024x768 interlaced at 43Hz to name a couple of odds.

 

So told, and very likely likely, many arcade games would run with marginally little speedup/slowdown to have lag free, stutter free 60Hz HDMI: the NeoGeo MVS runs at 59.1 so it needs to be sped up to 60, like the AES does already [59.9 I believe] anyway to support home TVs instead of arcade monitors.

Link to comment
Share on other sites

^I remember that electro-mechanical magnetic PONG hack. Wish I had the expendable income for the KickStarter production. ;) I wonder how far one could take that. Take a game like 'Adventure' on the 2600. Using a magnetically controlled piece for the player and the Duckon might be possible, while having the screens be either made from LED back-lit and/ or masked layers of acetate. Most of the screens don't change from game to game and consist of regular boundary walls. The MAZE does get a bit complicated, though and enforcing boundaries would be difficult. Fun part would be when you'd encounter the Beastie and the resulting magnetic action and sound that could be created by the magnet. ;)

Link to comment
Share on other sites

Not quite, one of the things arcades have different to home consoles is that they didn't have to run at 60Hz (or almost).

Albeit it is highly likely that many did hence the trick of kevtris to accelerate/slowdown the actual console master clock to meet the strict 60Hz of HDMI would work, some (RType for example) are different beasts. RType runs at 55Hz, there's no easy way to do it "lag" free, you need a framebuffer and drop/repeat a frame every so often to match 60Hz HDMI, which gives you both slight stuttering and at least 1 frame of lag.

The analogue outputs are different in that you can run them out of std but then you'd need an RGB monitor that can sync those weird refresh rates. That's what MiST does on the VGA out as SVGA monitors already had to deal with quite the gamut of frequencies/resolutions like 800x600 at 56Hz or 1024x768 interlaced at 43Hz to name a couple of odds.

 

So told, and very likely likely, many arcade games would run with marginally little speedup/slowdown to have lag free, stutter free 60Hz HDMI: the NeoGeo MVS runs at 59.1 so it needs to be sped up to 60, like the AES does already [59.9 I believe] anyway to support home TVs instead of arcade monitors.

 

Probably wouldn't be enough people doing this, but my BVM syncs to almost every resolution and refresh rate I've thrown at it with Groovymame, so I would be totally down with arcade cores of all refresh rates. Probably too much of a corner case though.

Link to comment
Share on other sites

Just offer two options. One with emulated game speed-up. And the other at 60hz strict framebuffer.

 

But all this is definitely a corner case. Not everyone even knows what a BVM is.

That's what the XRGBmini does by the way.

It has a fixed HDMI at 60 that then it could show stutter, and a latched HDMI (follows the source) which ends up being incompatible if out of spec from the TV side (HDMI being pretty strict about timing).

Regarding the analogue outputs it could work but then again one wouldn't want to have to take support calls when yet another customer can't play "arcade-name-X" on his 4 CRT TVs and monitors of choice.

 

Either way there may be more than enough arcades that work just fine with the speedup/slowdown trick to not be an issue (there's always gonna be someone that would want game X which is just not possible anyway). I have not seen a list of arcade to refresh rate anywhere to even gauge if RType is one of a few exceptions or if instead it was "common enough" (say 10%) to use custom timing.

Link to comment
Share on other sites

 

Yes all that. And I'm certain several arcade games have been reimplemented like so.

 

But I do ask if it's worth the time and effort to do it again in Verilog or something? What would be the advantages over a dedicated mame computer?

 

I'd say 50% of it is just to accomplish the same thing a FPGA console would do (eg HDMI, accurate chip implementation.) The other 50% is that many arcade machines the complexity is the security elements, and the number of people who physically own an arcade cabinet of a certain game is probably in the low 100's. So basically piracy.

 

So if you want to take the high road, a FPGA console at least says "insert original cartridge here", the jailbroken firmware is just a bonus and may even be a selling point (which is why it should remain $500 and not $200) should pin adapters exist for various vintage hardware (carts, controllers, etc.) A FPGA arcade machine on the other hand is never going to have an "insert arcade mask rom here" pin adapter. If some copyright owners would "bless" a ROM store of some sort that works on some variation of the NT Mini, or later Z3K, that would be a win all around without the drama and look-the-other-way of the MAME piracy.

Edited by Kismet
Link to comment
Share on other sites

Not quite, one of the things arcades have different to home consoles is that they didn't have to run at 60Hz (or almost).

Albeit it is highly likely that many did hence the trick of kevtris to accelerate/slowdown the actual console master clock to meet the strict 60Hz of HDMI would work, some (RType for example) are different beasts. RType runs at 55Hz, there's no easy way to do it "lag" free, you need a framebuffer and drop/repeat a frame every so often to match 60Hz HDMI, which gives you both slight stuttering and at least 1 frame of lag.

I get what you're saying, but just one question: How does MAME handle these differences in Hz? Don't computer monitors have similarly strict refresh rates, in addition to having to conform to the operating system? Just curious. :)

Link to comment
Share on other sites

I get what you're saying, but just one question: How does MAME handle these differences in Hz? Don't computer monitors have similarly strict refresh rates, in addition to having to conform to the operating system? Just curious. :)

 

Basically, MAME doesn't handle it. It uses triple buffering drawing 3 images ahead of time to smooth out the playback. Correct me if I'm wrong, I think this is the default mode. You can also tell it to just output frames as soon as possible and then you will see stutter and tearing. Many people won't notice this is going on but once someone points it out, it will drive you mad.

 

Now there is a special version of mame, called Groovymame, that actually talks to your ATI video card in a special way and outputs any refresh rate you want to an analogue monitor. Depending on the CRT used, you can get almost all resolutions and refresh rates covered.

 

It's still not zero lag, but on some newer arcade games that have frame buffers, it can get close to identical response. It's as close as you can get to the real thing until someone is insane enough to do a big mame like FPGA machine.

Edited by emubastard
Link to comment
Share on other sites

A look into why FDS games fail to load for many people using a RAM adaptor & real FDS hardware... An "FDS mapper" built into the NT mini's NES core sounds nice, but some of us have real hardware that we want to keep using.

 

Anyway, I have started probing pins in the RAM adaptor cable, comparing FDS disk loading on a real Famicom vs. the mini. First I probed the "read data" signal on pin 4 of the blue 12-pin connector, where disk data hits the RAM adaptor. No differences between the Fami and NT mini. So, data coming in to the RAM cartridge is fine.

 

I then tried loading a disk on the NT mini, which failed, and used CopyNES to dump the contents of RAM/ROM. The PRG files seem to load into RAM mostly fine, all the way up to $DFFF.

 

I then checked the /IRQ pin on the Fami connector to check for differences. The IRQ signals seem to come in OK, as seen in the 1st picture below, showing the 1st IRQ triggers to the Famicom/NT when data comes in from the disk drive.

post-52926-0-68953100-1491796401_thumb.png

 

 

However, at the VERY END of load, oh dear:

post-52926-0-62948800-1491796402_thumb.png

 

(This might not be connected to the end of loading; stray IRQs might be triggering at random times during disk activity, but it happened in the same place a few times, causing the final load to fail, and the program loaded in to memory to not start.)

 

Kevin, I hope this is helpful. Again, if there is a better place (um, less "crosstalk") to post bug reports or tech questions, please let us know.

  • Like 3
Link to comment
Share on other sites

A look into why FDS games fail to load for many people using a RAM adaptor & real FDS hardware... An "FDS mapper" built into the NT mini's NES core sounds nice, but some of us have real hardware that we want to keep using.

 

Anyway, I have started probing pins in the RAM adaptor cable, comparing FDS disk loading on a real Famicom vs. the mini. First I probed the "read data" signal on pin 4 of the blue 12-pin connector, where disk data hits the RAM adaptor. No differences between the Fami and NT mini. So, data coming in to the RAM cartridge is fine.

 

I then tried loading a disk on the NT mini, which failed, and used CopyNES to dump the contents of RAM/ROM. The PRG files seem to load into RAM mostly fine, all the way up to $DFFF.

 

I then checked the /IRQ pin on the Fami connector to check for differences. The IRQ signals seem to come in OK, as seen in the 1st picture below, showing the 1st IRQ triggers to the Famicom/NT when data comes in from the disk drive.

attachicon.gifFDSLoad-compare1.png

 

 

However, at the VERY END of load, oh dear:

attachicon.gifFDSLoad-compare2.png

 

(This might not be connected to the end of loading; stray IRQs might be triggering at random times during disk activity, but it happened in the same place a few times, causing the final load to fail, and the program loaded in to memory to not start.)

 

Kevin, I hope this is helpful. Again, if there is a better place (um, less "crosstalk") to post bug reports or tech questions, please let us know.

that's pretty helpful. It's possible all I have to do is filter the IRQ signal some so thin pulses don't trigger IRQs. I will add that on the next release. It's super hard to troubleshoot this since it doesn't show up at all on the 3 RAM adapters, 3 disk drives and 20 test boards I have. thanks for the sleuthing. I guess it could just be some weird IRQ thing all along. If it hits at just the wrong time it could trigger an IRQ which might be bad.

 

Unrelated, but I'm highly amused by everyones' theories on what my project is. Unfortunately I can't say but I have greatly enjoyed the speculation!

  • Like 5
Link to comment
Share on other sites

I got the assumption that Kevtris might be working with Retroblox because it is the most logical approach I could think of. As stated off the top of my head there were a few thoughts:

1) He's being paid so it isn't the Z3k as he wouldn't be paying himself.

2) I only know of one other fpga system in the works right now so assuming he is working on fpga coding that would be the retroblox.

3) I was later told about the possibility of a Analogue NT gen 3 but that would basically be a Z3k so I don't think he would do that if he wanted his own system to sell.

4) I was later told about about a Analogue handheld which has some evidence behind the fact that it exists. Evidently a youtube video or something somewhere. That seems most likely assuming those claims were true.

5) The possibility still exists it could be an unheard of fpga system that reached out to Kev or the work isn't even related to fpgas.

6) It wouldn't be a scandal if the product actually works as advertised or at the very least the work he did on it performs as he claims it work. It also wouldn't be a scandal even if it did turn out to be a scam and his name wasn't attached to the project anywhere so no one could blame him for the mistakes of the company.

7) I never said Kevtris "cared" about the Retroblox simply they might be his employers and that would be a good thing because their project has the money to hire him and he is a talented programmer which would make me feel better about the system not being complete crap.

8) Given that Kevtris is only working on the system for a week or two that makes it seem likely what he is being paid to do is relatively small. For example getting the Nes working as a handheld or some internal tweaks to the Retroblox system for whatever they have their fpga doing. For example the Analogue NT gen 3 would be months of work followed by tons of updates and the NT mini hasn't even had all the cores it can support developed yet.

 

Where are you getting this from? You should never assume so much...

 

 

 

Unrelated, but I'm highly amused by everyones' theories on what my project is. Unfortunately I can't say but I have greatly enjoyed the speculation!

Link to comment
Share on other sites

I got the assumption that Kevtris might be working with Retroblox because it is the most logical approach I could think of. As stated off the top of my head there were a few thoughts:

1) He's being paid so it isn't the Z3k as he wouldn't be paying himself.

2) I only know of one other fpga system in the works right now so assuming he is working on fpga coding that would be the retroblox.

3) I was later told about the possibility of a Analogue NT gen 3 but that would basically be a Z3k so I don't think he would do that if he wanted his own system to sell.

4) I was later told about about a Analogue handheld which has some evidence behind the fact that it exists. Evidently a youtube video or something somewhere. That seems most likely assuming those claims were true.

5) The possibility still exists it could be an unheard of fpga system that reached out to Kev or the work isn't even related to fpgas.

6) It wouldn't be a scandal if the product actually works as advertised or at the very least the work he did on it performs as he claims it work. It also wouldn't be a scandal even if it did turn out to be a scam and his name wasn't attached to the project anywhere so no one could blame him for the mistakes of the company.

7) I never said Kevtris "cared" about the Retroblox simply they might be his employers and that would be a good thing because their project has the money to hire him and he is a talented programmer which would make me feel better about the system not being complete crap.

8) Given that Kevtris is only working on the system for a week or two that makes it seem likely what he is being paid to do is relatively small. For example getting the Nes working as a handheld or some internal tweaks to the Retroblox system for whatever they have their fpga doing. For example the Analogue NT gen 3 would be months of work followed by tons of updates and the NT mini hasn't even had all the cores it can support developed yet.

 

If Kevtris works with Retroblox, i'd do the classic thing. I eat my hat.

If they want help, they rather get people that are used to write software emulators.

Link to comment
Share on other sites

There are a great deal of potential specialized system case scenarios that Kevin might be involved with, that might require his specialized skill-sets to create bespoke solutions, where an off-the-shelf system might not quite do. At Least not without a bit of rejiggering. Anything from biomedical, to industrial - to education, to something something.

 

Kevin's Day Job is with a Cryotech company, a field which has greatly expanded in application from its beginnings in both the medical and technology fields, but depending on that application...maybe the company got a new "Boarder" or something is getting taken out of storage and revived to help create new life. :)

  • Like 1
Link to comment
Share on other sites

 

There's a lot more people using the analog output than I would've guessed. hehe. Not that is a problem. I'm glad people are giving all the various output options some love and aren't just sticking with HDMI.

 

New LED/LCD/OLED displays are big and flat. But we love the oldies times with warmer CRT colors... and less laggy. Until comes next future OLED generations.
I'm waiting the restock for the nt mini to see your good work. And enjoy of course :)
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...