Difference between revisions of "Tricky-to-emulate games"
Jump to navigation
Jump to search
(Created page with "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 em...") |
|||
Line 4: | Line 4: | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! | + | ! Cause |
! Affected games | ! Affected games | ||
|- | |- | ||
Line 29: | Line 29: | ||
* '''Hook''': Text glitches during intro | * '''Hook''': Text glitches during intro | ||
|- | |- | ||
− | | | + | | Ignored VRAM writes during rendering are not incrementing the VRAM address |
| | | | ||
* '''Kick Off''' | * '''Kick Off''' | ||
Line 35: | Line 35: | ||
| Offset-per-tile wraparound logic is incorrect | | Offset-per-tile wraparound logic is incorrect | ||
| | | | ||
− | * '''Super Famista 5''' | + | * '''Super Famista 5''': Issues at the top of the screen during animation inside the main menu |
+ | |- | ||
+ | | Offset-per-tile implementation has bugs | ||
+ | | | ||
+ | * '''Axelay''': Broken level background in some areas of stage 2 | ||
+ | * '''Chrono Trigger''': Broken layout in in-game menu | ||
|- | |- | ||
| Mode 7 doesn't implement window logic | | Mode 7 doesn't implement window logic | ||
Line 41: | Line 46: | ||
* '''Atlas, The - Renaissance Voyager''': Broken mode 7 graphics during intro | * '''Atlas, The - Renaissance Voyager''': Broken mode 7 graphics during intro | ||
* '''MechWarrior''': Broken mode 7 graphics during gameplay | * '''MechWarrior''': Broken mode 7 graphics during gameplay | ||
+ | |- | ||
+ | | Mode 7 scroll offsets are not latched at the beginning of the scanline | ||
+ | | | ||
+ | * '''NHL '94''': Glitch scanline in the middle of screen during intro animation | ||
|- | |- | ||
| Color window is not applied to all pixels | | Color window is not applied to all pixels | ||
Line 74: | Line 83: | ||
* '''Circuit USA''': Broken graphics in menu | * '''Circuit USA''': Broken graphics in menu | ||
* '''Jumbo Ozaki no Hole in One''': Broken graphics in menu | * '''Jumbo Ozaki no Hole in One''': Broken graphics in menu | ||
+ | |- | ||
+ | | DMA is not suspended when HDMA runs | ||
+ | | | ||
+ | * '''Dekitate High School''' | ||
|- | |- | ||
| HDMA doesn't ignore "fixed transfer" flag | | HDMA doesn't ignore "fixed transfer" flag | ||
Line 84: | Line 97: | ||
* '''Adventures of Kid Kleets, The''': Broken graphics at power on | * '''Adventures of Kid Kleets, The''': Broken graphics at power on | ||
* '''MechWarrior''': Broken mode 7 graphics during gameplay | * '''MechWarrior''': Broken mode 7 graphics during gameplay | ||
+ | |- | ||
+ | | HDMA "do tranfer" flag isn't set/reset properly | ||
+ | | | ||
+ | * '''Aladdin''': Broken graphics in the background on first level | ||
+ | * '''Super Ghouls'n Ghosts''': Black screen once gameplay starts | ||
|- | |- | ||
| V-IRQ doesn't trigger when V-IRQs are enabled for the current scanline | | V-IRQ doesn't trigger when V-IRQs are enabled for the current scanline | ||
Line 100: | Line 118: | ||
* '''Illusion of Gaia''': Doesn't boot | * '''Illusion of Gaia''': Doesn't boot | ||
* '''Tales of Phantasia''': Missing sound effects, freezes | * '''Tales of Phantasia''': Missing sound effects, freezes | ||
+ | |- | ||
+ | | CPU read effects do not occur early enough in the CPU's cycle | ||
+ | | | ||
+ | * '''Rendering Ranger R2''': Freezes due to infinite loop with SPC | ||
|- | |- | ||
| DSP KOF register is not initialized to $00 | | DSP KOF register is not initialized to $00 | ||
| | | | ||
+ | * '''Chester Cheetah - Too Cool to Fool''': Missing sound effects | ||
* '''King of Dragons''': Missing sound effects | * '''King of Dragons''': Missing sound effects | ||
− | |||
|- | |- | ||
| SRAM mappings are incorrect | | SRAM mappings are incorrect | ||
Line 110: | Line 132: | ||
* '''Fire Emblem - Thracia 776''' | * '''Fire Emblem - Thracia 776''' | ||
* '''Ys III - Wanderers from Ys ''' | * '''Ys III - Wanderers from Ys ''' | ||
+ | |- | ||
+ | | RAM power on state is "incorrect" | ||
+ | | | ||
+ | * '''Bishoujo Senshi Sailor Moon - Another Story''': Random static in music during intro (when SPC RAM is randomized) | ||
+ | * '''Death Brade''': Duel ends instantly when RAM is initialized with 0s | ||
+ | * '''Power Drive''': Broken graphics when RAM is initialized with 0s | ||
+ | * '''Super Keiba 2''': Blackscreen after a few menus when SRAM is initialized with 0s | ||
+ | |- | ||
+ | | Super FX - RPIX implementation is incorrect | ||
+ | | | ||
+ | * '''Yoshi's Island''': Broken effects in tunnels (https://github.com/SourMesen/Mesen-S/issues/25) | ||
|} | |} |
Revision as of 16:53, 15 February 2020
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.
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 |
|
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 |
|
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 |
|