Page 1 of 2

a bit more on odd GAPs

Posted: Thu Dec 20, 2007 9:52 am
by themabus
i think i've found out why EAC would return a rather strange GAP layout sometimes.
it's only a 1 special case, but it happens time to time.

when uncertain you can use Subcode Analyzer to take look at subchannel by yourself.
and so you will see something like this:

Code: Select all

Frame  P                        Q-CONTROL Q-ADDRESS Q-TNO Q-INDEX Q-MIN Q-SEC Q-FRAME Q-ZERO Q-AMIN Q-ASEC Q-AFRAME Q-CRC16 
 76661 000000000000000000000000         0          1   07      01    01    57      62     00     17     04       10    232f 
 76662 000000000000000000000000         0          1   07      01    01    57      63     00     17     04       11    995f 
 76663 000000000000000000000000         0          1   08      00    00    01      74     00     17     04       12    5021 
 76664 ffffffffffffffffffffffff         0          1   08      00    00    01      73     00     17     04       13    27d4 
 76665 ffffffffffffffffffffffff         0          1   08      00    00    01      72     00     17     04       14    fd62 
 76666 ffffffffffffffffffffffff         0          1   08      00    00    01      71     00     17     04       15    0391 
 .....
 76811 ffffffffffffffffffffffff         0          1   08      00    00    00      01     00     17     06       10    6d70 
 76812 ffffffffffffffffffffffff         0          1   08      00    00    00      00     00     17     06       11    d700 
 76813 ffffffffffffffffffffffff         0          1   08      01    00    00      00     00     17     06       12    a0b0 
 76814 000000000000000000000000         0          1   08      01    00    00      01     00     17     06       13    1ac0 
 76815 000000000000000000000000         0          1   08      01    00    00      02     00     17     06       14    84f5 
 76816 000000000000000000000000         0          1   08      01    00    00      03     00     17     06       15    3e85
this is a PostGAP for Track 07 from some PSX CD:
(last sector for this track from TOC is 76812)
TNO increase; INDEX=0; MSF - resets and counts back
(since it's 74 this time, we can assume result will be a multiple of 75)
and afterwards: INDEX=1; MSF - reset again and count forward
Q=76813-76663=150=2 sec;
this is i think what EAC would do on a 'Detection method A'
'Detection method B' appears to be something less raw since it works on drive that
can't do a full subchannel read and will return correct gaps for 1Data+1Audio CDs
on the other drives it would return a rather random numbers but somewhere close to 2"
so maybe it's just some command for a drive to get pauses and is like outdated by now.
i don't know what 'C' is
P=76814-76664=150=2sec
P goes with a little offset from Q but most of the time yields the same result
but sometimes it would differ, like on older Mega CD games P usually is 186 when Q=150
i guess for this or some other reason it is not used in the most soft at all i think.


#1
01:74>>02:00
Mega CD
  [G-6003] Quiz Scramble Special
  [G-6010] Pro Yakyuu Super League CD
  [T-49014] Cosmic Fantasy Stories
Saturn
  [GS-9101] Fighting Vipers (V1.010)

Code: Select all

Frame  P                        Q-CONTROL Q-ADDRESS Q-TNO Q-INDEX Q-MIN Q-SEC Q-FRAME Q-ZERO Q-AMIN Q-ASEC Q-AFRAME Q-CRC16 
 55506 ffffffffffffffffffffffff         0          1   18      01    00    16      09     00     12     22       05    8f53 
 55507 ffffffffffffffffffffffff         0          1   18      01    00    16      10     00     12     22       06    1316 
 55508 ffffffffffffffffffffffff         0          1   18      01    00    16      11     00     12     22       07    a966 
 55509 ffffffffffffffffffffffff         0          2   00      00    00    00      00     00     00     00       08    a07d 
 55510 ffffffffffffffffffffffff         0          1   19      00    00    01      73     00     12     22       09    6bc2 
 55511 ffffffffffffffffffffffff         0          1   19      00    00    01      72     00     12     22       10    428b 
 55512 ffffffffffffffffffffffff         0          1   19      00    00    01      71     00     12     22       11    bc78
so this is what happens:
ther's ADRESS=2 sector right on boundary, actually it shadows last frame before Pause
(how can you know it's not shadowing a part of a Pause? you can do calc on P.
compared to other tracks, it should increase if it would. it does not in this case)
but EAC counts it as 1st sector of Pause and thus GAP increase by 1 frame
why it is there i don't know, i think it belongs to Audio CD standard and should not be
on mixed mode at all. though it is. on Mega CD and Saturn - every 98th frame.
CDRWin can get GAPs correct in this case.


#2
Other
Mega CD
  [T-44024] Capcom no Quiz: Tono-sama no Yabou
    GAP 01->02=04:00
  [T-49014] Cosmic Fantasy Stories
    GAP 56->57=01:73
Saturn
  [GS-9015] Panzer Dragoon (V1.001)
    GAP 01->02=02:01; rest are 02:00
  [GS-9050] Godzilla: Rettousinnkann (V1.000)
    GAP 05->06=02:39; rest are 01:74
  [GS-9097] Virtua Cop 2 (V1.004)
    GAP 10->11=01:74; rest are 02:00

even though strange GAPs appear to be valid.

Re: a bit more on odd GAPs

Posted: Thu Dec 20, 2007 9:58 am
by gigadeath
Yes EAC misses some gaps.

What do you propose to do? Can we fix them manually and tell the EAC guys of the problem?

Re: a bit more on odd GAPs

Posted: Thu Dec 20, 2007 1:15 pm
by themabus
to be honest i don't know. EAC is wrong, but defined dumping relies heavy on EAC. if you keep them that way, more people will be able to compare and verify with DB. it's most importan't i guess.
data shoudn't change, so it must be possible to correct gaps by moving corresponding amount of sectors from track to track. in this case 2352 bytes from the beginning of the track following gap to the end of the one before.

Re: a bit more on odd GAPs

Posted: Thu Dec 20, 2007 9:18 pm
by ssjkakaroto
I really think you should post this info on EAC's forum.
If it can get fixed on the next beta or final version would be great for dumping!

Re: a bit more on odd GAPs

Posted: Fri Dec 21, 2007 3:55 am
by themabus
k, i did

Re: a bit more on odd GAPs

Posted: Fri Dec 21, 2007 6:01 am
by gigadeath
BTW themabus can you detect the offset for PC-Engine games? I tried with mine and first sector after first data track (i.e. track 2) returns all 00 even with a +738 drive. The disc must have a huge negative offset.

Re: a bit more on odd GAPs

Posted: Fri Dec 21, 2007 10:10 am
by themabus
i think i can. i use 'px_d8' that Vigi posted link to and i give it an LBA of the data track and even on first and last data tracks result would always be the same. so i think it's ok. it is huge negative most often, you're right.
[TJCD2032] Xak I & II: -1412
[TJCD2024] BABEL: -1578
[HCD9009] Ys I & II: -305
[RHCD1001] Burai: 289
[NAPR-1022] Might & Magic: -1081

i also made a little script that would do a math. maybe you can find it useful. it's on awk.
http://www.mediafire.com/?4nzfhyccym1
so you can place everything in directory where px_d8.exe is and call offset.bat like this
offset DRIVE LBA DRIVECORRECTION
e.g.
offset h 3600 30
it will do 3 readings on different sectors then and return Absolute offset for DB and relative ones for all my 3 drives
to configure your drives change D1,D2 and D3 in offset.awk to your EAC offsets

Re: a bit more on odd GAPs

Posted: Fri Dec 21, 2007 1:43 pm
by gigadeath
Actually I don't how to use that program at all... I tried a few times but in the end I have no idea what I have to edit in the .bat

Re: a bit more on odd GAPs

Posted: Fri Dec 21, 2007 2:34 pm
by Jackal
gigadeath wrote:Actually I don't how to use that program at all... I tried a few times but in the end I have no idea what I have to edit in the .bat
just use: px_d8.exe driveletterofplextor 0 0

Re: a bit more on odd GAPs

Posted: Fri Dec 21, 2007 3:57 pm
by gigadeath
Vigi wrote:
gigadeath wrote:Actually I don't how to use that program at all... I tried a few times but in the end I have no idea what I have to edit in the .bat
just use: px_d8.exe driveletterofplextor 0 0
I already knew that, I used D8 already... problem is that PCE games have huge negative offset so D8 returns all 00 with every drive I have