Add an Overclock Option to Avoid Slowdowns

User avatar
mambrino
Posts: 21
Joined: Sun May 24, 2020 6:56 pm
Has thanked: 7 times
Been thanked: 2 times

Add an Overclock Option to Avoid Slowdowns

Unread post by mambrino »

Hi,

Would it be possible to overclock the core to avoid slowdowns in games like megaman, double dragon, gradius, blaster master, ...?
It would greatly improve the playability of these and other games.
ToothbrushThreepwood
Posts: 89
Joined: Sun May 24, 2020 8:39 pm
Has thanked: 30 times
Been thanked: 32 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by ToothbrushThreepwood »

Have you tried turning on the ‘Extra Sprites’ option in the Audio & Video-options from the OSD core menu?
User avatar
mambrino
Posts: 21
Joined: Sun May 24, 2020 6:56 pm
Has thanked: 7 times
Been thanked: 2 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by mambrino »

yes, I always have it on, I understand that it eliminates the flickering of the sprites when the limit is reached (8 sprites per scanline), I think it doesn't affect the speed of the cpu / ppu at all, and if it does, with this option active I still notice slowdowns in many games.
FPGA64
Top Contributor
Posts: 750
Joined: Mon Mar 01, 2021 3:10 pm
Has thanked: 44 times
Been thanked: 325 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by FPGA64 »

The FPGA is accurate. if the game slows down thats what happens on real Hardware. You cant just overclock one part of the system without it having a ripple in the other parts. FPGA run all the chips simultaneously, having one ruuning too fast will break the system.
User avatar
mambrino
Posts: 21
Joined: Sun May 24, 2020 6:56 pm
Has thanked: 7 times
Been thanked: 2 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by mambrino »

I understand it, but other cores like gba, megadrive, snes, and some arcades implement this functionality. It's true that some games don't work properly, but many others work without problem. I don't know if in these cases only the cpu or the rest of the system is overclocked, but for practical purposes it's functional and an improvement when playing these games. Also, it can be enabled or disabled from the menu, so it wouldn't affect compatibility.

imho, having a core that behaves exactly like the original machine is very interesting, but also having the possibility of going further and being able to overcome its limitations in favor of an improvement in the gameplay can be very useful too.
N.Master
Posts: 19
Joined: Wed Oct 13, 2021 11:47 am
Has thanked: 6 times
Been thanked: 5 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by N.Master »

Hi,
I am not expert in NES, but it seems that NES have all it's timing related to the main CPU.
That is the reason why NTSC and PAL NES have different working frequencies.
With an Overclocked CPU, video timings will no longer be accurate, and sound will be faster and higher pitched.
More modern systems have separated clock signals for sub systems, but the NES is very minimalistic
User avatar
darksakul
Posts: 352
Joined: Mon May 25, 2020 4:34 pm
Has thanked: 397 times
Been thanked: 73 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by darksakul »

Sometimes the slowdown is often bad coding in the game and not the hardware or emulation of the hardware.

Metal Slug on the Neo Geo as been found running on full speed with a rom hack
For the SNES (on original hardware it would be a hardware mod) look for the SA-1 Hacks various games. Hacking the game to support the SA-1 chip speeds up those games that have the hack drastically.

Problem with forcing a overclock often breaks the game
It is my great regret that we live in an age that is proud of machines that think and suspicious of people who try to.
User avatar
mambrino
Posts: 21
Joined: Sun May 24, 2020 6:56 pm
Has thanked: 7 times
Been thanked: 2 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by mambrino »

N.Master wrote: Wed Oct 13, 2021 11:51 am Hi,
I am not expert in NES, but it seems that NES have all it's timing related to the main CPU.
That is the reason why NTSC and PAL NES have different working frequencies.
With an Overclocked CPU, video timings will no longer be accurate, and sound will be faster and higher pitched.
More modern systems have separated clock signals for sub systems, but the NES is very minimalistic
ppu runs at 3 times the cpu clock speed, and also shares the clock signal with the cpu, so yes, I hadn't thought about it but this could be a problem for overclocking. If that were not enough, the cpu also generates the sound, so as you say, increasing cpu speed, it will be faster and higher pitched.
I have proposed it in case someone comes up with an idea to do it, but I suppose that are inherent to the machine.
Larkhainan
Posts: 13
Joined: Wed Jul 14, 2021 4:52 pm
Has thanked: 4 times
Been thanked: 3 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by Larkhainan »

It's a shame the good explanation for why this doesn't seem like a good option got buried in having a normal one :/
Xbytez
Site Admin
Posts: 469
Joined: Wed May 20, 2020 3:36 pm
Has thanked: 214 times
Been thanked: 787 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by Xbytez »

I have cleaned up and removed a number of posts in this thread, discussion is fine, however personal attacks towards other forum members is unacceptable behaviour and will not be tolerated here at all.
User avatar
MottZilla
Posts: 43
Joined: Mon May 25, 2020 6:36 am
Has thanked: 1 time
Been thanked: 5 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by MottZilla »

If you overclock the NES it will break certain games. However many games are actually very tolerant of incorrect timing. In one of the NES emulators I programmed I overclocked the system by changing the Clock Ratio between the CPU and PPU. But as previously mentioned you need the APU/Sound component to still run at its normal speed or else the pitch would change. But it is possible to overclock the NES and benefit some games. Having such an option enabled though would absolutely break others. Battletoads is one such game that with incorrect timing is known to deadlock in the 2nd level.

Implementing a feature like this in hardware is certainly more complex than in a software emulator. It would be a cool feature to see. Although are there really that many games with significant slowdowns? It's been awhile so I don't recall which were the worst.
ExCyber
Posts: 217
Joined: Sun May 24, 2020 3:33 pm
Has thanked: 11 times
Been thanked: 66 times

Re: Add an Overclock Option to Avoid Slowdowns

Unread post by ExCyber »

The SNES core's turbo mode switches back to stock speed for some number of cycles after a register access, the idea presumably being that only loops that are purely in RAM/ROM can be accelerated without significant side effects. I assume that accounts for some of its compatibility.
Post Reply