Tricky-to-emulate games: Difference between revisions
From SNESdev Wiki
Jump to navigationJump to search
Rainwarrior (talk | contribs) (starting an article about uncommon graphics modes) |
Rainwarrior (talk | contribs) (super mario world priority rotation) |
||
Line 153: | Line 153: | ||
| | | | ||
* '''Yoshi's Island''': Broken effects in tunnels[https://github.com/SourMesen/Mesen-S/issues/25] | * '''Yoshi's Island''': Broken effects in tunnels[https://github.com/SourMesen/Mesen-S/issues/25] | ||
|- | |||
| OAMADD prority sprite rotation is missing. | |||
| | |||
* '''Super Mario World''': The lives-indicator Mario is hidden at the top left of the map screen. | |||
|} | |} |
Revision as of 18:57, 6 June 2022
This is a list of various emulation bugs encountered during the development of Mesen-S. It is meant as a quick reference to help others find and debug issues with their own emulation core. It can also be used to find games that might be affected by a code change, for regression testing purposes.
See also: Uncommon graphics mode games
Cause | Affected games |
---|---|
Missing/incorrect open bus implementation (CPU or PPU) |
|
Incorrect or missing BRK/COP implementation |
|
VRAM writes are not ignored during rendering |
|
Ignored VRAM writes during rendering are not incrementing the VRAM address |
|
VRAM read implementation is incorrect |
|
Offset-per-tile wraparound logic is incorrect |
|
Offset-per-tile implementation has bugs |
|
Mode 7 doesn't implement window logic |
|
Mode 7 scroll offsets are not latched at the beginning of the scanline |
|
Mode 7 direct color implementation is wrong |
|
Color window is not applied to all pixels |
|
Color math for subscreen in high resolution modes is incorrect |
|
Implementation of OAM writes during rendering is inaccurate |
|
OAM fetching/rendering timing inaccurate |
|
DMA controller power on state is invalid |
|
CPU doesn't run an extra cycle before starting DMA after write to $420B |
|
DMA controller allows reading B-bus registers using A-bus address |
|
DMA/HDMA timings are inaccurate |
|
DMA is not suspended when HDMA runs |
|
HDMA doesn't ignore "fixed transfer" flag |
|
HDMA doesn't ignore "decrement" flag |
|
HDMA "do tranfer" flag isn't set/reset properly |
|
V-IRQ doesn't trigger when V-IRQs are enabled for the current scanline |
|
NMI isn't triggered when NMI is enabled partway through vertical blank |
|
SPC timings are inaccurate (requires SPC to run 1 cycle at a time, rather than 1 instruction at a time) |
|
CPU read effects do not occur early enough in the CPU's cycle |
|
DSP KOF register is not initialized to $00 |
|
SRAM mappings are incorrect |
|
RAM power on state is "incorrect" |
|
Super FX - RPIX implementation is incorrect |
|
OAMADD prority sprite rotation is missing. |
|