alex-free / dreamcast-cdi-burner

Burns ALL Sega Dreamcast .CDI file types with open source portable software on Linux.
https://alex-free.github.io/dcdib
BSD 3-Clause "New" or "Revised" License
50 stars 6 forks source link

Unable to burn playable disc #11

Closed aquova closed 1 month ago

aquova commented 1 month ago

Hi there. I recently picked up a used Dreamcast and wanted to burn some games for it. Unfortunately, I have been unable to burn a bootable disc. I am using the latest version of the software from the releases on Arch Linux, and from what I can tell, everything goes as desired. The drive (an LG Bluray model if it matters) is correctly identified, the entire burning process proceeds at about 16x or so, and the disc is ejected at completion. Unfortunately, when I attempt to actually play the disc, it's unable to do so. It sits for a noticably longer time at the "Dreamcast" boot logo, before going into the music playback menu. The discs don't actually play any music if you try, but if you attempt to play the game, I only get the popup to insert a game disc.

The system, according to the sticker on the bottom, is a (1) NTSC-U device, and it has been able to boot commercially released games just fine. I first tried with an old spindle of CD-Rs I had lying around, and after those didn't work, picked up a new set (https://www.amazon.com/dp/B0001LS35W) but didn't have any luck there either. The .cdi files I'm attempting to burn play as expected in Flycast, so they don't seem to be corrupted. I've also tried both pointing the program at zipped and unzipped directories, but no luck.

Let me know if you have any troubleshooting advice.

alex-free commented 1 month ago

Hi there. I recently picked up a used Dreamcast and wanted to burn some games for it. Unfortunately, I have been unable to burn a bootable disc. I am using the latest version of the software from the releases on Arch Linux, and from what I can tell, everything goes as desired. The drive (an LG Bluray model if it matters) is correctly identified, the entire burning process proceeds at about 16x or so, and the disc is ejected at completion. Unfortunately, when I attempt to actually play the disc, it's unable to do so. It sits for a noticably longer time at the "Dreamcast" boot logo, before going into the music playback menu. The discs don't actually play any music if you try, but if you attempt to play the game, I only get the popup to insert a game disc.

The system, according to the sticker on the bottom, is a (1) NTSC-U device, and it has been able to boot commercially released games just fine. I first tried with an old spindle of CD-Rs I had lying around, and after those didn't work, picked up a new set (https://www.amazon.com/dp/B0001LS35W) but didn't have any luck there either. The .cdi files I'm attempting to burn play as expected in Flycast, so they don't seem to be corrupted. I've also tried both pointing the program at zipped and unzipped directories, but no luck.

Let me know if you have any troubleshooting advice.

There's a few things we can try.

The verbatim CD-Rs you bought are the worst quality CD-Rs still manufactured. The best quality CD-Rs are the CMC Pro brand, which is available on Amazon.

