Bugs:Al Unser Jr. Turbo Racing
This page details bugs of Al Unser Jr. Turbo Racing.
In time delayed scenes, a timer is used stored at location 6460 in the game's SRAM. Due to a branch instruction oversight, it mistakenly cuts off 256 frames too soon, thus cutting off the full music track for said scenes.
8997 dec $6460 ;decrement timer (lower byte) 899A bne $8972 ;if it's !=0, branch to beginning of subroutine 899C lda $6461 ;if not, load higher byte 899F beq $89A6 ;if that equals 0, branch to 89A6 89A1 dec $6461 ;decrement timer (higher byte) 89A4 bne $8972 ;then branch to beginning of subroutine, which will fail if the higher byte is decremented from 1 to 0, which will skip 256 frames. Replacing the instruction with a BPL will fix this. 89A6 lda #$00 ;load 0 89A8 sta $6462 ;store in $6462 ;end 89AB rts ;and return
The following Game Genie codes will fix the bug and revert the timer to its intended behavior.