I ran the frontend through VirusTotal and it was tagged as virus by about 30% of the scanners. With those results, I wouldn't even use it if I hadn't written it. The tool is insanely simple so I wondered what was causing so many alerts.

After some testing, it appears to be from a function that pauses/resumes findcrcs.exe. Normally a front end would wait for the tool to finish and process the resulting console-output.  But if findcrcs is scanning for a track that is all 00s, it will often return thousands of hits and take forever to finish. To overcome this long wait, my frontend monitors findcrcs output, when some results have been found, pauses findcrcs, tests the result's MD5, and it there is a match, terminates findcrcs, or if there is no match, resumes findcrcs and continues to wait.

This 'pause exe' function is built into Windows, you'll find it near the bottom of the source code as  'Func _ProcessSuspend()' and 'Func _ProcessResume()'. Apparently the virus scanners think using it means you're up to no good. I 'commented out' these two functions and VirusTotal went down to 2 no-name positives.

It's rather heavy handed for virus scanners to alert on anything using the pause function, but anyways, I'm submitting a false positive notice to a few of the bigger name companies. We'll see what happens.

It's wise to be cautious. I did include the source code, but I doubt anyone cares or knows enough to go through it. If you open the source code and search for 'filewrite', you will find the only interaction the code has with the PC that can actually changes anything. This is the line that writes the extracted tracks to the hard drive. 'FileRead' will show you the only place it gathers any data from your PC; this is when it's reading the tracks from the source CD image.

This tool is written in Autoit language. Autoit doesn't compile the script into machine code, but stores it internally in an executable wrapper. Since all Autoit scripts share the same wrapper, it's fairly common for the language to produce false positives. You can read about it HERE. I have Comodo anti-virus, and for whatever reason, it alerts every now and then when I'm compiling one of my AutoIt scripts.

I know we live in an age when people can't really be trusted, but for what it's worth, I give my word that I wouldn't produce anything like a virus.

On a side note, after I made this front end, I found that someone else had already made a similar tool HERE. If you're still worried about the false-positive, it's a very good alternative. I prefer the smaller footprint of my version, but the built in tools in the other front-end are very nice too.

HERE is the final version of the GUI. I tested with every browser I could find and the only ones that bungled the formatting were Microsoft IE and Edge. I added a fix for IE, but I don't really care to fool with Edge when so many other browsers work properly. Microsoft products just aren't what they used to be.

As far as changes in the GUI, I tested on about 30 BINs from my garbage folder of bad dumps and fixed several bugs, some significant, some only triggering on rare random factors. Hopefully it'll be useful to someone. wink

The v0.3 findcrcs appears to have bugs (not the GUI but findcrcs itself). I confirmed that t doesn't detect CRCs in some files as it should. It will not detect Track1 of the game HERE , but v2 does.

Thank you rosewood, very helpful info. I'm working on a fix for IE and testing other browsers. I implemented a variable detection in v4, but it will still fail with IE because of the extra space added to row-ends.

The frontend currently seems to work with track-info copied from Firefox, Midori and Opera v12.18.

Anything worth doing is worth doing right, so I care to make this tool decent. But I'm also fairly busy, so there's  a small window when I'm willing to put effort into refining the GUI. If anyone cares to do some testing to iron out bugs, speak now or forever hold your peace.

EDIT See post 15 for GUI

@rosewood I tried your build on some larger ISOs. It rejects some large windows with a message, but runs on some ~4GB images and incorrectly lists no matching CRCs. It would be better to add a limit message to my GUI that have it erroneously report ' no match'. Do you know what the size cap for an accurate scan is?

That's unfortunate.  EDIT SEE POST 15

I use findcrcs mostly to extract the split-tracks from a multi-track game that I dumped into a single image. Its easy to make a frontend to search for one track at a time from user input size/CRC, but it's miserable to enter all that information for a game with 40 tracks. So the question is how to automatically parse a game listing, automatically extracting size/crc, in a way that's compatible all the listings here. I've used my fromend for PS1 game listing extensively with no problems.

The upgrades in your v3 are quite useful.

This scanner works well enough that I made a simple GUI front-end for my own use. It uses info from the Redump database and extracts tracks that are found.
https://image.ibb.co/mbj1E6/GUI.png

