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

 

Not likely. The DOS version of DOOM you were lucky if you could play it on a 386. A Pentium implementation requires around 1 million logic elements (for a chip that has 3.1 million transistors) while a 386 has 275,000 transistors thus puts that around maybe 100K LE. The 8088 is 3X larger than the Z80/6502 that the NT Mini pulls off. That is for the CPU alone.

 

Like a 49K FPGA, at most is going to do 16-bit systems (eg 68K, 8086) easily. Anything more difficult requires a larger FPGA, and quickly goes out of the $300 price range for the FPGA alone. But then again emulating 386+ hardware in a FPGA is a bit ridiculous since you have to emulate multiple VGA/SVGA cards and sound cards to support "everything"

 

The Z3K I think should aim for 8/16-bit consoles(NES, SNES, Megadrive, etc) and computers (eg MSX, C64, Apple II, Tandy 1000, Amiga 500, Atari ST) but save trying to hit 32-bit systems until there are FPGA's large/fast/cheap enough. Like when people say "support N64, PS1, 3DO" etc those are systems that one person alone could probably spend years trying to reverse engineer. Like IMO FPGA's will likely be built into high-end desktop/servers sometime soon, and that will bring the cost of entry down. But that's not right now. It might be soon though: https://www.nextplatform.com/2016/03/14/intel-marrying-fpga-beefy-broadwell-open-compute-future/

 

The hybrid technology could have its advantages for retrogaming. Depending on how well the CPU and FPGA work together, you can have the CPU handle tasks which would be best suited to a high speed CPU like menus. loading ROMs, emulating optical disk drives, applying filters and perhaps even scaling while the FPGA's resources are maximized on recreating the original hardware logic.

  • Like 1
Link to comment
Share on other sites

I'm a noob when it comes to playing ROMs. I followed Kevtris' instructions on how to play ROMs on the mini, but everytime I try to load the ROM, it says file not found. Anyone know why this is happening? (I have only tried SMS and Colecovision, but both said file not found on every ROM I tried) I put them in the correct folders and unzipped them, but for some reason it won't let me play them. Any ideas or if someone could point me to a post that would give detailed instructions, I would appreciate it.

Edited by DaGoat33
Link to comment
Share on other sites

I'm a noob when it comes to playing ROMs. I followed Kevtris' instructions on how to play ROMs on the mini, but everytime I try to load the ROM, it says file not found. Anyone know why this is happening? (I have only tried SMS and Colecovision, but both said file not found on every ROM I tried) I put them in the correct folders and unzipped them, but for some reason it won't let me play them. Any help would be greatly appreciated.

It looks like you forgot to place the required bios files in the bios folder.

Link to comment
Share on other sites

The hybrid technology could have its advantages for retrogaming. Depending on how well the CPU and FPGA work together, you can have the CPU handle tasks which would be best suited to a high speed CPU like menus. loading ROMs, emulating optical disk drives, applying filters and perhaps even scaling while the FPGA's resources are maximized on recreating the original hardware logic.

 

Yes all that. But make that a triple-hybrid technology. Use the GPU to do the scaling and textured phosphor mask effects. It's closer to the final output stage. that's just one more balance-of-power scenario.

 

Anyways. Between an FPGA, CPU, GPU the ultimate hardware is there! So much powa' the new breed of emulators can comfortably target the low-end specifications and come out ahead with room to spare!

Link to comment
Share on other sites

I'm a noob when it comes to playing ROMs. I followed Kevtris' instructions on how to play ROMs on the mini, but everytime I try to load the ROM, it says file not found. Anyone know why this is happening? (I have only tried SMS and Colecovision, but both said file not found on every ROM I tried) I put them in the correct folders and unzipped them, but for some reason it won't let me play them. Any ideas or if someone could point me to a post that would give detailed instructions, I would appreciate it.

 

Check the readme file in the "Bios" Folder and the readme files in each of the console folders. Kevtris has some good information about the core, button mapping and certain games with issues in the specific core. There will also be valuable information about the required bios files and what to rename them. Good Luck!

Edited by Sneakyturtleegg
Link to comment
Share on other sites

 

Not likely. The DOS version of DOOM you were lucky if you could play it on a 386. A Pentium implementation requires around 1 million logic elements (for a chip that has 3.1 million transistors) while a 386 has 275,000 transistors thus puts that around maybe 100K LE. The 8088 is 3X larger than the Z80/6502 that the NT Mini pulls off. That is for the CPU alone.

 

Like a 49K FPGA, at most is going to do 16-bit systems (eg 68K, 8086) easily. Anything more difficult requires a larger FPGA, and quickly goes out of the $300 price range for the FPGA alone. But then again emulating 386+ hardware in a FPGA is a bit ridiculous since you have to emulate multiple VGA/SVGA cards and sound cards to support "everything"

 

The Z3K I think should aim for 8/16-bit consoles(NES, SNES, Megadrive, etc) and computers (eg MSX, C64, Apple II, Tandy 1000, Amiga 500, Atari ST) but save trying to hit 32-bit systems until there are FPGA's large/fast/cheap enough. Like when people say "support N64, PS1, 3DO" etc those are systems that one person alone could probably spend years trying to reverse engineer. Like IMO FPGA's will likely be built into high-end desktop/servers sometime soon, and that will bring the cost of entry down. But that's not right now. It might be soon though: https://www.nextplatform.com/2016/03/14/intel-marrying-fpga-beefy-broadwell-open-compute-future/

I'm pretty sure 20 years from now, even 6th gen hardware would be no sweat to run on an FPGA. The only bottleneck would be designing the cores! :grin:

Link to comment
Share on other sites

Removing 7 consoles from my setup, of which the NeoGeo alone costs like $600 and the ever drive is slated at around $500 for would more than justify a thousand dollar price tag for me. My main concern is the inferior storage capacity. 64gb maximum is simply not going to cut it for cd based systems. Hopefully I could get a 1tb sd card formatted in fat-32 somehow but if not it is going to require internal or external hard drive support or even flash drive support.

FAT32 supports up to 2Tb. You only need to use a 3rd format party utility other than Windows to format it. It's been a known issue for years ever since Windows XP, Microsoft has been forcing NTFS down people's throats, which is AFAIK the only reason the OS doesn't normally let you format a large hard drive using FAT32. 4Gb and larger filesize support isn't needed unless you plan on storing ISOs for 6th gen and up hardware based on DVD tech (starting with PS2/XB0, since Game Cube used minidiscs and Dreamcast used their own proprietary GD-ROM).

 

In Windows, you can also force format to FAT32 at the command line, but be weary of doing this. If you aren't careful, you might accidentally wipe the wrong drive... :o

Link to comment
Share on other sites

Is anyone having issues with Channel F games? I've got the Roms from the top 3 sites that I could find. I can only get a handful of games to load. I've tried the 3 different bios files too. I got a few more games to work that way, but a majority won't run. I suspect that there may be a bunch of bad dumps floating around and it isn't the fault of the core.

Link to comment
Share on other sites

FAT32 supports up to 2Tb. You only need to use a 3rd format party utility other than Windows to format it. It's been a known issue for years ever since Windows XP, Microsoft has been forcing NTFS down people's throats, which is AFAIK the only reason the OS doesn't normally let you format a large hard drive using FAT32. 4Gb and larger filesize support isn't needed unless you plan on storing ISOs for 6th gen and up hardware based on DVD tech (starting with PS2/XB0, since Game Cube used minidiscs and Dreamcast used their own proprietary GD-ROM).

 

In Windows, you can also force format to FAT32 at the command line, but be weary of doing this. If you aren't careful, you might accidentally wipe the wrong drive... :o

 

No the reason you're not supposed to use FAT32 is because it lacks journaling, so if you eject the disk or power it off while it's writing, you destroy the file. Since large files might be stored all over the drive once fragmented, you can't recover them easily. The journaling on exFAT and NTFS is supposed to solve this. You use FAT12/FAT16/FAT32 when you don't care about data integrity, and the larger the files get the more likely you're to damage a file somewhere where you don't notice it for a long time. Given this was an issue primarily with mechanical drives because of cache buffers would still be writing when ejected or powered down. SD cards on the other hand do not have buffers, so you're going to destroy actual blocks on the card if you eject it while it writes.

 

