|
Xbox original
disc specs:
The Xbox uses
8.54-GB, dual-layer, single-sided DVDs, but only a subset of the
8.54 GB of data is addressable. Space is reserved for both security
placeholders and for the video that is played when the game disc
is placed in a standard DVD player. Also, the space near the edge
of the disc is not used since Microsoft believes kids would broke
that space easily :P. This leaves a total of 6.4 GB (3.2 GB per
layer) available on the DVD for a title.
How data
is read from a DVD on the Xbox
Unlike on the
hard disk, DVD data has the same density regardless of its position
along the disc radius. This means that more data can be packed into
the outer tracks since the tracks get longer as they move out along
the disc radius. The Xbox DVD is also a constant angular velocity
(CAV) device. These facts lead us to an important performance characteristic
of the Xbox DVD: because more data can be read from the out tracks
in a single constant angular rotation, reads from the outer tracks
will be faster than reads from the inner tracks.
Also notice
layer 0 (first one to be read) is read from the inner part of the
disc to the outer part, but layer 1 is read in inverse order. Thats
is important to understand XBDVDFS_Maker auto optimization modes.
Why Xbox
original disc sux:
Xbox original
disc has three limitations:
- Outer space
of the disc is not used. (space wasted)
- Xbox DVD video
at the beggining of the disc (space wasted)
- And the most
important: security place holders.
Security placeholders
are a very important limitation for developers, as divides the disc
in several "partitions" and also take free space by theirselfs,
which among with the other sections of wasted space reduces each
layer free space to 3.2gb (instead the usual 4.3 gb). Now, about
those "partitions": imagine a developer has several 400mb
video files, the logical place to set up those files would be at
the start of the disc as they are going to be accessed sequentially
and there is no need for high transfer speed for compressed video.
Now he load´s the official Xbox layout tool to place the files
on the disc and....he founds there is only space for a single 400mb
file at the disc beginning, as the following "partitions"
are less than 400mb long. So he would be forced to set up video
files on later "partitions" and therefore slowing down
other files which really need to be at the outer part of the disc
to benefit from fast read speed. Security
placeholders can also lead to spread too much individual files which
should be read sequentially.
Finally, many
lazy Xbox developer doesn´t optimize their disc at all, they
just use "order by filename" layouts, or let Xbox Disc
Authoring Tool to setup the files to fill each free "partition"
to the maximum, so we could end with files from a same level spreaded
across the whole disc, and so, the Xbox dvd head movement will be
huge.
|
|
Xbox backup
disc:
Our backups
disc, althought sharing the same filesystem has none of the original
disc limitations. We have no security layers so we can set up files
in any place, and we have no wasted space, so our disc can use 4.3
Gb (1.1gb more than the original :P)
Layout Files:
When we dump
a layout structure from an original disc we get a text file similar
to this:
|
# DISC TITLE
: SSX Tricky
# VIDEO MODE : Ntsc
# PUBLISHER : EA
# SOURCE DISC : Original
# EXTRA INFO : None
#
# <<<<< LAYER 0 BEGINS HERE >>>>>
#
D,\data\config,0,1714420
F,\data\lang\letter.loc,199508,1714421
F,\data\lang\constant.loc,150132,1714519
F,\data\lang\american.loc,197712,1714593
D,\data\icon,0,1714727
D,\data,0,1714728
D,\,0,1714729
F,\default.xbe,1847296,1714730......
|
Each line structure
is: file
or directory,path,size,start
sector
D,\,0,1714728
is the root directory in this sample.
Sector number
and size are not important for us, as the only factor which XBDVDFS_maker
uses to setup files on the disc is the line number. So in this example
directory \data\config
will be at the beggining of the disc, then letter.loc, then constant.loc,
etc...
So we can just
simply open the layout file on the notepad, ultraedit or something
and start to cut & paste lines to setup the files and directories
in the way we want (maybe future CloneXB versions include a graphical
gui for this), but before moving anything take this in consideration:
- Each time
a file is accessed on the Xbox, the dvd reader head must go to their
directory and then to the file. So is not a good idea to put D,\data\
at the beggining of the layout file and F,\data\something.dat
at the end. The optimal way would be to set directories definitions
in a equidistant place of every file contained in the same path
level. This can be easy with some games with just a few folders
and files, but extremely hard in others.
|
|
General Tips:
- Move videos
to the beginning, they don´t need high speed transfers.
- Keep audio
streamed files as much equidistant to streamed level files as you
can(for example if you dont do this in Ninja Gaiden and setup the
music file far from the level files, the head movement will be huge
while you are playing, and even can lead the Xbox to show "loading"
while you walk across the streets).
- Group similar
files. Imagine we have:
F,\data\level1.aaa,0,0
F,\data\level7.aaa,0,0
F,\data\level2.aaa,0,0
F,\data\level7.bbb,0,0
F,\data\level1.bbb,0,0
F,\data\level2.bbb,0,0
F,\data\level1.ccc,0,0
F,\data\level2.ccc,0,0
F,\data\level7.ccc,0,0 |
Something like this would be more logical.
------------------>
|
F,\data\level1.aaa,0,0
F,\data\level1.bbb,0,0
F,\data\level1.ccc,0,0
F,\data\level2.ccc,0,0
F,\data\level2.bbb,0,0
F,\data\level2.aaa,0,0
F,\data\level7.aaa,0,0
F,\data\level7.bbb,0,0
F,\data\level7.ccc,0,0 |
- Think about
how the game works, which files need more reading speed, which files
are read in near time segments...etc. If we have a racing game with
car models, and level maps mixed up in the layout, would be better
to separate them, because probably the games loads first cars, and
then the circuit (or viceversa).
- Delete unused
files: dashboard updates, xbox live installers, etc. You can also
delete files from languages you dont want to keep, so you have more
free space to pad and so more reading speed by moving files to the
outer part of the disc. (remember to comment which files you ripped,
and please keep always a language with all its audio and video).
- Finally, pad
your images to gain extra speed.
|
p.d.:
excuse my simple english
|