anyone making a fpga snes with hdmi?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
anyone making a fpga snes with hdmi?
by on (#186198)
anyone making a fpga snes with hdmi?
Re: anyone making a fpga snes with hdmi?
by on (#186201)
VeriSNES appears to be the most promising project.
Re: anyone making a fpga snes with hdmi?
by on (#186246)
VeriSNES shows promise in this regard, however keep in mind that:

1. The way the FPGA NES projects work are not 100% accurate (tiny underclock by 0.164167% (60.098 to 60)) for speed to avoid creating latency in upscale, this may also be true for SNES

2. The SNES interfaces are 5V, while FPGA's are not, thus level shifters are required on the cartridge interface, controllers and expansion interface (if a real expansion device is used.) So it is not known yet if it will work with expansion-chip games.

3. When paired with a SD2SNES, there's not yet a way to pass digital audio through the FPGA to avoid having to add an ADC. For things like the Super Gameboy and various "run X console games on your SNES" add-ons that ADC would still need to be present. The easiest solution, really, is for the SD2SNES to identify that it is running on VeriSNES and somehow pass the audio digitally when audio is being generated on the chip (MSU-1) instead of in Analog form. This would require that both projects collaborate. An alternate option is to simply implement the SD2SNES in the same FPGA, though at that point, may as well just tick every line on the wishlist and pick a FPGA capable of emulating the SA-1 as well.


The HDMI NES projects also picked as low-powered FPGA's as possible, and thus getting 1080p out of one project is impossible, while the other can do it, but costs twice as much. So this has some interesting implications for a SNES. If you want to support 720p only and no expansion-chip games, a much cheaper FPGA may be usable. But if you want to support expansion chips, and all resolutions (720p, 1080p, 2160p, 4320p, etc) without adding a lag-inducing framebuffer, a much more expensive FPGA would be required that has more block memory in the FPGA itself.

VeriSNES is being developed on a Terasic DE2-115 which costs around $600 (Cyclone IV FPGA with 114,480 Logic Elements and 3.9Mbits of RAM), someone who previously used the exact same board http://pgate1.at-ninja.jp/SNES_on_FPGA/rpt_DE2-115.htm fit the SNES into 28,417 LE's and 2,141,376 bits of Memory. But this doesn't include creating a HDMI interface.

The EP4CE115F29C7 alone costs 426.70 each, and are no longer stocked by various electronics places. The minimum FPGA that would fit the SNES as per that fitting report without taking into account the extra needed HDMI interface is EP4CE55F23C8N (Cyclone IV E) which costs $115.40

So minimally, it is looking like 115.40 a FPGA to emulate the SNES chips. Assuming you could acquire the controller ports and shielded cartridge interface cheaply. The OSCC (aka x-RGB) uses a EP4CE55F23C8N (15408 LE, 516096 Bits RAM) which costs 23.14. So it's likely this can all be done in the same FPGA. You still need chips for firmware to load the FPGA.
Re: anyone making a fpga snes with hdmi?
by on (#188456)
what's in accurate with the fpga nes exactly?
Re: anyone making a fpga snes with hdmi?
by on (#188548)
supermario4 wrote:
what's in accurate with the fpga nes exactly?

See viewtopic.php?p=136413#p136413 about the NES PPU underclock.

With a SNES, the same thing may be required as a real SNES outputs the same frequency on RGB output. You can read about issues involving RGB mods/line-doublers with the SNES due to this. The NES and SNES output 60.098 in NTSC when the correct frequency is 59.94 , this is just enough to break some capture equipment, and is a crap-shoot with flat-panel TV's. Computer monitors typically expect 60hz.

https://www.videogameperfection.com/201 ... r-verdict/
Quote:
SNES/Super Famicom – The SNES/Super Famicom is certainly the system that causes the most issues with the OSSC. On most TVs and every computer monitor we’ve tested so far, the image is great, with no noise whatsoever and just the tiniest hint of jitter if you really get your nose up against the screen. Unfortunately, on some TVs the system simply does not work and it’s impossible to get a stable picture. Marqs is still investigating some workarounds for this problem and hopefully they will be fixed in a future firmware.
Re: anyone making a fpga snes with hdmi?
by on (#188551)
Kismet wrote:
Computer monitors typically expect 60hz.
Pedantic moment:

Computer monitors are usually "multisync", even modern LCD ones, and can accept input any almost any arbitrary constant vsync rate.

It's when the monitor includes an analog NTSC sampler/upscaler that everything goes banana shaped, because those devices usually expect an exact 50, 59.94, or 60Hz vsync rate.
Re: anyone making a fpga snes with hdmi?
by on (#188558)
Kismet in simple terms what does the underclocked nes do to games exactly?
Re: anyone making a fpga snes with hdmi?
by on (#188561)
They run very, very slightly slower.
Re: anyone making a fpga snes with hdmi?
by on (#188605)
so not noticeable then?
Re: anyone making a fpga snes with hdmi?
by on (#188614)
Probably not, unless you're timing something specific with a clock. Like I think we're talking about losing a second every 20 minutes?
Re: anyone making a fpga snes with hdmi?
by on (#188627)
rainwarrior wrote:
Probably not, unless you're timing something specific with a clock. Like I think we're talking about losing a second every 20 minutes?

Assuming my math is correct, you'd lose 60 frames (1 second's worth) in about 10 mins and 12 seconds. It's a 0.16% difference.
Even still, Unless you're a speedrunner and every frame matters, or doing a side-by-side comparison, I doubt you could tell a difference.
Re: anyone making a fpga snes with hdmi?
by on (#188628)
tepples wrote:
VeriSNES appears to be the most promising project.

how long until it's works all games years,months etc?
Re: anyone making a fpga snes with hdmi?
by on (#188639)
lidnariq wrote:
Kismet wrote:
Computer monitors typically expect 60hz.
Pedantic moment:

Computer monitors are usually "multisync", even modern LCD ones, and can accept input any almost any arbitrary constant vsync rate.

It's when the monitor includes an analog NTSC sampler/upscaler that everything goes banana shaped, because those devices usually expect an exact 50, 59.94, or 60Hz vsync rate.


The typical upscaler (eg XRGB, OSSC) has problems with non-59.94, which tend to show up mostly in the NES/SNES. You're right though, the computer monitor typically has more tolerance, however if you read the specs for current models of monitors, they typically will only mention 60hz for DP or DVI/VGA, and only support 25,29.97,30,59.94 on HDMI since those are "TV" modes.

supermario4 wrote:
tepples wrote:
VeriSNES appears to be the most promising project.

how long until it's works all games years,months etc?


That's not a determinable answer as it's in development and currently:
- Still exists only on a development board, so we have no idea about it's ability to connect to HDMI since the development board only has VGA
- Currently doesn't have sprites, so right now you would only be able to fumble through a few games (eg Wolfenstien) that uses mostly BG modes.
- No idea right now if it can interface with a real cartridge, or expansion chip games

That's the gist of what I was able to read from VeriSNES's updates and the video's posted.

A "hardware" based emulation will be more accurate than a software emulator, but even then there are compromises that need to be made to make it work with HDMI, expansion chips, and expansion devices. I don't expect someone to just grab the Verilog files and turn around and start selling $200 SNES clones, because there is not a large market for that, (a working "clean" SNES goes for $80 on eBay, a broken one for parts goes for $30.)

However I do expect that eventually (maybe 4 years out from now) some kind of "universal console platform" will be designed that would let you connect original cartridges and controllers to new "base units" that would let you emulate any 8 or 16 bit console/computer that ever existed. Single-machine FPGA units are too expensive just to emulate one machine. There are current attempts right now for computers and arcade machines, but they largely rely on old-stock parts (which is how the Analogue NT started) instead of emulating all the chips. Eventually they will all realize that a common FPGA platform would bring down the unit cost on the FPGA.
Re: anyone making a fpga snes with hdmi?
by on (#188640)
Kismet wrote:
lidnariq wrote:
Kismet wrote:
Computer monitors typically expect 60hz.
Pedantic moment:

Computer monitors are usually "multisync", even modern LCD ones, and can accept input any almost any arbitrary constant vsync rate.

It's when the monitor includes an analog NTSC sampler/upscaler that everything goes banana shaped, because those devices usually expect an exact 50, 59.94, or 60Hz vsync rate.


The typical upscaler (eg XRGB, OSSC) has problems with non-59.94, which tend to show up mostly in the NES/SNES. You're right though, the computer monitor typically has more tolerance, however if you read the specs for current models of monitors, they typically will only mention 60hz for DP or DVI/VGA, and only support 25,29.97,30,59.94 on HDMI since those are "TV" modes.

supermario4 wrote:
tepples wrote:
VeriSNES appears to be the most promising project.

how long until it's works all games years,months etc?


That's not a determinable answer as it's in development and currently:
- Still exists only on a development board, so we have no idea about it's ability to connect to HDMI since the development board only has VGA
- Currently doesn't have sprites, so right now you would only be able to fumble through a few games (eg Wolfenstien) that uses mostly BG modes.
- No idea right now if it can interface with a real cartridge, or expansion chip games

That's the gist of what I was able to read from VeriSNES's updates and the video's posted.

A "hardware" based emulation will be more accurate than a software emulator, but even then there are compromises that need to be made to make it work with HDMI, expansion chips, and expansion devices. I don't expect someone to just grab the Verilog files and turn around and start selling $200 SNES clones, because there is not a large market for that, (a working "clean" SNES goes for $80 on eBay, a broken one for parts goes for $30.)

However I do expect that eventually (maybe 4 years out from now) some kind of "universal console platform" will be designed that would let you connect original cartridges and controllers to new "base units" that would let you emulate any 8 or 16 bit console/computer that ever existed. Single-machine FPGA units are too expensive just to emulate one machine. There are current attempts right now for computers and arcade machines, but they largely rely on old-stock parts (which is how the Analogue NT started) instead of emulating all the chips. Eventually they will all realize that a common FPGA platform would bring down the unit cost on the FPGA.


but the avs exists so how's it not possible to have it as a product then?
Re: anyone making a fpga snes with hdmi?
by on (#188645)
For one thing, there's far less logic in an NES CPU and PPU than in a Super NES S-CPU, S-PPU1, S-PPU2, S-SMP, and S-DSP. This means it can all fit in a less expensive FPGA.

For another, the NES CPU and PPU have been decapped, delayered, photographed, and simulated, allowing white-box testing of low-level details. See "Visual 2A03" and "Visual 2C02". The Super NES custom parts have not yet.
Re: anyone making a fpga snes with hdmi?
by on (#188647)
supermario4 wrote:
but the avs exists so how's it not possible to have it as a product then?


Look on eBay, people want between $90 and $160 for original model NES systems.

The AVS is $170 and only does 720p, the NT Mini is $450 and does 1080p

AVS: Xilnix Spartan 6 (about $18)
NT Mini: Altera Cyclone V (about $50)

The NT Mini also has two simultaneous outputs, HDMI and RGB/SCART/SVIDEO/Composite.

As I mentioned earlier for a FPGA-SNES, just the exact-same FGPA on the $600 development board is $426 alone. So we don't know what the minimum FPGA needed is yet. If we want a model that can just read a SD-card with games on it, that would require a much more expensive FPGA to emulate all the expansion chips. It's still too early to determine what can be built.

The people who built the AVS and the NT Mini are addressing the part of the gaming market that desires preserving the accuracy and ability to play the original cartridges. The NT Mini additionally has utility as a competitive gaming/streaming device due to having two outputs. Likewise it allows people to not have to risk losing/destroying their original NES.

I'm absolutely sure if the cost can be narrowed down, someone could kickstart a project to build a few prototypes using new-old-stock SNES parts, and an overpowered FPGA to leave some headroom for fixing bugs, and then when all the games have been tested a cheaper model could be built using the prototypes. But I don't expect a $200 FPGA-SNES.

We are getting too ahead of ourselves. It's very likely Nintendo will produce a "SNES classic" like they did with their NES classic, which are just software-emulators (like the Retron 5 or Retro Freak) and that may increase interest in playing SNES games authentically, or maybe people will just settle for the less-accurate-but-cheap product from Nintendo. A lot of interest in emulating the NES accurately is because the NES emulation on the Wii/WiiU color is actually poor on the TV (but OK on the WiiU controller.)
Re: anyone making a fpga snes with hdmi?
by on (#188840)
tepples wrote:
For one thing, there's far less logic in an NES CPU and PPU than in a Super NES S-CPU, S-PPU1, S-PPU2, S-SMP, and S-DSP. This means it can all fit in a less expensive FPGA.

For another, the NES CPU and PPU have been decapped, delayered, photographed, and simulated, allowing white-box testing of low-level details. See "Visual 2A03" and "Visual 2C02". The Super NES custom parts have not yet.


when will it be possible then?
Re: anyone making a fpga snes with hdmi?
by on (#188845)
Kismet wrote:
However I do expect that eventually (maybe 4 years out from now) some kind of "universal console platform" will be designed that would let you connect original cartridges and controllers to new "base units" that would let you emulate any 8 or 16 bit console/computer that ever existed. Single-machine FPGA units are too expensive just to emulate one machine. There are current attempts right now for computers and arcade machines, but they largely rely on old-stock parts (which is how the Analogue NT started) instead of emulating all the chips. Eventually they will all realize that a common FPGA platform would bring down the unit cost on the FPGA.

Let me introduce you the Zimba 3000 ! :D
Re: anyone making a fpga snes with hdmi?
by on (#188847)
supermario4 wrote:
when will it be possible then?

They day someone with those expensive tools and weeks/months of time decides to do so :P
Re: anyone making a fpga snes with hdmi?
by on (#188937)
calima wrote:
supermario4 wrote:
when will it be possible then?

They day someone with those expensive tools and weeks/months of time decides to do so :P


:(
Re: anyone making a fpga snes with hdmi?
by on (#188941)
The Analogue NT mini can't do HDMI and analog video at the same time.
Re: anyone making a fpga snes with hdmi?
by on (#189149)
It also notably outputs the native NES 60.08Hz over analog outputs, so the "inaccurate because 60Hz" isn't actually true. It's only doing 60Hz over HDMI.