SourMesen / Mesen-S

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

Writing to VRAM during HBlank #146

Open Max833 opened 4 years ago

Max833 commented 4 years ago

Context: https://forums.nesdev.com/viewtopic.php?f=12&t=19896&p=250353#p248408

test rom: hvdma.sfc

hardware video:

https://streamable.com/yiteu7

-

- hardware image: image

Mesen-S: image

SourMesen commented 4 years ago

Are you referring to the flashing white-ish lines vs the flashing blue background that the emulator outputs?

If so, there's probably not much that I can do right now. The ROM essentially stops the PPU in the middle of it loading up sprite-related information, and then restarts it later in the scanline. This presumably somehow screws up the sprite loading logic and it ends up loading up incorrect graphics (or colors, or both). Until the PPU is better understood (i.e on a cycle-by-cycle basis), it'd probably be hard to replicate the exact hardware behavior the test shows.

Max833 commented 4 years ago

I see. Yes, that's what I meant. The flashing and the black color in the lower parts. Thanks anyway for looking into it, Sour.

I have to say I'm really impressed how good your emulator already is. I can play pretty much every game without problems. Besides, it has probably the most user-friendly and intuitive UI out there. The only thing I miss is something like a listview, because this provides a better overview and I have the ability to access every option in one window like bsnes.

image

But maybe it's just a matter of getting used to. Thank you for your continued efforts.