Closed GoogleCodeExporter closed 9 years ago
Could you upload the cue file you are using ? I know this game is very sensible
to tracks length and will hang at some points if TOC infos are not exactly what
they should be.
Also, could you rather upload internal or external backup save file (cart.brm
or scd.brm) with a game save before that spot ? A savestate will include the
invalid toc infos if there are any, and would could lead to wrong assumptions
when debugging crash.
Original comment by ekeeke31@gmail.com
on 18 Oct 2012 at 6:17
Original comment by ekeeke31@gmail.com
on 18 Oct 2012 at 6:17
Sure, here's the cue file and the backup memory file. In the game, you have to
choose to reconstruct the corpse and then sit through a lengthy cutscene to get
to the hang. I noticed that the CD audio track that plays during this part is
the last on the disc, and when you play this track in the Sega CD BIOS player,
it freezes at the end and still reads "playing," even though the track has
ended.
Original comment by JJBu...@gmail.com
on 18 Oct 2012 at 10:55
Attachments:
That could indeed explain the crash.
A few questions:
What is the size (in bytes) of your bin file and the length reported by BIOS
when you enter the CD player ?
What is the length of the last track (track 21) ? This can be viewed by
changing the time display in CD player interface to T-REMAIN i think and play
the track.
Does the same happens with different model bios (do not load the savestate when
using different BIOS, only test from CD player) ?
Original comment by ekeeke31@gmail.com
on 19 Oct 2012 at 6:33
[deleted comment]
The size of the bin file is 625,192,176 bytes and the reported length is 59:06.
The length of track 21 is 6:56. I've been using the 1.10 version of the US
BIOS, but I just tried the 2.00 version and the same thing happens: at the end
of the track, the VU meters freeze, the time elapsed reads 59:06, and the
player still says "playing."
Original comment by JJBu...@gmail.com
on 19 Oct 2012 at 7:13
I can play that track without problems from beginning to end, so it might be a
bad image...
Original comment by iceknigh...@gmail.com
on 20 Oct 2012 at 1:18
the problem is not playing the track from start to end but that the game hangs
when the track ends... and that cd player interface does not detect the end of
the disc (it's the last track) and does not automatically stop playback like it
should.
i think it's an emulation issue and that somehow the bios needs to know that
the end of the disc has been reached and report back to the application. i
verified both the game and cd player keep waiting for something and BIOS is
just regularely sending READ TOC commands like usual. the track index reports
AA like it should when lead out area is being read and i try various things
(like continuing to increment the block address behind the end of the disc, or
incrementing the length of the last track) but nothing worked.
I also noticed from old message boards reports that this game hangs at the same
spot when using gens or bad images, but i verified that the same bin/cue image
goes past the explosion in kega but not in genplus gx. For what it's worth, CD
player in Kega handles the end of last audio track just fine (playback stops
automatically) but it does not work correctly in this emulator or Gens. Note
that this is true for all games, not this one in particular, which is why i
think this is caused by missing emulation of some cdd features to indicate
properly that the end of the disc has been reached.
I just hope it's not related to subcode data (P and Q subchannel at least) that i think only Kega emulates and that this is rather some undocumented field or bit in the status bytes returned by CDD to the BIOS.
at this state, i don't really know what should be fixed, analysing the bios is
probably the only solution but it's a huge task.
i am sure Steve Snake could bring some valuable helpl here but he seems to be
off the radar for quite some time now
Original comment by ekeeke31@gmail.com
on 20 Oct 2012 at 1:50
I know this issue has been "accepted", however, I thought that I might as well
add that I too am experiencing this same problem. I'll be returning here
periodically to check on any progress that might be made, so if there's
anything I can do to contribute in the testing or troubleshooting of this
issue, let me know and I would be happy to help in any way that I can.
Also, as an aside, if I were to work my way back through the game using an .iso
and it's accompanying audio files, would this problem persist, or is it just a
bin/cue thing?
Thank you for your time. In almost any way you could categorize or judge this
software, it's got to be the most technically impressive coding effort
available on the wii.
Original comment by mediamos...@gmail.com
on 21 Oct 2012 at 12:32
[deleted comment]
As said above, it's NOT an image issue but an emulation issue so iso/wav or
bin/cue won't matter.
Anyway, I've been doing some archaeological digging and it appears that the
first version of Kega which correctly emulates the end of the disc (i.e
playback automatically stops at the end of the last audio track) was Kega
Fusion 0.1e
In Fusion 0.1d it does the exact same thing as in Genesis Plus GX and, more
interestingly, Snatcher hangs at the exact same part in Fusion 0.1d but works
fine in 0.1e !
So I'm definitively confident this bug is related to end of disc detection by
the BIOS and, since Kega Fusion has been emulating CD-G (and therefore
subcodes) from its first version, it is very likely this is not related to
subcode but more to some undocumented flag in CDD status words returned to the
BIOS. Unfortunately, 0.1e changelog is not very useful as Steve Snake
explicitly states in it that he forgot most stuff that were fixed in that
version ^^
Original comment by ekeeke31@gmail.com
on 21 Oct 2012 at 4:41
Ok, I fixed it. By analyzing the CD BIOS code, I saw there were of undocumented
CDD status value that were being supported.
For the technical record, it appears that CDD returns a status of 0xC when the
end of disc (Lead Out) is reached, which indicates the BIOS it should stop CD
playback.
As suspected, it fixes both the CD player interface and Snatcher hanging at the
end of this cutscene which was playing last audio track. I think only Kega &
Genesis Plus GX now emulate this correctly.
Fixed in r728
Original comment by ekeeke31@gmail.com
on 22 Oct 2012 at 2:10
[deleted comment]
Issue 300 has been merged into this issue.
Original comment by ekeeke31@gmail.com
on 30 Oct 2012 at 7:46
Original issue reported on code.google.com by
JJBu...@gmail.com
on 18 Oct 2012 at 4:53Attachments: