Menu

#23 Cheats don't work on LCD-interrupted games

Added
closed-accepted
None
5
2012-07-29
2011-03-01
unmacaque
No

While searching Gameboy games for cheats, it occured to me that codes did not have any effect at all in a specific game, namely Donkey Kong Land. I have verified that the memory address (0xC66D) is 100% correct and manually adjusting the memory value at that address has the desired effect.

Having looked at the VBA-M source, I found that the routine applying cheats to memory is only called by the vBlank interrupt routine. Most GB and GBC games have those irupts, however, this particular game is purely LCD interrupted. Either it has been forgotten to call the cheat write routine on LCD irupts or there was a reason for leaving it out. Now, I am not an expert in GB hardware emulation and if there is a good reason not to, then the attached patch should better not be accepted.

This patch adds a call to gbCheatWrite() when an LCD interrupt occurs, so that cheats work for all games functioning silimar to this. I am leaving it here to be reviewed.

Discussion

  • unmacaque

    unmacaque - 2011-03-01

    GB: Call to gbCheatWrite() on LCD interrupt

     
  • Squall Leonhart

    Squall Leonhart - 2012-07-29
    • milestone: --> Added
    • assigned_to: nobody --> squall-leonhart
    • status: open --> closed-accepted
     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.