UltraFP64: The N64 FPGA Project is becoming a reality.

Jayro

MediCat USB Dev
OP
Developer
Joined
Jul 23, 2012
Messages
10,079
Trophies
3
Location
WA State
Website
ko-fi.com
XP
10,824
Country
United States
MJSbVu9H_400x400.jpg

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!
 
Last edited by Jayro,

Bladexdsl

My posts...it's over 9000!!!
Member
Joined
Nov 17, 2008
Messages
19,709
Trophies
1
Location
Queensland
XP
8,986
Country
Australia
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?
 

IC_

Cossus cossus
Member
Joined
Aug 24, 2017
Messages
1,458
Trophies
1
Location
The Forest
XP
3,064
Country
Poland
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)
 
Joined
Mar 17, 2010
Messages
21,253
Trophies
3
Location
Space
XP
10,061
Country
Norway
He should team up with the Analogue guys. They could make something amazing together.
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.
 

Biduleman

Well-Known Member
Member
Joined
May 3, 2006
Messages
148
Trophies
0
Age
31
Location
Québec
Website
Visit site
XP
784
Country
Canada
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.
 
Last edited by Biduleman,
Joined
Mar 17, 2010
Messages
21,253
Trophies
3
Location
Space
XP
10,061
Country
Norway
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.
 
  • Like
Reactions: Jayro

Pickle_Rick

I'm a pickle Morty!
Member
Joined
Aug 28, 2017
Messages
628
Trophies
0
Age
25
Location
Garage
XP
1,002
Country
United States
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.
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

Well-Known Member
Member
Joined
May 3, 2006
Messages
148
Trophies
0
Age
31
Location
Québec
Website
Visit site
XP
784
Country
Canada
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.
 
Last edited by Biduleman,

stranno

Well-Known Member
Member
Joined
Feb 17, 2013
Messages
531
Trophies
0
XP
1,643
Country
Spain
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).
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    kenenthk @ kenenthk: MacMiller was better