Guys, try to help me please:
Dendy emulation is incorrect in official 1.40 because something is broken since 1.38:
Quote:
v.1.38 changes:
- PPU power/reset timing and register states.
- Misc IRQ/NMI/BRK/DMA special-case behavior.
I've compiled 1.36, 1.37, 1.38, 1.39 and 1.40 versions of NEStopia and "hacked" their PAL-mode according to Dendy-timings:
Code:
fragments of NstBase.hpp (NstCpu.hpp & NstPpu.hpp under version 1.37)
// fixing PAL(RP2A07) divider to dendy CPU(UA6527P) divider
{
RP2A03_CC = 12,
RP2A07_CC = 15
};
// fixing timings according to dendy PPU(UA6538)
RP2C07_VACTIVE = 240,
RP2C07_VSLEEP = 51,
RP2C07_VINT = 20,
RP2C07_VDUMMY = 1,
//I've fixed PAL-Noise and PAL-DMC rates to NTSC-like in "NstApu.cpp" also
But
strange glitches appear since version 1.38 and above:
- "Power Blade 2 (USA)": scrolling glitches on title movie
- "James Bond Jr. (USA)": hang on 1-st level when you fall into a pit
- "Front Line (Japan)", "Aladdin 4 (1995) (Unl)", "Aladdin 4 (1996) (Unl)" - screen glitches at 1-st level
- "Batman Returns (USA)" - black vertical strip at 1-st level /happens randomly/
Below v1.38 these glitches aren't present as well as it not present on other nes emulators at dendy-mode (punes/nintedulator/bizhawk/fceux etc)
How to fix it in nestopia undead?
Here is
1.31-1.40 source archives.
And here is dendy
information.