View Full Version : IS there a NES mod to reduce flicker?
Atari Scorpio
04-25-2006, 05:39 AM
Does anyone know of such a mod? I am mainly an Atari man, but have recently got back into NES collecting. I have always hated the NES flicker and was thinking if it may be possible to add more ram to reduce the flicker issues.
Thanks
jajaja
04-25-2006, 05:42 AM
Ive never noticed any flicker on NES. What do you mean?
Atari Scorpio
04-25-2006, 05:49 AM
On some games the sprites flicker when there are many sprites on screen at once. I believe this can be fixed by adding more ram.
jajaja
04-25-2006, 06:01 AM
Ah yes. I thought that was because of the programming. I know you can overclock the NES CPU, but im not sure you can add more RAM. Its possible of course, but i guess you must have very good knowledge about electronics and how the NES works.
Guide on how to overclock your NES CPU (http://www.epicgaming.us/nes_oc/howto.php) :)
DeuZZ
04-25-2006, 06:01 AM
Yeah, I've heard of someone who changed the cpu to make it more powerful so he could get past the falling rocks part of Ducktales without the NES lagging.
Do a search on the board, I'm quite sure someone made a thread about it.
CosmicMonkey
04-25-2006, 06:04 AM
But, other than finding compatible RAM, surely this wouldn't make any difference as the games were never programmed to run with more RAM and therefore can't 'see' it?
Same with the 128 Meg RAM upgrade on an Xbox: normal retail games don't use it, only Xbox Linux and XBMC can use it as they were programmed with the functionality.
jajaja
04-25-2006, 06:04 AM
Remember, if you overclock your NES the game and sound will be faster too. You just speed it up. You can make a switch also tho, described in the guide.
blue lander
04-25-2006, 08:15 AM
I doubt it's the amount of RAM, since that wouldn't make any sense. The NES can only display so many sprites on the screen at a time. If the game's programmers wanted to display more than that amount of sprites, they multiplexed them. Basically, they'd use the same sprite twice. Once the sprite was put on the screen, they'd quickly reassign that sprite to something else before the raster guns finished drawing the screen.
This works fine unless the sprites are all on the same horizontal line, or thereabouts. There wouldn't be time to reassign the sprite to the next object or whatever before the raster gun had already painted that part of the screen. So it'd have to wait until the next scan of the screen before it could be displayed, hence each of the multiplexed objects is only displayed every other frame, and hence the flicker. I can't think of any way to fix it other than redesigning the NES and reprogramming the games.
cyberfluxor
04-25-2006, 09:30 AM
I agree with blue lander. There might by some random chance be a mod to do it but the chances are SO slim either just deal with it or throw your system out the window. It won't fix anything but it may relieve some stress.
Atari Scorpio
04-25-2006, 10:15 AM
Thanks everyone. I'll just live with it since I have for 20 years!
rbudrick
04-25-2006, 10:21 AM
I doubt it's the amount of RAM, since that wouldn't make any sense. The NES can only display so many sprites on the screen at a time. If the game's programmers wanted to display more than that amount of sprites, they multiplexed them. Basically, they'd use the same sprite twice. Once the sprite was put on the screen, they'd quickly reassign that sprite to something else before the raster guns finished drawing the screen.
This works fine unless the sprites are all on the same horizontal line, or thereabouts. There wouldn't be time to reassign the sprite to the next object or whatever before the raster gun had already painted that part of the screen. So it'd have to wait until the next scan of the screen before it could be displayed, hence each of the multiplexed objects is only displayed every other frame, and hence the flicker. I can't think of any way to fix it other than redesigning the NES and reprogramming the games.
That is exactly right. The NES only allows a select amount of items on screen at once. More ram wouldn't matter. Ram only speeds up any given computer item when the machine's ram is full and must resort to using virtual memory (when the computer uses the slower hard disk as extra ram). So, if the game wasn't programmed to recognize more ram, it won't. On top of this, many mappers provided this extra ram specific to certain games, iirc.
An overclock may help, but not more ram.
-Rob
MichaeltheGreat
04-25-2006, 01:18 PM
Unfortunately, no matter whether you overclock or add whatever, you cannot get around the ppu's limitations. The snes's ppu is it's onboard "graphics card" in a sense. It can only display 8 sprites per scanline. Therefore if a game displays more than 8 sprites on a scanline, flicker will happen. Only a redesigned ppu could possibly fix the problem. The only real option to go flickerless is to use an emulator that has the option (or automatically does) display more sprites per scanline.
jajaja
04-25-2006, 01:57 PM
Unfortunately, no matter whether you overclock or add whatever, you cannot get around the ppu's limitations. The snes's ppu is it's onboard "graphics card" in a sense. It can only display 8 sprites per scanline. Therefore if a game displays more than 8 sprites on a scanline, flicker will happen. Only a redesigned ppu could possibly fix the problem. The only real option to go flickerless is to use an emulator that has the option (or automatically does) display more sprites per scanline.
I didnt know that, thanks for the info :) That explains the flickering on the Mega Man 3 boss menu.
Kitsune Sniper
04-25-2006, 02:08 PM
Some emulators, such as FCEUltra, allow you to get around the 8 sprite limit easily, but this can not be done on a real machine.
The only way would be to overclock the CPU, and that would possibly cause instability on certain games.
blue lander
04-25-2006, 03:09 PM
Overclocking the CPU wouldn't accomplish anything, the bottleneck would still be in the PPU. And even if you overclocked that, games are probably hardcoded to wait until the next frame to display the muliplexed sprite even if there was enough time. Unless it used interrupts to figure out when it wouldn't have enough time, that is. It may differ from game to game.
aaron7
04-26-2006, 12:36 PM
I doubt it's the amount of RAM, since that wouldn't make any sense. The NES can only display so many sprites on the screen at a time. If the game's programmers wanted to display more than that amount of sprites, they multiplexed them. Basically, they'd use the same sprite twice. Once the sprite was put on the screen, they'd quickly reassign that sprite to something else before the raster guns finished drawing the screen.
This works fine unless the sprites are all on the same horizontal line, or thereabouts. There wouldn't be time to reassign the sprite to the next object or whatever before the raster gun had already painted that part of the screen. So it'd have to wait until the next scan of the screen before it could be displayed, hence each of the multiplexed objects is only displayed every other frame, and hence the flicker. I can't think of any way to fix it other than redesigning the NES and reprogramming the games.
Wow, never knew why that happened! Very cool, thanks for the knowledge!
Jorpho
04-26-2006, 01:34 PM
It is also noted that the emulator option to display more than 8 sprites per scanline has been known to break some games. Bee 52 is frequently cited.