Page 2 of 4 FirstFirst 1234 LastLast
Results 21 to 40 of 63

Thread: DC2CD

  1. #21
    Conscript
    iNub's Avatar

    Join Date
    May 2010
    Location
    Restaurant at the end of the universe
    Posts
    84
    Sorry to bump this without any actual good news in the form of a new version but at least I can tell you a whole lot has improved since the last public version.

    However I have a lot on my plate right now and could really use some help to speed up the process.

    1) I want to add automatic downsampling. I haven't looked into that yet but afaik there are only 2 formats that can be downsampled: adx/afs and sfd, is this correct?
    Also if anyone has (or might be willing to produce) any source code (or good info) concerning this I'd be very grateful.

    2) I plan on adding a "truncate" feature, making any files the user selects 0 byte files.
    Does anyone see a problem with that (besides the user having to know which files he can truncate without the game refusing to work)?

    3) What is the actual purpose of CDDA.exe? All the games with and without CDDA that I tried worked perfectly fine without using it; if I do use it (patching the 92 bytes it always patches, 8 of which depend on the game) I get a white screen hang in Sega Worldwide Soccer 2000 v1.300 (1999)(Sega)(PAL)(M4)[!].

    Also, is there any need for dahack.exe? hack3 patches 0x5E 0xB0 0x00 0x00 and 0x6E 0xB0 0x00 0x00 0x01 to "real" values while dahack only patches 0x6E correctly, and 0x5E to values fitting only echelon dummy audio (which works just fine with hack3 too).

    4) Does anyone know if/how I can get this burner (LG GH22NS30) to correctly burn 100 minute discs (via Firmware mod or something)? I've only been able to burn up to 94 minutes successfully, then I get errors (official firmwares 1.01 and 2.00). If this worked it'd be useful for testing games.

    5) Any opinions on where Track01.bin data should be extracted to (for use in the output iso/bin)?
    I was thinking of a directory name like "!EXTRAS!", "TRK1XTRA" or similar in the root of the new data track - obviously it should be unique and not conflict with any directories in the main data track.

    6) I was blissfully unaware that newer Dreamcast models only boot data/data backups, is this true? But audio/data backups can be converted somehow? What does that mean for games with CDDA?

    7) Is it necessary to add empty sectors between and after the path tables and the "ad" sector mkisofs inserts? Would losing them prevent booting on a real DC console? DC2CD does it the mkisofs way at the moment but maybe we could save 3 sectors for data.

    @RaZiel: I'm planning to implement logotools in a way that lets you set any valid .png file anywhere on your HDDs as input, saves that setting for future use, and inserts the png (converted on the fly) into your game(s).

    Regards
    Last edited by iNub; 12-16-2011 at 03:03 PM.

  2. #22
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    Quote Originally Posted by iNub View Post
    Sorry to bump this without any actual good news in the form of a new version but at least I can tell you a whole lot has improved since the last public version.

    However I have a lot on my plate right now and could really use some help to speed up the process.

    1) I want to add automatic downsampling. I haven't looked into that yet but afaik there are only 2 formats that can be downsampled: adx/afs and sfd, is this correct?
    Also if anyone has (or might be willing to produce) any source code (or good info) concerning this I'd be very grateful.

    2) I plan on adding a "truncate" feature, making any files the user selects 0 byte files.
    Does anyone see a problem with that (besides the user having to know which files he can truncate without the game refusing to work)?

    3) What is the actual purpose of CDDA.exe? All the games with and without CDDA that I tried worked perfectly fine without using it; if I do use it (patching the 92 bytes it always patches, 8 of which depend on the game) I get a white screen hang in Sega Worldwide Soccer 2000 v1.300 (1999)(Sega)(PAL)(M4)[!].

    Also, is there any need for dahack.exe? hack3 patches 0x5E 0xB0 0x00 0x00 and 0x6E 0xB0 0x00 0x00 0x01 to "real" values while dahack only patches 0x6E correctly, and 0x5E to values fitting only echelon dummy audio (which works just fine with hack3 too).

    4) Does anyone know if/how I can get this burner (LG GH22NS30) to correctly burn 100 minute discs (via Firmware mod or something)? I've only been able to burn up to 94 minutes successfully, then I get errors (official firmwares 1.01 and 2.00). If this worked it'd be useful for testing games.

    5) Any opinions on where Track01.bin data should be extracted to (for use in the output iso/bin)?
    I was thinking of a directory name like "!EXTRAS!", "TRK1XTRA" or similar in the root of the new data track - obviously it should be unique and not conflict with any directories in the main data track.

    6) I was blissfully unaware that newer Dreamcast models only boot data/data backups, is this true? But audio/data backups can be converted somehow? What does that mean for games with CDDA?

    7) Is it necessary to add empty sectors between and after the path tables and the "ad" sector mkisofs inserts? Would losing them prevent booting on a real DC console? DC2CD does it the mkisofs way at the moment but maybe we could save 3 sectors for data.

    @RaZiel: I'm planning to implement logotools in a way that lets you set any valid .png file anywhere on your HDDs as input, saves that setting for future use, and inserts the png (converted on the fly) into your game(s).

    Regards
    1) The formats you listed are the most common ones for sound. For movies it's SFD and for texture its PVR, some games uses GZ compression which can be improved by using 7zip to recompress the files. You should look into OVERRiDE SFD downsampling pack. Ahx can also be downsampled (like on shenmueII FullSpeech release), but few people got the right tools.

    2) If you wanna remove a file and replace it by another compatible one (exemple: linking spanish file ot the english one), then the best is to replace the old files by the new, which is already on dis somewhere, and add -duplicates-once as a mkisofs argument, this way a single instance of the file will be burnt, but both will be referenced in the TOC.

    3) IIRC if removes the need to put two dummy audio tracks at the beggining. Games work without the dummy, but the track number might be messy in-game. Check this:http://www.dreamwell.pwp.blueyonder....kenx/patch.htm

    4) Can't say.

    5) No games uses it for gamefiles. It can contain some nice extras though.

    6) I think it's true, check my data/data pack for data/data games. You won't be able to include CDDA music in such a selfboot game. Great for games without CDDA though, as it save some space (few kBs or MBs).

    7) Try it to see, I don't really know what you're talking about. Keep in mind 3sectors is 6kB, or 3 files under 2kB ... Maybe it's not worth the hassle?

    Cheers,

    FG
    Last edited by -=FamilyGuy=-; 12-16-2011 at 03:49 PM.
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

  3. #23
    Conscript
    iNub's Avatar

    Join Date
    May 2010
    Location
    Restaurant at the end of the universe
    Posts
    84
    Thanks for the reply -=FamilyGuy=-, very informative.
    And sorry to bump this yet again without a new release.

    1) Interesting, I'll look deeper into that soon.

    2) I like that idea, it would be no problem to make DC2CD do the same thing (seems to me to require just a bit of modding in the directory records); however I think it'd still make sense to also keep the "just truncate" option as not all files (think: dummy files on original game discs) need to be "linked" to something else.

    3) Argh, I wish I found that particular page earlier, would've saved me a lot of guesswork ;)
    But what two dummy audio tracks do you mean?! Session 1 contains one dummy or multiple non-dummy audio track(s) and session 2 the data, no?!

    4) Apparently that particular burner doesn't officially support overburning and I have yet to find a firmware that will enable it. Meh, will probably need to buy a new burner.

    5) I thought so, I was just wondering if anyone had suggestions towards the dir name, I was also thinking of making an "extras.zip" in root but I'd rather have the (track01) files accessible as they would be if you popped the GD(-R) into a PC CDROM drive. Doesn't matter, it's not really important.

    6) That clears that up... to be honest right now I'm so busy I don't think I'll be implementing that too soon but it's really good to know what that whole data/data thing is about. Shame it's just for games without CDDA (or if CDDA won't fit on disc). Once I have some spare time on my hands I'll probably include it, saving some space is always good. Compatibility with newer consoles is too.

    7) Yeah you are right, it's just 6kb... but it's 6kb on every disc! ;)
    Mkisofs (according to my observations at least) inserts an empty sector after each (both big and little endian) path table if the path table length (in sectors) is odd, i.e. 1 path table sector + 1 empty sector; or 2 path table sectors and 0 empty sectors.
    It also inserts a sector containing the command line used somewhere, I think after the volume descriptor set terminator.
    Right now DC2CD does it the same way, except of course for the content of the "mkisofs sector" being different.

    Thanks again for your help!

    EDIT:
    I'm aiming to include everything on my current todolist (including substantial code rewriting) into the next version; that'll be a lot more work and unfortunately I won't be able to release it in time for christmas.
    However I don't plan on changing the binary hacking code any more, since as far as I know it's correct - so why not post it?
    Here's the C# source code for my versions of hack3.exe, dahack.exe, unprotect.exe, cdda.exe, binhack.exe, bincon.exe and HD toc fixing (don't know of any exe that does that, so I can't test it); if anyone finds something wrong please inform me and I'll have it corrected before the next release.

    Yes the code is ugly, no I don't care right now unless someone posts nicer code.

    hack3/dahack (expects file data, start sector of data track [aka "2nd msinfo number"], daHackMode true or false; returns hacked file data):
    public byte[] hack3dahack(byte[] data, int dataSessionStart, bool dahackMode)
    {
    for (int i = 0; i < data.Length; i++)
    {
    if (data[i] == 0x5E && data[i + 1] == 0xB0 && data[i + 2] == 0 && data[i + 3] == 0)
    {
    if (dahackMode) { data[i] = 0x96; data[i + 1] = 0; data[i + 2] = 0; data[i + 3] = 0; }
    else
    {
    int newValue = dataSessionStart + 150;
    data[i + 3] = (byte)(newValue / 16777216);
    newValue -= data[i + 3] * 16777216;
    data[i + 2] = (byte)(newValue / 65536);
    newValue -= data[i + 2] * 65536;
    data[i + 1] = (byte)(newValue / 256);
    newValue -= data[i + 1] * 256;
    data[i] = (byte)(newValue);
    }
    }
    else
    {
    if (data[i] == 0x6E && data[i + 1] == 0xB0 && data[i + 2] == 0 && data[i + 3] == 0 && data[i + 4] == 1)
    {
    int newValue = dataSessionStart + 166;
    data[i + 3] = (byte)(newValue / 16777216);
    newValue -= data[i + 3] * 16777216;
    data[i + 2] = (byte)(newValue / 65536);
    newValue -= data[i + 2] * 65536;
    data[i + 1] = (byte)(newValue / 256);
    newValue -= data[i + 1] * 256;
    data[i] = (byte)(newValue % 256);
    }
    }
    }
    return data;
    }
    Unprotect (expects file data; returns hacked file data):
    public byte[] unProtect(byte[] data)
    {
    for (int i = 0; i < data.Length; i++) if (data[i] == 0xCD && data[i + 1] == 0xE4 && data[i + 2] == 0x43 && data[i + 3] == 0x6A) { data[i] = 9; data[i + 1] = 0; data[i + 2] = 9; data[i + 3] = 0; }
    return data;
    }
    Cdda (expects file data; returns hacked file data):
    public byte[] cdda(byte[] data)
    {
    for (int i = 0; i < data.Length; i++)
    {
    if (data[i] == 0xE6 && data[i + 1] == 0x2F && data[i + 2] == 0xD6 && data[i + 3] == 0x2F && data[i + 4] == 0xC6 && data[i + 5] == 0x2F && data[i + 6] == 0xB6 && data[i + 7] == 0x2F
    && data[i + 8] == 0xA6 && data[i + 9] == 0x2F && data[i + 10] == 0x22 && data[i + 11] == 0x4F && data[i + 12] == 0xF8 && data[i + 13] == 0x7F && data[i + 14] == 0x36 && data[i + 15] == 0xD3
    && data[i + 16] == 0x43 && data[i + 17] == 0x6B && data[i + 18] == 0x62 && data[i + 19] == 0x2F && data[i + 20] == 0x32 && data[i + 21] == 0x64 && data[i + 22] == 0x41 && data[i + 23] == 0x60
    && data[i + 24] == 0x01 && data[i + 25] == 0x88 && data[i + 26] == 0x05 && data[i + 27] == 0x8F && data[i + 28] == 0x53 && data[i + 29] == 0x6A && data[i + 30] == 0x41 && data[i + 31] == 0x85)
    {
    byte[] cddaPatchBytes = new byte[92] {
    0x11, 0xD0, 0x22, 0x4F, 0x08, 0x3F, 0xF3, 0x60, 0x46, 0x2F, 0x56, 0x2F, 0x66, 0x2F, 0x03, 0x65,
    0x10, 0xD0, 0x0B, 0x40, 0x00, 0xE4, 0xF6, 0x66, 0xF6, 0x65, 0xF6, 0x64, 0xFC, 0x74, 0xFD, 0x75,
    0x08, 0x44, 0x08, 0x45, 0xFC, 0x34, 0xFC, 0x35, 0x42, 0x64, 0x52, 0x65, 0xFF, 0xE0, 0x00, 0x35,
    0x01, 0x8B, 0x06, 0xD0, 0xFE, 0x05, 0x06, 0xD0, 0x09, 0x24, 0x09, 0x25, 0x02, 0xD0, 0x0C, 0x3F,
    0x05, 0xD0, 0x26, 0x4F, 0x2B, 0x40, 0xFF, 0x75, 0x98, 0x01, 0x00, 0x00, 0x94, 0x01, 0x00, 0x00,
    0xFF, 0xFF, 0xFF, 0x00,
    data[data.Length - 0x34], data[data.Length - 0x33], data[data.Length - 0x32], data[data.Length - 0x31],
    data[data.Length - 0x24], data[data.Length - 0x23], data[data.Length - 0x22], data[data.Length - 0x21] };
    cddaPatchBytes.CopyTo(data, i);
    }
    }
    return data;
    }
    binhack/bincon (expects <working directory path>, first read file name [located in <working directory path>\data\]; returns nothing but writes IP.BIN and <firstreadfilename>.BIN):
    public void binHack(string path, string firstReadFileName)
    {
    byte[] ipBin = File.ReadAllBytes(path + "\\IP.BIN");
    byte[] hackData = DC2CD.Properties.Resources.ECHELON;
    int firstReadFileLength = (int)new FileInfo(path + "\\data\\" + firstReadFileName).Length;
    hackData[0x2B9F] = (byte)(firstReadFileLength / 16777216);
    firstReadFileLength -= hackData[0x2B9F] * 16777216;
    hackData[0x2B9E] = (byte)(firstReadFileLength / 65536);
    firstReadFileLength -= hackData[0x2B9E] * 65536;
    hackData[0x2B9D] = (byte)(firstReadFileLength / 256);
    firstReadFileLength -= hackData[0x2B9D] * 256;
    hackData[0x2B9C] = (byte)(firstReadFileLength % 256);
    hackData[0x28C0] = ipBin[0x60C0]; // dword with unknown purpose, only first byte seems to be variable and can apparently be 0 or 1
    hackData.CopyTo(ipBin, 0x3800);
    if (ipBin[0x3E] == 0x31) // WinCE; handling like bincon.exe:
    {
    byte[] oldData = File.ReadAllBytes(path + "\\data\\" + firstReadFileName);
    byte[] newData = new byte[oldData.Length];
    for (int i = 2048; i < oldData.Length; i++) newData[i - 2048] = oldData[i];
    for (int i = oldData.Length - 2048; i < oldData.Length; i++) newData[i] = oldData[i];
    File.WriteAllBytes(path + "\\data\\" + firstReadFileName, newData);
    ipBin[0x3E] = 0x30; // Set OS byte to NOT WinCE
    }
    File.WriteAllBytes(path + "\\IP.BIN", ipBin);
    }
    fixHdToc (expects <working directory path>, start sector of data track [aka "2nd msinfo number"]; returns nothing but writes IP.BIN):
    public void fixHDTOC(string path, int dataSessionStart)
    {
    //dataSessionStart += 150; // NOT USED, probably wrong
    byte[] ipBin = File.ReadAllBytes(path + "\\IP.BIN");
    for (int i = 0x108; i <= 0x287; i++) ipBin[i] = 0xFF;
    ipBin[0x104] = (byte)(dataSessionStart % 256);
    dataSessionStart -= ipBin[0x104];
    ipBin[0x105] = (byte)(dataSessionStart / 256);
    dataSessionStart -= ipBin[0x105] * 256;
    ipBin[0x106] = (byte)(dataSessionStart / 65536);
    ipBin[0x107] = 0x41;
    File.WriteAllBytes(path + "\\IP.BIN", ipBin);
    }
    Oh, I almost forgot to mention:
    dataSessionStartSector = <length of cdda audio files excluding track02.raw in bytes> / 2352 + 11400 (11400 = number of sectors needed for session change).
    Example: Echelon dummy audio file length = 705600 bytes = 300 sectors; 300 + 11400 = 11700 = "2nd msinfo number".
    I said hack3/dahack, unprotect and cdda expect file data; however they only need (and should only be fed) bytes 0 - <byte index before first occurence of "CD001"> of the .bin file to hack.
    That could look something like this (which I have yet to revise for the new version, but will):

    private void hackBins()
    {
    binaryHacks binaryHacks = new binaryHacks();

    foreach (string file in Directory.GetFiles(path + "\\data", "*.bin", SearchOption.AllDirectories))
    {
    FileStream binFile = new FileStream(file, FileMode.Open);
    byte[] fileBytes = new byte[binFile.Length];
    binFile.Read(fileBytes, 0, (int)binFile.Length);
    binFile.Close();
    int CD001Location = 0; // string "CD001..." (0x43 0x44 0x30 0x30 0x31 0x00 0x00 0x00 !OR! 0x43 0x44 0x30 0x30 0x31 0x00 0xFF 0xFF) (= normal file data start)
    int byteIndex = 0;
    while (byteIndex < fileBytes.Length && CD001Location == 0)
    {
    if (fileBytes[byteIndex] == 0x43 && fileBytes[byteIndex + 1] == 0x44 && fileBytes[byteIndex + 2] == 0x30 && fileBytes[byteIndex + 3] == 0x30 && fileBytes[byteIndex + 4] == 0x31 && fileBytes[byteIndex + 5] == 0x00)
    {
    CD001Location = byteIndex;
    /*
    if (fileBytes[byteIndex + 6] == 0x00 && fileBytes[byteIndex + 7] == 0x00 || fileBytes[byteIndex + 6] == 0xFF && fileBytes[byteIndex + 7] == 0xFF)
    {
    CD001Location = byteIndex;
    }
    */ // if this is kept in it doesnt hit the CD001 in ctaxi... maybe the rest should be used if there's more than one "CD001"???
    }
    // exception: index out of bounds in aerowings and jojo
    // I'll be fixing that for the next version, pretty obvious
    byteIndex += 1;
    }
    byte[] hackedData = new byte[CD001Location];
    System.Buffer.BlockCopy(fileBytes, 0, hackedData, 0, CD001Location);
    if (checkBoxHack3.Checked) hackedData = binaryHacks.hack3dahack(hackedData, dataSessionStartSector, false); else if (checkBoxDAHack.Checked) hackedData = binaryHacks.hack3dahack(hackedData, dataSessionStartSector, true);
    if (checkBoxHackUnprotect.Checked) hackedData = binaryHacks.unProtect(hackedData);
    if (checkBoxCDDA.Checked) hackedData = binaryHacks.cdda(hackedData);
    hackedData.CopyTo(fileBytes, 0);
    binFile = new FileStream(file, FileMode.Create); binFile.Write(fileBytes, 0, fileBytes.Length); binFile.Close();
    }

    if (checkBoxBinhack.Checked) binaryHacks.binHack(path, comboBoxFirstRead.Text.Replace(" ", ""));

    if (checkBoxFixHDTOC.Checked) binaryHacks.fixHDTOC(path, dataSessionStartSector);
    }
    And now, seeing as how this post is already miles in length and I assume that if anyone actually reads the whole thing they might actually be interested in the progress, here's are my current changelog and todolist:

    // 0.1.0:
    // - revised output layout and raw2wav tool (game.bin/.cue, no more external .raw file(s))
    // - improved CUE compatibility (you should still use ImgBurn!)
    // - added "Save most recent dump" setting
    // - improved "Verify dump" output
    // - fixed stupid bug that caused garbage data to be written at the end of most files in the .iso/.bin (fixing "Nightmare Creatures II v1.004 (2000)(Konami)(PAL)(M4)[!]", "Worms Armageddon v1.001 (1999)(MicroProse)(NTSC)(US)[!]" and others)
    // - lost all source code due to a hard drive crash; but thanks to RAID-5 everything was back to normal within a few hours :) And I've learned to make sufficient backups.
    // - added "Always clean up output" setting
    // - rebuilt data track extraction process from scratch (fixing "Akihabara Dennou Gumi Pata Pies! v1.000 (1999)(Sega)(NTSC)(JP)[!]" and others)
    // - added "Extract data from track.bin" tool for track01.bin, track03.bin (and following bin if any) plus .bin and .cue files created by DC2CD
    // - fixed a bug in the iso creation process that led to a "." being added to all directory names in the directory records
    // - improved "DC2CD sector"
    // - fixed a bunch of bugs in the iso extraction and creation processes
    // - fixed a bug in raw2wav bin processing

    // 0.2.0:
    // - revised IP.BIN extraction process
    // - improved dump verification
    // - fixed a bug in DC2CD game.bin/.cue extraction
    // - added a lot of new test games
    // - fixed bug that led to a corrupt ip.bin being added if ip.bin addition to data track was not selected
    // - fixed bug that caused most recent dump directory to be forgotten under certain circumstances
    // - improved track extraction non-data parts
    // - removed ABSTRACT.TXT, BIBLIOGR.TXT and COPYRIGH.TXT from primary volume descriptor because Wetrix doesn't have those files with that name, so they can't be copied to the new data track
    // - (not finished) added accurate disc length calculation before selfboot processing
    // - (not finished) rebuilt data track building process from scratch (fixing ...)
    // show how long disc will be with the current settings BEFORE pressing "selfboot" so settings can still be changed, change to red + white if data doesnt fit disc and DONT create disc
    // - don't forget making "addReplaceCDDA" autochecked and disabled for games without cdda (and add that length to the disc length)
    // new iso creation:
    // - add track01.bin extraction => dir "TRK1XTRA" or "!EXTRAS!" or "T01XTRAS" or "AAAXTRAS"
    // - keep ip.bin, path tables and dir recs and just patch sector positions and file sizes
    // - (except for root dir because of dummy, ip, extras [which don't necessarily end up only in the root dir!!!] being added)
    // - change importIpBin to return void instead of byte[], remove OLDSTYLETESTMODE and "if (File.Exists(path + "\\track03\\pvod.bin"))" when done
    // use extractTrack(trackName) in main processing and try akihabara again => can't be done before new iso creation is implemented
    // add "truncate files" => openfiledialog with "*.*" filter and multiselect to truncate all selected files to 0 bytes (showing "are you sure?" before); for dirs: track1, track3
    // - also add possibility to relink files (e.g. make "japanese.lang" entry point to "english.lang" file via directory records)
    // change "open" in the main processing to only open .gdi files
    // try previously non-working games again
    // add automatic downsampling (audio + video) => http://www.dreamwell.pwp.blueyonder..../downloads.htm, http://snesorama.us/board/showpost.p...01&postcount=1
    // - -=FamilyGuy=-: adx/afs + sfd; The formats you listed are the most common ones for sound. For movies it's SFD and for texture its PVR, some games uses GZ compression which can be improved by using 7zip to recompress the files. You should look into OVERRiDE SFD downsampling pack. Ahx can also be downsampled (like on shenmueII FullSpeech release), but few people got the right tools.
    // add hex editor to manually hack files before iso creation (no length modifications, only byte overwriting with maybe a search and goto function); for dirs: (track1,) track3
    // find out dahack.exe and cdda.exe purposes => http://www.dreamwell.pwp.blueyonder....kenx/patch.htm
    // fint out more about VGA hacking (apparently some games that won't work even if the VGA flag is set [like test games bangai-o and psychic force 2012] can be forced to work with VGA somehow)
    // add threading
    // add remaining tools
    // change raw2wav tool to also output mp3 files if user selects so after creating wavs (using lame_enc.dll or something similar)
    // settings => language + popup at first start (no language set) "choose language"
    // add logotools
    // add error handling
    // code cleanup
    // add readme
    // show info about created disc after processing: checkresults, truncated files, downsampled files etc. with possibility to save to txt file
    // resolve Evolution 2 dat thing (name [M5], or maybe there's a new official dat now?)
    // fix tabindexes, version in project properties and assembly info, resource strings, add deletion of unused files, remove unused usings, compress exe with mpress
    // try to talk to authors of NullDC about opening DC2CD bins & cues (might need extra downsampled file support)
    // add data/data iso creation
    Regards
    Last edited by iNub; 12-19-2011 at 08:45 PM.

  4. #24
    this looks awesome! where can i get the latest build?

    or dont mind me whats the status? this is exactly what i need..
    Last edited by cc0x; 03-26-2012 at 05:54 PM.

  5. #25
    I'd recommend putting the track01.bin data into a folder called extras. Does DC2CD use data/data layout? The file could go into the first data session, on the innermost area of the disc. Then it wouldn't interfere with any game data.

  6. #26
    らりるれろ
    Site Supporter 2014

    Tribuni Angusticlavii
    la-li-lu-le-lo's Avatar

    Join Date
    Feb 2006
    Location
    US
    Posts
    4,811
    Is that Java?

  7. #27
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    Quote Originally Posted by comradesnarky View Post
    I'd recommend putting the track01.bin data into a folder called extras. Does DC2CD use data/data layout? The file could go into the first data session, on the innermost area of the disc. Then it wouldn't interfere with any game data.
    You'd loose space for game data though!

    FG
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

  8. #28
    Quote Originally Posted by -=FamilyGuy=- View Post
    You'd loose space for game data though!

    FG
    Maybe the program could detect how much data needs to be used by the game and apply the EXTRAS folder only if there will be space left? I don't know how complex that would be.

  9. #29
    Combat Soldier
    atreyu187's Avatar

    Join Date
    May 2012
    Location
    South Carolina, USA
    Posts
    628
    Please keep this alive it is amazing tool that works very well as it stands. I love the fact logoinsert will be implemented but is there a way we can use our own sorttxt.txt files? Not all devs optimized their files and this can results in not the best interest of preserving the game as custom sorts can reduce laser movement and noise. Just a little suggestion, the auto downsamping would be something I would like to be optional as I have my own tools I like to use. Anyhow it is a great app and I have about 20 new games backed up thanks to your tool. It's great as it works well for my 99/100min cdr's as well.

    I have built images up to 105:00 minutes for a 900mb CDR and it plays without a hitch. I have made 1:1 backups of Maken X with nothing removed and stereo sound as well as the only single disc backup ever of Draconus Cult of the Wyrm. I think I can even do Skies of Arcadia but we need more control over the app before that can happen as it stands one can't manually insert logo nor edit the filelist.txt but all in all I am very pleased with this as it and Family Guy's pack has made things in my life much easier keeping my collection safe from a four year old and quite easily.

    Ever since leaving a dedicated XP machine CDRecord doesn't want to work for me and VM's don't seem to cut the mustard but with both of your tools I can get a lot done easily. Yours if there is no need to edit and FG's pack when I need to downsample and such. Both of you deserve a great round of applause as without your tools doing this in Win7 wouldn't be possible. (I have to manually hack binaries using FG's tool in Win7 BTW) so to both of you keep up the great work and I truly love the work you have done for the commuity.

    [Confirmed Working] DAHack, CDDA, & Bincon boxes ticked for all unless noted with combined CDDA track into one file.

    Bomberman Online NTSC-U Katana No CDDA [Hack3 only]
    Ducati World Racing NTSC-U WinCE w/ CDDA fully working
    Expendable NTSC-u 99min CDR Katana w/ CDDA fully working
    Fighting Force II NTSC-U Katana w/ CDDA fully working
    Gigawing NTSC-U Katana w/ CDDA fully working
    Kao the Kangaroo NTSC-U Katana w/ CDDA fully working
    Planet Web 2.62 99min CDR NTSC-U Katana/WinCE w/ CDDA fully working :)
    South Park Rally NTSC-U Katana w/ CDDA fully working
    Tetris 4D NTSC-J Katana w/ CDDA fully working
    Walt Disney's Magical Tour Racing 99min CDR NTSC-U Katana w/ CDDA fully working
    Unreal Tournament 99min CDR NTSC-U Katana w/ CDDA fully working
    Quake III Arena NTSC-U Katana w/ CDDA fully working
    Sonic Adventure Limited Edition 100min CDR NTSC-U Katana No CDDA fully working [Hack3 only]
    ChuChu Rocket NTSC-U Katana w/ CDDA fully working
    Mr. Driller NTSC-U Katana w/ CDDA fully working
    Reel Fishing Wild NTSC-U Katana w/ CDDA fully working
    Super Runabout San Francisco Edition 99min CDR NTSC-U WinCE w/ CDDA fully working
    Super Puzzle Fighter II X for Matching Service NTSC-J Katana No CDDA [Hack3 only]

    [Works Without CDDA] Hack3 Option Only Checked in Options

    Mag Force Racing NTSC-U
    Air Force Delta NTSC-U
    NFL Blitz 2000 NTSC-U (CDDA playback is out of sync SFX is still there just no commentator I found annoying anyhow)

    [NON-Working] Tried many settings all fail on these
    Game Works vol.1 NTSC-J
    NFL Blitz 2001 NTSC-U
    Super Street Fighter II X for Matching Service NTSC-J (Protection, will work if you swap Echeclon's binaries before selfbooting)
    Project Justice NTSC-U (Protection)
    De La Jet Set Radio NTSC-J (Protection)
    Vampire Chronicles NTSC-J (Protection, even swapping Echelon's hacked files before selfbooting doesn't work but boots)
    Fire Pro Wrestling G NTSC-J (To large for 900mb CDR's)
    JoJo's Bizarre Adventure for Matching Service NTSC-J (Protection, no scene rip was ever made of this so yea it's protected)
    KISS Psycho Circus NTSC-U WinCE w/ CDDA (CDDA playback is out of sync)
    Armada NTSC-U WinCE w/ CDDA (CDDA restarts every time you pause)

    Anyhow I have 232 Dreamcast games and I have been dumping them for TOSEC here lately and once done I try and selfboot so I will update more as I do them. About to burn test Super Runabout San Francisco Edition WinCE w/ CDDA 99min disc required to do so without editing. Now I hope the CDDA works as WinCE games with CDDA tend to not work but that seems to only be when edited so this maybe the ticket here. Thanks god for 90/99/100 minute disc as a 900mb CDR is capable of doing 95% of the Dreamcast library without any quality loss in a full 1:1 backup. My collection is becoming a lot more solid replacing old scene trash between yours and Family_guy's tools. Thanks again and will continue to update so long as anyone shows interest in this sweet tool.
    Last edited by atreyu187; 05-14-2012 at 06:54 PM.

  10. #30
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    Well, thanks you for the good feedback, I'm sure iNub would agree!

    You can insert a logo using my pack too, you knew? Simply put a file called logo.png in the root folder of the pack and it'll convert it to mr and insert it in ip.hak prior to making 2de session iso. Same goes for sorttxt.txt.
    I'll eventually find the time to re-do my pack from the ground in python so it'll be pretty and more flexible, maybe I'll even suport audio-data or non-45000LBA data-data, but that's a postponed project for now.

    If iNub uses the original echelon's binhack, it's normal that it doesn't work on win7 64-bit. Instead he could substitutes it for my binhack32 clone (just rename binahck32.exe to binhack.exe and everything (binhack relatated) should now works on 64bit.): http://shenmuesubs.sourceforge.net/r...in32_Linux.zip

    PS: Sizious just released the sourcecode for mds4dc and cdi4dc: http://sourceforge.net/projects/img4dc/ it could be of use to anyone trying to generate multisession mds/cdi files!

    FG
    Last edited by -=FamilyGuy=-; 05-14-2012 at 09:06 AM.
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

  11. #31
    Combat Soldier
    atreyu187's Avatar

    Join Date
    May 2012
    Location
    South Carolina, USA
    Posts
    628
    Yea I have used yours as well to insert logo's and I have edited yours to be used under Win7. I just removed the binhacking part of your BAT and manually hack the files using binpatcher, while I like your x64 variant of Echelon's tool this one has a lot of pre-determined protections that can be defeated without really having to look for them. Makes life really simple. And I updated some working games as well.

  12. #32
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    Quote Originally Posted by atreyu187 View Post
    Yea I have used yours as well to insert logo's and I have edited yours to be used under Win7. I just removed the binhacking part of your BAT and manually hack the files using binpatcher, while I like your x64 variant of Echelon's tool this one has a lot of pre-determined protections that can be defeated without really having to look for them. Makes life really simple. And I updated some working games as well.
    I guess I could add a -crack option to binhack32 (x86, not x64) to also crack common copy-protections, would be easier than reworking my pack from the ground up.

    But honestly when I work on a game I do most of the stuff manually, so I know exactly what is done to the files, I just got bored of typing in a console the same stuff over and over and thus made my SB pack, but for repacking/hacking/downsampling, nothing is worth a tedious manual work. Though I don't think the tedious manual work is well worth it for most games. Most of them can be automated just fine with great quality, but the gems, you got to do a proper release using your precious fingers and keyboard.
    Last edited by -=FamilyGuy=-; 05-14-2012 at 05:43 PM.
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

  13. #33
    Combat Soldier
    atreyu187's Avatar

    Join Date
    May 2012
    Location
    South Carolina, USA
    Posts
    628
    I have had to invest in some older tech just to be able to keep the ability of CDrecord and CDRWin I have dual USb setup with a Lite On for 100min CDR's and a Sony CRX for remastering disc manually, but to be honest yes most games can (and I do quite often) be done with either set of tools. I like the fact the LBA is at 45000 as it is more like who the actual GD-ROM is and defeats a lot of common protections. But I also found certain games like my Sword of the Beserk rip I recently. Using LBA 45000 and original sorttxt the game this trash. I went back and manually built this one with a custom sort and LBA went with the old AUDIO/DATA format and I seem to have gotten it right as I tried to make sense out of how the files were accessed using NullDC since this one streams data all the time.

    Anyhow it is the fact that there are options now for both an easy to use format for DATA/DATA and AUDIO/DATA format to preserve our games quite easily. Like Bomberman for example not a gem and one I wanted to spend a ton of time on nor waste a 90+ minute disc for this one and would of had to using your pack. No fault of yours as there is a huge AFS file larger then what the DATA folder could hold in your pack even if I were to put all the other files in DATA1 folder it would still make me use at least a 90min disc. Now using the old AUDIO/DATA method and automated I might add thanks to this app I was able to preserve the disc on a 80min one without any quality loss and quite easily. There is a time and place for everything and you both have made some great contributions I really appreciate immensely as both tools save me a ton of time backing up all my games. My child is just getting to that age where she can and wants to play with me so I have been hard at work pumping them out using two DC's to dump, one with jjl0dom's DC SD Ripper v1.1 and the other with my BBA I have done rips in well under 30 minutes with these awesome set of tools.

    I have some other script that supposedly supports CDDA I have not triedas it isn't in English so it does me no good unlike your tools guys. My hats off to both of you for your contributions to Dreamcast preservation as I know these tools will be used for years to come.
    Last edited by atreyu187; 05-14-2012 at 07:19 PM. Reason: Spell Check

  14. #34
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    Quote Originally Posted by atreyu187 View Post
    I have had to invest in some older tech just to be able to keep the ability of CDrecord and CDRWin I have dual USb setup with a Lite On for 100min CDR's and a Sony CRX for remastering disc manually, but to be honest yes most games can (and I do quite often) be done with either set of tools. I like the fact the LBA is at 45000 as it is more like who the actual GD-ROM is and defeats a lot of common protections. But I also found certain games like my Sword of the Beserk rip I recently. Using LBA 45000 and original sorttxt the game this trash. I went back and manually built this one with a custom sort and LBA went with the old AUDIO/DATA format and I seem to have gotten it right as I tried to make sense out of how the files were accessed using NullDC since this one streams data all the time.

    Anyhow it is the fact that there are options now for both an easy to use format for DATA/DATA and AUDIO/DATA format to preserve our games quite easily. Like Bomberman for example not a gem and one I wanted to spend a ton of time on nor waste a 90+ minute disc for this one and would of had to using your pack. No fault of yours as there is a huge AFS file larger then what the DATA folder could hold in your pack even if I were to put all the other files in DATA1 folder it would still make me use at least a 90min disc. Now using the old AUDIO/DATA method and automated I might add thanks to this app I was able to preserve the disc on a 80min one without any quality loss and quite easily. There is a time and place for everything and you both have made some great contributions I really appreciate immensely as both tools save me a ton of time backing up all my games. My child is just getting to that age where she can and wants to play with me so I have been hard at work pumping them out using two DC's to dump, one with jjl0dom's DC SD Ripper v1.1 and the other with my BBA I have done rips in well under 30 minutes with these awesome set of tools.

    I have some other script that supposedly supports CDDA I have not triedas it isn't in English so it does me no good unlike your tools guys. My hats off to both of you for your contributions to Dreamcast preservation as I know these tools will be used for years to come.
    Tip for data/data, whether it's using my pack or not, don't put video files in the first session, it'll most of the time result in sketchy playback. Also, data/data saves some kB (~300) versus audio/data if you're fully using the first session. Custom sorttxt.txt for crappy-mastered games helps indeed. For most standard non-binhack-able copy protections: http://www.bucanero.com.ar/dreamcast/ripdb/. For custom ones, you'll have to dig deeper or ask a russian prodigy.
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

  15. #35
    Combat Soldier
    atreyu187's Avatar

    Join Date
    May 2012
    Location
    South Carolina, USA
    Posts
    628
    Yes I have noticed that and even made sorttxt1 for the first 65mb to keep those files in order and works quite well with your pack as well so you can control where the files are in that 65mb as well. LMAO @
    ask a russian prodigy
    And yes this format you can get a little more out of it but the 65mb compared to the 20mb of AUDIO sometimes makes all the difference in the world as that Bomberman AFS is over 605mb the max you can have in your DATA folder in your pack but using the AUDIO method gives you enough room to fit on 80 disc as you can't split up the AFS file and put part in data1 folder.

  16. #36
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    I didn't noticed that the afs alone was that big, making impossible to fit in the 2de session for a 45000 data/data backup.
    About aksing a russian prodigy: that's what I did for PSOv2, BC! and GeistForce ;)
    Last edited by -=FamilyGuy=-; 05-15-2012 at 03:11 PM.
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

  17. #37
    Combat Soldier
    atreyu187's Avatar

    Join Date
    May 2012
    Location
    South Carolina, USA
    Posts
    628
    Yea I noticed you were the guy that got the binhacking done for Geist Force and is your release of PSO v2 PAL and avalible for download? I ask as I want to go online but I can only use my USA v1 as sourcing a PAL v2 disc has shown to be pricey and HTF. Also might I ask what BC! is?

  18. #38
    Conscript
    iNub's Avatar

    Join Date
    May 2010
    Location
    Restaurant at the end of the universe
    Posts
    84
    Hi again folks and sorry I've been so very quiet, it was a rough couple of months with a shitload of work and personal problems as well as money troubles.

    That's karma for you, I was dumb enough to make fun of people for that not too long ago, now I'm in the very same boat but have at least learnt a very valuable lesson.

    Plus, I was ashamed to post or even log in here because I didn't have any news for you.

    Ok, let's get the bad news out of the way first: DC2CD is dead. I'm sorry. And I won't be publishing the source code either.











    ... but Dreamcatcher is alive and kicking :)



    It's not done yet (as you can plainly see), however the first half (track extraction, checking etc.) is re-done from scratch already and a few new features made their way into what was once DC2CD too.

    What the heck, here's the current development version (incomplete, to be considered a preview - again...):

    http://www.multiupload.nl/537EBEGVEU (Dreamcatcher 0.0.0.1 download)
    https://www.virustotal.com/file/2619...is/1339372177/ (it's virus-free)
    http://dumpcast.thekickback.com/dc-t...2012-02-29.rar (Current TOSEC DC database download)
    http://www.multiupload.nl/21TSQXI6JC (covers, download only if you have a GD-R, "Sonic Adventure v1.003 (1999)(Sega)(PAL)(M5)[!]" or "AeroWings v1.001 (1999)(Crave)(PAL)(M3)[!]", otherwise it'll be useless to you; needs to be extracted to <Dreamcatcher dir>\Covers\; I know the files are far too large (in bytes))

    For our american friends who are apparently blocked from accessing multiupload (land of the free my ass...):
    http://jumbofiles.com/i8g27rl7fiyo (Dreamcatcher 0.0.0.1 download)
    http://jumbofiles.com/k5q5y9q88ba8 (covers)

    But don't expect any miracles, as it stands it CAN NOT yet build ISOs!

    That'll be implemented "soon" (and I use the term loosely, afaik I should have time in the near future but I don't want to promise more than I can deliver).

    It's just the track extraction, checking etc. so far, plus I've added a few new things, among those a file browser which lets you open (in case of .raw audio tracks: hear, as they're converted to .wav on the fly and then opened) the files on the disc, as well as replace, truncate or ("soon", again) edit and downsample them.

    Don't worry, ALL original files will be kept, nothing will be altered within them of course, I won't fuck up your dumps :)

    Just make sure to have a disc.gdi, a track01.bin, a track02.raw, a track03.bin and, if your dump has those, x * trackxx.raw and trackxx+1.bin ready, NO OTHER FILES IN THE WORKING DIR PLEASE.

    If you want to help me with the project, download the preview version above and try extracting as many games/discs as you can with it, because AFAIK it should now hopefully be able to extract ALL DC GD(-R)s, and I'd like to collect feedback on that.

    What I do know is that for example "Akihabara Dennou Gumi Pata Pies! v1.000 (1999)(Sega)(NTSC)(JP)[!]" can now be extracted correctly, that one used to give me trouble.

    For anyone wondering, it'll still be at least a few weeks until the tool is released. I can't even promise that, but I will try to do what I can.

    And to the coders out there: I would appreciate your help very much as well, but the source code is just not quite ready for public release, I'll let you know as soon as it is.


    Quote Originally Posted by comradesnarky View Post
    I'd recommend putting the track01.bin data into a folder called extras.
    I'm afraid some game's track03.bins might already contain a dir "extras" so I'd like to use something a little more obscure, like "!T1EXTRA". Thanks for the other thoughts though!

    Quote Originally Posted by la-li-lu-le-lo View Post
    Is that Java?
    Nope, C#, .NET 4.0.

    Quote Originally Posted by atreyu187 View Post
    Please keep this alive it is amazing tool that works very well as it stands.
    Nice to hear, and thanks for all the testing you did! I'll be sure to merge your test results with mine.
    As for the cracking, any info on that would be welcome, so far all I've done in that regard since DC2CD is adding what I call "Unprotect2", e.g. the Sonic Adventure 2 hack (see bucanero rip DB), is that one of those you require?
    As for the (auto) downsampling, don't worry, you will have an option to replace any and all files in track03.bin (and other places) manually.

    Quote Originally Posted by -=FamilyGuy=- View Post
    If iNub uses the original echelon's binhack, it's normal that it doesn't work on win7 64-bit.
    It's a new implementation that is *guaranteed* to work if DC2CD/Dreamcatcher works (like it does on 7 x64, where I'm writing the code from), actually I posted the source code a few posts earlier.
    I'll have to check yours soon and compare, maybe you're doing something differently, we'll see, I hope you don't mind me taking a looksy.


    And with that, I bid you all a good day :)
    Last edited by iNub; 06-10-2012 at 10:41 PM.

  19. #39
    Combat Soldier
    atreyu187's Avatar

    Join Date
    May 2012
    Location
    South Carolina, USA
    Posts
    628
    Any chance this can be hosted somewhere else? USA users can't download from Multiupload, mediafire and jumbofiles are great!!

  20. #40
    Sex, Drug, and Rock N' Roll !! Member Hardcore
    -=FamilyGuy=-'s Avatar

    Join Date
    Mar 2007
    Location
    My basement
    Posts
    1,328
    Good work!

    Quote Originally Posted by iNub View Post
    It's a new implementation that is *guaranteed* to work if DC2CD/Dreamcatcher works (like it does on 7 x64, where I'm writing the code from), actually I posted the source code a few posts earlier.
    I'll have to check yours soon and compare, maybe you're doing something differently, we'll see, I hope you don't mind me taking a looksy.
    I don't mind as long as you follow the guidelines of the very restrictive license it's released under...

    FG
    Last edited by -=FamilyGuy=-; 06-11-2012 at 05:35 AM.
    I always need 5 things in life: Sleep, Food (I'm pretty addicted), Sex (like previous), Time and FINALLY ...
    Time to do sex then sleep after a good meal!

    My SelfBootDATA pack for 45000 data/data backup 32bit edition: http://bit.ly/RymfFG

    My Gdi2Data pack, to automatically extract data from GDI files: bit.ly/LHnftm
    Binhack32 with complete sourcecode: bit.ly/LHnhS8

Page 2 of 4 FirstFirst 1234 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •