Page 272 of 354

Re: DiscImageCreator

Posted: Sat Nov 07, 2020 6:56 am
by reentrant
Ok. A small suggestion: it's better to read two sectors from cache on each F1 call and scan only first 0x900 bytes for 0x00 0xFF.. 0xFF 0x00 pattern because there could be a case where the sector header starts at offset: 0x8FF. If you read only 0x900 bytes such header won't be found.

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 2:17 am
by sarami
Uploaded.
http://www.mediafire.com/file/eq80y20l9 … st.7z/file
reentrant wrote:A small suggestion
Added.
Jackal wrote:will it handle audio sectors
Added.
Jackal wrote:mastering errors safely
I don't test yet.
Agent47 wrote:Third times the charm?
Thanks. It works as I expected.

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 5:28 am
by reentrant
Still sth not right. Under debugger I see that ReadCDForCheckingReadInOut returned FALSE and exception was thrown. Only cache was printed on console.

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 5:41 am
by Parotaku
Hello sarami

For some time now, I noticed that when I dump something, using the same drive as before & recent DIC releases, everything works OK but after the dump is over ('success' tune has been heard) I got :

Code: Select all

All submission information gathered!
Error! Please check output directory as dump may be incomplete!
and the !submissionInfo.txt log is missing...

I don't understand why as everything looks OK...
Here's a test dump for 'Castlevania chronicle' on jp PS1 (but I got the same error whatever format I dump)...
https://www.dropbox.com/s/5mg4gl1fllyyu … LA.7z?dl=0

Could you have a look and see if you can find the cause of that error message?

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 6:53 am
by sarami
reentrant wrote:Still sth not right.
Updated test branch on github. please debug.
Could you have a look and see if you can find the cause of that error message?
It seems no error.

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 7:23 am
by reentrant
Problem is here:

Code: Select all

INT tmpLBA = MSFtoLBA(md, sd, fd) - 150;
if (tmpLBA == nLineNum ||
    (pDisc->SCSI.toc.TrackData[0].Control & AUDIO_DATA_TRACK) == 0) {
tmpLBA = 325226
nLineNum = 21

In case of data track code never goes inside 'if'

And in my case nLBA i always bigger than tmpLBA by 2.

It looks like the data in cache has some offset.

I hacked it this way:

Code: Select all

if (nLBA >= pDisc->SCSI.nAllLength) {
        for (DWORD x = 0; x < CD_RAW_SECTOR_SIZE * 16 - 16; ++x) {
            if (IsValidMainDataHeader(aMainBuf + x)) {
                bHeader = TRUE;
                BYTE m = (BYTE)(aMainBuf[x + 0x0c] ^ 0x01);
                BYTE s = (BYTE)(aMainBuf[x + 0x0d] ^ 0x80);
                BYTE f = (BYTE)(aMainBuf[x + 0x0e]);
                BYTE mode = (BYTE)(aMainBuf[x + 0xf] ^ 0x60);

                BYTE md = BcdToDec(m);
                BYTE sd = BcdToDec(s);
                BYTE fd = BcdToDec(f);
                INT tmpLBA = MSFtoLBA(md, sd, fd) - 150;
                if (tmpLBA == nLBA ||
                    (pDisc->SCSI.toc.TrackData[0].Control & AUDIO_DATA_TRACK) == 0) {
                    OutputLog(standardOut | fileDisc,
                        "-----------------------------------------------------\n"
                        "Cache SIZE: %u (This size is different every running)\n"
                        "-----------------------------------------------------\n"
                        , nLineNum
                    );
                    *lpbCached = TRUE;

                    break;
                }
            }
        }
Read 16 sectors from cache. On 3rd iteration (offset 2) it entered 'if'

EDIT:
For audio maybe parsing subs would be better?

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 8:44 am
by Parotaku
It seems no error.
Hmm, strange...
do you know anything which could prevent !submissionInfo.txt to be created?

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 9:44 am
by user7
Parotaku wrote:
It seems no error.
Hmm, strange...
do you know anything which could prevent !submissionInfo.txt to be created?
Sarami does not make dicui, only dic.

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 9:56 am
by sarami
reentrant wrote:I hacked it this way:
Btw, when sync is detected, how many is value of 'x'?

Re: DiscImageCreator

Posted: Sun Nov 08, 2020 12:19 pm
by reentrant
x = 6468 (combined offset * 4)

========== Offset (Drive offset referes to http://www.accuraterip.com) ==========
     Combined Offset(Byte)   6468, (Samples)  1617
    -   Drive Offset(Byte)     24, (Samples)     6
    ----------------------------------------------
           CD Offset(Byte)   6444, (Samples)  1611