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.
In the second unused theme of the PAL version, the square channels go out of sync with the triangle and noise channels with every loop. This does not occur in the NTSC version, and may have been a botched PAL conversion. It is most likely it went unnoticed during development since the songs are not used.