Working on MMC5 -- testing out some games. Most work fine, but several Koei games are acting VERY bizarre. I've been using Uncharted Waters as the game to try and solve (I'm guessing all the games have the same problem, and it's most predictable in Uncharted Waters).
Anyway... the game seems fine up though the intro monologue. Then the town screen draws fine... then the text-bubble box outline draws fine, but after it finishes, the ship graphics get all screwed and then this happens:
Now this is a more serious problem than it seems -- it's not just graphics jarbled here... that's the wrong text at the bottom (he's supposed to be saying something like "where to, Captain?"). Furthermore, I can press select to go in a pause screen, then press B to try and exit it, and then the whole screen gets totally screwed up, then it jumps to what appears to be the ending sequence (like you just beat the game).
It's as if the PC is being screwed up somehow (but no invalid opcodes are ever tripped). My first thought was bad PRG swapping, but I've checked it several times and haven't found a problem. I don't think it's an IRQ problem, because as far as I know, Uncharted Waters doesn't use IRQs (at least not at this part in the game) -- though it does poll $5204 to find when rendering starts, which my emu appears to be doing fine.
I've spent the past 2 days hunting through pages and pages of tracelogs, comparing with logs from another emu trying to find the problem, but have yet had no success. Only Koei MMC5 games seem to screw up -- so you'd think it's a mapper problem (though I really don't see how that'd be the case)
I just thought I'd ask on here in case anyone else ran into this problem before and knew what it was offhand. Or if anyone has any ideas on what the problem could be. This is probably my 3rd time adding MMC5 support in an emu and I never had this problem before -- the only thing I'm really doing differently this time is IRQs (doing a count-up every scanline instead of just tripping on X scanline).
Sound/Split Screen aren't emulated yet so if that's part of the problem (highly doubtful) that could explain it (normal sound is emulated -- just not MMC5 sound)
Anyway... the game seems fine up though the intro monologue. Then the town screen draws fine... then the text-bubble box outline draws fine, but after it finishes, the ship graphics get all screwed and then this happens:
Now this is a more serious problem than it seems -- it's not just graphics jarbled here... that's the wrong text at the bottom (he's supposed to be saying something like "where to, Captain?"). Furthermore, I can press select to go in a pause screen, then press B to try and exit it, and then the whole screen gets totally screwed up, then it jumps to what appears to be the ending sequence (like you just beat the game).
It's as if the PC is being screwed up somehow (but no invalid opcodes are ever tripped). My first thought was bad PRG swapping, but I've checked it several times and haven't found a problem. I don't think it's an IRQ problem, because as far as I know, Uncharted Waters doesn't use IRQs (at least not at this part in the game) -- though it does poll $5204 to find when rendering starts, which my emu appears to be doing fine.
I've spent the past 2 days hunting through pages and pages of tracelogs, comparing with logs from another emu trying to find the problem, but have yet had no success. Only Koei MMC5 games seem to screw up -- so you'd think it's a mapper problem (though I really don't see how that'd be the case)
I just thought I'd ask on here in case anyone else ran into this problem before and knew what it was offhand. Or if anyone has any ideas on what the problem could be. This is probably my 3rd time adding MMC5 support in an emu and I never had this problem before -- the only thing I'm really doing differently this time is IRQs (doing a count-up every scanline instead of just tripping on X scanline).
Sound/Split Screen aren't emulated yet so if that's part of the problem (highly doubtful) that could explain it (normal sound is emulated -- just not MMC5 sound)