CDROM-Guide forums

Go Back   CDROM-Guide forums > Main Forums > Legacy Game Backup > Dreamcast
FAQ Calendar Mark Forums Read
Open   CSec   Data   DevDrv   CoOp   Audio   CDRW   CDG   VCD   DVD   HD DVD   Mac   VGB   PS2   DC   Xbox  


 
 
Thread Tools Display Modes
  #1  
Old Oct 16, 2004, 09:49 AM
Suzuke Suzuke is offline
Junior Member
 
Join Date: Oct 2004
Posts: 25
Question MYSTERY... CD-GD project -need your support

sponsored links

 
Okay, guyz. Maybe these backup problem with psyvariar2 and other games made me CRAZY, or I maybe found one new method to made selfboot games. But, well... the 'new method'... won't work. But only because I don't know the exactly cdrecord commands, I guess (?). Or, as I said, I say only sh*t and ya can't create a DC-CD with the following stuff. Please talk with me about this, even if ya know that this will NEVER work. SO you can correct me and kick my *** and all that is nice *lol*. Remember, the cdrecords are wrong.
We'll try now to simiulate a GD-ROM file hierarchy on a CD-ROM... Here we go:

Made a new folder called 'Suzukesstupidburnmethod' a.k.a 'sustubeme'.
Create in sustubeme a folder named 'track01', and place create 3 txt and 1 dummy file within the folder. The dummy file has to be 35MB large, and the txt's must be named BIBLIOGR.TXT COPYRIGH.TXT ABSTRACT.TXT .

Create 2 new folders called track02 and track04 and copy over the audio.raw file from echolon selfboot tutorial package into your 2 folder, rename the second audio.raw to audio2.raw.

Create a folder named track03 and place a XXXMb dummy in it (if your game files are only 160Mb large, create 450Mb dummy) and name it 000DUMMY.DAT .

run the following command in the dos windows:
mkisofs -V PSYVARIAR2 -l -o track01.iso track01 OR (please correct me!)
mkisofs -C 0,0 -V PSYVARIAR2 -l -o track01.iso track01

