home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 April
/
CMCD0404.ISO
/
Software
/
Freeware
/
Multimedia
/
Mode2cd
/
readme.txt
< prev
Wrap
Text File
|
2003-03-14
|
19KB
|
441 lines
Mode2 CD Maker v1.5.1
=====================
Disclaimer
----------
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Purpose
-------
With this tool you can build a CD/XA Bridge image using any file you want
(not just MPEGs). What's the point? Well, using Mode2/Form2 you have bigger
user data sector sizes so you can fit more data in a single CD-R (up to 800
MB of data in a 80 min. disc).
What's the drawback, then? There is an issue on how Windows handles these
discs. It reads the files burned this way as RAW data, and it also appends
a RIFF/CDXA header at the beggining of the file. So you cannou burn anything
you want ant then just see it like any other file: you must deal with this
RIFF/CDXA stuff.
Here you have the theoretical max. capacities for each type of media:
+--------+--------+--------+--------+
| 74 min | 80 min | 90 min | 99 min |
+--------+--------+--------+--------+--------+
| Mode 1 | 650 MB | 700 MB | 790 MB | 870 MB |
+--------+--------+--------+--------+--------+
| Mode 2 | 738 MB | 795 MB | 896 MB | 987 MB |
+--------+--------+--------+--------+--------+
The Mode 1 line shows the "original" CD capacity, the Mode 2 the one that
can be achieved using mode2cdmaker. In the practice you'll have to substract
approx. 1 MB from the Mode 2 values since it's reserved for the ISO Bridge
track. In my calculations 1 MB = 2^20 (1024*1024), and not this 1000*1000
stupid value used by the HD makers' marketing division.
Usage
-----
mode2cdmaker -m "movie1.avi" -d dirname -f "readme.txt" -v MODE2CD -e DAT
-h, -help this help
-v, -volume volume name (default: MODE2CD)
-o, -output output image base name (*.bin, *.toc, *.cue) (default: image)
-f, -file add Form1 files
-m, -movie add movie (Form2) files (by default)
-d, -dir add subdirectory
-e, -ext set default extension for Form2 files (default: DAT)
-c, -dos assume DOS charset for input file names
-x, -extname keep original Form2 file extension
-s, -single create a single track image
-ccd output CloneCD image (*.img, *.sub, *.ccd)
-raw output RAW-96 image (*.img)
-list use filelist for input Form1 files
-paramfile use parameter file for input
-isolevel1 force ISO 9660 Level 1 for file names
-isolevel2 force ISO 9660 Level 2 for file names
* Add movie files: -m "d:\path\my movie.avi" [...]
This is the main option in Mode2 CD Maker. By the use of -m (or -movie) option
you can add any number of files to the current CD structure that are entitled to
be burned as Mode2/Form2. You can enter as many files as you want after a single
-m option, provided you enter the full path for each one. You can also use
wildcards such as "*.*" or "*.avi" instead of adding single files.
Note that by default the original file extension will be changed to ".DAT" for
all Form2 files. This is needed because once burned as Form2, the original file
contents won't be the same as the original, because of the way these files are
readed by the OS (so you need the RIFF/CDXA reader filter to be able to play
them). You can change this behaviour with the options below.
* Add other files: -f "d:\path\my file.ext" [...]
The -f (or -file) option works exactly equal as the -m option but in this time
the files specified here will be recorded as Form1, not taking any advantage of
the extra CD space, but you can read them just like any other file on the HD.
This is meant for executable/text and other files that are not supported through
DirectShow (so you can't read them using the RIFF/CDXA filter). As an example,
you can add drivers, players or text files to the CD structure this way.
Unlike Form2 files, these will retain their original file name and extension,
since no change is made to their contents.
* Add directory: -d "dir name"
By the use of the -d (or -dir) option you can add a new subdirectory to the
current CD structure. After this option any file entered using the -m or -f
option will lie on the last directory specified. Note that you can't add full
paths from the HD inluding its directory structure using the -m or -f option,
hence the usefulness of this option.
An example: -m "movie.avi" -d "player" -f "c:\my favorite player\*.*"
This will add movie1.dat to the root directory, make a new dir named "player"
and add the contents of the path specified after -f option to the "player"
directory on the CD (not including subdirectories, though).
Each directory entered after the -d option will be created in root. If you want
to specify a subdirectory tree, separate each directory level with backslashes,
but remember to create their parent directory first. An example of nested
subdirectories:
-d "player" -f "c:\my player\*.*" -d "player\filters" -f "c:\my player\filters\*.*"
* Force ISO 9660 Level 1 or 2 file names: -isolevel1, -isolevel2
By default all names are saved in ASCII form (i.e. they maintain their original
uppercase/lowercase characters and their length). In case you want to fit to
standards you can force ISO 9660 Level 1 (i.e. all uppercase, 8+3 filenames) or
Level 2 (i.e. all uppercase, max. 31 chars per file name) conversion to all file
names. As an example a file called "My Movie.avi" would become "MY_MOVIE.DAT"
after being converted to ISO Level 1.
* Change default Form2 extension: -e "ext"
By default all Form2 files will change their extension to "DAT" as stated above.
You can change this default extension by using your favorite one thanks to the -
e (or -ext) option.
However note that by any means it's recommended using a registered extension
here since it may lead to problems when trying to play the file (this is the
case with OGG/OGM, as an example).
* Keep original Form2 extension into file name: -x
You can keep the original Form2 file extension into the file name by adding the
-x option to the command line.
An example: -m "this is a sample movie.avi" -x
Will create "this is a sample movie.avi.dat"
* Use DOS charset for source file names: -c
In case you want to enter file names with international character sets using DOS
character set (this is useful for BAT files, and some languages such as Russian)
you can add the -c (or -dos) option to tell the program to do the appropiate
conversion before trying to open the file. Otherwise you'd get a "file not
found" error.
* Set CD volume name: -v "name"
With this option you can specify a new volume name for the current CD, other
than the default "MODE2CD".
* Set output image base name: -o "d:\path\image"
With the -o (or -output) option you can specify a default path and base file
name for the output image. The default path is current directory and the base
name "image". Three files will be created using this information: *.cue, *.bin
and *.toc.
An example: -o "d:\cdimages\image"
This will create: image.bin, image.cue and image.toc under "d:\cdimages" path.
* Create a single track image: -s
One of the limitations of standard Mode2/Form2 CDs is the minimum track size
(300 sectors), so any file being recorded as Mode2/Form2 must be greater than
300 Kb in size. On the other side every track must be preceeded by a pregap
which adds extra 300 Kb for each Form2 file, making it unsuitable for a lot of
small files such as MP3.
In that case you can add the -s (or -single) option which forces the creation of
a single-track CD. This makes all files lie on a single track, which has the
following advantages: now each Form2 file can be smaller than 300 Kb, no pregaps
are added for each one (thus saving more space) and the ISO filesystem is
smaller, too, because there is no need for a separate ISO Bridge track.
This makes a better use of the available CD space, specially for large file
collections where previously the tool would have not been able to take advantage
of the extra space (since all gained space was then lost on pregaps).
As a disadvantage, these CDs are currently unusable from Linux since the
software currently available under Linux that can read XCDs works in a track-
basis and not in a filesystem-basis, so it needs each Form2 file to lie on a
separate track. Examples of this are mplayer as well as the vcdfs and cdfs
drivers. Unfortunately, seems Linux can't read XCDs the same way as Windows due
to a lack of support for Form2 files in the iso9660 driver (they are readed as
Form1 files).
* Output CloneCD (CCD) image: -ccd
New to 1.5.1 is the possibility to create a CloneCD (CC/IMG/SUB) image set, instead
of the default BIN/CUE image. These images contain more accurate information about
every sector and thus gives less compatibility problems with certain recorders. The
only drawback is that you need a compatible recording tool (such as CloneCD or
Alcohol 120%) in order to burn them.
* Output RAW-96 image: -raw
With this option you can create a single file RAW-96 image, which is intended to be
recorded with with recent cdrecord versions using the -clone mode. Only single track
images can be created this way. This feature has not been tested, though.
* Input Form1 file list: -list listfile.txt
With this option you can enter a simple filelist contained in a text file to be
recorded as Form1 content. Every line may contain only a single file with its
complete path. This way you can overcome the max command line length limit when
entering a big amount of files. Subdirectories cannot be created this way (use it
as an equivalent to the -f option). Paths containing spaces should NOT be enclosed
between quotes, as this is a command-line only requirement.
* Input parameter file: -paramfile params.txt
This option replaces the entire command line structure and takes every option from
a parameter file. The purpose of this is overcoming the max command line lenght.
Every single parameter must stay in a single line, ending with a line feed.
Otherwise the usage is the same as the command line. As with the previous option,
you should NOT enclose paths containing spaces between quotes. An example of a
parameter file:
-m
d:\movie\my favorite movie.avi
-d
player
-f
d:\my player\*.zip
-o
d:\burn\cdimage
-ccd
-s
-v
Movie Title
Burning
-------
Beware that if the source Form2 files are not an exact multiple of 2324
bytes, padding zeroes will be added at the end. There's nothing I can do
about this, this is a limitation of Mode2/Form2.
While building the image the program will show an estimated CD size required
to hold the data you are putting into the image. This size value is
calculated in terms of Mode 1, so you can easily compare it with the actual
CD size as shown when you retrieve the media information with your favorite
burning program (i.e. 700 MB means a full 80 min CD).
Once it's finished you will end with three files:
image.cue CUE file for CDR-WIN
image.toc TOC file for cdrdao
image.bin BIN image
To burn with CDR-WIN just load the *.cue file and burn it.
To burn with cdrdao:
> cdrdao scanbus
> cdrdao write --device 1,0,0 --driver generic-mmc image.toc
In case you chose CloneCD output five files are created by default:
image.ccd CloneCD cuesheet
image.sub Subchannel data
image.img Binary image
image.cue CDR-WIN CUE for compatibility
image.toc TOC file for cdrdao
Just load the image.ccd file into CloneCD or Alcohol 120% and burn it.
If you have troubles you can also use any other recording software that
supports raw BIN images, however this won't be a real CD/XA Bridge, but a
single track, mixed Form1/Form2 CD. anyways Windows can't see the
difference, and it works fine. To burn with Nero as a single track:
1. Choose File/Burn Image menu
2. Load the BIN file
3. Select Mode2
4. Burn!
Reading
-------
To be able to play these files directly from the CD, you'll need either a
DirectShow filter supporting RIFF/CDXA parsing (such as XCD reader filter made
by avih & me), or a player with this capability. As an example there is at least
a portable MP3 player which has been proved to directly support Mode2 Form2 CDs:
the Freecom Beatman CD/MP3 Player.
You can also convert the files back to its original state with a helper tool
I've included called dat2file. The usage is:
> dat2file "d:\my movie.dat" "c:\my movie.avi"
Beware that if the source file was not an exact multiple of 2324, there will
be some padding zeroes at the end of the file. This might prevent it of
being played properly.
Credits
-------
mode2cdmaker is based on vcdtools-0.4 by Rainer Johanni
dat2file is based on cdxa2mpeg by Herbert Valerio Riedel
Many thanks to Nic, int 21h, Nah, ubik29 & Martin for their contributions to
this tool, and of course MaTTeR and Kxy for their extensive testing!
Official homepage: http://webs.ono.com/de_xt/
DeXT @ 2003
History
-------
2003/03/14 - 1.5.1 - Alex Noe & DeXT
mkvcdfs.c: added CloneCD (CCD/SUB/IMG) image output support (Alex Noe)
mkvcdfs.c: added filelist input support, as well as parameter file (Alex Noe)
mkvcdfs.c: cuesheets are only written after the image is created
mkvcdfs.c: enhanced file buffering
2002/11/12 - 1.5a - DeXT
mkvcdfs.c: fixed *stupid* bug that caused Mode2CDMaker to crash when no
subdirectories were entered (sorry)
2002/11/07 - 1.5 - DeXT
mkvcdfs.c: added -s option (creates single track image, removes minimum file
size limit, removes pregaps, better use of available space,
useful for many small Form2 files such as MP3 collections)
mkvcdfs.c: new command line options parser, options are more user friendly
mkvcdfs.c: by default all file names are now kept as ASCII (-l and -a
options removed), added -isolevel1 and -isolevel2 options
mkvcdfs.c: better memory management: buffers are now allocated at run-time
mkvcdfs.c: added 2 empty blocks at the end of ISO track to avoid potential
reading problems when no Form2 files where added
mkvcdfs.c: show actual data written to the CD along with estimated CD size
vcdisofs.c: each directory can now contain an unlimited number of files (it
was previously limited to about 32 per directory)
vcdisofs.c: added nested subdirectories support (now you can maintain the
full directory structure)
vcdisofs.c: better use of ISO track space (files are being recorded right
after the ISO FS)
vcdisofs.c: fixed international character set support for subdirs, too
2002/08/26 - 1.4.2 - ML & DeXT
mkvcdfs.c: added ML's wildcard code (for MSVC)
mkvcdfs.c: added -c option (assume DOS character set for input file names,
useful from BAT and also some languages, such as Russian)
vcdisofs.c: properly support international file names on the CD
2002/06/24 - 1.4.1
mkvcdfs.c: fixed incorrect track numbering in CUE file
2002/06/17 - 1.4
mkvcdfs.c: big speedup thanks to new r/w buffering (up to 3 times faster)
mkvcdfs.c: BIN image is now referenced as relative in TOC, CUE files
mkvcdfs.c: new option: -x (keep form2 file extension in the filename)
mkvcdfs.c: new file collect routine, to allow subdirs for form2 files
mkvcdfs.c: default screen output is now stdout (so it can be redirected)
mkvcdfs.c: fixed bug where input files were not closed
vcdisofs.c: subdirs now work for form2 files, too
vcdisofs.c: fixed max filename length calculation (was greater than allowed)
vcdisofs.c: ISO building is now faster for form1 files (no need to reserve space)
2002/05/23 - 1.3
mkvcdfs.c: new options added: -d, -a
vcdisofs.c: added subdirectories support (for Form1 files only)
vcdisofs.c: added ASCII character set support
vcdisofs.c: removed default VCD-like filenames for Form2 files
2002/05/20 - 1.2
mkvcdfs.c: command line parser is now less tolerant to bad syntax
mkvcdfs.c: ISO FS is now built before copying actual file data
mkvcdfs.c: show total estimated CD size
mkvcdfs.c: new XA subheader which is more compatible with DVD players
vcdisofs.c: added Form1 files support (through new option -f)
2002/05/10 - 1.2pre2
mkvcdfs.c: added progress counter and speed indicator
mkvcdfs.c: fixed DAT filesize (was 1 sector higher w/multiple of 2324)
mkvcdfs.c: fixed CUE file not being deleted on failure
mkvcdfs.c: XA subheader now marks EOF
vcdisofs.c: improved XA compatibility (added XA sig for every file/dir)
vcdisofs.c: added long file names support (ISO-9660 Level 2)
vcdisofs.c: fixed emtpy block in ISO track
dat2file: added nice counter, too
dat2file: no need to enter destination file name
2002/05/04 - 1.2pre
mkvcdfs.c: new command line option parser (Nic)
mkvcdfs.c: new features (set volume name, M2F2 ext, output image) (Nic)
mkvcdfs.c: changed default volume name and image base name
mkvcdfs.c: added simple d-char (ISO-9660) converter
vcdisofs.c: M2F2 file extension is no longer fixed
2002/04/18 - beta 1.1
mkvcdfs.c: added CUE output support
vcdisofs.c: lowered ISO track size to 302 sectors (~700 Kb)
2002/04/17 - beta 1.0 - first release, based on vcdtools-0.4
mkvcdfs.c: changed output file method to fopen() (open() worked in text
mode, perhaps a MinGW bug?)
mkvcdfs.c: removed 30+45 empty sector padding in M2F2 track
mkvcdfs.c: now will accept any file (not just MPEG)
mkvcdfs.c: changed CD/XA track subheader to Form2/Data
mkvcdfs.c: fixed DAT file length and track file length:
* DAT file now has right size (missed 1 sector)
* CD/XA track now has 2 "ghost" sectors at the end, to
prevent any potential TAO problems
vcdisofs.c: fixed make_path_tables() to not add root files as dirs
vcdisofs.c: DAT files are added to the root directory instead of MPEGAV
vcdisofs.c: removed unneeded VCD stuff