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

Very nice video. It gives a good idea of all the previous work that was done and where the project is going. :)

 

I have two questions, however:

 

1) I'm not very knowledgeable about hardware specs in general, so please forgive this rather mundane question, but the number of pins on the edge connector for the cartridge adaptor interface seems rather small. Is it really that easy to map the 72 pins of an NES cartridge (for example) through the reduced number of pins of the PCI connector? Could Neo-Geo carts theoretically run through the PCI?

 

2) On your whiteboard diagram, I see that the SD card reader is tied directly to the smaller FPGA. Does that mean that the console will boot from an SD card, meaning that the basic software (to browse directories on the SD card and select a game ROM) will be stored on the SD card?

Link to comment
Share on other sites

Very nice video. It gives a good idea of all the previous work that was done and where the project is going. :)

 

I have two questions, however:

 

1) I'm not very knowledgeable about hardware specs in general, so please forgive this rather mundane question, but the number of pins on the edge connector for the cartridge adaptor interface seems rather small. Is it really that easy to map the 72 pins of an NES cartridge (for example) through the reduced number of pins of the PCI connector? Could Neo-Geo carts theoretically run through the PCI?

 

2) On your whiteboard diagram, I see that the SD card reader is tied directly to the smaller FPGA. Does that mean that the console will boot from an SD card, meaning that the basic software (to browse directories on the SD card and select a game ROM) will be stored on the SD card?

The PCI connector is only used for audio/video output. I just hope he adds analog audio to the HDMI board for those of us with DVI monitors.

Link to comment
Share on other sites

I think he had a PCI-E x1 (or x4?) slot that he wanted to use for cartridges. I think it's this part of the video: https://youtu.be/PEfVxeoBaUk?t=16m4s

Yeah, I noticed that when I watched the vid. There appears to a standard PCI connector for the AV outputs and a PCIe connector for the cart bus. Of course, he could always create a full size PCIe slot for everything and only use the smaller card connectors for cart adapters that don't need a metric ton of pins, ie for NES or Neo-Geo. How many pins does the smaller PCIe bus use?

Link to comment
Share on other sites

Yeah, I noticed that when I watched the vid. There appears to a standard PCI connector for the AV outputs and a PCIe connector for the cart bus. Of course, he could always create a full size PCIe slot for everything and only use the smaller card connectors for cart adapters that don't need a metric ton of pins, ie for NES or Neo-Geo. How many pins does the smaller PCIe bus use?

32 for x4 and 18 for x1. Maybe he plans to rip the ROM and play it from there instead of using the on-board chips?

Link to comment
Share on other sites

Yeah sounds like he'll need a full sized bus for the majority of post crash systems.

 

Pity he can't do N64 on FPGA. That would be my dream machine right there... :D

N64 would be awesome, especially with how difficult it is to emulate properly. Someday! :)

Edited by SnoopKatt
Link to comment
Share on other sites

32 for x4 and 18 for x1. Maybe he plans to rip the ROM and play it from there instead of using the on-board chips?

Nope, he wants to play the game ROMs directly from the carts. From the very first post of this thread:

 

Making the adapters themselves is fairly straight forward and easy, and the games would literally be running off the cartridge itself- it would NOT be just another Retron 5 that just dumps the game and plays it- it would actually RUN the actual cart so Powerpaks/Everdrives/etc would still work. Ideally if you can stuff it into an existing system and have it work, I want it to work for sure on my adapters too.

So I would venture to guess that Kevtris knows a way to "funnel" the I/O of a large array of pins (like the 72 pins of a NES cart) through a smaller PCIe connector.

  • Like 1
Link to comment
Share on other sites

Nope, he wants to play the game ROMs directly from the carts. From the very first post of this thread:

 

 

So I would venture to guess that Kevtris knows a way to "funnel" the I/O of a large array of pins (like the 72 pins of a NES cart) through a smaller PCIe connector.

Ah, after I posted that I had a feeling that was mentioned somewhere haha. Thanks for catching that!

Edited by SnoopKatt
Link to comment
Share on other sites

N64 would be awesome, especially with how difficult it is to emulate properly. Someday! :)

Word. The N64 CPU is no slouch to be sure. 90-something megahertz 64-bit MIPS CPU with a 60-something megahertz bus. Also Kevtris would need at least 8mb SDRAM minimum to support the Expansion pack.

Link to comment
Share on other sites

Re: the cart connectors. The carts are quite slow devices, so the plan was to run the bus on the small connector at 50 or 100MHz, and funnel the data through it that way. I got lots of time (in nanoseconds) to get addresses and control signals ready at that speed, relative to the speed of the game system bus. I expected it to be good enough for NES, 2600, etc and most likely SNES but definitely not good enough for neogeo since those carts are obnoxious. Each adapter would have some kind of CPLD/small FPGA in it to do the demultiplexing and remultiplexing to poke the data through the interface.

 

I definitely plan on running the game on the carts directly, and I do not want to merely dump/run them like a retron 5.

 

Like most things I do, the physical parts are going to be the difficult ones probably for this; specifically what kind of enclosure to use. I will most likely be using laser cut acrylic for the cart adapters if I do them simply due to the low volume. Injection molding doesn't make sense unless there's thousands of units made. I suspect the number of people who want an Arcadia 2001 cart adapter can be counted on one hand so it's not viable to do it any other way.

 

Originally I was thinking of making an obnoxious cart board with say 16+ cartridge ports, one for each system, and then have buttons to select one of the ports to use but I think that'd be really silly and wouldn't be terribly practical. Again, just about anything is possible, but I have to whittle it down to what's practical.

Link to comment
Share on other sites

Originally I was thinking of making an obnoxious cart board with say 16+ cartridge ports, one for each system, and then have buttons to select one of the ports to use but I think that'd be really silly and wouldn't be terribly practical. Again, just about anything is possible, but I have to whittle it down to what's practical.

 

I would pay for that.

 

About to frame your proto PCB with some stand-offs in a shadow box, thanks again for sending that to me, I know people like to bicker about what is art and what isn't. Not important to me. :cool:

Link to comment
Share on other sites

Originally I was thinking of making an obnoxious cart board with say 16+ cartridge ports, one for each system, and then have buttons to select one of the ports to use but I think that'd be really silly and wouldn't be terribly practical. Again, just about anything is possible, but I have to whittle it down to what's practical.

For whatever reason, I was picturing something like that, but with individual modular units daisy-chained through each other out the side. That'd get equally silly (and probably fragile) after only a couple of them, though.

 

At one point in the distant past, I considered building myself (out of destroyed clone systems) a vertical stacking system with the video/power/controller being handled by the bottom unit and the carts slotting horizontally into re-cased systems stacking vertically on top of it.

Edited by Reaperman
Link to comment
Share on other sites

Like most things I do, the physical parts are going to be the difficult ones probably for this; specifically what kind of enclosure to use. I will most likely be using laser cut acrylic for the cart adapters if I do them simply due to the low volume. Injection molding doesn't make sense unless there's thousands of units made. I suspect the number of people who want an Arcadia 2001 cart adapter can be counted on one hand so it's not viable to do it any other way.

Okay, and do you see a technical problem with the one-size-fits-all enclosure solution I suggested in post #140?

 

The eventual Kickstarter campaign will demonstrate the true desirability factor of the Zimba 3000 (well beyond the enthusiastic people on this forum who I believe only represent a subset of your entire target audience) but I find it easy to believe that you will get at least 1000 buyers for the Zimba 3000. Accurate cores combined with HDMI output, SD card support and cartridge adaptors is a highly potent combination that will inevitably draw a lot of mainstream attention. The actual response on Kickstarter may surprise you, but it certainly won't surprise me. And then you'll see what the actual demand is for cartridge adaptors.

 

Originally I was thinking of making an obnoxious cart board with say 16+ cartridge ports, one for each system, and then have buttons to select one of the ports to use but I think that'd be really silly and wouldn't be terribly practical. Again, just about anything is possible, but I have to whittle it down to what's practical.

A device with such a high number of ports would be too bulky, and most of the cartridge ports would remain unused. But something to consider would be triple-port adaptors. For example:

 

1) Atari 2600 + Atari 5200 + Atari 7800

2) ColecoVision + Intellivision + Vectrex

3) Sega Master System + Game Gear + Genesis

4) NES + Game Boy / Game Boy Color + Super-NES

 

But I still say you should do an individual adaptor for each cartridge type, and use the same one-size-fits-all enclosure for all of them. Then you could do a low run of Arcadia 2001 adaptors, or Fairchild Channel F adaptors (sold at a higher price, of course, but well worth it for those who actually own cartridges for such systems) in addition to japanese cart adaptors (Famicom, SG-1000, Super A'can, etc.) which would also probably sell in low numbers in America, but since the electronics of such adaptors would be trivial to design and manufacture, you could produce them on demand rather easely. And don't forget about the crazy collectors who will want to buy ALL the cartridge adaptors just to satisfy their wild completist instinct.

 

I should remind you that you did vow to do all kinds of computer cores (Commodore 64, Atari 8-bit computers, etc., etc.) and many of those have cartridge ports. All the more reason to produce even more cartridge adaptors in the future. And again, a one-size-fits-all enclosure would be the winning solution here. :)

 

Food for thought, I would think...

Link to comment
Share on other sites

One thing I thought was pretty cool that was thrown about during the whole RGVS fiasco was the suggestion that the cartridge adapters had the FPGA bitstream stored on them. It would be nice if you didn't have to program the Cyclone V with the "correct" image before inserting a cart! I'm assuming the MAX10 would be a 'static' design in that the same image worked with all Cyclone V images?

 

Of course that raises a few other practicality issues; obviously you still need to be able to configure the Cyclone V for designs that don't have/require a cartridge adapter, and you need some way of updating the bitstream on the adapter should a new version be released. However I don't think they're major issues.

 

Opinions?

Link to comment
Share on other sites

Or have the cartridge adapter simply convey a number like 1-32 to the main unit. And when it says "7", the main unit loads core #7, which would be the Arcadia 2001.

 

This would allow for keeping the cores on SD and updatable. It would allow for cheaper adapter manufacture, no need for a storage chip. And it deals away with having to provide an adapter that is updatable.

  • Like 2
Link to comment
Share on other sites

One thing I thought was pretty cool that was thrown about during the whole RGVS fiasco was the suggestion that the cartridge adapters had the FPGA bitstream stored on them. It would be nice if you didn't have to program the Cyclone V with the "correct" image before inserting a cart! I'm assuming the MAX10 would be a 'static' design in that the same image worked with all Cyclone V images?

 

Of course that raises a few other practicality issues; obviously you still need to be able to configure the Cyclone V for designs that don't have/require a cartridge adapter, and you need some way of updating the bitstream on the adapter should a new version be released. However I don't think they're major issues.

 

Opinions?

 

I am going to have the bit stream loading all automatic and behind the scenes. To the user, everything will "just work" . The MAX10 will have a fixed bitstream, but it will be updateable in the field via the SD card in case there's some kind of bugs to fix or features to add. The PIC32 will probably be updateable via SD card also.

  • Like 2
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...