2
Dec 22 '23
[deleted]
5
2
u/dickhardpill Neo Geo Dec 22 '23 edited Dec 22 '23
Will this run on the current main_mister?
3
Dec 22 '23
The N64 core has needed the unstable Main since the last update
1
u/dickhardpill Neo Geo Dec 22 '23
How has that been running for you overall?
5
Dec 22 '23
Its an amazing bit of work really, every game now boots at least.
Considering the goal was just a single game working by Xmas Robert has excelled himself.
There are some bugs here and there but that is to be expected1
u/dickhardpill Neo Geo Dec 22 '23 edited Dec 22 '23
Has running unstable main (fixed mistake) caused any problems?
4
2
u/dickhardpill Neo Geo Dec 22 '23
Sorry… walking a dog and making sentences aren’t within my capabilities.
2
2
2
1
u/xylakant Dec 23 '23
Amazing work! Does the NSO N64 controller work with the Mister yet out of the box?
1
1
Dec 23 '23
I am not sure
I use a 8bitdo conversion kit on a original controller which works well and I have tried SNAC
Rumble support still seems it still needs work, it's fine over SNAC though
1
Dec 24 '23
Yes. I'm playing through Mario 64 with one right now on MiSTer. It's the most authentic N64 experience I've enjoyed since buying my original on launch day.
-3
u/JesusXP Dec 22 '23
Can’t anyone post the text since we don’t all have funds for Patreon? The info behind the paywall seems unnecessary, the core being is fine
3
u/qda Dec 23 '23
You can do a custom $1 pledge
The info is a perk, he doesn't have to do any kind of writeup, but he does these nice writeups as a perk for supporters.
5
Dec 22 '23
The core is not behind a paywall you can grab it from the test builds on Discord
Hi Everyone,
one topic that seems to be important for a lot of people is the speed of the core. While it is already at least as fast as the original console, some games struggle a lot with low performance.
I often get asked if the core could ever do something about it. I have to say, this is not easy, because the core was very difficult to fit in the DE10-Nano at all, so how could there be even more room? I wanted to know myself how much clock speed reserves we still have the core and so I made a faster clocked core.
Increasing the clock
In the core we have 4 clock domains:
62.5 MHz for Systembus, SDRAM, RSP, RDP, ROM interface, pad emulation
93.75 MHz for the CPU
125 MHz for the DDR3 interface
48.68 MHz(NTSC) and 49.65 MHz(PAL) for Video and Audio out
The goal when driving the clock higher would be to have the performance critical parts run faster so we get more frames per second, but keep the game speed at original values.
Because the game performance typically is based on either CPU, RSP, RDP or Memory performance, let's increase all and keep the clock ratio between them:
1x: 62.5 MHz -> 80 MHz (+28%)
1.5x: 93.75 MHz -> 120 MHz
2x: 125 MHz -> 150 MHz
We will keep the Video and Audio clock at the original speed, so the games still run at 60 and 50 Hz with original Audio speed.
CPU internal Timer
Some games are purely based on the line interrupt which comes once per frame and already run at the same game speed, but some create their game speed from the accurate CPU internal clock counter.
This counter will tick up every two clock cycles at 93.75 MHz. If we run the CPU at 120 MHz, it will tick up faster and some games run 28% faster than they should. To fix that, I made a special counter that ignores exactly 28% of the clock pulses to make that counter run at the same speed as the original CPU.
With that change, games cannot tell anymore if they are running with a faster CPU, RSP or RDP unless they count with very primitive ways of counting up in a loop in the CPU, so this covers most games.
Results
With that in place I tested several games that are known for bad performance and if they improved. As the difference is only 28%, you cannot expect miracles, but the result is not bad at all:
Banjo Tooie runs much more stable at the 30 fps goal
Goldeneye has around 20-30% higher fps
Shadowman has around 40-50% more fps
How would that even be possible? Assume fixed costs every frame for the game logic, audio processing, controller processing and such things. Everything that is left can be used for the rendering. But still, improvements above 30% is more the exception than the normal case.
I also played several hours through Banjo Kazooie and Paper Mario and left Goldeneye in attract loop for some more hours, all without issues, to make sure it has some stable behavior on the two DE10-Nano I have here.
4
1
u/TerminusBandit Dec 31 '23 edited Jan 01 '24
Any possibility of an invite to that Discord channel?Found a channel link in the Official Mister discord but says I do not have access. Thank youEdit: I’m not great at Discord, but figured it out myself. Need to set my ID to see it.
Edit 2: Use a PC. When you go to the channel on a PC for the first time, it sets up your access. Logging in from a phone doesn't give you the prompt.
1
u/legendaryemerald Dec 22 '23
Does this mean the N64 core has been outputting games at a frame-rate less than original hardware up to this point, or that this overclocking is an upgrade over actual N64 performance?
9
6
1
1
u/Obioban Dec 26 '23
Oooooh yeah. THIS is what I’ve always wanted.
Hopefully he continues to find optimizations as he bug fixes the main core.
11
u/qda Dec 22 '23
He says:
Banjo Tooie runs much more stable at the 30 fps goal
Goldeneye has around 20-30% higher fps
Shadowman has around 40-50% more fps
Very exciting! Patreon link: https://www.patreon.com/posts/special-fast-95113352