and now type:
cdrecord -dev=X,X,X -multi -data -speed=4 track01.iso (replace x,x,x with burner # as always)

then (after copying the audio file to the sustubeme directory):
cdrecord -dev=x,x,x -audio -nofix -speed=8 audio.raw (Note: -nofix is the wrong command (as I found out ). Please tell me a command which allows me create 2Sessions, the 1st one has 2tracks and second session has 3tracks. I don't know a command which allows cdrecord to continue writing after it wrotes the second track of session #1)

then (after copying the dummy to your sustubeme folder):
cdrecord -dev=x,x,x -multi -data -speed=8 000DUMMY.DAT (by the way, we use data becuz -multi uses xa2 by default but we need mode1)

then (again, after copying the audio2.raw to your sustubeme directory):
cdrecord -dev=x,x,x -audio -nofix -speed=8 audio2.raw (again, -nofix don't seems to be right command).

Now create a folder named 'track05' and open it. Disable 'sort automatically' and select 'list view'. now copy your ripped/cd files exactly as ya can see them and one after another in this folder. Open a second window and go to your sustubeme folder, do not close your 'track05' window.
Now type in the dos window:
cdrecord -dev=x,x,x -msinfo
and note down the number ya get.

Now copy the 1ST_READ.BIN and the IP.BIN (delete this one after you'Ve copied it) files from your track05 folder into your sustubeme folder and type:
binhack
=1ST_READ.BIN
=IP.BIN
=###### (use the second number, e.g. if ya got 12245,14869 so use only 14869).
(Note: Maybe you've to use a Hex Editor and do the stuff ya can read in my Psyvariar2 thread BEFORE you use binhack). Copy the 1ST_READ.BIN to the exact position at is was before (maybe you'Ve to rearrange (delete and copy) some files over to track05 directory again. (Note2: Maybe you've to hex edit the ip.bin file after using binhack and change GD-ROM to CD-ROM, I did this).

Now tpye:
mkisofs -C X,Y -l -o track05.iso track05 (I don't know if ya still need -C X,Y command here, so help me out if ya know it! If yes use here the number -msinfo gave ya).

type:
cdrecord -dev=x,x,x -data track05.iso



Now you should have a CD-Rom with original Dreamcast GD-ROM track/file architecture/format.

Here the stuff I've read and how I got that idea:
Getting Started with Dreamcast R10 and Mastering a GD-ROM, GetStart.txt, and the GD-Workshop booklet (can be found in .jpg files around the net), part of the DC development kit R1X (R10- R11)
Echolon tutorial
other tutorials I can't remeber the names.
and a short article from a websitem which says that:the GD-ROM disc is nothing more than a "passively accelerated" (tightly packed) CD-ROM disc, "decelerated" to emulate a CD-ROM by running the spindle motor at half the rpm!


Short: The GD-ROM has 2 sessions. The first session has the abstract.txt, etc, files in it can be around ~35MB. The second one a audio, cdda, track. Both tracks, what I'm saying, ALL tracks have to be at least 4secs long. The second session with track03 - 05 holds the 'game data on it'. Track 3 is used only for padding. Here's what GetStart has to say about it: "It's particularly important to pad Track 3 (the first Mode1 track of
the disk's high-density area) by filling it with zero data. That's
because the 1ST_READ.BIN file - your actual game executable- is always
placed on Track 5, which must always lie outside the disk's 100-minute
mark." That is why we badly need to hack 1ST_READ.BIN, right? (Or am I crazy?) Track 4 has to contain at least one cdda (raw digital audio) track, which is at least 4secs long. Track05? Let's hear what getstart has to say about it: "Track 5 is designed to store only game data, including all remaining
data files and the 1ST_READ.BIN file - which, as you have seen, is
your game's actual executable."


Okay, and now make fun of me, slap me anything else ya want. I only thought it would be nice if it's really possible to use a GD-ROM file hierarchy on a normal CD. I don't know if it's possible. And this method is nothing for copy freaks because, if it really works, ya can't read your CD's with a normal CD reader, then. Like the GD-Rom's. (After I burned the 1st prototype, I wasn't be able to read the other data from the CD-Rom anymore, only the abstract.txt, bibliogra.txt, etc. files).

-Suzuke-

PS: I don't have to time to check my what I've written down, so it's possible that I've forgotten a step...

Last edited by Suzuke; Oct 16, 2004 at 09:53 AM.
  #2  
Old Oct 16, 2004, 09:59 AM
Suzuke Suzuke is offline
Junior Member
 
Join Date: Oct 2004
Posts: 25
Default Noooo

Quote:
Originally Posted by Suzuke
PS: I don't have to time to check my what I've written down, so it's possible that I've forgotten a step...
I did! don'T forget to use IPINS (1. IP.BIn 2. track05.iso) BEFORE ya type:
type:
cdrecord -dev=x,x,x -data track05.iso

Sorry!

-Suzuke-
  #3  
Old Oct 16, 2004, 10:15 AM
Suzuke Suzuke is offline
Junior Member
 
Join Date: Oct 2004
Posts: 25
Default

This method isn't really new, ya may think. But I won't do a audio/data (like track02 track03(05) or data/data (track03,05) selfboot method. I want to create a GD-ROM file system on a simple CD-ROM. That would be even kewl for hobby dc programmers, riiiight?!
I should sleep. Haven't sleeped since 2 days. Tryin ' to get a copy to work (see Psyvariar2 thread). *sniff* Won't work. Gee...

-Suzuke-

Last edited by Suzuke; Oct 16, 2004 at 10:17 AM.
  #4  
Old Oct 19, 2004, 01:01 AM
hrb2k hrb2k is offline
Member
 
Join Date: Dec 2001
Location: USA
Posts: 144
Default

nice idea, but i dont think it will work, because the GD drive checks the media for a high density track, CD-Rs dont have one so the gd drive goes into CD-r mode where it looks for 2 sessions where the 2nd session is the CD-XA mode2 track. all GD data tracks are CDROM mode 1 tracks. you can be the tester for this.

GDs have 2 sessions. 1st session has 2 tracks, 2nd session has 3 tracks.

you can try to burn a cd like this, but remember to ipins the ip.bin in the iso,

cdrecord -dev=x,x,x -multi -v -data track01.iso -audio audio.raw speed=x
cdrecord -dev=x,x,x -eject -v -data track03.iso -audio audio.raw -data track05.iso speed=x

the problem is getting the correct lba of track 5 so your bootbin will have the right lba. you might have to burn a test disc to get it, then binhack the bootbin to track 5's lba and burn it all over again.

but if you want to try this out, go ahead. it seems impossible though. its better to use the echelon method for selfboots.
  #5  
Old Oct 19, 2004, 07:56 AM
Suzuke Suzuke is offline
Junior Member
 
Join Date: Oct 2004
Posts: 25
Default

Quote:
Originally Posted by hrb2k
nice idea, but i dont think it will work, because the GD drive checks the media for a high density track, CD-Rs dont have one so the gd drive goes into CD-r mode where it looks for 2 sessions where the 2nd session is the CD-XA mode2 track. all GD data tracks are CDROM mode 1 tracks. you can be the tester for this.

GDs have 2 sessions. 1st session has 2 tracks, 2nd session has 3 tracks.

you can try to burn a cd like this, but remember to ipins the ip.bin in the iso,

cdrecord -dev=x,x,x -multi -v -data track01.iso -audio audio.raw speed=x
cdrecord -dev=x,x,x -eject -v -data track03.iso -audio audio.raw -data track05.iso speed=x

the problem is getting the correct lba of track 5 so your bootbin will have the right lba. you might have to burn a test disc to get it, then binhack the bootbin to track 5's lba and burn it all over again.

but if you want to try this out, go ahead. it seems impossible though. its better to use the echelon method for selfboots.
Can't get any games working with Echolon's method. They selfboot, but they want go any further as to the 'Produced by or bla bla' screen. Only serial slave, utopia boot disc and the inter browser worked.

I think it is possible to create a disc like that. A GD-ROM is nothing more a CD-ROM drive, isn't it. By the way, I found this article on a website once:

[I] The Sega Dreamcast GD-ROM system utilizes Oak Technology's OTI-9220 CD-ROM controller which is a single chip integration of Sony's "CXD-3005R" DSP/Servo control and Oak Technology's "OTI-912" CD-ROM decoder.

So what does this mean? Sega had their "proprietary" GD-ROM system designed to use media with 2 times the capacity of CD-ROM discs, but with off-the-shelf CD-ROM components, and may have used a technique of running the spindle motor at half the speed required for CD-ROM's in reading 2x density GD-ROM discs-- tricking the pickup into believing it's reading off data from a CD-ROM disc at "x" (CAV) spindle rpm when it is actually reading a GD-ROM disc at "y" spindle rpm (x divided by 2=y). With same data read rates as with a CD-ROM disc running at twice it's rpm, the optical head, focus servo controls, signal processors, etc etc. aren't aware it's actually reading data off from a larger capacity medium. In other words, the GD-ROM disc is nothing more than a "passively accelerated" (tightly packed) CD-ROM disc, "decelerated" to emulate a CD-ROM by running the spindle motor at half the rpm! [I/]

And I found a PDF once which explains how to read a GD with a Cd/DVD-ROM drive, (C) Copyright StateS. Maybe it'll be usefull for someone (can't use it bcuz my games won't work after all):

.:How to Copy a GD with a CDROM:.

1 Introduction
1.1 Preparing the Drive
2 Tools:
2.1 CDRWin
2.2 GD Lister
2.3 Extract
2.4 Isofix
2.5 Isobuster
2.6 CloneCD
3 122 Minute TOCs
3.1 Data TOC
3.2 Audio TOC
4 Explaining the Method
4.1 Extracting the TOC
4.2 Extracting the Data Tracks
4.3 Extracting the Audio Tracks
4.4 Extracting the ip.bin

1. Introduction.
This method consists of a "swap-trick", it’s more or less the same method used on the
Saturn or PSX before the existence of mod-chips, it basically consists on cheating the drive so it
doesn't detect we've changed the CD.
GD-ROMs are nothing more than regular CDs with a higher data density, that is, the data
is recorded closer together, but they're not made of any special material nor recorded in any
different way than a normal CD-R would, so... How do we get 1 gigabyte capacity? Simple, by
eliminating error correction and redundance, this makes it possible to use only a single byte of
space in order to save a single byte of data on disc.
Being that GDs are nothing more than regular CD media, it is understandable that a
CD/DVD drive would be capable of reading them without a problem, as we'll soon find out.

1.1 Preparing the Drive.
The first thing we need is a CD-R drive, buy a cheap one, something you won't mind
taking apart. Also, it MUST be capable of reading 80 min CDs/CD-RW without a problem and
with digital audio extraction. Although I haven't tried this out with a DVD drive yet, it should do
even better, because the laser autoadjusts to read different formats. The drive I'm using is an
Artec 50x, another one that works is the Acer 32x.
OK, once we have our drive, we need to adapt it. The first thing to do is to take off the
drive's cover (the outer shell), both the upper and lower plates and if necessary, freeing the CD
bay (take off the disc tray).
Once we have our "naked" drive, we take off the magnetic sheet, which fixes and centers
the CD within the drive, in my case (Artec 50x), it's the strip that goes over the drive from one
end to the other with a circle in the center, this circle is magnetized. Right, we take off the
screws and keep this sheet aside, it should be easy to take off whenever we like. We finally have
our drive ready, no need to say we should have full access to the top of the CD whenever we
need, so don't shove the drive inside your computer case.
2. Tools.
Here, I shall describe the necessary tools for extracting files from a GD-ROM. I'll only
give a brief description of each tool, their specific use shall be unveiled once we get to the part
where they are needed.
2.1 CDRWin
Probably the best CD burning software there is, it's the key to our method. We'll need it
to read the GD-ROM, because of its capability to extract sectors.

2.2 GD Lister
This program, created by Yursoft and translated by me (StateS), is used to detect
where each track within the disc starts and ends, parting from an ip.bin file or an ISO image
containing a GD-ROM TOC. Very useful!

2.3 Extract.
With this application, we'll be able to extract the specified files from any ISO image,
using its TOC.

2.4 Isofix.
This tool will prove very useful if we've been capable (a rare case indeed) of creating a
complete GD-ROM image, even if it's split in two parts. It assigns LBA values to an image file.

2.5 Isobuster.
Just in case you don't know what this does, I'll explain a bit: It extracts individual files
from a buttload of image file formats, including .ISO... In our case, it fulfills the same functions
as Extract.

2.6 CloneCD
We'll need this to make the 122 minute ISOs and burn them on cd's.

3. 122 Minute TOCs.
Right, as I've explained before, the method consists of a swap-trick. We need to fool the
drive so it thinks it's reading a CD-ROM, NOT a GD-ROM. A GD-ROM has 1GB data capacity,
549150 sectors, 122 minutes, and has the following track structure:
Dummy data track (sectors 0-x)
Audio track (sectors x-y) (there may be none, as well)
Valid data track (sectors y-549150)
Knowing this, and keeping in mind that the max capacity for a regular CD-ROM is 80
minutes, we could be driving ourselves crazy with one simple question “How do we extract the
sectors where all of the data is held?”.
The solution is... CloneCD images include a .ccd file that is the equivalent to CDRWin's
.cue files. That is, it tells where each track within a CD starts and where it ends. OK, this file may
be modified using whatever text editor you like, so with a little bit of know-how, we'll be able to
modify certain data and convert a 72 minute TOC into a 122 minute TOC.
Along with this tutorial you will find a 122 minute data TOC and an audio TOC, but it's
interesting to know how to modify a TOC in order to achieve this.

3.1 Data TOCs.
To create a data TOC, we need a Mode 1 image made with CloneCD; CloneCD images
are composed of 3 files: a .ccd, a .img and a .sub, the one we need is the .ccd, which, despite
its file extension, is no more than a Windows .ini file. The file is divided into sections, the first
two sections contain settings relative to the software version and disc structure, and then we
have as many sections as we do tracks within the image. The one we're interested in is entry
number 2: more specifically, the PLBA field of this entry, we must modify the value of this field
and change it to 549150, which is the exact number of sectors in a GD-ROM. It should end up
looking like this:
[Entry 2]
Session=1
Point=0xa2
ADR=0x01
Control=0x04
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=122
PSec=4
PFrame=01
PLBA=549150 <--

Once we've modified the .ccd, we burn the image using CloneCD. This will give us an
error message, stating that the image's TOC is incorrect and will offer the choice of fixing it or
leaving it intact. It's quite evident we should tell the application to keep using the current TOC
without making any modifications; let it keep its fixes to itself...
Once the image is burned, we now have a "Trap Disc" which lets us read all the way to
sector 549150, so now we'll be able to extract the full GD!

3.2 Audio TOCs.
Evidently, with the image we have right now we can only extract data in Mode 1
(2048), so now we need a "Trap Disc" for audio extraction. The process and modifications are
exactly the same, only with a CloneCD image in Audio format.

4. Explaining the Method.
Now that we have both our modified TOCs, CDRWin and the rest of the tools, we can
start ripping GDs! My tests were made with DreamON 10, which is a SEGA demo disc.
Before we go on, make sure you have easy access to your “naked” drive; once we have our
system ready, Windows running, and our drive detected, we can start the process.

4.1 Extracting the TOC.
This is the easiest step in the whole process, it consists in creating an image that
contains the first 500 sectors of the disc, the GD-ROM's TOC is contained within. In order to
achieve this, we must do the following: Insert the Data “Trap Disc” in your drive, start CDRWin
and choose the third option (Extract Disc/Tracks/Sectors), hit the TOC button and read the Trap
Disc's TOC; while we're waiting for CDRWin to finish reading the cd, choose the following
options:
• Extraction Mode: Select sectors.
• Image filename: Any name you want, for example: toc.iso
• File format: Automatic
• Start sector: 45000
• End sector: 46000
• Datatype: Data Mode 1 (2048)
• Error recovery: Abort
• Jitter Correction: Auto
• Data Speed: 4x
• Audio Speed: 4x
• Read Retry Count: 0
• Subcode Threshold: 300

We shold have CDRWin configured as shown in the following image:
Once we have CDRWin configured, we have to wait for the drive's motor and CD to stop
spinning. Once the motor stops, we take off the metallic strip from the top of the CD (the one
that's magnetized), we remove our trap disc and place our desired GD-ROM, we place the
metallic strip back on and start extracting. If all goes well, the disc should not make any noises
and a little bit later we'll have an image of approximately 2 MB in size.
Once we've extracted our TOC image, we need to know where each track starts and
ends in order to extract the audio/data tracks. To do this, we need to open up our brand new
TOC image using GD Lister. We should be looking at the following:
As we can see, there are a total of 3 tracks, the first data track, which is of no use to us,
is a dummy file that pushes the data onto the end of the disc, this cuts the loading time in the
games by a bit. The second track is audio and the one at the end is our data track, which
contains all the game files. In this case, the key sectors are 227454, which is the beginning of
the data track and 549150, which is the final part of the data track and the GD-ROM itself. We
now know where to start the data extraction without fear of messing things up.
IMPORTANT: DO NOT change the CD until the motor has stopped completely.

4.2 Extracting the Data Tracks.
Once we know the beginning sector of the data track, the only thing we need to do is tell
CDRWin to extract from that sector and all the way to the end of the disc. I don't know why,
but if the data track starts before sector 370000 (more or less), we have to split it into two,
otherwise, the drive won't extract the data all the way to the end. In this case, we split the image
into TWO images: one that goes from 227454 to 369999 and another one from 370000 to
549150. To extract these images, we use the same configuration we used when extracting the
TOC. Just like before, if the GD-ROM doesn't make any weird noises, then everything's fine. If
we're capable of extracting all the way to sector 549150, then we're almost done...
Now we have two .ISO files with no TOC and on top of that: split! I know this doesn't
look too good, but we can merge the two isos into one and still use the TOC we extracted as the
resulting iso's own TOC. To merge both pieces, we use a simple DOS command called copy with
the following syntax:
copy /b img_pc01.iso+img_pc02.iso new_img.iso
After a little while, we'll have ourselves a complete ISO named new_img.iso. The ISO is
STILL missing the TOC, so we can't extract any files with ISOBuster yet... What we're gonna
do now is: use our extract tool to use our first TOC as the merged ISOs own TOC. Here are the
syntaxes needed (in DOS):
extract toc.iso new_img.iso 227604 (227454+150)
This particular command will extract all the files from the ISO which contains the data
image we extracted earlier; we must add 150 sectors because extract doesn't count the sectors
assigned to the TOC.
Once extract finishes, we should have a folder with all the files from the GD-ROM, here
are the files and folders from the DreamON 10 Demo Disc:
And that's it! We've succesfully extracted all the files from our GD-ROM. All we need to
take care of now are the audio tracks, if there are any... Don't worry, the process is somewhat
easier than extracting the data tracks...

4.3 Extracting the Audio Tracks.
Once we have the data from our GD-ROM, we can start ripping audio tracks. First of all
we need to write down where each audio track starts and where it ends, using our GD Lister to
read the respective TOC. Only after this do we take out our GD-ROM and place our audio "Trap
Disc" into the drive and make CDRWin read it's TOC; once our drive's motor and disc come to a
stop, we take out our trap disc and insert our GD-ROM once more, reuse the options used to
extract the data track except for the following options in CDRWin:
– File Format: WAVE
– Jitter correction: Auto
– Datatype: Audio (2352)
We specify the start and end sectors for each track and proceed to extract each one
individually; once finsihed, we'll have as many .WAV files as the number of audio tracks in our
GD-ROM.

4.4 Extracting the ip.bin.
We're almost done! We just need to take care of one more thing: extracting the ip.bin,
which is the bootstrap in all our DreamCast games and it indicates which file should be executed
first, driver/video mode compatibility, game manufacturer and some other stuff. This file is
essential in order to make any Dreamcast game work. If we're lucky, the file will be included as
another file among the ones we extracted before, if not, then we've got work to do...
Although it's not the isofix's primary function, this program can extract a game's ip.bin
when applied on an image file containing the game's TOC: it extracts into a file named boot.bin.
When we start up this program, it asks for the image file we wish to patch, as well as the LBA
value from which we want to start the procedure; this value is 45000. Once isofix finishes, we'll
have two files: a tmp.iso - which we don't care for, and a boot.bin - which we need to rename to
ip.bin and use as a boot sequence for the game we want to burn.

-Suzuke-

Last edited by Suzuke; Oct 19, 2004 at 07:58 AM.
  #6  
Old Oct 19, 2004, 08:02 AM
Suzuke Suzuke is offline
Junior Member
 
Join Date: Oct 2004
Posts: 25
Default

[I]How do we get 1 gigabyte capacity? Simple, by
eliminating error correction and redundance, this makes it possible to use only a single byte of
space in order to save a single byte of data on disc. [/I]

Is it possible to do this with a normal/modified CD/DVD Burner, too? If yes, I could write a high density track.
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
What Games Support HDTV noyfb Video Game Backup - Xbox 13 Nov 14, 2003 07:35 PM
New_+ Project Xbox 490gb +_ Sublime87 Video Game Backup - Xbox 9 Jul 14, 2003 12:51 PM
help needed with AS level ICT project gwam Open to All Computer Related Topics 2 Mar 24, 2003 09:46 PM
DTS 5.1 Audio Support!! carbuff99 DVD 7 Sep 15, 2002 11:44 AM
Faq webmaster Legacy Game Backup 18 Apr 15, 2002 05:08 AM


All times are GMT -5. The time now is 06:03 PM.



Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © 1996-2009 CDROM-Guide.com. All rights reserved