Anyway not to keep beating a dead horse, but none of this matters because the reason has more to do with patents than it does technical reasons. Hence 32GB is the safest you can have a SD card formatted at FAT32 and have everything be able to read it. SDXC and newer UHS-II cards require exFAT or they will not be read/writeable. That's the point. You can still format a USB drive to whatever you want, but the SD card reader might not be able to read it (indeed many SD/SDHC card readers will just see a SDXC card and say it's unformatted.) NTFS is not a viable format to use on removable storage, and the SD card people actually say not to reformat SD cards using the OS https://www.sdcard.org/downloads/formatter_4/ because it destroys the protected area.

Link to comment
Share on other sites

I'm pretty sure 20 years from now, even 6th gen hardware would be no sweat to run on an FPGA. The only bottleneck would be designing the cores! :grin:

 

I believe that for FPGA to really shine it will need to have cores written by a team. Not one single person. Emulator Mame and Emulator Stella are good examples of starting out as a 1-man endeavor. They then became much more sophisticated because of teamwork. But why stop there?

 

Triple-hybrid rigs are something that's on the horizon. Nothing fancy, but really quite potent. A CPU, GPU, and FPGA in one rig. CPU to handle the OS and outer housekeeping chores, and to manage and coordinate everything. GPU to handle the scaling and CRT effects. FPGA to get the timing right on the original hardware simulations.

 

No special hardware need be designed, no funky kickstarters required. It'll be standard fare on PCs in the next 2 years.

  • Like 2
Link to comment
Share on other sites

Is anyone having issues with Channel F games? I've got the Roms from the top 3 sites that I could find. I can only get a handful of games to load. I've tried the 3 different bios files too. I got a few more games to work that way, but a majority won't run. I suspect that there may be a bunch of bad dumps floating around and it isn't the fault of the core.

Eeyup

Same issue here

Link to comment
Share on other sites

 

No the reason you're not supposed to use FAT32 is because it lacks journaling, so if you eject the disk or power it off while it's writing, you destroy the file. Since large files might be stored all over the drive once fragmented, you can't recover them easily. The journaling on exFAT and NTFS is supposed to solve this. You use FAT12/FAT16/FAT32 when you don't care about data integrity, and the larger the files get the more likely you're to damage a file somewhere where you don't notice it for a long time. Given this was an issue primarily with mechanical drives because of cache buffers would still be writing when ejected or powered down. SD cards on the other hand do not have buffers, so you're going to destroy actual blocks on the card if you eject it while it writes.

 

Anyway not to keep beating a dead horse, but none of this matters because the reason has more to do with patents than it does technical reasons. Hence 32GB is the safest you can have a SD card formatted at FAT32 and have everything be able to read it. SDXC and newer UHS-II cards require exFAT or they will not be read/writeable. That's the point. You can still format a USB drive to whatever you want, but the SD card reader might not be able to read it (indeed many SD/SDHC card readers will just see a SDXC card and say it's unformatted.) NTFS is not a viable format to use on removable storage, and the SD card people actually say not to reformat SD cards using the OS https://www.sdcard.org/downloads/formatter_4/ because it destroys the protected area.

You are thinking commercial applications. For niche homebrew apps that don't require files bigger than 4Gb or redundancy, the vastly simpler and open source FAT32 applications are much preferable.

 

FAT32 will work on drives larger than 32Gb, and yes, you can format an SD card to FAT32, NTFS, any number of UNIX applications, and even have multiple partitions on the card, although many readers or OS might not see them. Take Raspberry Pi Linux (Raspbian) for example. So I don't think it's out of the question to request FAT32 formatting for SDXC support if the driver for reading back the contents of the card is limited by complexity and what's available for open source.

 

We are at a crossroads now where an entire ROM collection with NO_Intro sets for each supported system (especially with systems like N64, Neo Geo, or GBA are being considered fro future inclusion), that emulation boxes or custom homebrew FPGA projects might have a reason to include support for larger than 32Gb cards without being encumbered by unnecessary patent fees or the like.

 

