SourMesen / Mesen-S

Mesen-S is a cross-platform (Windows & Linux) SNES emulator built in C++ and C#
GNU General Public License v3.0
414 stars 102 forks source link

GB: System/VRAM Bus access blocking due to DMA #154

Open redacted173 opened 4 years ago

redacted173 commented 4 years ago

Assuming I understand the implementation it looks like neither VRAM or the memory devices hanging of the system bus (cart, WRAM, etc) are blocked due to DMA reads. I don't know of any game that requires the buses to be blocked so fixing this is more to get the resource usage correct. But as I'm sure you know there are many games that expect the unused bus to be available. It seems to be popular to DMA using the system bus in the middle of a visible scanline which causes problems with sprites. However, VRAM is still available and the background+window tiles display correctly. At least one game, Urusei Yatsura: Miss Tomobiki o Chigase!, DMAs from VRAM and continues to access the cart over the system bus.