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

 

watch the video from 4:55 to 6:40. He first shows CGA graphics on an LCD and compares them to EGA. EGA looks pretty good and CGA looks crap, it's basically shades of pink. Then he takes out another computer and shows CGA via composite output and it looks just as good as EGA did, with the same colors as EGA had on that other computer. So basically, CGA has to be played via component to be enjoyable. Using it with RGBI (which is a digital 1 bit per channel version of RGB explained in another part of the video) really makes it look crap because it's missing the smoothing that component provided due to limited signal bandwidth and crt smearing.

 

https://youtu.be/niKblgZupOc?t=295

But this CGA stuff would probably be most beneficial for computer cores. Yeah, I would really like to see a DOS core in the future:

 

https://www.youtube.com/watch?v=6s73LzJVA5o

 

Cheater, I actually thought that you would comment on my ideas regarding the ethernet port on the Zimba 3000. Nobody's interested in multiplayer and achievement support?

Edited by retro_fan
Link to comment
Share on other sites

The UltraHDMI with the latest FW (v1.05) can produce a nice 1080p scanlined image (Integer+ with Hybrid scanlines). The on screen area of a pixel appears in part to be a function of its intensity, rather than a fixed/simple scanline "overlay". It would be nice if other devices could do this!

Yep I mentioned that in one of my posts as well. Makes a big difference

  • Like 1
Link to comment
Share on other sites

But this CGA stuff would probably be most beneficial for computer cores. Yeah, I would really like to see a DOS core in the future:

 

https://www.youtube.com/watch?v=6s73LzJVA5o

 

Cheater, I actually thought that you would comment on my ideas regarding the ethernet port on the Zimba 3000. Nobody's interested in multiplayer and achievement support?

I have :) i said homebrews are starting to add internet support and it would be great to have a pinout that you could connect an ethernet port to, but it wouldn't make sense to put it in the BOM for most people. Alternatively an expansion would be cool :)

Link to comment
Share on other sites

Am I the only person thinking that in consoles newer than the Genesis there shouldn't be a reason to do an fpga impl of the cpu, but instead use a way to run the code as fast as possible, maybe on a traditional cpu? Even on the Genesis, overclocking the cpu just makes games smoother, there are no timing issues. That's because that cpu runs stuff asynchronously to display and audio code which is where timings have to be most accurate.

Link to comment
Share on other sites

The overclock mod would work seemless on Genesis over FPGA or any console with separate clocks for CPU and GPU. Not sure about SNES since it appears the CPU is locked to 3.58Mhz (exactly twice the NES clock speed and equal to the colorburst clock).

 

Overclocking can cause other weirdness in certain scenarios. For instance, with cutscenes on the N64, some events can be tied either to the CPU or GPU clock. The audio is independent of the CPU/GPU so with an overclocked N64, some of the cutscenes I think in Goldeneye and Perfect Dark, the video buffer played out too fast causing the audio to lag behind. When the scene breaks, what remained of the previous speech got cut off.

 

IMO overclocking has the most benefit with bit era games when too much sprite activity is onscreen at once and the CPU cannot keep up. If the CPU is still not finished calculating/updating the positions of all the sprite data to the GPU when V-blank occurs, the entire screen is rerendered causing stutter. Because the sprite based systems update once per frame, this essentially locks the framerate to 30Hz momentarily, until sprite clutter onscreeen is such that the CPU has time to finish all calculations within one scan. If the CPU is using 20% of the next fame to finish calculation, this still results in 30Hz framerate, not 50 or 48 or whatever. So even a modest overclock can make slowdown events significantly rarer, to the point where they disappear in some games.

 

With 3D game systems, the GPU takes over a large chunk of the calculations, so if there's too many polys for the GPU to compute n one frame, the CPU can continue to execute physics every frame, while the GPU dips below 60Hz threshold. This results not in the game slowing down but some frames getting skipped. Generally it doesn't get choppy and unplayable until the framerate dips well below 30Hz. If the GPU is bogging out the system in a particular game, a CPU bump likely won't help much.

  • Like 1
Link to comment
Share on other sites

The overclock mod would work seemless on Genesis over FPGA or any console with separate clocks for CPU and GPU. Not sure about SNES since it appears the CPU is locked to 3.58Mhz (exactly twice the NES clock speed and equal to the colorburst clock).

 

Overclocking can cause other weirdness in certain scenarios. For instance, with cutscenes on the N64, some events can be tied either to the CPU or GPU clock. The audio is independent of the CPU/GPU so with an overclocked N64, some of the cutscenes I think in Goldeneye and Perfect Dark, the video buffer played out too fast causing the audio to lag behind. When the scene breaks, what remained of the previous speech got cut off.

 

IMO overclocking has the most benefit with bit era games when too much sprite activity is onscreen at once and the CPU cannot keep up. If the CPU is still not finished calculating/updating the positions of all the sprite data to the GPU when V-blank occurs, the entire screen is rerendered causing stutter. Because the sprite based systems update once per frame, this essentially locks the framerate to 30Hz momentarily, until sprite clutter onscreeen is such that the CPU has time to finish all calculations within one scan. If the CPU is using 20% of the next fame to finish calculation, this still results in 30Hz framerate, not 50 or 48 or whatever. So even a modest overclock can make slowdown events significantly rarer, to the point where they disappear in some games.

 