So there are entirely situations that arise where it is desirable to FAT32 format a removable media to something larger than 32Gb. And the OS interprets the file system, not the external reader. Even the Niintendo 3DS / N3DS, essentially a commercial device, requires this work around to support cards larger than 32Gb using FAR32, since the reader is XC capable but the 3DS OS cannot parse the ExFAT filesystem, and a system update supporting this mode would require extensive patches and rewrites of every downloadable software title that uses the SD card, ie ain't gonna happen.

 

I kinda wish the official SD Formatter permitted FAT32 formats of XC cards specifically for these niche type applications, with a disclaimer that this would produce an out-of-spec card. It would require far less hoop jumping to perform in a Windows OS environment.

Link to comment
Share on other sites

Page 100. This has officially reached (Well, I'm decreeing it so.) Pretty Freaking Epic. And we haven't even gotten to the actual Zimba3K stage, yet and all of the excitement and hair-pulling that will likely ensue from that future release. ;) Good luck with your other projects, Kev - it's understandable that you're going to be busy for awhile, but your work on the NT Mini has been fab, so far and is a good holdover, for awhile. Far more than I'm going to be able to dig into and appreciate in the short-term, at any rate.

  • Like 1
Link to comment
Share on other sites

I have an idea.

There's been several people asking about Game Boy Advance support for the Z3K but it sounds like that's beyond the scope of the FPGA being used. I know a clone "GBA on a chip" style device is no replacement for an accurate core, but just hear me out..
The Retro Trio has a feature built into it's SNES circuitry that allows the Super Retro Advance adapter to send it's AV signal through the cartridge's pins and directly to the composite output on the system. The SRA doesn't interface with the system's PPU whatsoever and since the original SNES doesn't include this AV pass-through functionality it's necessary to connect a separate AV cable to the side of the SRA cartridge when using it with an SNES.
What I'm proposing here, is to consider including support for the SRA's video out through the Zimba 3000's SNES cartridge adapter. I know it seems weird to include a feature that the original SNES didn't have but I imagine it would cost next to nothing to implement and would add support for Game Boy Advance (using the SRA) without the need to plug in a separate AV cable and, although redundant, it would also work with the Retro-port and Retro-Gen adapters.
Thoughts?
Link to comment
Share on other sites

I started playing around with the NES Zapper games tonight. I tested using my Phillips CRT television with the NT Mini hooked up via composite, s-video and component at various points. The Zapper was plugged into the 2nd controller port and the control pad in the 1st port. The games were run off of a SD card on JB Firmware V1.9. NES core settings = controller mode set to standard. I tested almost all of the Zapper/Light Gun games that are in smokemonsters NES Rom set. Here is what I found:

 

Laser Invasion - Inconclusive. I didn't have the time/patience to play the game to the Zapper levels. If you go into options and practice, you need to set the control to Laser Scope (Not Zapper for some reason). Then go to practice - hits would register, but wen't very accurate.

Lone Ranger - Inconclusive. Again, I didn't have the time/patience to play the game to the Zapper levels. Also, I never played it before.

Track and Field II - I couldn't get the Zapper to register when training for the Clay Pigeon shooting event. I am assuming the Zapper is for this event.

*These three games aren't pure Zapper games.They are played with the control pad and have certain levels where the Zapper is optional.

 

Space Shadow - I could get the game to start. The game did register Zapper hits and I could shoot & kill the first monster. But after it was dead, the music continued to loop and the screen stayed in the same position. Control pad didn't work at all. Couldn't progress.

To The Earth - Couldn't get the Zapper to register hits or start the game. I did try switching ports with no luck.

 

Everything else in smokmonsters light gun folder seemed to work fine. Am I missing any Zapper games? If I am, let me know and I will test them. Anybody have the same issues I did? I will revisit the Lone Ranger and Laser Invasion when I have some time to invest.

Link to comment
Share on other sites

 

I have an idea.

 

There's been several people asking about Game Boy Advance support for the Z3K but it sounds like that's beyond the scope of the FPGA being used. I know a clone "GBA on a chip" style device is no replacement for an accurate core, but just hear me out..

