-
Notifications
You must be signed in to change notification settings - Fork 88
Description
I may have found something regarding the issue with unstable CX4/GSU. I was searching for behavior that is different from normal cartridge games.
The ROM read signal is faster when the GSU has ROM access. This triggers more refresh for the SDRAM.
When the GSU has ROM access and there is a WRAM read/write after the refresh is triggered then the bank activate command after a refresh command happens too quickly.
Here is a trace with a WRAM write and then a WRAM read right after. The time from refresh to activate command is only 4 cycles in these cases. In the Alliance AS4C32M16SB datasheet it says that the refresh cycle time should be at least 60ns which is 6 cycles.
What I also noticed and what you can see in the trace is that sometimes there is only 1 NOP between a write and refresh command. There should at least be tWR+tRP = 30ns (3cycles) NOPs between write and refresh. But this also happens on normal cartridge games so I don't think this is causing issues which I find strange.
