While on tweeter, Membler mentioned if CPU/PPU synchronization was required for changing palette in hblank (It was not my tweet but I do it in my own project too and doesn't require that yet) . From that message, it made me realize that what if my current bug with my fadein/out with IRQ enabled with an MMC3 could be related to that? The bug doesn't happen every time and sometime stabilize so it could be related.
I started to search on the subject (still early stage of searching) and what I found for now is either this:
http://wiki.nesdev.com/w/index.php/PPU_frame_timing
or this:
https://wiki.nesdev.com/w/index.php/Con ... ronization
The first one seems to talk about timing but not really what to do with it. The second one goes in detail but for pal (did a quick look in it) but doesn't talk about NSTC.
I guess we must have talked on the forum somewhere for NTSC so I will search it from now but am I looking/searching for the right information? I want to make sure those article is what will help me understand on the subject.
Another thing I would like to know is if it's something that need to be done once when starting your program or for a specific event that you need to get them sync, which would means they could go out of sync based on what you do in your program.
Thank you in advance for any information on the subject. Time to search the forum in more details!
edit:
I think I just found Blargg threads:
viewtopic.php?f=2&t=6589&hilit=cpu+ppu+sync
Reading it right now.
edit2:
The more I read, the more I think it as no relationship with my bug since it help for raster effects and the bug I have is related to unstable palette when fading after waiting for NMI when IRQ handler exist. Oh well. I was so excited that I may have found the cause.
Still, the information is maybe useful since depending of the emulator, I had artefact for my color change in hblank in some emulator but not all. This could be the cause but I'm only changing one color and adjusting back the location of the rest of the screen in another NT. Will continue to read.
I started to search on the subject (still early stage of searching) and what I found for now is either this:
http://wiki.nesdev.com/w/index.php/PPU_frame_timing
or this:
https://wiki.nesdev.com/w/index.php/Con ... ronization
The first one seems to talk about timing but not really what to do with it. The second one goes in detail but for pal (did a quick look in it) but doesn't talk about NSTC.
I guess we must have talked on the forum somewhere for NTSC so I will search it from now but am I looking/searching for the right information? I want to make sure those article is what will help me understand on the subject.
Another thing I would like to know is if it's something that need to be done once when starting your program or for a specific event that you need to get them sync, which would means they could go out of sync based on what you do in your program.
Thank you in advance for any information on the subject. Time to search the forum in more details!
edit:
I think I just found Blargg threads:
viewtopic.php?f=2&t=6589&hilit=cpu+ppu+sync
Reading it right now.
edit2:
The more I read, the more I think it as no relationship with my bug since it help for raster effects and the bug I have is related to unstable palette when fading after waiting for NMI when IRQ handler exist. Oh well. I was so excited that I may have found the cause.
Still, the information is maybe useful since depending of the emulator, I had artefact for my color change in hblank in some emulator but not all. This could be the cause but I'm only changing one color and adjusting back the location of the rest of the screen in another NT. Will continue to read.