Hello everyone. So currently I have somewhat bare bones PPU implementation which parses pattern tables and nametables and displays them. I do this in a direct rendering mode - just scan the nametables, stitch the patterns and display everything. My goal is to emulate Donkey Kong at first. I do not care about scrolling and other stuff at the moment.
It works kinda well to display at least the title screen of most simple games(Balloon Fight, Lode Runner, fails to display Donkey Kong's title screen though). Here's an example:
https://puu.sh/D8Tns/d6d86f6c4e.png
My main issue which I only found yesterday is that writes to control register to select appropriate pattern table are done multiple times in one frame thus messing my display output. So for example nametables are set to render patterns from 0x1000 and then set to 0x0000 and because I render in one sweep - I get the wrong patterns as my control bit is rewritten with the last value.
That's okay, I'm gonna write a proper, cycled, scanlined renderere now as I've gained understanding of how PPU works at least however I still remember reading here and there that direct rendering approach should work on the most simple games. Am I right or wrong in this regard? Could I push direct approach more forward or should I just abandoned it ASAP and switch to a proper method?
MY goal again is to have Donkey Kong simulated perfectly. I am aware of all the PPU difficulties so I wanna stick at first with something complete. Any advice is appreciated
It works kinda well to display at least the title screen of most simple games(Balloon Fight, Lode Runner, fails to display Donkey Kong's title screen though). Here's an example:
https://puu.sh/D8Tns/d6d86f6c4e.png
My main issue which I only found yesterday is that writes to control register to select appropriate pattern table are done multiple times in one frame thus messing my display output. So for example nametables are set to render patterns from 0x1000 and then set to 0x0000 and because I render in one sweep - I get the wrong patterns as my control bit is rewritten with the last value.
That's okay, I'm gonna write a proper, cycled, scanlined renderere now as I've gained understanding of how PPU works at least however I still remember reading here and there that direct rendering approach should work on the most simple games. Am I right or wrong in this regard? Could I push direct approach more forward or should I just abandoned it ASAP and switch to a proper method?
MY goal again is to have Donkey Kong simulated perfectly. I am aware of all the PPU difficulties so I wanna stick at first with something complete. Any advice is appreciated