In case it helps anyone else, it is HERE. Source code (Autoit) included.

EDIT Link Updated to v7

Thank you both. I was able to do it with your advice  cool

The file was 0x752C big (29,996 bytes).
Since there is 0x800 bytes worth of "file data" in each CD sector, each sector will end at even intervals ie 0x800, 0x1000, 0x1800, 0x2000, 0x2800 and so on. So if I'm thinking right, the file's last sector should end at 0x7800 which leaves some unallocated space at the files end:

  0x7800
- 0x752c
-----------
    0x2d4 (724 bytes of unallocated space - that's a lot of room for text!)

I found the 2 copies of the file size right above the file name in a hex editor. And it worked well to edit them to the new file size (0x7800).

It's worth noting that the Playstation routine that loads data from the CD into RAM ignores the file boundaries anyways. Like you say pablogm123, the load sizes and  start-sector are written into the game's programming. The load routine uses with 3 variables.
1. Destination in RAM
2. Location of source data on CD (LBA value)
3. Number of bytes to load

Those values are usually stored in a table in the game's exe. So changing the file size  really has nothing to do with making the game load more data. All this edit will do is let CDMage inject/extract data into that wasted space at the end of the last sector. I'll edit the game exe separately to get it to load the new-larger file!

Thanks again, BIG help    big_smile

I have a file on a Playstation CD which is doesn't fill up it's last sector. Meaning the CD has some blank data at the file's end. I've dumped the CD to a BIN\CUE and I would like to edit the files size so that it extends all the way to the end of it's last sector. I assume this is fairly easy to do by editing the BIN TOC in a hex editor? But I'm having trouble finding format info for CD table of contents.

If anyone can share some info or point me toward a tutorial it would be appreciated.

If anyone is wondering why I want to do this, it's because need to add a little text to a file for a Playstation game translation. The text file is just a tad too small for the translated text so I'm hoping to extend it to the end of its last sector without having to move any other files or rebuild the whole CD.

Thanks smile

The database you are working on is a huge undertaking! I hope it goes well since the info would be great to have.

Redump's dat files do include the CRC32s for each track. Maybe you are running the dat files through a converter of some sort that is stripping some of the the information? I know RomCenter strips everything except the name, size and crc32 when you 'import' Redump's dat file.

11

(0 replies, posted in General discussion)

I was curious what the IFPI serials that you see on CDs mean so I did a little research and thought I'd share the info.

Evidentally, IFPI stands for "International Federation of the Phonographic Industry".

IFPI numbers show the manufacturer of the disk as well as the serial for the specific machines used in the process. For instance, IFPI 5100 is on a lot of US PS1 games- the "51" is Sony's manufacturing code and the "00" is the serial for the machine used top press the disk.

To quote:
"SID codes supply the IDs of the machines used for the CD manufacturing:
The outer SID code IFPI Lxxx is the ID of the machine that procuded the CD master. So if two different codes exist, it just means that at least 2 CD masters have been manufactured, due to a large pressing amount of the CD.
The inner SID code IFPI xxxx is the ID of the machine in which the copy was pressed. CDs are often pressed in parallel by several machines, even for small pressing amounts."

Here's an IFPI# code chart (German).

Here's the article in Germenglish.

This time I'm trying to dump the sound track that came with the 'black label' Final Fantasy Anthology.
EAC detects gaps and dumps the tracks identically in three different drives.
http://i22.photobucket.com/albums/b324/weissvulf/EAC.png

But, it appears to be dumping them all wrong since they end up having no '00' gap attached and the music data is cut off in the middle.
http://i22.photobucket.com/albums/b324/weissvulf/Track03-dumped-with-EAC.png


Sub code analyzer says there are no gaps (if I'm reading it right)
  TRACK 01 AUDIO
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 02:36:70 . . .

And the sub data seems to agree
http://i22.photobucket.com/albums/b324/weissvulf/FFAn.png

So, I should be ok if I dump each track in ISOBuster and then make corrections for my drive's offset, right?

Any ideas what made EAC mess up in this case? It's really annoying to have a tool like EAC work beautifully one minute and be completely unreliable the next sad

Excellent explanation! Thank you so much for taking the time to explain it! smile
EAC was detecting the gaps correctly. I wouldn't be so paranoid about trusting EAC but it sometimes mis-detects gaps on 2 out of 3 of the drives I'm using. For Magic the Gathering that I just submitted, it detected track2's gap as 2:00 on one of my drives and 7 something on a different drive (7 was correct).

Anyways, I finally got Rhapsody's sound track submitted and all my checks seemed to come out correct- yay!.
The information here will help me a lot in the future smile

Do I check the 'lead-in and lead-out area' by looking at the first and last sectors in ISOBuster?

On Rhapsody's music CD, both Subchannel Analyzer and EAC seem to be measuring the gap by counting the frames that have a Q-Index '0' combined with a P of 'FF' (i.e. 120 lines =1.45 gap etc), but they aren't counting the frames immediately above that have a Q-Index '1' and a P of 'FF' (see picture I posted above). That means they're detecting the gap correctly right?  I only wonder because if the '1+ff' frames are included in the gap with the '0+ff' frames, their total becomes 150 which seems suspiciously close to a standard 2 second gap.

SuibChannel Analyzer detects the same gaps as EAC, but the subchannel view doesn't seem to match what you describe but maybe I'm misunderstanding something.

The first frame with Q-INDEX of 0 is well into the 'frames with mostly fs' instead of the first  having a 'P of 0s'. Should I just ignore this and trust EAC's/SubAn's gap analysis?

http://i22.photobucket.com/albums/b324/weissvulf/Sub.png

Thanks again for the help Velocity smile
So a CD's offset is basically a data shift distance that occurs between the data track and audio tracks, but not on data-only or audio-only CDs?

I see other PS sound tracks in the database so I figured out that question myself.


EDIT: A couple more questions- 
EAC shows irregular gaps (1.45, 2.43 etc) on the CD tracks;  is that normal?
Except for the last track (which gets a sync error) , I get no errors and identical CRCs on all the tracks from both dumps. Is there a way to manually dump the last track in ISO buster?

Is redump recording info for music cds that came with Playstation1 games- specifically, I'm wondering about the music CD that came with Rhapsody A Musical Adventure.
If redump is covering music CDs, is there a guide about getting an accurate dump. If I understand correctly, you can't dump a music CD unless you know its offset and you can't figure out the offset unless you have you have a drive that supports px_d8.

Thanks for the advice velocity, I'll go that way in the future
And thanks NvrBst for the PARs links, I'll go over them and see whats there
smile

I read about this happening in a different game too.
I wonder if the programmers were just poking fun at hackers by adding Razor's name to the exe??

Just a link to a site that may help some inexperienced Playstation fans get proper dumps from their game disks:
http://ps1perfectimage.100webspace.net/main.html

That seems very similar to the problem I had with EAC; it's '00-ing' out data on the end of the track right?

22

(7 replies, posted in General discussion)

Yes, I think Nexy is correct. Because you get all 00s (no 'garbage data') when you go back 150 sectors in track2's 'sector view', you are likely dealing with a negative combined offset  for that game. It's probably a disk with -12 or -647 offset.

As far as I know, you can't accurately know a CD's offset if the 'combined offset' is negative (unless your drive supports the 'px_d8' program), and you can't dump audio tracks unless you know the CD's offset.

I kept having this problem with -12 and -647 disks (because my drive was only +6).  I finally bought a
LG Electronics - DVDRAM GH24NS50 drive off Amazon that is +667 and I haven't had that problem since.
The only downside to the GH24NS50 is that it doesn't support 'over-read' so I have to use a different drive to to make sure it doesn't cut any data off the end of the last audio track.

What is your drive's offset?

Thanks so much for your help Velocity. I verified (using a negative combined offset drive) that the last 24 bytes are all zeros, and also verified (using a positive combined offset drive) that the first 24 bytes are all zeros so hopefully I got it right.

EAC's site mentions a firmware incomparability with some drives (toshiba) that can cause dump errors on different disks but always at the same locations. I know one of my problem drives doesn't report sync errors when it should (IE on last track when drive doesn't support overread). I'm going to see if I can find a different disk that also dumps incorrectly and check if the errors are happening at the same locations.

25

(3 replies, posted in General discussion)

I didn't mean it's a problem- just that the tutorial says 'CDs are green' and they aren't always.
An inexperienced dumper could make a mistake so why not say 'usually green and will always say CD ROM'?