You can try a different burn speed (I think dcdib has this functionality, if it doesn't I can add it), perhaps your burner creates better burns at 24x?

The LG blu-ray burner probably isn't a great CD-R writer. Most burners made after 2005 make poor CD-R burns. If you have another burner try that.

I hope that gives you some options. The issue sounds like the burn isn't good enough for the Dreamcast drive to read it. If you've tried something like imgburn on windows with the same CD-Rs, burner, and burn speed and it does the same thing it confirms that is the case.

Let me know if I can be of any help.

aquova commented 1 month ago

The verbatim CD-Rs you bought are the worst quality CD-Rs still manufactured. The best quality CD-Rs are the CMC Pro brand, which is available on Amazon.

...whoops. I'll keep that in mind. I had thought I'd read they were recommended, but I wasn't sure. I'm not opposed to trying other brands if need be.

You can try a different burn speed (I think dcdib has this functionality, if it doesn't I can add it), perhaps your burner creates better burns at 24x?

I did want to try that next, but I wasn't sure if there was some flag to change burn speed. I didn't see one in the help menu, and haven't looked through the source yet.

The LG blu-ray burner probably isn't a great CD-R writer. Most burners made after 2005 make poor CD-R burns. If you have another burner try that.

That doesn't surprise me. I use it for regularly for reading, but haven't burned on it for a while, although I think I did burn some Sega CD CD-Rs on it a while back.

I hope that gives you some options. The issue sounds like the burn isn't good enough for the Dreamcast drive to read it. If you've tried something like imgburn on windows with the same CD-Rs, burner, and burn speed and it does the same thing it confirms that is the case.

If there isn't an option to change the read speed, I think that'll be my next step. I'll try and get the recommended Windows options working and if so report back. I've had bad luck in the past getting optical drives working in wine, but I'll take another crack at it. I appreciate the help.

alex-free commented 1 month ago

What games have you tried? If possible a checksum for the cdi file as well.

alex-free commented 1 month ago

@aquova can you try https://github.com/alex-free/dreamcast-cdi-burner/releases/download/v1.0.9/dcdib-v1.0.9-x86_64.zip with your existing setup? Thanks!

aquova commented 1 month ago

Some good news here, it appears that the games I had originally tried may have just be bad .cdi files. Previously, I had tried to burn Sonic Adventure (my .cdi is MD5 29d27fc0c41c35c557c731a15fc2b8f5) and Sonic Adventure 2 (MD5 edf2c4eaf53d9f7501f2949a35da3565). After neither booted I didn't try any other games.

I downloaded the version 1.0.9 you linked and successfully burned Jet Grind Radio and Skies of Arcadia with it. I went back to the latest 1.1.0 and was able to successfully burn and boot Skies of Arcadia again. It looks like it's just those first two games that have issues -- which is a little surprising to me, as they ran perfectly fine in an emulator. In either case, I don't think it's an issue with the software, but I'll continue to try other titles.

aquova commented 1 month ago

Resident Evil 3 works but RE2 didn't (on 1.1.0), I'm not sure if I'm accidentally finding different types of CDI or why I'm getting a mixed success rate.

alex-free commented 1 month ago

Resident Evil 3 works but RE2 didn't (on 1.1.0), I'm not sure if I'm accidentally finding different types of CDI or why I'm getting a mixed success rate.

Is this with both v1.0.9 and v1.1.0?

alex-free commented 1 month ago

I think there might be a regression in v1.1.0. If you can please test all cdis with v1.0.9. If there's no difference then I need to figure out how to support the cdis you've found. In such a case all checksums for cdis that don't boot will help a lot. We'll figure this out!

alex-free commented 1 month ago

@aquova I checked and my Sonic Adventure that I burned with (I believe) v1.0.9 and worked is the same checksum as yours: Screenshot from 2024-09-25 08-07-01

aquova commented 1 month ago

Is this with both v1.0.9 and v1.1.0?

That was originally on 1.1.0, but I tried 1.0.9 again on RE2 (MD5 bdac16125644604439bed6c24e62b601) and it again didn't work. However the first disc of Resident Evil Code Veronica (f27a02a16a8ef9ef5b594c9e44c2bf8e) did, on 1.0.9.

I should note that a number of them have different Sega copyright splashscreens than I've seen. Some of them have "Revive DC Project" or other logos on them. I'm not sure if these are modified files that allow them to work, or if this is expected.

alex-free commented 1 month ago

Is this with both v1.0.9 and v1.1.0?

That was originally on 1.1.0, but I tried 1.0.9 again on RE2 (MD5 bdac16125644604439bed6c24e62b601) and it again didn't work. However the first disc of Resident Evil Code Veronica (f27a02a16a8ef9ef5b594c9e44c2bf8e) did, on 1.0.9.

I should note that a number of them have different Sega copyright splashscreens than I've seen. Some of them have "Revive DC Project" or other logos on them. I'm not sure if these are modified files that allow them to work, or if this is expected.

That is normal, the copyright screens are often modified by the repackers that make cdi files.

As I've played most of these games burned with DCDIB before, I'm reburning with the current v1.1.0 with my known good burner (Plextor PX-708A) and known good CD-Rs (CMC Pro 80 Minute). I'll be burning the same exact CDIs as you to rule everything out.

BTW the speed can be changed if you edit the dcdib script. It is set to 1, but you should try like 8, 16, 24 if you want to expierement with your current setup. I'll definitely add the feature to set this without editing the dcdib script file very soon .

alex-free commented 1 month ago

@aquova

I tested all of the games, and I think I figured it out. This is my setup:

Discs tested (all worked and booted):

This isn't a problem with DCDIB. I noticed that the games your Dreamcast doesn't boot are all using the WAV+DATA or Multi-WAV+DATA method. The CDI files that do work for you are all the DATA+DATA method.

My Dreamcast (launch Rev 0/VA 0 japan model) handles all CDI file types, as proven by the tests I have done. Previously, I've owned a launch US Dreamcast (September 1999 date of manufacture, found on the bottom of US Dreamcasts in the black label) which was a Rev 1 like yours, and that also handled all CDI file types.

I find this fascinating because your Rev 1 USA Dreamcast is not able to boot the WAV+DATA CDI file type. Long ago, I read that certain later Dreamcast models were unable to boot WAV+DATA CDI file types, and only worked with DATA+DATA CDI file types. Something like:

1) Sega releases the Dreamcast in 1998 (JP) and 1999 (USA/Europe). 2) Self-booting backups become a thing in early 2000. The first method used WAV+DATA. Rev 1/Rev 0 consoles are the only revisions out at this point. 3) Sega silently releases a new BIOS shipped on consoles manufactured (in mid 2000?) that breaks the only known existing method of WAV+DATA self-booting backups. 4) The scene figures out you can instead do DATA+DATA self-booting backups, and they work on even the newer (mid-2000, late Rev 1?) consoles that have the WAV+DATA method patched out. 5) Sega completely closes the loophole in Rev 2 consoles (October 2000?) and you can't self-boot anything without replacing the BIOS in those consoles, which requires modifying the hardware. 6) The scene forgot or couldn't really prove there was a downside the WAV+DATA method. Or games were released before that and never updated to the DATA+DATA method when it came out. Or something like that.

