I'll be using this opening post to keep track of current progress on console verifications and other testing.
Currently testing:
- HDMA edge cases in single speed mode
_____________________________________
Dev Build:
https://ci.appveyor.com/project/zeromus/bizhawk-udexo/build/artifacts
Repo for input timestamp files:
https://github.com/alyosha-tas/GBI_timestamps
Dump script for 2.6.1 and older:
http://tasvideos.org/userfiles/info/68761073876269603
Dump script for 2.6.2 and up:
http://tasvideos.org/userfiles/info/71650785644185599
NOTE: use the setting 'TotalExecutedCycles Return Value' in GB->Settings in BizHawk and set it to GBI for double speed mode games
_____________________________________
Several games use uninitialized RAM in a way that causes desyncs on real hardware, below is a list of some examples I found:
Race Days (Select Dirty Racing) : This game checks a memory address to see if a block needs to be initialized. It does this many times in different locations. The same movie will desync in different ways each playthrough on console. Ex:
02EB: EA 24 C2 LD (#C224h),A A:00 F:90 B:A8 C:FC D:02 E:00 H:A0 L:00 SP:DFFA Cy:61216123 LY:128 ZnhCie
Super R.C. Pro Am : This game checks 4 locations in memory before initializing them, these could be related to linking but I'm not really sure. There seems to be a high probability of these cases passing on a real console in my testing:
FFCD > 0x02 (FFCD unwritten)
FFCC != 0xDE (checks 3 times, FFCC unwritten)
FFCC != 0xDE (checks 3 times, FFCC unwritten)
FFC9 != FFC8 (FFC9 unwritten, FFC8 written 1)
Pokemon Crystal: When loading up the credits sequence it checks player state in the wrong bank, this doesn't seem to have any real impact, but would possibly cause a desync if you wanted to continue a movie past the credits:
4384: FA 5D D9 LD A,(#D95Dh) A:00 F:80 B:C2 C:91 D:0A E:00 H:C2 L:91 SP:C0B9 Cy:323183331 LY:149 ZnhciE
4387: FE 01 CP #01h A:00 F:80 B:C2 C:91 D:0A E:00 H:C2 L:91 SP:C0B9 Cy:323183347 LY:149 ZnhciE
Daiku no Gen-san - Ghost Building Company (Japan): uses uninitialized RAM at the start of level 2, this causes a desync towards the end of the level. It looks like all it does is use these values for starting xscroll possibly for the clouds.
Battletoads: Reads from HRAM at the start of level one to set some values in WRAM. Doesn't effect the TAS but might effect casual play, not sure
09F9: F0 C2 LDH A,(#FFC2h) A:24 F:00 B:00 C:20 D:C9 E:18 H:9A L:C3 SP:CAFC Cy:105661311 LY:0 znhcie