Copy Link
Add to Bookmark
Report

Self Booting Tutorial

Dreamcast's profile picture
Published in 
Dreamcast
 · 10 Nov 2018

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

Basic Idea

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 regular ISO9660 File system. Note on how to create this will come later in this document.

Tools

For making my personal self-boots, i use a combination of several programs. For the actual burning process, I use two, EZ-CD Creator 4, and the Win32 version of CDrecord. EZ-CD Creator came with my CD Burner, and most burners today come with it as well. If yours didn't, you can Attempt to use your burners program, but i can not guarantee it will work. Still, if you would like to try to use another program besides EZ-CD, I will detail which options you should look for in your program. I'm sure EZ-CD isn't the only one that will work, it's just the only one i've tested at this point, so feel free to experiment. As for CD Record, it is included in the zip file that the text file you are reading now should be found it (along with the other needed programs)

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:

cdrecord -scanbus

The program will show you a list of all attached SCSI, ASPI, and / or MMC compliant drives on your system. Look at this list carefully. It's separated 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 referend to in this document as " x,x,x " so wherever your SCSI ID should be, you'll see :

-dev=x,x,x

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

You can skip to the second section now if you wish, on burning the second session. Because the rest of this section details how to create a custom "disk warning" track.

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.

Something you may or may not find interesting, because of the complex structure of a standard GD-ROM, the first track of audio on GD-ROMS is limited to a few minutes maximum. This is not the case with CD-Rs. Alot of people use those "dummy" files to pad the cd up to the full size of the disk, to save the laser. In actuality, you could just make that first audio track REALLY long. For instance, one REALLY long .MP3 mix of several songs you like. It makes no difference, as long as it's only ONE track. It may be possible to have more, in fact, it probably is possible, but as i haven't tested that, i won't recommend it.

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:

0,8253894

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 ip.bin file may also be in this directory. If it is, move it one level up, so it's in the same folder as the mkisofs, cdrecord, binhack etc. programs. Also, one final step before you continue, move (not copy) the 1st_read.bin file one level up as well, so the ip.bin and and 1st_read.bin files are in the same place. The reason you move and not copy it is that you're just going to move it back, so you would just overwrite the old one anyway. By the way, i suggest you make copies of all the original files before you even attempt to make the selfbooting CD-R. That's just common sence, in case you screw something up on accident.

Anyway, Now you need to configure the ip.bin and 1st_read.bin files so that your CD-R will boot correctly. To do this, go to a dos prompt, navigate to your selfboot directory (you BETTER know where this is by now) and type:

binhack

The program will run, and it will ask you for the name of your executable. 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 development 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:

ipins

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:

cdrecord -dev=x,x,x -xa1 data.iso

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 everything end fine, you should now have your selfbooting Dreamcast software, complete with personalized "disk warning" message. enjoy!!


credits:

The Echelon Selfboot Tutorial - for providing valuble information on selfbooting
Mexre - author of this document

e-mail : mexre@punkass.com

Created 2001, Mexre

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT