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

please have something to help calibrate the lag.

"I'm afraid I can't let you do that, dave..."

 

You cannot calibrate or eliminate lag unless you use a standard definition CRT tube. Lag is reduced on displays played back at native resolution however. I use a 1080p monitor with 8ms lag that works wonders. I trust a gaming monitor over any HDTV with unpublished latency stats even if it's a bit smaller in size.

Link to comment
Share on other sites

"I'm afraid I can't let you do that, dave..."

 

You cannot calibrate or eliminate lag unless you use a standard definition CRT tube. Lag is reduced on displays played back at native resolution however. I use a 1080p monitor with 8ms lag that works wonders. I trust a gaming monitor over any HDTV with unpublished latency stats even if it's a bit smaller in size.

8ms Response timne is NOT 8ms Input lag (it's actually Output lag, but whatever). There are new modern LCD Monitors with Sub 1 Frame Input lag. That's already really good. Fighting games have usually 2-3 Frames Input lag from the engine and Hardware itself. Adding another half Frame or so really isn't that terrible at all. And once you're used to the ammount of Input lag you won't have any Trouble with Combos.

 

BTW, 8ms of Input lag would be amazing good. Response time of 8ms is sort of just allright, and Close to the max you can tolerate well.

 

In one Thing you have right: if your TV has Input lag there's nothing your System can do about it. You should just go search for a Monitor with better Input lag. And also giving the TV/Monitor digital native Input helps with reducing Input lag because the Image doesn't Need to be rescaled at all.

 

Samsung TVs usually have low latency. I have a BenQ gaming Monitor that was cheap and has really low Input lag.

 

Things are moving pretty fast on the digital Display side of things, and not only Input lag is going down, but also Image Quality has been improving and Prices are quite acceptable for a lot of the stuff. 1080p tends to be quite cheap.

Link to comment
Share on other sites

Yeah "input lag" really feels like the wrong term, since that to me has to do with the input device, connectivity method and system software, and it is the part that you can't really do anything about anyway.

I personally use "display lag" for the tv/monitor's latency. Some include the rendering time for framebuffer-based systems as part of display latency, but that doesn't really need to be measured since it can be determined by framerate.

 

-----

 

Response Time ratings on modern screens are but one contributing component of overall display lag, however it -does- determine the general level of motion blur, so it is an important figure to know regardless.

 

With the DisplayLag website's reporting, you might see '10ms' and think "Yikes, that's almost a full frame and this is among the best?" however that value doesn't take into account that the modern Pixel Clock can be considered analogous to the CRT Beam Sweep for the purposes of display lag, a CRT running at 60hz should measure approximately 8.333~ms with thier reporting, so '10ms' can also be considered '2ms vs CRT'.

 

If I'm wrong about any of this, please correct me.

Link to comment
Share on other sites

I don't think I'm the target market for this since I'm happy with emulation for all the retro systems and get the new indie stuff thanks to Steam/HumbleBundle/GOG, but I do want to express my support and do hope that you look seriously at bringing this to market. A system that could both emulate ALL these old consoles AND play new games is something not on the market right now, and you could appeal to both retro and modern gamers.

Link to comment
Share on other sites

Would pay almost anything for this. Hell I'm one of the crazies that ponied up for an Analogue NT with a big dumb smile on my face.

 

In a dream world save states would be sweet. And maybe even an interface that scrapes game info from somewhere with box art or something ala Hyperspin but without all the bloat and bugs. I can dream right?

Link to comment
Share on other sites

Okay... So as I write this, 118 AtariAge members have cast their votes in your poll, this is the 160th post in this thread after a mere three days, and I would say the general response from the people here has been more than a little encouraging.

 

Can I ask you what the odds are that you will turn your prototype FPGA system into an actual console that we can all purchase and enjoy? I'm not looking to find out if you have a business plan set up in your mind, or if you've reached a decision about cartridge adaptors and whatnot, I would just like to know if our collective support and encouragement is enough to convince you to share your fantastic piece of hardware with the rest of us. :)

Link to comment
Share on other sites

"I'm afraid I can't let you do that, dave..."

 

You cannot calibrate or eliminate lag unless you use a standard definition CRT tube. Lag is reduced on displays played back at native resolution however. I use a 1080p monitor with 8ms lag that works wonders. I trust a gaming monitor over any HDTV with unpublished latency stats even if it's a bit smaller in size.

So you cant do something like the do on rockband?

 

Sent from my SM-G900P using Tapatalk

Link to comment
Share on other sites

Yeah I was thinking selling 1000 units is the number I have to hit to make it worthwhile, though 500 might be doable these days. I have run the numbers many times, and honestly I wouldn't be doing this to make enough money to retire (I'm NEVER retiring. That'd be boring as hell. My job's too much fun!) Not quite sure what kind of profit I'd make but again it's more about releasing something I really believe in vs. making "Retro VGS" levels of money. If I can cover costs of production and make some bucks at it, I'm all for it. There's no way I'm going to ever get paid back for the time I put into these cores, but again this is like the hardware version of a homebrew 2600 game. You do it because you love it and if a few bucks can be made to offset the costs, great!

Actually, I'm not sure if it could not be sold in higher numbers.

I sold over 80 MIST yet and 50 MCC-216 - without doing any real advertisement or video that shows what you can do with it, yet.

The RetroN5 sells in huge numbers - and the Retro VGS would be the way better system (and would not use unlicensed cores... ahem).

 

Calculating with 500 for a start is good, but I honestly think they can sell better.

 

Actually, if they're very accurate, you should be able to use Everdrives as well - and those sell even better (I think I sold over 1000 Everdrives in my shop so far, but I'm only of of 20 or so worldwide...)

So yes, the market is there - but it's better to calculate with low quantities and slowly grow :)

 

As for cartridge adapters, I am unsure what kind of footprint these would be. Would it be some doodad that slots onto the side? (my original idea) or would it be like the 2600 adapter for the 5200 that plugs into the top? I originally wanted to make a massive add-on with like 16 cartridge ports but this is ridiculous (and I knew this- I was going for ridiculous) and absolutely unsellable. It'd just be a fun thing to make.

Well, the Retrode2 offers SNES and MegaDrive out of the box.

And via plugins, you can use NES, VirtualBoy, SMS, N64, GameBoy (Advance), PC-Engine, etc. carts.

These plugin usually plug into the MegaDrive slot and are put into a modified MegaDrive cartridge shell.

 

The different cutouts needed for the connectors can be achieved using inlays for the moulds - so with one mould and some inlays, you can produce all these different plugin shells for a cheap price.

 

I'm already producing MegaDrive shells, the mould was about 3000 EUR, the shell is about 1 EUR each, haven't checked for Inlays yet though.

 

Using plugins is a neat idea - not everyone has Arcadia cartridges, for example, so everyone could choose what he wants.

 

kevtris.... perhaps for connecting carts it could be an add-on like you mentioned for video. For the carts it can be via USB and there is already something out their that does that for a variety of systems. Retrode

I'm actually the one currently producing the Retrode2 (under license from Matthias), and as mentioned before: If there's something I can help with, I will do that.

I'd love to see this system come alive, and I certainly would like to sell it in my shop if possible.

 

If the Retrode2 CAN be used for the FPGA (no idea how feasible this is via USB): The production of that one wouldn't be a problem.

 

And even if it can't be used: If the plugins would be the same for the Retro VGS and the Retrode2, then a collaboration would certainly help both Retrode2 and RetroVGS users (and lowers the price as well).

 

BTW: I already had a similar idea... using the Retrode2 with the RaspberryPi. The prototype is already finished (incl. case design), I want to start a Kickstarter for it as well (www.retropi.de).

But honestly, an FPGA optimized for console gaming would be A LOT better than the RasPi (which takes over a minute to boot, is not really optimized for that, emulators aren't that accurate, etc.).

 

If I can be of help, let me know :)

  • Like 7
Link to comment
Share on other sites

8ms Response timne is NOT 8ms Input lag (it's actually Output lag, but whatever). There are new modern LCD Monitors with Sub 1 Frame Input lag. That's already really good. Fighting games have usually 2-3 Frames Input lag from the engine and Hardware itself. Adding another half Frame or so really isn't that terrible at all. And once you're used to the ammount of Input lag you won't have any Trouble with Combos.

 

BTW, 8ms of Input lag would be amazing good. Response time of 8ms is sort of just allright, and Close to the max you can tolerate well.

 

In one Thing you have right: if your TV has Input lag there's nothing your System can do about it. You should just go search for a Monitor with better Input lag. And also giving the TV/Monitor digital native Input helps with reducing Input lag because the Image doesn't Need to be rescaled at all.

 

Samsung TVs usually have low latency. I have a BenQ gaming Monitor that was cheap and has really low Input lag.

 

Things are moving pretty fast on the digital Display side of things, and not only Input lag is going down, but also Image Quality has been improving and Prices are quite acceptable for a lot of the stuff. 1080p tends to be quite cheap.

My HD game consoles hook up directly to the 1080p ASUS monitor (actually I use a switch and reroute the audio out to my stereo but that's beside the point) and my SD game consoles hook up directly to a CRT. There is slight but noticeable lag on the HDTV in our living room but the ASUS monitor is instantaneous as far as I can tell. Fact is, the less conversions in the chain the better, which is why I believe expensive 240p-to-whatever upscalers are pointless.

Link to comment
Share on other sites

Actually, I'm not sure if it could not be sold in higher numbers.

 

[...]

If I can be of help, let me know :)

Awesome that you are rebooting the Retrode 2. I believe I popped the question as to whether my existing plugins would work on the Retro Pie addon, and then I visited your site and noticed you have relaunched the Retrode 2. ;)

 

The Raspberry Pi addon is really brillant. One question I have is the matter of 5V and 3.3V buses. The Retrode 2 has a switch to select voltage levels and it is necessary to select the 3.3V setting when dealing with N64 or Advance games. I'm concerned novice users may forget to flip the switch setting and potentially damage a cartridge designed for lower voltage bus. Also the Pi 2 is not 5V tolerant but that can be fixed with buffers as I'm sure you are aware.

 

Awesome second post on AA and awesome that you are continuing the Retrode legacy. I would also like to request, if it's not too much to ask, if you could get some A2600 adapters made since the firmware supports it by default. Even a bare PCB version would be nice to have, but you can use a sawed off SNES shell for the housing. I believe Atari 2600 used an industry standard floppy connector and the lockout tabs in the cartridge doors could be activated by "teeth" extending from the PCB board material on either side of the female cartridge slot. The old site had Gerber files posted online but I have no access to PCB fabrication.

 

ED (EvilDragon), you should PM or email kevtris directly. ED teaming up with Kevtris sounds like a perfect match given EDs expertise and experience in producing retro devices.

^^What he said. :D Edited by stardust4ever
Link to comment
Share on other sites

I don't see why all NES games and their features cannot run? I wasn't aware Castlevania III was an issue on software emulation? The USA/PAL release won't run on most flash carts because of the mapper used, but the Japanese version runs fine, even with FM sound that the USA release never had.

US / PAL CV3 use the MMC5 mapper, albeit only partial features.

This chip seems to be handled fine in software emulation but it's been difficult on hardware recreation (FPGAs, etc) outside of the basic features CV3 used.

 

VRC6 is a much easier to impliment chip, even with the addon sound channels.

As a minor aside, VRC6 doesn't have FM synth, just waveform synth. You were thinking of the VRC7 used in Lagrange Point.

 

That all said, Kevtris did say "all expansion audio chips and all mappers" and I'd imagine he means that, full MMC5 support included. Else he would have mentioned anything with no or partial support.

Link to comment
Share on other sites

I see, good info. I wound up getting an English translated rom for CVIII, and use that on my NES PowerPak. All I know is the music is much better in the Famicom release!