I never thought the DATA+DATA thing not working on some consoles was really proven. It was just one of those things you heard about in forums. For example, I've also heard in forums that the DATA+DATA method doesn't work on the earliest Japanese Rev 0/VA 0, but I found that false with my own REV 0/VA 0 Japanese console I bought just to figure out if that was true. But your console shows that, maybe late Rev 1s do in fact only allow the DATA+DATA method.

The only other alternative to why WAV+DATA isn't working on your console would be your combination of CD-R media, burn speed, and burner your using. Perhaps your console can boot CDI files using the WAV+DATA method, but your burner or CD-R media isn't up to the task because perhaps, WAV+DATA requires a more accurate burn using higher quality CD-R media. The only way you can really prove this is if you buy say the CMC Pro discs and or use a different burner and then these WAV+DATA method CDI files work on your console all of the sudden. If they don't work though, then it definitively proves that some late Rev 1s require the DATA+DATA method.

I think its your Dreamcast though personally, and not the burner, burn speed, or CD-R media. Though Verbatim is not a good CD-R to use. It is one of the worst since being bought out years ago. The new Verbatims use a much worse manufacturing process if they are not branded Verbatim DataLifePlus or Verbatim UltraLifePlus. And even Verbatim DataLifePlus and UltraLifePlus are inferior to the CMC Pro CD-Rs, which still use the Taiyo Yuden manufacturing process, making them the highest quality CD-Rs still made new today.

By the way, any of these games can be changed to use the DATA+DATA method, I think perhaps the bootdreams software via wine can do this but it's not exactly straight forward. You have to extract the CDI file and rebuild it with the DATA/DATA method. I always wanted to make a 'converter' to do this, but never found evidence it was ever needed.

So I ask: 1) What month was your Dreamcast manufactured? It should be on the bottom next to the circled number 1 on the label. Is it mid to late 2000? 2) Can you try a different burner and or media eventually? I really don't think it would solve the issue (but it sure won't hurt) and it will prove definitively that consoles like yours exist. 3) You can also still try modifying the burn speed in the script with your current setup, does it make a difference?

aquova commented 1 month ago

Here's the bottom of my Dreamcast, with it's information

IMG_3537

The media I recently bought was branded Verbatim DataLifePlus for what it's worth. I did find some older Memorex CD-Rs lying around (that I think I bought at Wal-Mart 10 years ago, so not exactly high quality either). I didn't have any luck with those either. I do plan on picking up higher quality CD-Rs at some point.

I did modify the burn speed, however I'm not sure the burner accepted it. For the Verbatim discs, it always burned at 16x, as if that's the lowest those discs/burner supports. The Memorex discs burned at only 10x, even though it was set to lower.

The information about the different CDI formats is interesting, and I think is probably what's really going on behind the scenes. Is there any way to tell from a CDI file which format it's using? It would be nice to be able to inspect the file and tell rather than creating a bunch of coasters when it fails to work half the time. My next step might be to figure out what the recommended Windows software is and try that in Wine, just to see if those "bad" CDI files work or not, but given what you said there I suspect not, but that would be a pretty definitive test if they somehow do work.

alex-free commented 1 month ago

Here's the bottom of my Dreamcast, with it's information

IMG_3537

The media I recently bought was branded Verbatim DataLifePlus for what it's worth. I did find some older Memorex CD-Rs lying around (that I think I bought at Wal-Mart 10 years ago, so not exactly high quality either). I didn't have any luck with those either. I do plan on picking up higher quality CD-Rs at some point.

I did modify the burn speed, however I'm not sure the burner accepted it. For the Verbatim discs, it always burned at 16x, as if that's the lowest those discs/burner supports. The Memorex discs burned at only 10x, even though it was set to lower.

The information about the different CDI formats is interesting, and I think is probably what's really going on behind the scenes. Is there any way to tell from a CDI file which format it's using? It would be nice to be able to inspect the file and tell rather than creating a bunch of coasters when it fails to work half the time. My next step might be to figure out what the recommended Windows software is and try that in Wine, just to see if those "bad" CDI files work or not, but given what you said there I suspect not, but that would be a pretty definitive test if they somehow do work.

@aquova incredible, you've proved it! June 2000, mid 2000 Rev 1 can't boot WAV+DATA, only DATA+DATA. Verbatim DataLifePlus is good enough for me to confirm this. If it was regular Verbatim I would still be unsure. Perhaps I will seek out a June, July, August, or September Rev 1 USA console myself when I have the money to do so.

The Windows software I'd seek out is IMGBurn with the CDI support files. I don't know if it will work in Wine, but that's what I used. It won't make these games work IMO though.

The burn speed available is dependent on the burner and CD-R media your using. Most modern burners (like yours) can't do lower then 16x with most media. I'm a bit surprised you got it to do 10x with the Memorex. If it can't do the speed requested, it does the lowest it can support you see. That's a hardware thing and is the same with any burning software you use. I can do 4x because I have the Plextor PX-708A (a burner from 2004) and the CMC Pro discs.

I will make you a WAV+DATA/DATA+DATA CDI method detection thing so you won't waste any more CD-Rs. I will also start looking into an automatic converter so that you could make any game bootable on your console. So exciting!

alex-free commented 1 month ago

@aquova I added the ability to check what the CDI file format is without burning it. Use the -c option in dcdib v1.1.1:

sudo dcdib -c somefile.cdi

This was certainly interesting, thanks for helping improve dcdib. I'll be closing this issue now.