With 3D game systems, the GPU takes over a large chunk of the calculations, so if there's too many polys for the GPU to compute n one frame, the CPU can continue to execute physics every frame, while the GPU dips below 60Hz threshold. This results not in the game slowing down but some frames getting skipped. Generally it doesn't get choppy and unplayable until the framerate dips well below 30Hz. If the GPU is bogging out the system in a particular game, a CPU bump likely won't help much.

 

Sure, in the case that the console actually has a separate GPU that can be overclocked too.

 

Yes, you can overclock a CPU implemented in an FPGA. That's not really overclocking, you just run it at a higher speed (which the FPGA still supports, but the original CPU wouldn't have). The idea behind FPGA simulation though is to keep timings as tight as possible, keep delays down at a minimum, etc. This is null and void for situations where CPU and GPU run asynchronously like what you described. So the reason to use an FPGA is void. What I was saying was that at this point you might start using a normal cpu, which will perform much better than an FPGA.

Link to comment
Share on other sites

 

Sure, in the case that the console actually has a separate GPU that can be overclocked too.

 

Yes, you can overclock a CPU implemented in an FPGA. That's not really overclocking, you just run it at a higher speed (which the FPGA still supports, but the original CPU wouldn't have). The idea behind FPGA simulation though is to keep timings as tight as possible, keep delays down at a minimum, etc. This is null and void for situations where CPU and GPU run asynchronously like what you described. So the reason to use an FPGA is void. What I was saying was that at this point you might start using a normal cpu, which will perform much better than an FPGA.

The FPGA can lock to original timings for authenticity, but also the fact it's reconfigurable on the fly means people can mod the hell out of it. So you get the best of both worlds, a 100% authentic experience, or th ability to finely tweak the system into the sweet spot, or push the clocks to Ludicrous Speed until the game glitches out. Want see how the NES plays with the CPU 4x overclocked to 7.16 Mhz? No problem! :grin:

Link to comment
Share on other sites

I disagree - a CPU is just as "reconfigurable" as an FPGA for our purposes. We're talking about having something like an ARM and emulating whatever other CPU on top of it. I bet it'll still be faster than an FPGA could manage with the original CPU implemented in Verilog.

Link to comment
Share on other sites

Think of my screenshot mockups as a "best case" senario.

 

Oh man. I just got my first 1080p monitor, and I shyt you not, it IS like your best case scenario!

I've tested another 1080p monitor as well, and that one didn't look good. Lines looked uneven.

But in my ASUS 1080p one, it looks perfect. I took a photo, though it's not the best, it should give you an idea.

 

https://s5.postimg.org/ukhlx4vpj/IMG_5833.png

  • Like 1
Link to comment
Share on other sites

 

Oh man. I just got my first 1080p monitor, and I shyt you not, it IS like your best case scenario!

I've tested another 1080p monitor as well, and that one didn't look good. Lines looked uneven.

But in my ASUS 1080p one, it looks perfect. I took a photo, though it's not the best, it should give you an idea.

 

https://s5.postimg.org/ukhlx4vpj/IMG_5833.png

Mine primary gaming monitor is an ASUS 23" so that's excellent news! :D

 

Also what game screenshot is that?

Link to comment
Share on other sites

I disagree - a CPU is just as "reconfigurable" as an FPGA for our purposes. We're talking about having something like an ARM and emulating whatever other CPU on top of it. I bet it'll still be faster than an FPGA could manage with the original CPU implemented in Verilog.

A CPU is not reconfigurable on the gate level. You obviously have no clue what an FPGA is and are just spouting nonsense at this point.

  • Like 1
Link to comment
Share on other sites

A CPU is not reconfigurable on the gate level. You obviously have no clue what an FPGA is and are just spouting nonsense at this point.

Why are you being hostile? Obviously the point was that a cpu can emulate many things just as well as an fpga and better if ns level timing is not necessary. Oh btw, I've been doing electronics for over 20 years, I'm a professional programmer, and I've used fpgas in projects. Maybe next time consider disagreeing /politely/? Sheesh...

Link to comment
Share on other sites

Sorry, didn't mean to be hostile; it's just that your continued stance that CPU emulation is vastly superior simply because the tech is more mature. FPGAs have potential to simulate hardware down to the gate level and interface with hardware in realtime, something that even a ten Gigahertz ARM or x86 CPU probably couldn't pull off.

Link to comment
Share on other sites

Is there any Photos of how the Zimba 3K looks like now?

 

So far we've only seen someone who won the first completed test build in a contest.

 

Zimba_3000.jpg

 

JK, I made this myself and kept it for the day when it can be preordered, but since you asked... :P

Edited by veelk55
  • Like 2
Link to comment
Share on other sites

 

So far we've only seen someone who won the first completed test build in a contest.

 

Zimba_3000.jpg

 

JK, I made this myself and kept it for the day when it can be preordered, but since you asked... :P

that box art is hilarious!

 

 

I am still slowly plugging away here at things. I have been working on an LCD interface doodad and have gotten some of the cores working on it, which means I could theoretically release some kind of portable system with an FPGA on it. Was thinking of doing a small video on it soon to show what I have.

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