Closed GoogleCodeExporter closed 8 years ago
Indeed, it seems this game does not like to wait for disk seek ime which was
added in r774 and was needed for Panic!/Switch intro.
The thing is, both seek an audio track at the end of the disc so there should
be some delay. The only difference is that in Final Fight CD, seeking is done
when the drive is at the end of the first (data) track while in Switch/Panic!,
it is done from the middle of the first track, the data track being much larger
in this game than in Final Fight CD. I need to find a way to emulate disc seek
time that work with both games (and other as well), but it is hard to modelize
accurately since this is originally mostly mechanical.
Original comment by ekeeke31@gmail.com
on 4 May 2013 at 7:03
Interesting.
I noticed that even Kega Fusion has this issue with Panic!/Switch, and I'm
tempted to say Gens as well. Looks like this issue is covered in allot of weeds.
In either case, I'm curious to see your antidote to this long lived emulation
illness.
Original comment by TheRealB...@gmail.com
on 5 May 2013 at 3:45
Fixed in r777
For the record, it was an issue with CDD emulation and some undocumented status
byte returned when a SEEK (and maybe others) command is sent. I figured that
there was a return value indicating that current track infos should be
invalidated/reseted, which is likely to happen when seeking in progress.
If the track infos are not invalidated/reseted, after some time (~17 CDD
interrupts), a program jump occurs based on the previous track infos, which
crashes the Main-CPU (and makes the intro hanging).
It just appeared that if seek time was ignored after a SEEK command and the
command processed immediately (or with a delay < 17 interrupts), which is
unlikely to happen with a real CD drive, the BIOS would have the time to read
the next track time info and resets internal value to 0 (00:00:00 being track
relative time after seeking the beginning of a track), and the bad jump would
not occur...
Original comment by ekeeke31@gmail.com
on 12 May 2013 at 7:53
Original issue reported on code.google.com by
TheRealB...@gmail.com
on 3 May 2013 at 6:32