Has anyone figured out how "count per op divider (overclock)" works?

This is a very recent addition in Mupen64plus-Next.

Supposedly, this is an overclock function. This is what i was told by the author when i asked for a proper overclock function like the one in PJ64 and Mupen 64 FZ. But other than that, there is no other information about it. No instructions on how to use it and if any of the other core options are needed to work along with it.

I tried to experiment with it a bit and while i managed to make Goldeneye run smoother for a while, it still slowdowns heavily in many scenes, unlike PJ64 where if you select a 3X overclocking factor (which means the CPU runs 3 times as fast as the real N64) the game runs at 60fps all the time.

Having a proper overclock function for N64 in RA was something i envied ever since it was added in PJ64 (where it works really well) but i don’t think this is nearly as functional. Unless i’m missing something but i can’t find any info.

1 Like

I see there isn’t much interest in the topic of N64 overclocking eh.

Goldeneye/PD at 60 fps in PJ64 is awesome btw.

I am Interested but I just would not know what Games that would get the Most of Overclocking

What games be worth trying it out outside of Goldeneye?

Perfect Dark, Conker, Jet Force Gemini…

Mostly stuff made by RARE i suppose. But there should be more games with unlocked frame rates, i need to look it up more.

2 Likes

This topic is a confusing mess.

There are 4, yes FOUR different settings in Mupen64plus-Next that are related to timing/speed.

You have the “Framerate” setting with “original” and “full speed” options.

You also have the "VI Refresh (overclock) setting with “1500”, “2200” and “Auto” options.

You have the “Count per OP” setting with 6 different options.

And the latest one “Count per OP divider (overclock)” that has 11 different options itself.

All of these have some small explanations when you select them, but those seem to target developers since i don’t think the average user knows what the “counter reg” or “override count per scanline” means.

I don’t know either and i also don’t know what does what and which setting affects the other. How does the Vi Refresh affect the Counter Divider option, for instance. From my testing i can’t figure out anything. It would be nice if someone who knows what all these things are and how they work would post an explanation.

2 Likes

I’ve wondered this before on some as well. Once upon a time I thought “Original” and “Fullspeed” was well… original framerate, and then full 60fps, but I guess not.

Wish I had any answers to give, but I’m not sure.

Spend some time today with all this mess ans i still can’t make Goldeneye run at 60fps all the time.

Most of the 11 different divider options don’t seem to have any difference between them. The best result i have reached so far is this: Goldeneye starts at 60fps as it should, but after i exit the first tunnel (to the open area where everyone shoots at you) it drops to almost the original frame rate (15-20fps).

I haven’t managed to get a better result, no matter the combinations of all the different options.

In comparison, on Pj64 all i have to do is choose to overclock the main CPU at “3x”. Which means, make the N64 3 times faster basically. This is enough to make games with unlocked frame rate run always at 60fps. I tested it and Goldeneye runs at 60fps all the time.

This is something that i can’t do in RetroArch :frowning:

I can only imagine playing on my phone Conker in Retroarch at 60 with a yummy shader combo :drooling_face:

Mupen64 FZ has a more sane overclock option, it’s similar to the one in PJ64 with 2x, 3x, etc options.

You might be able to achieve this with that emulator. I’m not sure because my phone isn’t powerful enough to test this. But you won’t be able to do this with RetroArch’s Mupen, no matter the device, that’s for sure.

I have found the count per op option to be very helpful for Mario 64 romhacks. For example, the romhack “Super Mario Odyssey 64” has severe slowdown in many sections at the default setting (count per op = 0). Changing it to 0.5 (=1/2) makes the game to run at fullspeed. I tried out other values below “1” aswell, e.g. the lowest value of 0.09 (=1/11) and the closest to 1, which is 0.83 (=5/6). They all result in fullspeed, I didn’t notice any difference. I wonder if there might be any downside in using the lowest value.

And recently I played the shindou version of Wave Race 64 that has bad slow-down in championship mode (some courses worse than others). In contrast, the US version is running perfectly with default settings. Lowering count per op to 0.09 (=1/11) fixes the slow-down issues of the shindou version. A value of 0.83 (=5/6) was not enough in this case, which means the lower the count per op value, the better the results for affected games.

3 Likes

How did you use in between numbers? I can only use"whole" numbers like “0”, “1”.

Sorry, can’t describe it more correctly in English.

That’s what the option “Count per Op Divider (Overlock)” does: it divides the upper “count per op” value, which can result in decimal numbers.

Example:

Count per Op = 1

Count per Op Divider = 2

result of the division = 1 : 2 = 0.5

1 Like

Though i said it before, this function isn’t really “overclock”. There isn’t a precentage of how faster the CPU will run like the overclock option in PJ64.

In PJ64 you can overclock the CPU using “2x”, “3x”, etc. The more you increase it, the faster the CPU gets. This way you can brute force a game like Goldeneye to run at 60fps, even at the slowest instances (like when you look at the frigate from it’s nose).

This is impossible using the counter op divider and i’m not sure why because i’m not sure how exactly it works. But i don’t see a difference between, say, 4 or 11 in Goldeneye (with counter Op: 1). It doesn’t really make the guest machine faster and it can’t brute force through the most intense scenarios. It does run at 60fps but drops to 30 or 20 in these instances, unlike PJ64 where it’s 60fps all the time at 3x or 4x.

Kinda disappointing because we know there’s not going to be a proper overclock option anymore in the future since this is supposedly what’s used for overclocking now.

I checked out GoldenEye on Project 64 (v3.1) with the glideN64 plugin and default settings, apart from setting the resolution to 240p. It does indeed run flawless @60fps without a single frame drop, that’s pretty cool. There is even no need for overclock, meaning there must be another setting or implementation that allows the game to run at fullspeed. The default settings of Goldeneye:

007

As you described, there are still frame drops in mupen64plus-next (GlideN64 RDP plugin) when using the lowest count per op (1/11). The first area of level 1 works pretty much fullspeed, but the 2nd area after the tunnel has a lot of fps drops. But once you clear all the enemies, performance is back to fullspeed. It would be really nice to see those project 64 performance improvements in the mupen64plus-next core.

I’m on an older version of PJ64 (2.4 something) so i don’t know why the game runs at 60fps for you without changing it’s settings. Normally it needs counter factor “1” and modifier “3” to be safe (“2” isn’t enough for the heaviest scenes, like after the tunnel).

Maybe there’s a default setting for all games and it’s changed there?

It appears to me that Mupen64plus-next can’t do more than the equivalent of “2x” in PJ64. The divider probably only works within those limits but the maximum you can “overclock” is 2x, which explains why the game runs at 60fps generally but drops in heavier scenes.

Hi GemaH, i’m trying to figure out how to use the overclock function in PJ64, but i’m coming up short. I’m playing Goldeneye and Perfect Dark for reference. Using a 3090 and a 8700K. What settings do I use to get a solid 60fps in PJ64 for these games? There’s not really any documentation for this feature in PJ64. Also, with the latest version of PJ64, I get a black screen in Goldeneye. I can hear everything fine, just can’t see.

Counter factor = 1

Overclock modifier = 3

Also, use GlideN64 as your graphics plugin.

That gives me constant 60fps on my i5 4670 + 1060 GPU.

Right on, thank you.