Yeah, my friend and I played through the Japanese version a while back on my Powerpak. The sound is amazing and besides the intro and conclusion, very little text elsewhere in the game. When you select a partner, top option to accept, bottom option to reject. I finally picked up a genuine CVIII last year, a steal at $14.95 :D

Link to comment
Share on other sites

Kev, does your NES core run all games? I know some games like Castlevania 3 fail to run on most Emulation. Did you test these games that are hard to run?

 

Yeah pretty much. All expansion sound is present, and there's over 200 mappers supported right now. I was going to add FDS (though FDS audio is in there already) now that raw FDS files exist. As for MMC5, it is a full complete implementation. Every MMC5 game runs flawless. I even support the rarely used vertical split mode which was used on a single game- SDF.

 

Speaking of sound, I was thinking of making a video showing off the two FPGA based chiptune synthesizers I have created. The first model plays a laundry list of chiptune formats, and the second model's a bit more refined. Both of them are 'done' (is a project ever done?) and I have been using them quite a bit.

 

 

Here's a few outside shots of the first one. The user interface is 100% capacitive touch including some buttons and a wheel that you can slide your finger around in a circle to move up and down through menus and select files and such. Output is via headphone jack and 1/4" jacks. There's a rechargeable battery (and charger), MIDI port (sadly not used at the moment), graphic LCD and SD card (full FAT16/32 support and SD-HC capable).

 

IMG 2823

IMG 2822

IMG 2821

 

And of course a shot of the guts. I don't have a picture of the main board itself without the power supply plugged into the top where the FPGA lives.

 

IMG 2826

IMG 2828

 

Finally a picture of the capacitive PCB including the "fun" to make wedge shaped electrodes for the wheel.

 

IMG 2817

This one plays:

 

.SID (quad SID supported, including true analog filters (dual filters), full compatibility, realsidplay, psid, etc.)

.NSF (including all expansion chips. yes even VRC7)

.SAP (atari 8 bit, I support quad POKEY)

.SGC (format I came up with- SMS, colecovision, gamegear. Supports YM2413 FM too. There was no proper chiptune format for these, only register dumps so I made it and ripped around 200+ sets of music)

.GBS (gameboy music)

 

There's also full OPL3 support so it can play:

.CMF (creative labs music format)

.IMF (ID music format, i.e. commander keen, wolfenstein)

.D00 (edlib)

.RAW (register dumps)

.KSM (ken silverman's music format - ken's labyrinth)

 

I wanted to come up with a MIDI interface to play a virtual "symphony" of the chips this device simulates but haven't gotten to it. I need some musical input to make that part really awesome. The chips I support (all at once) are:

 

* NES (dual squares, triangle, noise, digi)

* MMC5 (dual squares + digi)

* VRC6 (dual square + saw)

* N163 (8 channels, 4 bit samples)

* FDS (single wave/modulation channel)

* Quad SID with dual "real" analog filters

* Quad pokey

* AY-3-8910

* SN76489

* Gameboy (2 square, 1 noise, 1 digi)

 

and one of the following:

 

* OPL3

* VRC7

* YM2413

 

These three use the same FM core so only one can be used at a time.

 

If I added it up right, that's 39 channels not including the FM which adds up to another 18 or so.

 

All of these channels individually feed into a giant mixer that can pan each one left/right or anywhere in between, and any channel can be passed through the filters too, so ANY chip can use the SID-like analog filters.

 

There's a whole mess of "visualizers" on it which take the sound chip register writes and turns it into something interesting to look at. If you've seen the visualizer on the Hi Def NES adapter, it's in a similar vein but there's more doodads and geegaws going on.

 

So after that one, a few years later at work we got a laser cutter, and I had developed the SNES SPC700 core. Figured it was time for another synthesizer! Using all the stuff I had done before, I created this second one in a month or two. I was still using an ancient PCB program called "Draftsman EE" for my PCB needs. It was old but it worked well enough. Glad I moved onto Altium 2 years ago.

 

