-Basti- wrote:Thanks, that worked for me

I have to add, that you need to initialize the update-list with
NT_UPD_EOF, before the first game-loop, instead you will only see a flickering screen.
You don't, if you do things right. I mean, that flickering screen is because you are calling ppu_wait_nmi with an un-terminated update-list. The section in the NMI code which deals with update lists just interprets the update buffer array until it finds the value NT_UPD_EOF (which is a number). Most likely, the NMI code is sending everything in RAM to the VRAM so things end in a very awful crash.
So most likely you are enabling the update list too early. Maybe there's a ppu_wait_nmi before the first loop.
In my example, you are not calling ppu_wait_nmi until NT_UPD_EOF has been written to the update buffer, so there's no need to initialize anything. NT_UPD_EOF is written when it's going to be needed: during the execution of ppu_wait_nmi.
Always make sure you enable the update buffer right before your loop, and that you write NT_UPD_EOF to it right before your ppu_wait_nmi call, and you won't have problems.
What you did is most likely a patch because you have stuff around you are not completely in control. It may float your boat and save your day, but my advice is that you should address the problem, find the real cause, get things properly in control, and remove all patches.