276

(2 replies, posted in General discussion)

oh i think it's ok. i've found an cd that has been dumped previously Slayers Royal and gap size between data tracks would match (tho track 02 crc does not, but i think he may have left an offset junk in there.  i'll post that on 'fix' section). so those i posted before, i think they just was that way.

277

(2 replies, posted in General discussion)

i got it from subcode / EAC (Alcohol for some reason would alway define 2seconds in .ccd). it is a little strange i guess, i thought for some reason that only half of gap would be marked as pause in subcode but it apears to be untrue, i can not find such statement in ECMA-130. (in fact i think it says opposite - whole post-gap is set as pause) so this gap would get completely transferred to next track. last sector in first track is data.
does PerfectRip detect them different? i can realign this data in that case to meet different value.

278

(11 replies, posted in General discussion)

did some more reading (that i should have done long ago, would have saved me a lot of worries) and i think i finally understand now why offsets are sample limited. it all looks fairly obvious now.
ECMA-130:
16   F1-Frames
Each Scrambled Sector shall be mapped onto a series of consecutive frames. Each frame consists of 24 8-bit bytes,
numbered from 0 to 23. Byte 0 of the Sector shall be placed in byte 4n of a frame, where n is 0, 1, 2, 3, 4 or 5.
Consecutive bytes of the Sector are placed in consecutive bytes of the frames. Byte 2 351 of a Sector is immediately
followed by byte 0 of the next Sector.

18   Control Bytes - F3-Frames and Sections
A single byte called Control byte is added as first byte to each F2-Frame of 32 bytes. This yields a new F3-Frame of
33 bytes.
The Control byte shall be obtained from a table of 98 bytes as defined in clause 22. The information in the Control
bytes is mainly used for addressing purposes. The bytes in the table are added to 98 consecutive F2-Frames, coming
out of the CIRC encoder, byte 0 of the table first, byte 97 last. This operation yields groups of 98 F3-Frames of 33
bytes each, called Sections. These Sections are asynchronous with the Sectors, i.e. there is no prescribed relation
between the number of the F1-Frame in which the first byte of a Sector is placed and the number of the F3-Frame in
which the first Control byte of the table is placed. Each Section has its own table with Control bytes.

so as i see it, subcode byte may be displaced from data by 24 byte (6 samples) steps (F1 frame). but not only that - sector's starting position (sync) may be 0 to 5 samples off in the first frame. so for example offset +13 = 2 frames (sector/subcode  difference) + 1 sample (sync/frame difference - since subcode byte is fixed to frame, this contributes to offset).
so, i think we have whole PMA stream as it was before it got written on a CD (except for a 1st track's pregap, and it may hold data actually (eg. Dreamweb UK PC release), but not that it changes anything, i guess, but interesting to know nevertheless). so if there are differences left it would be mastering then but we should not fix that on file level, imho.
so for intelligent checksums i would imagine a different level of abstraction for an audio stream that would also include those audio gaps that follow/precede data tracks and so checksums would be calculated on this data. LBA-pause would be targeted (+/- about 10 or so sectors maybe) and if ther's large amount of silence it's excluded (back until last meaningful sample and forth until first) and this point is a break in stream. if silence can not be found in position between two tracks - there is no break and thus less audio streams than audio tracks.
it's like Eidolon suggested, i guess, but we should not drop file CRCs it's a backbone of this db - file still is a core element, everything else is just interpretation or additional (less vital) info.

279

(11 replies, posted in General discussion)

thank you, i had those from GD-Rom thread smile

280

(11 replies, posted in General discussion)

yes, that's what i meant smile
i guess it would solve a lot of difficulties - dumping that way, like: huge audio pregaps, bad sectors, mode 0 sectors, $00 sectors, data pregap after audio (PCE), data missing from audio pregap, maybe more... (i guess it's maybe what PerfectRip does? but i think Gigadeath had problems with audio-data gaps at least)
thank you very much for program!
about  'intelligent checksums', i agree, but i imagine it on different level, not replacing file CRCs, so it would show all those matching tracks and possibilities to render one version into another but but file level crcs are still there.

281

(11 replies, posted in General discussion)

isn't offset a difference between data / subcode frames? and as i understand it, drive would realign data track because sync makes it possible and this is where it manifests - data tracks are misplaced relative to audio stream. and so when you read whole cd content as an continuous stream of data, like when you fake toc with an audio (like for dc / satrurn rings etc.), everything should be in place (each subsequent sector) because sync is ignored - so no data is lost or added in between, instead whole stream is now offseted relative to subcode. and then it's possible to get offset from data track, like drive would do, but instead of data track only we realign whole stream and separate each track, like you described in GD guide. i could not imagine a better way of dumping - it's as raw as it gets imo. but this data should not be different from ours, since what we do - we realign data track, relative to audio. so what more offsets can there be? i would guess everything else is from mastering.

edit: attempt to make myself more clear

it depends if ther's gap between them. if there is, and you dump with IsoBuster, then you would have to move it to the beginning of track 2.

well it works on some cds and doesn't on the others. why doesn't it? i tried $f0000000, like Truman suggested on cdfreaks board and -1000 and various values in between. isn't lead-in supposed to be always at the same position, is there something else that matters?

284

(12 replies, posted in General discussion)

rewrote some programs (commandline), that i used, for more general purpose. they're nothing special but help me a lot:
sExtract.exe - extract a segment of file
unScramble.exe - yes, unscrambele smile
reMove.exe - move a part of file to another, to remove gaps from datatracks, resize audio gaps [updated @20080322]
http://www.mediafire.com/?q1mbksntoje
mode1 sector generator still not done

285

(2 replies, posted in General discussion)

no, you won't find it here. we check crcs, so people who has this game would be able to make a good backup, if they ever need. it's only numbers.

thanks smile

this is a list of problems i and other people had with IB / EAC, and some possible answers but please comment, if you have something to add, ok? or if something's wrong

IsoBuster 2.3 / data track dumping

q: how to dump two sequential data tracks?
a: just as always with IB but if ther's an gap at the end of the 1st, you would need to relocate it to the beggining of second (actually move bytes, not just cut and replace with silence, like with audio) and afterwards modify cue sheet accordingly, e.g. PSX with gap of 2 seconds:

FILE "Track 01.bin" BINARY
  TRACK 01 MODE2/2352
    INDEX 01 00:00:00
FILE "Track 02.bin" BINARY
  TRACK 02 MODE2/2352
    INDEX 00 00:00:00
    INDEX 01 00:02:00

safest way to determine gap presence, i guess, would be with 'CD Tool', to look in subcode or extract it to .sub but you can try to dump it with Alcohol (preferable) also or CloneCD and examine with 'Subcode Analyzer' afterwards. for example this is how gap between Breath Of Fire IV (J) data tracks looks:

Alcohol .sub in Subcode Analyzer (SCA counts frames from 1, not zero so ther's +1 difference):

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
278311 000000000000000000000000         4          1   01      01    61    50      60     00     61     52       60    8443
278312 000000000000000000000000         4          1   01      01    61    50      61     00     61     52       61    3e33
278313 000000000000000000000000         4          1   02      00    00    01      74     00     61     52       62    7d85
278314 ffffffffffffffffffffffff         4          1   02      00    00    01      73     00     61     52       63    0a70

CD Tool:

278310:
00000000000000000000000041010161
50600061526084430000000000000000
278311:
00000000000000000000000041010161
5061006152613E330000000000000000
278312:
00000000000000000000000041020000
0174006152627D850000000000000000
278313:
FFFFFFFFFFFFFFFFFFFFFFFF41020000
0173006152630A700000000000000000
278314:
[FFFFFFFFFFFFFFFFFFFFFFFF][4][1][02][00][00
0172][00][615264][D0C6]0000000000000000

so you see, P is set, INDEX=0, MSF counts backwards. this is how gap is defined on subcode level
and if there is such pattern at the end of 1st track, you'd know it's there and so you can determine gap's size

q: ther's always a lot of errors between two consecutive data tracks (at the very end of 1st) and it gets very slow and...
a: please try the drive that supports d8 (e.g. Plextor) or you could try to use audio cd to replace TOC and read data that way: please read this guide for details. (but when it's done, please remember to do scan for errors with cdmage or such)

q: i'm looking in IB .cue and it's Mode 2, even though i'm sure it can't be.
a: there's apparently a bug so it would always determine Mode 2 on some (all?) Lite-On (could be other brands too) drives. to be sure, please, use any other software or examine extracted track manually (4th byte after sync denotes track mode. (e.g. byte 16th from offset 0))

q: data track is followed with audio and it looks like ther's still some data in determined gap...
a1: if combined offset is positive there may be junk (scrambled data) that looks somewhat like valid data but is not aligned on sector boundaries and MSF is XORed. if you'd uncramble it, you'd see it's a part of last or few last data sectors, nothing more.
some drives may scramble audio silence at the end of such track so it will not appear much dissimilar from data. you can distinguish such data by sync + $01 $80 $00 $60 <- it's a scramble pattern (not a real header) and unscrambles to $00.
it's safe to remove those, and should be - it's not a real data.
a2: however if you are convinced that it is data, possibly gap size was determined incorrectly - can happen with EAC, especially on PCE, SCD, SS, early PC CDs. it's mainly because such CDs often contain q-Mode 2 subcode frames and EAC have problems with those. but you can usually tell by one-two frames difference from common values. in this case you'd have to remove less data than EAC says (it's also possible that EAC detect gap less than it is and so you would have to remove more or otherwise there would be junk left and CRCs would not match on different drives) and correct cue sheet manually. so for example EAC detected gap of 2.01 between data and audio track but you take a look 151 sector back from the end of data and it's valid sector there but next is with junk. so you remove 150 and change gap in .cue to 00:02:00
in other words, with some very, very rare exceptions, data track, that precedes audio ends with last valid data sector (or erroneous data sector, for PSX, sometimes) and gap starts either with silence (all $00) or some of this junk.

q: when dumping audio track that is followed by data track, extraction may hang in pre-gap or return errors.
a: it sometimes works when you hit 'cancel' and retry 2nd time. if not, different software may work.

q: drive return errors and extraction becomes very slow, when audio silence at the end of data track exceeds 2 seconds
a: Alcohol / CloneCD with 'skip errors' usually work much faster. so if it's really damn slow you could abort IsoBuster (but don't delete this file) and dump cd on one of those. then extract data track from Alcohol/CCD image, remove gap from the end. if this is an PlayStation cd, last sector in this new image may be erroneous so you can replace it with sector extracted from IsoBuster image (if you selected 'Replace with user data all zeroes') or replace with previous sector and correct MSF. and it's still much faster than extracting full track with IsoBuster - it can take as much as an hour for 5seconds audio silence. but please, be sure about what you do.

q: gap is huge, exceeds 2 seconds, and drive returns read errors, when trying to determine an offset.
a: you could try D8 method or fake TOC with an audio and then determine offset in dumped file relative from requested sector, like with D8.

q: looking for offset at the end of data track, tried everything but still nothing is there.
a1: there will be no scrambled data if combined offset end up negative. please try D8 method.
a2: if you can not use D8 and this cd has an audio track preceeding data it's possible to determine offset there (at the beginning of data track).
so for example 'Ys I & II: Ancient Ys Vanished' an PCE cd:
LBA of datatrack (track 02) is 3596 and ther's usually 150 data sectors in pregap (you need to know this. total gap size does not matter now) so you'd select 'Sector View' on audio track preceeding data (1st track for this cd) and enter 3445 (3596-151). if returned sector is all filled with scrambled data, you'd go further back and add full sector size to calculation (just like in guide). this scrambled data, at this position (before data track), it should always start with sync pattern: 00 FF FF FF  FF FF FF FF FF FF FF 00, and first 00 counts as scrambled (offset always divides by 4 without remainder). this time it's @offset $4e4. so: $930-$4e4=$44c=1100 1100/4=275 so combined offset value is -275. since my drive offset was 30, write offset = -275 -30 = -305
a3: if there is no audio before data track it is still possible to determine offset if you read data as an audio stream, when you use an audio cd to replace original TOC.

q: when dumping PCE (possibly other early cd console) last data track, drive returns errors at the very end.
a: sometimes there might be empty Mode 0 sectors (Sync + Header with mode=0 + $00) or audio silence (2352 bytes of $00) and some drives will have problems with those. so then, if all your drives fail, and you want to be certain, once again, if reading data track with audio TOC works for you, please try it.


Exact Audio Copy v0.99pb4 / audio track dumping

q: ther's only 1 audio track following data track(s) (there could be several consecutive e.g. Saturn) and audio pregap is detected as 0...
a: it's a bug in EAC, it often will not see gap on CDs with such layout (in fact sees, if gap exceeds 2 seconds considerably, that's a bit strange...). you can determine gap size from subcode, the same way as described above.

q: audio tracks get listed as 'FILE "Track 02.wav" WAVE', is it ok?
a: well it's better to change WAVE to BINARY before submitting to db (though i'm not sure, maybe db accepts .cues with WAVE too), but anyhow if you followed guide faithfully, track content should not be affected in any way, it's just EAC does this.

q: i get sync errors at the end of the last audio track...
a: this means that either your drive does not overread or EAC does not overread with your drive. in 1st case, unfortunately, ther's nothing much you can do, unless you have other drive. in 2nd EAC will return even less data, than there is in LBA range, when overreading is enabled, and will even cut off data if last audio track is followed by data track (not lead-out!). so you can dump this track as sector range (little more than this track, in fact, to cover offset) with IsoBuster / Cdrwin or such program, that allows it, and then remove leading / succeeding data. for example: combined offset=590; Last Track=LBA 1000..2000. so you would extract sector range 1000..2002 (590 samples=1 sector + 2 more samples) and remove 590 samples from beginning and 586 from the end of this file (final file size should divide with 2352 without remainder).
for 2nd case it's also possible to disable overreading and redump this track with EAC - may work if relative offset is negative or if ther's still data track after last audio, like often on PCE, but otherwise this is not safe!! - dat will be lost and no warning given so you should do this only when comparing data to an existing dump.

q: data starts early in audio track succeeding data track and i get different CRCs on each drive...
a: EAC does not return data from pregap - replaces it with $00 instead, so if combined offset is negative and some audio data gets pushed back into pregap it will get nullified. please try extracting sector range, as described above only this time it should work on all drives. if you have drive that gets positive combined offset for this CD, it's results from EAC should be correct.

q: i selected 'Create CUE Sheet' but ther's ony 1st track listed, what's wrong?
a: again seems to be a bug in EAC. if 1st track is audio and 2nd data or if ther's 2 consecutive data tracks - only 1st will get listed. you could try to modify .cue from other application or create it manually.

i found a short summary on alcohol site, that describes this protection as combination of bad sectors + modified subchannel, so i guess, unfortunately we won't be able to add it to db for now.
but maybe you can find out something more about it and then define a way of how to get similar copies on different drives. (at least on a 2352 level)
so i guess TOC is valid. (at least this description doesn't say it isn't)

BadSector wrote:

PS: has anyone tried to dump tracks using Alcohol 120%, i think if we dump track 01 using both Alcohol 120% and ISO Buster they will produce same result.

iR0b0t wrote:

The next step would be to read out 3rd and 4th tracks.
Can I get it simply from the whole image that I created with DDump, for cutting it?

i guess it might work. so you could try to dump this cd on multiple drives with different software and then separate it by LBA addresses into tracks.
and by comparing them you'd see what differs. if there are gaps - those would. and if there are audio data it would be offseted.
also maybe alcohol, clonecd or cdrwin and such will determine gaps and also you can try to examine .sub file with Subcode Analyzer (but not necessarily, maybe ther's some other software) after dumping with alcohol or clonecd or use CD Tool.
so if you remove gaps, realign audio tracks to compensate offsets, those files should always match in the end.
and also you could try to read this cd as an audio data stream like you'd do for dc
http://forum.redump.org/viewtopic.php?id=2620
a large audio cd should work to fake TOC. and this way it would be possibe to determine offset (where audio should start in your files). and audio->data gap (if there is one), when unscrambled, it should be clean and unmodified.
so even though it can not be added now, it's at least very interesting, i think, and a lots of experience smile

thank you very much

about Gothic, i googled up some information on it:
http://fileforums.com/showthread.php?t=20762
http://www.cdmediaworld.com/hardware/cd … ctcd.shtml
it appears to be ProtectCD, but how to deal with it, i'm sorry,  i don't really know
2 very old safedisc cds is all i have seen on pc, i hope that maybe somebody else can help you there
but it could be that it's not even possible to add such cd to a db in current state

1st and 2nd cd is mode1, but 3rd mode2? is it correct?
i also removed 'Original' because it's 1.27 and for some reason only a few PC games currently have this tag, i'm sorry if it was wrong.

tia

292

(0 replies, posted in General discussion)

does it means that db did parsing on submited data and found no lc, or dumper selected No as an option?

293

(4 replies, posted in General discussion)

oh, ok. it's win though but command line.

294

(4 replies, posted in General discussion)

fc /b file1 file2

yes, it was silly of me not to see sync in between data. if i understand, what Vigi wrote, i think this offset is always the same, and if you'd read further with d8 and IB, the first meaningful audio byte, it would be at the same position from last sync. but IB scrambles a part of audio sector for some reason, as if it partly would be data. well honestly, i don't understand that, how is that even possible. but if Vigi says it's ok, should be ok smile

Vigi wrote:

The only time d8 and the classic method don't provide identical results is when the data track doesn't have a write offset (it will only show the read offset with d8) but the audio does...

Vigi, can you help, please?, i'm totally lost on this, how can this happen? is it like tracks are physicaly on variable distance, wouldn't audio collide with datatrack when offset is negative, and what's between them, when offset is positive?

themabus wrote:

i think it's maybe because it xors with the same value (0x7d).

no, no this is wrong

Vigi wrote:

And you should notice the sync/header in the track02 pregap output.. it indicates the same offset of +760 (if you're sure about the +588) for all drives! So it's best to use this value for dumping..

i understand now what you meant to say, IsoBuster data, it cuts off at the middle of sector, this can't be right.

Vigi wrote:

I also don't think that d8 will ever give you a write offset that isn't a full number in samples

it didn't to me, so far. this zero at the end of IsoBuster logs: A1 AD B8 00, i think it's maybe because it xors with the same value (0x7d).

IsoBuster should be correct, i guess, since it's always the same on 3 drives. but why d8 doesn't work i really don't know. maybe it just doesn't on your drive. maybe Vigi can help you with this, he would for sure know a lot more.

is your drive offset 30?
it appears that EAC won't get audio from data-audio gap. it just adds padding zeroes. i think, maybe you should report this as a bug to EAC authors.
...
i just run into similar problem myself with an old PC game back from 91 and Alcohol 1.9.6.5429 can't extract it either. CloneCD can.

ok, no more budget from me smile