This second one is powered by a smaller FPGA (EP3C15), a PIC32, and a 16Mbyte SDRAM. It has a headphone jack, microSD (FAT16/32 and SD-HC support of course), MIDI port, rechargeable lithium ion battery, USB, and some other things. Like the first it's got a capacitive touch button, but this time I opted for a slider approach instead of the wheel. There's also four RGB LEDs on the sides that can flash and gyrate with the music, do fades/wipes, or other things. The LCD's a higher resolution graphics model with an RGB backlight as well. It can load FPGA cores off the SD card at will to change up the chip(s) it emulates. Unfortunately there's no SID filters on this one since it was more a test unit. Like the first it's "done" and I have been using it a bit.

 

First some outside shots:

 

synth progress1 0214

Yes Its handheld

 

And the guts:

 

LED And LCD test with flash

Enclosure pieces parts:

pile O parts

And the outline of various layers. note the button on the side changed to a different form, but the other layers are similar.
(might have to open it in the media viewer to see the lines, not sure if they will show up at all on a thumbnail)

11layers V4

Like the other, this one shows various visualizers and things while it plays. It's playing SPCs here.
So that's what I've done to date in the sound arena. I had the idea of selling some of my synthesizers too, but again I am not sure what kind of market there is. I was thinking a rack mounted unit might be the best for musicians that wish to use it.
My "installed base" of FPGA "pieces" along with the code and hardware to do the care and feeding like SD card handling and such is pretty large at this point so I'm hoping soon will be the time to maybe capitalize on it.
Thanks for reading my ramble, and for all the suggestions and discussion so far. It really helps!

 

 

  • Like 6
Link to comment
Share on other sites

My "installed base" of FPGA "pieces" along with the code and hardware to do the care and feeding like SD card handling and such is pretty large at this point so I'm hoping soon will be the time to maybe capitalize on it.

 

Sure, why not?

 

ADDED: Right now the "hotbed" is classic gaming and FPGA and emulation and consoles. So how about start there?

Edited by Keatah
Link to comment
Share on other sites

 

 

Yeah pretty much. All expansion sound is present, and there's over 200 mappers supported right now. I was going to add FDS (though FDS audio is in there already) now that raw FDS files exist. As for MMC5, it is a full complete implementation. Every MMC5 game runs flawless. I even support the rarely used vertical split mode which was used on a single game- SDF.

 

....

My "installed base" of FPGA "pieces" along with the code and hardware to do the care and feeding like SD card handling and such is pretty large at this point so I'm hoping soon will be the time to maybe capitalize on it.

 

So out of curiosity and excluding the outer casing, if say you had to work with a BOM+profit of 250US$ (factor in whatever profit you see fit, if 20% for example it means you only really have 200US$ to spend on parts), what system do you think you can pull off?

I mean, how many FPGAs? 1 or 2 and how big? LE count, type.

How much memory do you think you can slide in, how many connectors [uSBs or otherwise]?

Finally what kind of system do you think it can support? I understand pretty much all 8bits you have already nailed them, but which 16 bits do you think it is reasonable/believable with that BOM?

 

I believe it is more important to get a more powerful FPGA as long as it is not a waste, no need to put a Ferrari engine on a Kia Rio, rather than 20 AVs etc.. etc..

 

Anything specific you have in mind?

Edited by phoenixdownita
Link to comment
Share on other sites

On the topic of input lag, I have a question for Kevtris about USB HID input, as I only have a basic understanding of it.

 

Between the poll rate, usb data being serial and I assume encoding/decoding processes, how wide of a window (at worst case) should we expect between input and that input being available to the system core to read?

I've been told with Windows' DInput API this is somewhere between 4 and 5ms, while this value is managable and I would imagine the Z3K would have less overhead, it's still good to know, as it determines the possibility of "missing the input window" for precise inputs.

 

---

 

As a seperate but related curiousity, would a generic port that uses passive adapters for real controllers without any kind of protocol conversion (each core having the recreated system's input stage) be a reasonable feature, or would that be getting too complex when having to deal with both that and USB? I'd imagine there would also be the issues of either sourcing connectors or making people make thier own adapters.

Edited by Asbrandt
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...