Selfbooting Dreamcast CD-Rs:
Before you read:
This guide is designed for people who are trying to burn the various emulators and neat little programs. (mainly found on www.dcemulation.com) It is NOT for people who are trying to burn illegal dreamcast games. I do not condone such activity, and i will not help anyone who tries to do it. Repeat: THIS IS FOR LEGIT SOFTWARE ONLY. For this reason, the zipfile that accompanies this tutorial does not include the CDDA tools and does not explain how to rip down CDDA tracks to fit on a CD-R
For a CD-R to be bootable on the Dreamcast, it must have the correct structure. I know this is well known, as well as the structure itself, but i figured i'd write it down a little clearer for everyone. Also, this guide is for WINDOWS USERS. Everything in it is tested on a Win 98 machine, and can only be confirmed to work on other Win 98 Machines.
Initial Basic Structure:
First, the CD-R has to have two sessions. The first,
must be an audio track. This track MUST be at least 4 seconds long, but,
it can be longer. This First audio track is what would be equivalent to
the "disk warning" message found on standard GD-ROM disks. Because
of this, I recommend getting your MIC out and recording a "Disk warning"
message. The second track has to be a CD/XA track, and must contain a
regualar ISO9660 File system. Notse on how to create this will coem later
in this document.
The First Session (Audio Track):
Before you go on here, and to eliminate any confusion, go to an ms-dos prompt, navigate to the directory where you have cdrecord (most likely c:\selfboot) and type this at the command line:
The program will show you a list of all attached SCSI,
ASPI, and/or MMC compliant drives on your system. Look at this list caefully.
It's seprated with sets of 3 numbers on the left, and descriptions of
the devices on the right. Right down the set of 3 numbers that corresponds
to your CD burner. In Windows 98, on a standard machine, this is most
often either 0,0,0 or 0,1,0. After you get these numbers, remember them.
Write them down if you have to, they will be henceforth refferend to in
this document as " x,x,x " so wherever your SCSI ID should be,
you'll see :
Ok? undertsand? good.
If you, personally are happy with 4 second of silence as the first track of your CD-R, i have included the A 4 second .raw file in the zip. If this is what you plan to do, just insert a blank CD, and type:
cdrecord -dev=x,x,x -multi -audio audio.raw
Ok, like i said before, you need at LEAST 4 seconds for the audio track. We all know this, we've read it before. Well, after burning several emus for friends and such. I got to wondering about that 4 seconds of silence that plays when you put one of these CD's into a standard CD player. Sure enough, my hypothesis was correct. This is the same thing that would be played off of a GD-ROM if you put it into a standard CD player. Normally, i used CDrecord for the entire selfboot process, as that was what all the tutorials told me to use. BUT i, personally don't know much about CDrecord, so when i decided to make something besides the standard 4 seconds of silence that comes with the self boot tool kit, i turned to what i know....EZ CD Creator.
Now, this is where those "other" programs MAY
be used. Basically, if you wnat the first track to be something different
that silence, namely YOU saying "This disk is for use only on sega
dreamcast" or "what the hell are you doing with my CD? give
it back to me now" or even some kind of Greetz if you plan on giving
alot of CDs out to friends, all you ahve to do is get out your computer
mic, and record yourself a .wav file saying whatever you want. The only
stipulation is that you MUST record 4 or more seconds in your .wav file.
That's it. Mine usually go about 5 or 6 seconds, it's really irrelevant.
So now that you have your "disk warning" wave file, or your mp3 of "the perfect drug" (sounds alot cooler anyway) fire up EZ-CD creator, and start a new Audio CD layout. Browse to your audio file that you intend to use as the audio track, Drag it into the bottom window, and then Click "Create CD" to burn it (make sure you put a blank one in, duh) When it pops up the Dialog box after you press "Create CD" make sure that the radio buttons next to "Close session and leave CD open" and "track at once" are selected. Then go ahead and burn it.
The Second Session (Data Track):
Now that you have your "CD Warning" track burned, as always with self-boots, you need to find out the off set number for your ISO9660 file system. To do this, Make sure the CD with your audio track is in the burner. Then Go to a dos prompt, navigate to the directory where you have CD Record (probably C:\selfboot) and type the following command:
cdrecord -dev=x,x,x -msinfo
(Where x,x,x is YOUR cd burner's SCSI ID, that got from cdrecord earlier)
When you press enter, CD Record will spit back at you 2 numbers. A Zero, and then something which will be different depending on how long your first audio track is. The format will be like this:
these are your offset numbers.
The 8253894 above could be any number. Just make sure when you scan for Mutilsession Info (the -msinfo argument) that you write down YOUR offset numbers EXACTLY as they appear. You will need these when you make your ISO9660 image, and possibly when you run Binhack.exe. (which is the next step) thses numbers will here on be referred to as x,yyy (i made it yyy to remind you which one is longer, some of my friends have had problems with that, so i figured some of you might as well)
***Special Note: It _IS_ possible that the program you are trying to burn will have an executable that is NOT called 1st_read.bin. Most of the time it will be, but in the case it is not, simply substitute the name of the executable file in teh document where ever you see first read.bin***
Before you proceed, you will now have to make a directory
with all the files needed by the program you wish to burn in the same
directory that the mkisofs.exe program is. (again, most likely c:\selfboot)
You can call this directory anything you like, as long as it's 8 characters
or under. The Echelon Selfboot Tutorial suggests you call the directory
simply "data" which works fine. Just put all the files in the
"data" directory (or whatever you name it) the "data"
directory should contain the 1st_read.bin in the top level, and any other
directories or files.
The program will run, and it will ask you for the name of your executeable. Type 1st_read.bin. then it will ask you for the name of the boot sector. Type ip.bin. If your program is based off the the Windows CE develoment kit, it will not ask you for the off set number, but if it is, you will have to input ONLY the second number of your x,yyy off set numbers. For example, if your x,yyy numbers were 0,1234567 you would put in ONLY 1234567. After this, is done, you will have your hacked ip.bin, and hacked 1st_read.bin. Now you can move the new hacked 1st_read.bin file back to your "data" directory. You are now ready to make the image to burn.
To do this, go to a dos prompt (...you know where) and type the following:
mkisofs -C x,yyy -V zzzzz -l -o data.iso data
Now, some explaination of the above command. Where the x,yyy is, you should put YOUR off set numbers. Where the zzzzz is, you can type any labe you want for the CD, just keep it under 8 characters. Where it says data.iso, you can technically put any name you want, but to keep it simple, and to make thi document work wll with the Echelon tutorial, i have kept it as data.iso. And lastly, that last part, where it simply says "data" is the name of your "data" directory. Like i said previously, you can call this whatever you want, meow, kitty, assbite, etc. Well, whatever you named YOUR "data" directory is what you should put here. So, if you put "data" there and you named the directory where you put the files for the dc program you're trying to burn in a directory called "pigfukr", it will give you an "invalid node" error. just keep this in mind when you name your directory.
Wow, now..after all that is done, you will have an ip.bin and a data.iso (or whatever you named it) in your selfboot directory. Now it's time to patch that ip.bin into that data.iso you made. How you do this, is once again open a dos prompt (yes, go there...you know where...go..) and type:
The program will ask you for the name of the bootsector. You will type ip.bin. then it will ask you for the name of the ISO. You will type data.iso (or whatever you named it) now you are FINALLY ready to burn the final session.
To burn the second session, go to a dos prompt (this
is the last time) in your selfboot driectory, type:
Make sure that the x,x,x above is YOUR SCSI ID, and that "data.iso" is actually the name os the ISO YOU made. after the disk is burnt, if everythign ent fine, you should now have your selfbooting Dreamcast software, complete with personalized "disk warning" message. enjoy!!
The Echelon Selfboot Tutorial - for providing valuble
information on selfbooting
e-mail : firstname.lastname@example.org
Created 2001, Mexre