The Retro Trio has a feature built into it's SNES circuitry that allows the Super Retro Advance adapter to send it's AV signal through the cartridge's pins and directly to the composite output on the system. The SRA doesn't interface with the system's PPU whatsoever and since the original SNES doesn't include this AV pass-through functionality it's necessary to connect a separate AV cable to the side of the SRA cartridge when using it with an SNES.
What I'm proposing here, is to consider including support for the SRA's video out through the Zimba 3000's SNES cartridge adapter. I know it seems weird to include a feature that the original SNES didn't have but I imagine it would cost next to nothing to implement and would add support for Game Boy Advance (using the SRA) without the need to plug in a separate AV cable and, although redundant, it would also work with the Retro-port and Retro-Gen adapters.
Thoughts?

 

You would get no access to HD video though. And honestly if the user wanted to play GBA through composite, they could use the original SRT. I have one, and it's one of the better clone products out there. The NES side has minor issues but the Genesis and SNES sides are flawless. Only issue with the GBA-on-a-chip thing is if you use a game that puts the system into sleep mode, it crashes with white screen. Heck it even works with the Shrek full length movies, though the compression is borderline unwatchable and plays at 12fps.

Link to comment
Share on other sites

@kevtris

 

 

Two questions:

 

What audio DAC will you use at Zimba 3000? Will be the same used at analogue nt mini? Or do you are using the FPGA for this?

 

Wich one in that case?: Texas Instruments, Cirrus Logic, Wolfson, ESS Sabre, ...

 

 

Could you think to implement serial I/O ports for Joysticks, MIDI, Mouse, etc... like MiST for Atari/Amiga clones?

 

 

Just curiosity :)

Edited by gulps
Link to comment
Share on other sites

 

The hybrid technology could have its advantages for retrogaming. Depending on how well the CPU and FPGA work together, you can have the CPU handle tasks which would be best suited to a high speed CPU like menus. loading ROMs, emulating optical disk drives, applying filters and perhaps even scaling while the FPGA's resources are maximized on recreating the original hardware logic.

Combining a CPU (and maybe even a GPU) with an FPGA is a really interesting idea. But is something like this even possible? Maybe kevtris could tell us more.

Link to comment
Share on other sites

Intel has been using the fpga portion of the their low end processors to complete the SoC (bus, timing, pci, webcam, and more) in netbooks for the past 3+ years.

 

Question is putting together a team that is fluent in x86, C++, and verilog. Whom all have interest in classic gaming and the desire to make such a system.

 

A more appropriate question is, is it cost-effective to do a project like that on a small scale right now? Because intel's roadmap shows this combination trickling down from data centers to the end consumer. Where the fpga would be exposed and come with its own API, unlike the netbooks which are rather closed off right now.

Link to comment
Share on other sites

Combining a CPU (and maybe even a GPU) with an FPGA is a really interesting idea. But is something like this even possible? Maybe kevtris could tell us more.

He might actually know a thing or two about that... There is an emulation station coming out soon that claims it is partially fpga based... makes me wonder what his current job could be...

Link to comment
Share on other sites

Been searching on the forum as well as in the thread, and I have not found an answer to my follow problem. Any help would be appreciated.

On a Jailbroken Nt mini I have an issue where the list of games for a particular core will be truncated and skip large swaths of titles. For instance, for the nes core I can see all the Games from #-F then it will skip to Y and continue until Z. So G-X are missing. This also happens with game boy and other cores as well, just with different sets of games missing.

 

The only thingIn the manual I could find that is vaguely related is there is a section dealing with long files names being "gracefully" truncated to 32 characters.

 

I have had this issue since I received my NT mini which was in early March '17. The only two firmware i've installed were 1.8 and 1.9

 

EDIT: I have an 8gb SD card formatted as fat32

 

Here are some of the solutions I have taken to unsuccessfully troubleshoot the problem.

Unzipped all the files (this is now i naturally keep my roms)

Added the roms in the 7z container.

Removed unusual characters: <>/\?()`'

I have also removed any double spaces

I have removed any non *.nes files such as txt files from the standard rom directory.

 

The only thing I can note is that my collection of roms are largest for the NES and GB.

 

If anybody had any ideas that would be awesome!

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