# UltraFP64: The N64 FPGA Project is becoming a reality.



## Jayro (Jul 8, 2020)

​An Australian electronics engineer who goes by UltraFP64 (@UFp64) on twitter, has been working on an impressive Nintendo 64 FPGA for quite some time, and is making incredible progress! He has a "Tasks Completed" site here: UltraFP64.com, and you can follow his twitter (https://mobile.twitter.com/UFp64) for more progress.

This is very exciting!


----------



## KiiWii (Jul 8, 2020)

I have been monitoring this, and I’m very excited to get my hands on one eventually


----------



## Bladexdsl (Jul 8, 2020)

website never loads. so he made an n64?


----------



## IC_ (Jul 8, 2020)

Is this done with the n64 source code and hardware specification leaks or is it legal reverse engineering?


----------



## MrCokeacola (Jul 8, 2020)

What advantages does this FPGA have over say a HDMI modded N64 and EverDrive. Which I could also afford.


----------



## Deleted User (Jul 8, 2020)

I´m also waiting for UltraFP64 to get completed!


----------



## Bladexdsl (Jul 8, 2020)

what the hell is FPGA (google useless also) why is this so important. it just looks like his made his own n64. in that case big deal?


----------



## KiiWii (Jul 8, 2020)

Bladexdsl said:


> what the hell is FPGA (google useless also) why is this so important. it just looks like his made his own n64. in that case big deal?


http://www.racketboy.com/retro/mister-fpga-the-future-of-retro-game-emulation-and-preservation


----------



## IC_ (Jul 8, 2020)

Bladexdsl said:


> what the hell is FPGA (google useless also) why is this so important. it just looks like his made his own n64. in that case big deal?


https://en.wikipedia.org/wiki/Field-programmable_gate_array
I guess the easy way to explain it is that it's a programmable integrated circuit so making the N64 on an FPGA will let you easily make changes to the N64 hardware so you can do things like high quality video mods and other things that wouldn't be possible on a normal N64 (and it's not emulation)


----------



## grey72 (Jul 8, 2020)

MrCokeacola said:


> What advantages does this FPGA have over say a HDMI modded N64 and EverDrive. Which I could also afford.


N64s are finite and can failing and new ones can't be made anymore. You could make infinite N64 FPGAs cuz its off-the-shelf components. And N64 emulation isn't perfect yet.


----------



## The Real Jdbye (Jul 8, 2020)

He should team up with the Analogue guys. They could make something amazing together.


MrCokeacola said:


> What advantages does this FPGA have over say a HDMI modded N64 and EverDrive. Which I could also afford.


For one it would be possible to disable the blur filter. The UltraHDMI does a pretty good at cancelling it out but still leaves behind some undesirable artifacting. Rendering natively at a higher resolution, or hi res texture packs on hardware would also be a possibility. Basically anything that can be done in an emulator can be done on a FPGA, if the FPGA is powerful enough. But better, as the basis would be a 1:1 accurate recreation which is just not possible in an emulator on even a high end PC. Just look at how demanding bsnes is.
In short, combining the best aspects of emulation and real hardware with the drawbacks of neither, if it's done right.


----------



## eyeliner (Jul 8, 2020)

So, it's basically a homemade N64?
Cool.


----------



## Biduleman (Jul 8, 2020)

Extrasklep said:


> https://en.wikipedia.org/wiki/Field-programmable_gate_array
> I guess the easy way to explain it is that it's a programmable integrated circuit so making the N64 on an FPGA will let you easily make changes to the N64 hardware so you can do things like high quality video mods and other things that wouldn't be possible on a normal N64 (and it's not emulation)


It's 100% emulation. You can argue it's hardware emulation instead of software emulation, but at the end of the day the FPGA must be programmed based on our understanding of the chips it's trying to emulate. You can't magically tell the FPGA to emulate a certain chip, you need to literally understand everything it does, program that in VHDL and then put that on the FPGA, having this chunk of code talk to the other chips you programmed in the same way as you understand the N64 to do.

If a chip isn't programmed correctly, isn't timed correctly or uses a "as good as I can" approach to to do whatever task then you're gonna face differences between the real system VS the FPGA.

If you have a cycle accurate emulator on an FPGA and on PC, there will be no difference in the emulation. The only differences will come from the input lag added by the OS or the display lag added by the OS or by the upscaling code on the FPGA. And in the spec required. Cycle accurate N64 emulation might not be realistic at the moment on PC while on a powerful enough FGPA it is.

We should also keep in mind that the board this is developed on is worth $480 USD.


----------



## Jayro (Aug 5, 2020)

This thing is gonna be worth every penny in my book, even if they rape us for $200 or more. I'll pay it, gladly.


----------



## The Real Jdbye (Aug 5, 2020)

If this will be able to load ROMs, I'm probably gonna get one. I almost splurged on the Super Nt but the N64 is the console I'm the most nostalgic for out of all of them. Zelda OoT and Banjo, Kazooie were amazing to me at the time and I have so many good memories from them.
Otherwise I'd have to splurge on an EverDrive as well, and it would probably get too expensive to justify it.


----------



## Pickle_Rick (Aug 5, 2020)

Biduleman said:


> It's 100% emulation. You can argue it's hardware emulation instead of software emulation, but at the end of the day the FPGA must be programmed based on our understanding of the chips it's trying to emulate. You can't magically tell the FPGA to emulate a certain chip, you need to literally understand everything it does, program that in VHDL and then put that on the FPGA, having this chunk of code talk to the other chips you programmed in the same way as you understand the N64 to do.
> 
> If a chip isn't programmed correctly, isn't timed correctly or uses a "as good as I can" approach to to do whatever task then you're gonna face differences between the real system VS the FPGA.
> 
> ...


While you're correct on the terms... I'd still say FPGA isn't emulation. Sure you have to program the core but once you load it the FPGA gates realign and basically become the chip you programmed. Assuming you programmed it right the electrons move through the chip exactly how they do on real hardware. It's 1:1. Also if you do make a mistake you can just update the core.


----------



## Biduleman (Aug 6, 2020)

Pickle_Rick said:


> While you're correct on the terms... I'd still say FPGA isn't emulation. Sure you have to program the core but once you load it the FPGA gates realign and basically become the chip you programmed. Assuming you programmed it right the electrons move through the chip exactly how they do on real hardware. It's 1:1. Also if you do make a mistake you can just update the core.


The problem is, you don't start from the schematic for the chips, you start from your understanding of the chip. If every FPGA cores were not emulation, then there would literally be no glitches not present in the original console.

And even then, it would still be emulation because your FPGA is not the real hardware, even if it's programmed to behave like it is. That's literally what emulation is.

Go read the issues for a core like the SNES one, which is VERY close to completion:

https://github.com/MiSTer-devel/SNES_MiSTer/issues

In issue #229 you can see that using the real clockspeed for their implementation of the CX4 chip literally breaks Rockman X2 attraction mode when set at the right speed, and slow down the game when set at a frequency that doesn't desync. In what universe is this "basically the chip you programmed"?

And when you check the other cores, you will see a lot of audio/video glitches being mentioned.

You can try to spin that however you like, using a FPGA to play a console IS emulation.


----------



## fille (Aug 6, 2020)

Fpga is programming hardware wise while emulation is software based.


----------



## Janimator0 (Jun 3, 2021)

Most important thing for me about FPGAs is NO LAG!!!!!


----------



## Deleted member 323844 (Jun 3, 2021)

IC_ said:


> https://en.wikipedia.org/wiki/Field-programmable_gate_array
> I guess the easy way to explain it is that it's a programmable integrated circuit so making the N64 on an FPGA will let you easily make changes to the N64 hardware so you can do things like high quality video mods and other things that wouldn't be possible on a normal N64 (and it's not emulation)


Sometimes FPGA solutions are not even as good as software emulation (BlastEm for example).


----------

