1608 lines
54 KiB
Plaintext
1608 lines
54 KiB
Plaintext
NEW features of cdrtools-2.0:
|
||
|
||
Please have a look at the German open Source Center BerliOS at www.berlios.de
|
||
BerliOS will continue to support free hosting of cryptography projects even
|
||
when US laws change and don't allow to host cryptography projects in the USA.
|
||
Also look at sourcewell.berlios.de, the first Open Source announcement service
|
||
that itself is implemented as Open Source project.
|
||
|
||
***************** Important news ****************************
|
||
|
||
For the 'Slottable Source Plugin Module' SSPM Features read README.SSPM
|
||
|
||
***************** Please Test *********************************
|
||
|
||
All:
|
||
|
||
- Now using the "Slottable Source" feature of the makefile system.
|
||
This is the fist modular reusable portable makefile standard
|
||
in the open source world.
|
||
|
||
To see a new feature call: "make tinfo"
|
||
|
||
- config.sub now recognises "parisc-unknown-linux-gnu"
|
||
|
||
- Circumvent some problems with GCC-3.0 on Linux
|
||
|
||
- Removed printf() definitions from schily.h to avoid type clashes
|
||
|
||
- Support for SCO (Caldera) OpenUNIX (aka. UnixWare 8)
|
||
|
||
- Better support for Darwin-1.3 and 1.4
|
||
|
||
This is:
|
||
|
||
- enhanced makefile system
|
||
|
||
- type casts needed for unusual types used on Darwin
|
||
(e.g. sizeof() returns long!)
|
||
|
||
- Schily support includefiles rearranged to make portability even
|
||
easier.
|
||
|
||
- mconfig.h now defines IS_SCHILY to signal users of the
|
||
Schily makefilesystem, that the Schily portability environment
|
||
is being used.
|
||
|
||
- now includes the forgotten mkdep-sco.sh that helps to better
|
||
work around the SCO C-compiler.
|
||
|
||
- timedefs.h modified. Now the last schily portability support include
|
||
file hast been reworked to make portability even much easier.
|
||
|
||
- schily.h & standard.h have been modified to hopefully finally solve
|
||
all type clash problems with size_t & spawn*()
|
||
|
||
- Compile support for QNX Neutrino
|
||
|
||
- Now we hopefully have floating point support for _all_ platforms
|
||
even those without *cvt() and without __dtoa(). Thanks to a hint
|
||
from Thomas Langer <Langer.Thomas@gmx.net> we now use strtod.c
|
||
to gert a fallback __dtoa()
|
||
|
||
- Added an autoconf test for rcmd() so cdrtools now should compile
|
||
again on BeOS and AmigaOS where no rcmd() is present.
|
||
|
||
- fixed fexec.c to make it compile ion QNX
|
||
|
||
- Now the complete libschily is included although it it not needed
|
||
for cdrtools. There are two reasons for doing this:
|
||
|
||
- Cdrtools is _the_ program that is heavily tested on
|
||
many different platforms, so I will get reports for
|
||
compile problems this way.
|
||
|
||
- cdrtools becomes a base docking platform for the SSPM
|
||
system this way. Now any of the Schily tools may be included
|
||
and compiled inside the base portability platform 'cdrtools'.
|
||
|
||
- New supported architctures:
|
||
s390-linux-cc.rul parisc-linux-cc.rul parisc64-linux-cc.rul
|
||
|
||
- Large File support for IRIX-6.2 (added autoconf test for -n32 cc option)
|
||
|
||
- Large File support for IRIX-6.5 now everything works correctly if the
|
||
OS supports Large Files by default in 32 bit mode (uses fseeko()/ftello()
|
||
if present. This could only be done by massively changing the autoconf code
|
||
stolen from GNUtar.
|
||
|
||
- Support for SGI IRIX platform ip17-irix
|
||
|
||
- Support for SGI IRIX-6.5
|
||
|
||
- Try to support recent BeOS (again)
|
||
|
||
- Workaround in libschily/comerr.c for the nonstandard
|
||
big negative errno values on BeOS
|
||
|
||
- libschily now includes floating point printf() for BeOS
|
||
|
||
- fileluopen.c from libschily now compiles on BeOS (without O_NDELAY)
|
||
|
||
- workaround for the nonstandard negative errno values on BeOS
|
||
|
||
- Schily makefile RULES for AmigaOS added
|
||
|
||
- getpagesize() emulation for BeOS to make cdda2wav compile on BeOS
|
||
|
||
- New rule allows automatic fallback to GCC if the configured
|
||
default compiler could not be found.
|
||
|
||
- statdefs.h enhanced
|
||
|
||
- Many corrections to give less warnings on SCO Openserver
|
||
|
||
- Support for NT-5.1 (WIN XP) added os-cygwin_nt-5.1.id
|
||
|
||
- VMS script build_all.com now includes astoll.c so compilation
|
||
on VMS should work again.
|
||
|
||
- New macros for max/min values of int*_t in utypes.h
|
||
|
||
- Limit the different handling of packed bitfields for AIX to AIX CC.
|
||
|
||
- Unfortunately fragementation of cdrecord has begun.
|
||
I noticed this fact recently when people started to ask me
|
||
senseless things which turned out to be a result of
|
||
a modified cdrtools source that I have not ben aware of.
|
||
|
||
One main goal of cdrtools is to provide a platform indepenant
|
||
user interface which cannot be achieved if people change important
|
||
parts os the user interface.
|
||
For this reason, I changed the license in hope that this will
|
||
help at least to keep the user interface the same on all
|
||
platforms and on all distributions.
|
||
|
||
Please keep in mind that fragmentation in many cases increases
|
||
my workload. There is no real reason for a modification,
|
||
and (even worse) the people who create modifications do not help
|
||
to keep my workload low in order to help me (and Heiko and James)
|
||
with the cdrtools project. People should rather contribute to
|
||
the project. Cdrtools should be free and actively mantained
|
||
in future. With increasing workload, I don't know how to do this.
|
||
|
||
|
||
- Add hints that compiling on unknown platforms wil only work if
|
||
"smake" is used.
|
||
|
||
- Autoconf code for Large file support now handles Linux system include
|
||
file bugs that prevented correct behavior on 64 Bit Linux systems.
|
||
|
||
|
||
- Better autoconf code for the problems with mlock() & HP-UX-10.20
|
||
|
||
- Better autocheck code for available C-compilers on HP-UX
|
||
Now even a fallback from GCC to CC works.
|
||
|
||
- Some changes to make compilation on 64 bit systems more correct
|
||
|
||
- Added support for GNU Hurd to the Schily Makefilesystem
|
||
|
||
- Cast pointerdiffs to int for printf() %.*s format and/or include
|
||
workarounds for 64 bit problems in this area.
|
||
|
||
- Several modifications to make OS/2 work again
|
||
(e.g. -lsocket added)
|
||
|
||
- fexec.c now uses a configurable PATH environment separator
|
||
to allow PATH lookup on OS/2
|
||
|
||
- A 20 year old extension has been removed from format.c
|
||
This caused printf() to interpret %X as %lX. This caused noticable
|
||
problems on IA-64. It should have created problems on True64
|
||
and on 64 bit Sparc programs too but was not directly visible
|
||
due to a different stack content.
|
||
|
||
- remove #elif to avoid a GCC-3.x warning
|
||
|
||
- config.sub now knows about IA64 architecture
|
||
|
||
- Makefilesystem now spports compiler specific optimization flags
|
||
|
||
- Align_test.c now creates a better include file (using more () to
|
||
make sure the compiler created correct code).
|
||
|
||
- Makefilesystem changed $(MAKE) to "$(MAKE)" to allow spaces
|
||
in pathnames
|
||
|
||
- Correct autoconf test for broken OS like MAC OS X that do not
|
||
allow local malloc() implementations due to linker bugs.
|
||
|
||
- Add autoconf test for strange clock_t definition method on Linux
|
||
|
||
- README.ATAPI enhanced for all platforms
|
||
|
||
- README.ATAPI now contains a hint on how to use ATAPI drives on HP-UX-11.x
|
||
|
||
- Support for FreeBSD on Ultrasparc added to the makefile system
|
||
|
||
- *roff'd man pages in .../doc dir re-created
|
||
|
||
- Try to work around a bug in OpenBSD.
|
||
OpenBSD defines EOF in ctype.h but POSIX only mentions an EOF definition
|
||
for stdio.h. If we include ctype.h bfore schily.h on OpenBSD while
|
||
stdio.h has not been included, this will fail.
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Libparanoia (Ported by J<>rg Schilling, originated by Monty xiphmont@mit.edu):
|
||
|
||
- The paranoia code from cdparanoia (written by Monty xiphmont@mit.edu)
|
||
has been converted into a portable library.
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Libedc (Optimized by J<>rg Schilling, originated by Heiko Ei<45>feldt heiko@hexco.de):
|
||
|
||
- Changed to allow compilation on K&R compilers too
|
||
|
||
- Speedup by 300%
|
||
The speedup is nearly processor independant.
|
||
|
||
Pentium-233 2443 sectors/s 32x
|
||
333Mhz-UltraSparc-IIi 6402 sectors/s 85x
|
||
900Mhz-UltraSparc-III+ 22813 sectors/s 304x
|
||
Athlon-1000 24378 sectors/s 325x
|
||
Athlon-1700 40168 sectors/s 535x
|
||
|
||
Depending on the speed of gettimeofday(), these numbers may be up to 5%
|
||
too low.
|
||
|
||
- Code is now put under GPL.
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Libscg:
|
||
|
||
- Trying to add a workaround for just another bug in the
|
||
sg driver in the Linux kernel. If a TIMEOUT occurs,
|
||
the error code does not indicate a TIMEOUT.
|
||
|
||
- Better scg_open() error messages when trying to do scanbus on Linux
|
||
and no /dev/sg* or /dev/pg* could be opened.
|
||
|
||
- Output Request Sense buffer with -debug when the USCSI interface is
|
||
used on Solaris.
|
||
|
||
- First attempt for support for the new IOKit SCSI interface on MaxOS X
|
||
Darwin-1.4 and newer with much much help from
|
||
Constantine Sapuntzakis <csapuntz@Stanford.EDU>
|
||
|
||
Unfortunately there is not yet support for SCSI devices nor
|
||
is there support for standard Bus,Target,Lun device namings.
|
||
I hope that bot may be added in the future.
|
||
|
||
Volunteers who like to help with the libscg interface stuff
|
||
for Darwin-1.4 are welcome.
|
||
|
||
- Try to make scsi-beos.c compile on new BeOS version 5
|
||
|
||
- First attempt to integrate the AmigaOS SCSI transport interface code
|
||
from Thomas Langer <Langer.Thomas@gmx.net>
|
||
|
||
- Massive modicifation of the support code for SCO OpenServer 5.x
|
||
|
||
As the kernel implementation contains several bugs,
|
||
the new code will by default not check for hard disks in scan mode.
|
||
|
||
The code checks the following environment variables:
|
||
|
||
"LIBSCG_SCAN_ALL" To force scanning for all SCSI targets.
|
||
"LIBSCG_SCSIUSERCMD" use old SCSIUSERCMD ioctl()
|
||
"LIBSCG_MAX_DMA" override MAX_DMA value, value must be number in kB
|
||
"LIBSCG_ENABLE_USB" enable access of USB devices
|
||
|
||
- Version -> 0.6
|
||
|
||
- Adding support for the CDROM_SEND_PACKET ioctl() from cdrom.c
|
||
|
||
Thanks to Alexander Kern <alex.kern@gmx.de> for the idea and first
|
||
code fragments for supporting the CDROM_SEND_PACKET ioctl() from
|
||
the cdrom.c kernel driver. Please note that this interface in principle
|
||
is completely unneeded but the Linux kernel is just a cluster of
|
||
code and does not support planned orthogonal interface systems.
|
||
For this reason we need CDROM_SEND_PACKET in order to work around a
|
||
bug in the linux kernel that prevents to use PCATA drives because
|
||
the kernel panics if you try to put ide-scsi on top of the PCATA
|
||
driver.
|
||
|
||
The code is currently in "status nascendi" but usable with some trade offs.
|
||
|
||
To use: call e.g.
|
||
|
||
cdrecord -scanbus dev=ATAPI:
|
||
|
||
cdrecord -dao -v speed=24 dev=ATAPI:0,0 ....
|
||
|
||
Be careful! This code is only needed in order to be able to use
|
||
PCATA CD-writers on notebooks because there is a severe kernel bug.
|
||
Unfortunately, this bug causes the kernel to hang (and force you
|
||
to reboot) if you try to call:
|
||
|
||
cdrecord -scanbus
|
||
|
||
without the dev=ATAPI: option.
|
||
|
||
In this case cdrecord will hang infintely and unkillable
|
||
in open("/dev/sg1", 2) => you need to reboot :-(
|
||
|
||
Repeat by: Insert a PCATA CD-Writer in a Sony VAIO notebook and run
|
||
cdrecord -scanbus.
|
||
|
||
- Enhanced list of SCSI Error texts from SCSI standard from 29.5.2001
|
||
|
||
- New callback function to allow execption handling to be done after
|
||
the current SCSI command did finish.
|
||
|
||
- scsi-aix.c now uses UIntptr_t in alignement macro.
|
||
|
||
- Some 64 bit casts in the USCSI code from scsi-sun.c
|
||
|
||
For hints on the Linux Packet code in ide-cdrom.c read README.ATAPI
|
||
|
||
- Introduce a workaround for a conceptional Bug in the Linux kernel
|
||
SCSI implementation.
|
||
|
||
Linux is unable to distinct between a target selection timeut (e.g. switched
|
||
off target) and a command timeout (e.g. command needs more time than expected).
|
||
|
||
If the detected command time is < 1 second, libscg will now assume a dead target.
|
||
|
||
- Fix a bug with ATAPI in scsi-vms.c - now the SCSI status byte is OK
|
||
Thanks To Eberhard Heuser
|
||
|
||
- Allow up to 26 IDE controlers in scsi-vms.c - Thanks to Chip Dancy
|
||
|
||
- Do not open all /dev/scg* devices on Solaris if not in Scanbus mode
|
||
|
||
- Handle ENXIO in Solaris USCSI interface code as indicator for a
|
||
switched off device.
|
||
|
||
- Max DMA size for Linux ATAPI Packet interface code corrected.
|
||
Max DMA is 128k-1 and not 128k.
|
||
|
||
- Support for recently defined new SCSI target types found in SCSI
|
||
standard.
|
||
|
||
- New help system that lists all SCSI low level transports for a specific
|
||
platform together with their properties.
|
||
|
||
- Allow consistent usage of alternate SCSI transport layers.
|
||
|
||
Now the Solaris USCSI implementation and the (SuSE) Linux ATA implementation
|
||
behave similar and both allow dev=<Transport> as well as dev=<Transport>:
|
||
for -scanbus, e.g.
|
||
|
||
cdrecord dev=USCSI -scanbus
|
||
cdrecord dev=USCSI: -scanbus
|
||
cdrecord dev=ATAPI -scanbus
|
||
cdrecord dev=ATAPI: -scanbus
|
||
|
||
all work the same way.
|
||
|
||
- Small change for Linux device initialization by request of Linus Torvalds
|
||
|
||
The purpose of this change is to support a new SCSI transport interface
|
||
for ATAPI in Linux that came up with the latest developer Linux kernels
|
||
(e.g. Linux-2.5.43). This interface allows to send SCSI commands directly
|
||
to ATAPI drives without using ide-scsi and sg, but it has several pitfalls.
|
||
|
||
While Linux allows to use DMA when using ide-scsi and sg if the
|
||
sector size is 2048 and the transfer buffer starts page aligned, the new
|
||
direct interface never uses DMA (acording to Linus Torvalds). So if you
|
||
write audio CDs or data CDs in RAW mode, there is no difference. If you
|
||
write data CDs in TAO or DAO mode, using ide-scsi and sg allows much
|
||
higher write speed. Note that this may change in future....
|
||
|
||
Notes for use:
|
||
|
||
- You need to specify something like dev=/dev/hdc
|
||
Note that this is unsupported by libscg.
|
||
|
||
- As long as there is no safe way for libscg to find out early that
|
||
this new interface is used, libscg may hang a bit on open.
|
||
This is caused by the fact that libscg is forced to read
|
||
from the open filedscriptor to clean up old Linux sg driver
|
||
interfaces. This was never a problem with /dev/sg*, but
|
||
when doing the same thing, this causes libscg to read content
|
||
from /dev/hd*
|
||
|
||
- There is (currently) no way for cdrecord to scan for ATAPI
|
||
devices when using this interface.
|
||
|
||
As long as this is true, you may want to prefer to use
|
||
|
||
cdrecord dev=ATAPI: -scanbus
|
||
and
|
||
cdrecord dev=ATAPI:0,0 ...
|
||
instead.
|
||
|
||
- Fix scsi-unixware.c to allow multiple opens.
|
||
|
||
- Fixed several typo's.
|
||
|
||
- Avoid to read from the media (when using the new experimental
|
||
Linux ATAPI transport) while trying to clear old sg driver status.
|
||
|
||
- Woraround for Linux kernel design bug: CDROM_SEND_PACKET sets errno
|
||
to EINVAL in case SCSI sense key is "Invalid command".
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Rscsi:
|
||
|
||
- RSCSI now works if the target is a Win32 system.
|
||
This is not done by changing rscsi.c but by fixing a bug
|
||
in Cygwin!
|
||
|
||
The fix to Cygwin's rshd is posted in
|
||
|
||
http://sources.redhat.com/ml/cygwin-apps/2001-05/msg00000.html
|
||
|
||
Thanks to egor duda <deo@logos-m.ru>
|
||
|
||
NOTE that in a few weeks this patch will be integrated into Cygwin
|
||
and cdrecord/RSCSI will work out of the box on a recent Cygwin release.
|
||
|
||
- Now prints user ID & user Name into DEBUG file
|
||
|
||
- Now using signal safe read/write functions.
|
||
|
||
- Code now checks for HAVE_NETDB_H (added by request of
|
||
"Thomas" <Langer.Thomas@gmx.de> to help with AmigaOS port)
|
||
This should indicate whether there is support for rcmd()
|
||
in the OS.
|
||
|
||
- Make it compile on BeOS
|
||
|
||
- changed because GNU Hurd has no MAXHOSTNAMELEN
|
||
|
||
- Return "PIPE" for hostname comparison if called from e.g. 'sshd'.
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Cdrecord:
|
||
|
||
- New option -overburn
|
||
|
||
This option has been added as many people seem to be unabe to understand
|
||
that they are going to write more than the official disk capacity from
|
||
reading cdrecord's output. Oveburnung now is no more done by default!
|
||
|
||
NOTE that there even are some drives that prevent you from writing
|
||
exactly the official size and stop several hundreds of sectors before.
|
||
|
||
- Do not print a warning for writing more than 90 minutes if the media is
|
||
a DVD
|
||
|
||
- Fix for a problem with setting high priority on Win32 systems.
|
||
Thanks to egor duda <deo@logos-m.ru>
|
||
|
||
- Sony MMC drives now work in -multi session mode.
|
||
There was a bug in cdrecord that was accepted by all other drives.
|
||
The bug did cause a temporary bad setup to the drive.
|
||
|
||
- I hope that the 90 minute CD capacity warning now will finally
|
||
disappear for DVD writers.
|
||
|
||
- Old test code removed that prevented cdrecord from being able
|
||
to write manually configured indices. Note that the index lists
|
||
from the *.inf files with using the -useinfo option alway worked.
|
||
|
||
- -force will force cdrecord to ingnore any failed forced OPC.
|
||
currently this is only done if the drive does not support
|
||
forced OPC.
|
||
|
||
- Do forced OPC before blanking a CD-RW
|
||
|
||
- Driveropts "burnproof" renamed to "burnfree".
|
||
This has been done as this technology now appears in the MMC standard.
|
||
|
||
- Cdrecord now shows whether BURN-Free is active. This makes
|
||
sense as Ricoh's "Just-Link" is enabled by default.
|
||
Unfortunately, the way "Just-link" is implemented is not compliant
|
||
with the MMC standard. We will have to wait until I get the needed
|
||
information from Ricoh.
|
||
|
||
- Support for MMC RAW mode writing.
|
||
|
||
This allows to do disk at once recording on Philips drives that
|
||
do not support SAO.
|
||
|
||
You may write audio tracks in RAW mode. There are some new
|
||
and most likely transient options:
|
||
|
||
-raw16 Write 2352 Bytes sectors + P+Q Subchannel
|
||
|
||
-raw96r Write 2352 Bytes sectors + P+W Subchannel (R-W in raw mode)
|
||
|
||
-raw96p Write 2352 Bytes sectors + P+W Subchannel (R-W in packed mode)
|
||
|
||
Indices are fully supported in RAW mode.
|
||
|
||
MCN & ISRC are not yet suported in RAW mode, they are silently discarded.
|
||
|
||
I know that cdrecord currently does not work in RAW/R96P mode.
|
||
It is not clear whether this is a bug in cdrecord or in the Plextor
|
||
firmware as I did not yet found another drive that claimes to support
|
||
RAW7R96P.
|
||
|
||
If you find other problems in RAW mode or if you find
|
||
new bugs introduced in old write modes, please send a bug report.
|
||
|
||
- Cdrecord now checks the properties of the writer. If a specific write
|
||
mode is not supported by the writer, cdrecord warns you and makes
|
||
a suggestion for a similar alternate write mode.
|
||
|
||
With the curent structure of cdrecord, it is not possible to silently
|
||
e.g. change the write mode from -dao to -raw96r
|
||
|
||
- MMC compliant drives are automatically scanned for supported write modes.
|
||
This should help to make cdrecord work without manual static configuration.
|
||
My hope is still to have no need to know all drive properties in
|
||
advance, so new drives will continue to work as long as they
|
||
are standard comliant enough for cdrecord.
|
||
|
||
NOTE for GUI implementors:
|
||
|
||
the line starting with the text:
|
||
|
||
"Checking possible write modes:"
|
||
|
||
will go away in the near future.
|
||
|
||
The line starting with:
|
||
|
||
"Supported modes:"
|
||
|
||
will remain and should be checked for possible write modes.
|
||
|
||
- Fixed a bug in the option checking that prevented to write
|
||
data CD's at all.
|
||
|
||
Now only "RAW data" CD's are flagged as expected.
|
||
|
||
- Fixed a bug in the Firmware bug recognition system.
|
||
This bug did prevent cdrecord to work with Philips drives
|
||
when writing in RAW mode.
|
||
|
||
- New options -copy & -nocopy to allow to modify the 'copy' bit
|
||
in audio subchannel data.
|
||
|
||
- -scms option added to the man page and online help.
|
||
|
||
- New model to compute SCSI transfersizes
|
||
|
||
- -xa1 -xa2 sector typedefinitions changed.
|
||
|
||
- Debug messages while checking possible write modes of MMC
|
||
compliant made optional.
|
||
|
||
- RAW writing scatter sector function made more general
|
||
|
||
- New functions to convert between 2448 and 2368 byte sectors
|
||
|
||
NOTE: Read README.raw
|
||
|
||
- add a forgotten if (xdebug) in drv_mmc.c.
|
||
This caused a superfluous write mode debug message to be printed
|
||
|
||
- do installation of exit handlers (to reset SCSI state) earlier
|
||
|
||
- Cdrecord now does not exit with 0 anymore when interrupted with ^C
|
||
during the waittime before starting to write.
|
||
|
||
- First CD-Text support (can only copy CD-Text information from master
|
||
disk)
|
||
|
||
Writing of CD-Text is supported for all drives that support
|
||
CD-Text in SAO write mode and for all drives that support
|
||
to write in RAW/RAW96R mode (use -raw96r in this case).
|
||
|
||
NOTE: Read README.cdtext
|
||
|
||
- Circumvent a bug in the system include files from Linux that
|
||
makes printf() a macro and prevented compilation with GCC-3.0
|
||
|
||
- Added some #include <stdio.h> to substitute missing printf() definitions
|
||
|
||
- SAO/R16 mode removed from tests, it may never occur.
|
||
|
||
- Changed some .min defines in structs to .pmin to avoid K&R complier
|
||
problems
|
||
|
||
- better FIFO debug messages
|
||
|
||
- New driver config table for Taiyo Yuden EW-50.
|
||
This dive is like a Philips CDD-521 but has been reported to
|
||
swab audio data.
|
||
|
||
- rscsi client code now uses buffered read to speed up on Cygwin
|
||
|
||
- rscsi client code now uses signal safe read/write functions
|
||
|
||
- Cdrecod now does not open/close the tray anymore if the disk
|
||
is going to be erased.
|
||
|
||
- modify -version output if Clone writing support is present
|
||
|
||
- A new driver has been added that first checks the media if the drive
|
||
supports to write CD & DVD.
|
||
|
||
- Behaviour of the function that reads fs= tsize= and similar
|
||
corrected.
|
||
|
||
- Modified driver interface for better DVD support
|
||
|
||
- FIFO Code now checks for HAVE_FORK (added by request of
|
||
"Thomas" <Langer.Thomas@gmx.de> to help with AmigaOS port)
|
||
|
||
- Better messages when trying to write more than the amount of data
|
||
that fits on a DVD.
|
||
|
||
- The DVD driver now reports a DVD media back to the high level code.
|
||
|
||
- correctly use the buffer capacity code from the driver instead
|
||
of the MMC-2 read buffer cap code directly
|
||
|
||
- Support for the unusual not ready error code of the CyberDrive CW038D
|
||
|
||
- CD-Text Code now also accepts Text File without 4 byte Size header
|
||
|
||
- CD-Text file read code now is able to do CRC error correction
|
||
Note that only songle bit errors per 18 byte pack.
|
||
|
||
- CD-text Autoring support:
|
||
|
||
CD-text may now be based on fields found in the *.inf files
|
||
created by cdda2wav.
|
||
|
||
To create a CD with CD-Text based on information from freedb.org
|
||
call:
|
||
|
||
1) cdda2wav -B -v255 -L
|
||
2) cdrecord {-dao!-raw96r} -v -useinfo -text *.wav
|
||
|
||
CD-text TODO:
|
||
|
||
- Check whether the *.inf files are all from the same CD
|
||
and clear some CD-text fields that are only valid if
|
||
they relate to one CD only.
|
||
|
||
- Add some more fields (mainly a dficiency of cdda2wav)
|
||
|
||
- Support multi language text
|
||
|
||
- Support character coding other than ISO-9959-1
|
||
|
||
CD-text may be based on fields found in the *.inf files
|
||
created by cdda2wav.
|
||
|
||
NOTE: Read README.cdtext
|
||
|
||
- better messages for CD manufacturer codes that are not in the
|
||
latest free Orange forum table.
|
||
|
||
- Default usage code is now only 6 lines so the error message
|
||
does no longer scroll out the screen. If yu like to get the old
|
||
long usage information, call cdrecord -help
|
||
|
||
- move 'dd' like number conversion stuff into getnum.c
|
||
|
||
- Allow the /etc/default/cdrecord parsing code to be used by
|
||
readcd too (as documented in the man page)
|
||
|
||
- First support for Plextor's VariRec feature in the PX-W4012
|
||
I am not sure about the final user interface.
|
||
For now, call e.g. cdrecord speed=4 driveropts=varirec=-1
|
||
for all audio CDs. Allowed varirec parameters are -2, -1, 0, 1, 2
|
||
VariRec only works at write speed 4.
|
||
|
||
- Print the actual current write speed in verbose mode.
|
||
|
||
- DVD-R code (undisclosed) now supports:
|
||
Vendor_info : 'MATSHITA'
|
||
Identifikation : 'DVD-RAM LF-D310 '
|
||
Revision : 'A116'
|
||
|
||
- Support for SCMS from *.inf files
|
||
Note that you need to use cdda2wav/cdrecord that have fitting versions
|
||
because of this change. Otherwise cdrecord may add SCMS copy
|
||
protection.
|
||
|
||
- RAW mode now honors COPY bit and SCMS coding.
|
||
|
||
- Avoid coredump with "cdrecord textfile= non/existant ..."
|
||
|
||
- Corrected printf() formats for verbose printing to hold enough
|
||
space for media > 1 GB (DVD)
|
||
|
||
- Corrected printf() formats to make the write speed non-jumping.
|
||
|
||
- If called from a GUI, cdrecord now reads from "stderr" if
|
||
the CD-input-data is from "stdin".
|
||
If it turns out that stderr is not open for reading, cdrecord
|
||
waits to receive a SIGUSR1
|
||
|
||
- Better printouts for the DISC-ids covered by the orange forum embargo.
|
||
|
||
- DVD structure structure definition enhanced to reflect
|
||
current standard.
|
||
|
||
- new option gracetime=
|
||
|
||
- Try to abort DAO recording with a flush_buffer() if ^C is hit.
|
||
|
||
- Try to make cdrecord behave more polite for platforms (like Cygwin)
|
||
that don't support large files when the DVD data to be written
|
||
is read from stdin.
|
||
|
||
mkisofs ... | cdrecord ... -
|
||
|
||
will now work for DVDs on non large file OS
|
||
|
||
- Call flush buffer in silent mode to avoid error messages with
|
||
cdrecord -toc called on a CD-ROM drive.
|
||
|
||
- Avoid core dump is a single .inf file is missing and -text
|
||
option is used.
|
||
|
||
- Data structures modified to allow new features in the future.
|
||
|
||
- Fixed a bug that caused cdrecord to ignore escaped file type
|
||
args if they looked like a valid option (e.g.):
|
||
|
||
cdrecord dev=0,0 -dao -v -- speed=8
|
||
|
||
"speed=8" should be handled as if it was a filename but was
|
||
skipped.
|
||
|
||
- Print write mode when starting to write.
|
||
I hope that this helps me to understand incorrect "bug reports"
|
||
from lazy people who do not include their cdrecord command line.
|
||
|
||
- Printing ATIP information is now caused by a separate (internal) flag
|
||
and not ny a hack.
|
||
|
||
- Do not allow to write to ultra low speed RW media if the drive
|
||
is not able to write at 2x or 1x. This may be circumvented
|
||
with -force.
|
||
|
||
- Do not allow to write to high speed RW media if the drive is not
|
||
a high speed RW drive. This may be circumvented with -force.
|
||
|
||
- Data structures modified to allow new features in the future.
|
||
|
||
Trying to make driver interface simpler and cleaner. This resulted
|
||
in a major rewrite of the driver interface.
|
||
|
||
- please test if multi session with TEAC CDR-50/CDR-55
|
||
still works.
|
||
|
||
As a lot has been changed in the driver interface, please test
|
||
if bugs have been introduced!
|
||
|
||
- New test that prevents to write CD-RW media too slow
|
||
|
||
- Display of current DVD write speed now correct and no more based on
|
||
single speed CD but on single speed DVD.
|
||
|
||
- Moving SAO/RAW start code from cdrecord.c into drv_mmc.c
|
||
allows clean DVD-R/RW driver interface code.
|
||
Now cdrecord -dao will work correctly (as expected) even for DVDs
|
||
|
||
- speed= option no longer defaults to speed=1
|
||
Each driver now includes a default speed and a maximum speed.
|
||
If the maximum speed in the driver is wrong, use -force to overwrite.
|
||
|
||
Please send feedback if my assumptions on write speed are wrong:
|
||
|
||
- No drive using the Philips CDD-521 command set is faster
|
||
or slower than 2x
|
||
|
||
- No drive using the Yamaha CDR-100 driver is faster than 4x
|
||
No drive using the Yamaha CDR-100 driver is slower than 2x
|
||
|
||
- The Tayo Yuden CW-50 is 2x
|
||
|
||
- The Kodak PCD-600 is 6x
|
||
|
||
- Abort when the last track # of a multi session disk would be > 99
|
||
|
||
- Data structures modified to allow new features in the future.
|
||
|
||
- Better bessages for CD-RW where the speed ofthe media does not match
|
||
the properties of the writer.
|
||
|
||
- Avoid to reload media in -dummy RAW mode.
|
||
|
||
- Correctly abort if there was a problem when writing CD-Text in the LEAD-IN.
|
||
|
||
- Again: Data structures modified to allow new features in the future.
|
||
|
||
This release uses the new data structurec to allow to write ISRC/MCN
|
||
in RAW mode.
|
||
|
||
- Fixed a bug that caused cdrecord to write a wrong relative time
|
||
into the subchannel data when writing audio CDs in RAW mode.
|
||
This affected the pregap sectors if pregap size was != 0.
|
||
|
||
- Allow cdrecord to write ISRC & MCN even in RAW mode.
|
||
|
||
- Allow Simulation driver cdr_simul and dvd_simul to simulate any write
|
||
mode.
|
||
|
||
- Simulation driver cdr_simul and dvd_simul changed so no reload on the
|
||
real background drive occurs.
|
||
|
||
- Since last release , the new data structures allow to write
|
||
ISRC/MCN in RAW mode. This now makes RAW mode fully usable for
|
||
audio CDs. NOTE: if you find any problems with CDs written in SAO
|
||
mode, first try to write the same CD in RAW mode if your
|
||
drive supports to write in RAW mode. Tere are a lot of drives
|
||
that have rotten firmware and create broken CDs in DAO mode.
|
||
|
||
- Support for Yahama Audio Master Quality Recording.
|
||
|
||
This support is switched on via driveropts=audiomaster
|
||
|
||
I am sorry, but I had to do major changes in the MMC
|
||
driver in order to be able to support Audio Master.
|
||
This may have affected all other driveropts=
|
||
too. Please test and keep in mind that I like to have
|
||
the mext major release in a few weeks.
|
||
|
||
When audiomaster has been specified, BURN-Free recording
|
||
is disabled and - as the visible size of the medium
|
||
decreases - a second disk size check is done after
|
||
Audio Master has been turned on.
|
||
|
||
- man page enhanced according to new features
|
||
|
||
- Short Usage funtion now includes a hint on how to
|
||
obtain the list of possible driveropts= parameters
|
||
|
||
- Include the tags
|
||
|
||
"VARIREC ", "AUDIOMASTER ", "FORCESPEED "
|
||
|
||
In the "Driver flags" line that is visible with
|
||
|
||
cdrecord -checkdrive.
|
||
|
||
- cdrecord driveropts=help now includes
|
||
|
||
"varirec=" and "audiomaster"
|
||
|
||
|
||
- Support for writing data sectors in RAW mode has been added
|
||
to the GPL#ed version of cdrecord.
|
||
Note that writing data sectors in RAW mode is a highly CPU
|
||
intense task. For this reason, cdrecord first checks whether
|
||
it would be possible to do the requested job reliably.
|
||
If it is questionable whether the job could be done in the
|
||
desired speed, cdrecord aborts with a related message.
|
||
|
||
The max theoretical speed (not including the writing load)
|
||
is printed in a new line starting with: "Encoding speed :".
|
||
Cdrecord allows half of this speed.
|
||
|
||
- Allow RAW writing of data sectors to work correctly without
|
||
the need of specifying -data
|
||
|
||
- Allow spaces as delimiters between different tags in a single
|
||
line in the file /etc/default/cdrecord
|
||
|
||
- Support for Ricoh (and others) Just Link
|
||
|
||
This support is switched on via driveropts=burnfree
|
||
|
||
Note that Just Link is by default swichted on in the drive
|
||
but as Just Link may create CDs that are no 100% OK,
|
||
cdrecord now by default switches it off. Now you definitely
|
||
need to specify driveropts=burnfree to switch Just Link on
|
||
again.
|
||
|
||
If you call cdrecord dev=... -checkdrive you will see
|
||
the TAG "BURNFREE" as a hint that either Burn-Proof or
|
||
Just Link is supported.
|
||
|
||
- "Turning .... " messages for drive special functiions are
|
||
now printed to stdout
|
||
|
||
- Limited display (once every 1 MB) of the drives internal buffer
|
||
RAM fill ratio.
|
||
|
||
- Display the minimal drive buffer fill ratio a the end of the write
|
||
process.
|
||
|
||
- Display number of predicted drive buffer underruns based on the
|
||
fill ratio of the drive buffer (incremented if fill ratio is < 5%).
|
||
|
||
- Display average write speed at the end of the write process.
|
||
In dao mode, this includes the time needed to write the lead in and
|
||
thus is not 100& correct (value is too low).
|
||
|
||
- Display of the number of times the Buffer underrun protection
|
||
has been active for drives where the manufacturer send me the needed
|
||
information (Ricoh, Yamaha, Aopen). It may work for other drives too
|
||
but there is no guarantee.
|
||
|
||
- Fixed a bug in the driveropts= parsing routine.
|
||
|
||
- New driveropts= option "forcespeed". Use with extreme care as this
|
||
will force several drives ((Ricoh, Yamaha, Aopen, ...) to write with
|
||
the selected high speed although the mediaum is too bad for this
|
||
operation.
|
||
|
||
- New driveropts= option "tattooinfo". Use together with -checkrive
|
||
to retrieve the information about the picture size that will fit.
|
||
|
||
The result will be someting like:
|
||
|
||
DiskT@2 inner r: 265
|
||
DiskT@2 outer r: 583
|
||
DiskT@2 image size: 3744 x 318 pixel.
|
||
|
||
- New driveropts= option "tattoofile=". Use together with -checkrive
|
||
to write an image of the right size to disk.
|
||
|
||
Read README.DiskT@2
|
||
|
||
- Rearrange the order of the new statistics printing
|
||
|
||
- Allow several of the new statistics to be printed even if cdrecord
|
||
aborts due to an error.
|
||
|
||
- Let the old Philips drive use the common CD media 'reload' function.
|
||
|
||
- Try to find out if a drive is MMC, MMC-2 or MMC-3 compliant.
|
||
- see cdrecord -checkdrive
|
||
|
||
- Suppress printing oof the average write speed if the size of the
|
||
tracks is not known prior to start CD writing
|
||
|
||
- ATIP printing (cdrecord -atip) enhanced to support Ultra high speed
|
||
CD-RW media.
|
||
|
||
- Check whether somebody likes to write a Ultra high speed CD-RW on
|
||
an improper writer
|
||
|
||
- Print MMC conformance level of the drive based on content of
|
||
SCSI mode page 2A.
|
||
|
||
- Print more information for MMC-2 & MMC-3 drives with cdrecord -prcap
|
||
|
||
- The new true CAV Plexwriter 482448 is now supported.
|
||
|
||
Please note that it is not easy to write at 48x. You definitely need
|
||
a correct DMA setup to optimal values.
|
||
|
||
Also note switching on Burn-Proof will reduce the max speed to 40x
|
||
so it may be that you don't need Burn-Proof if you simply reduce speed
|
||
to 40x manually
|
||
|
||
- make sure that using both -copy and -useinfo will not result in unclear state
|
||
Instead the content of the *.inf files will be used
|
||
|
||
- Simulation driver (cdr_simul / dvd_simul) now uses correct speed ratio
|
||
for DVDs
|
||
|
||
- Simulation driver now supports fake "Next writable address" function.
|
||
|
||
- On Linux usleep() is very unacurate, meter the real sleep time
|
||
and cumulate a correction value. This allows the simulation driver
|
||
to simulate the correct write speed.
|
||
|
||
- Added a note to Heiko Ei<45>feldt's libedc when printing RAW encoding speed
|
||
|
||
- Limit gracetime to 999 seconds and make output correct even for
|
||
times > 9 seconds.
|
||
|
||
- Corrected a bug in the MMC driver that caused cdrecord to use the
|
||
wrong place for current speed when doing MMC/MMC-3 dependant stuff
|
||
|
||
- cdrecord -prcap will now use the same format for MMC & MMC-3 drives
|
||
rsulting in a better readability.
|
||
|
||
- Don't print write time statistics if writing did not yet start
|
||
|
||
- Try to handle drives that don't support to write at speed 1 but
|
||
will fail if you try to call cdrecord speed=1 ...
|
||
|
||
- New option -immed tells cdrecord to set the SCSI "IMMED" flag in certain
|
||
commands.
|
||
|
||
This option is not needed if your PC has been configured correctly.
|
||
However, ATAPI drives usually cannnot do disconnect/reconnect.
|
||
As a result, the PC may hang with long lasting commands if the CD-writer
|
||
has been connected to the same IDE cable as the harddisk. A correct
|
||
solution would be to set up a correct cabling but there seem to be
|
||
notebooks around that have been set up the wrong way by the manufacturer.
|
||
As it is impossible to fix this problem in notebooks, -immed has been
|
||
added. Use this option with care and do not expect cdrecord to work
|
||
correctly if it has been called with -immed.
|
||
|
||
- -force will not completely removeany speed restrictions for writing in RAW
|
||
mode. Instead, only the speed that a single CPU allows will be permitted
|
||
by cdrecord. This still has a high potential for a buffer underrun.
|
||
By default cdrecord still is limited to half the encoding speed that
|
||
a single CPU allows. Even this may result in a buffer underrun on Linux
|
||
as Linux does not use DMA for IDE when the sector size is != 2048 bytes
|
||
which is true in RAW write mode.
|
||
|
||
- If the environment variable "CDR_FORCERAWSPEED" is set, this will have
|
||
the same results for RAW speed as using -force. However, -force has more
|
||
general effects and should be avoided.
|
||
|
||
- Fixed a bug in fifo.c introduced with the driver interface change.
|
||
Now cdrecord compiles again on VMS (without FIFO).
|
||
Thanks to Eberhard Heuser.
|
||
|
||
- Allow cdrecord to compile without libedc
|
||
Thanks to Eberhard Heuser.
|
||
|
||
- Run read buffer capacity in silent mode.
|
||
This is needed because drives with buggy firmware like the CW-7585
|
||
did cause hundreds of "command sequence erorrs" to be emmited when
|
||
trying to read the current drive buffer fill ratio.
|
||
|
||
- Fixed man page to correctly call SAO mode SAO and not DAO.
|
||
|
||
- Encoding speed is contend dependant. Initalize test buffer
|
||
before doing a libedc speed test to make the result independant
|
||
from grabage on the stack.
|
||
|
||
- Support for libscg help system
|
||
|
||
- Warn to use cdrecord blank=all if a drive rejects cdrecord blank=fast
|
||
|
||
- Fixed a bug that became obvious with Yamaha AudioMaster mode and CD-Text
|
||
The problem was caused by the fact that cdrecord did not allow to overwrite
|
||
the lead in start time in cdrecord's internal data structures.
|
||
|
||
- Fixed a bug with recognition of complete disks that came up after cdrecord
|
||
did allow to deal with >= 90 minute CD's.
|
||
|
||
- Changed Text "BURN-Free was not used" to "BURN-Free was never needed" because
|
||
people did believe that the old text means that Burn-Proof has been disabled.
|
||
|
||
- Man page now includes a hint that padsize is always using 2048 as sector size.
|
||
|
||
- Fixed a bug with padsize=xxx if sector size was not 2048 bytes.
|
||
Cdrecord in this case did just divide the number of pad bytes by the
|
||
number of bytes in an output sized sector (e.g. 2448 or 2352 bytes).
|
||
This did result in a too low number of padding sectors.
|
||
The fix caused a complete rewrite of the pad size handling.
|
||
|
||
- Treat packet mode similar to normal writing: Print Drive buffer fill ratio
|
||
and current write speed.
|
||
|
||
- Treat padding similar to normal writing: Print Drive buffer fill ratio and
|
||
current write speed.
|
||
|
||
- Make verbose printing consistent and non-jumping
|
||
|
||
- A new experimental feature of the -immed flag is to
|
||
tell cdrecord to try to wait short times wile writing
|
||
to the media. This is expected to free the IDE bus if
|
||
the CD/DVD writer and the data source are connected to
|
||
the same IDE cable. In this case, the CD/DVD writer
|
||
would otherwise usually block the IDE bus for nearly
|
||
all the time making it impossible to fetch data from
|
||
the source drive.
|
||
|
||
As this is an experimental feature, I would like to get feedback.
|
||
|
||
|
||
- #ifdef _POSIX_MEMLOCK/_POSIX_PRIORITY_SCHEDULING Tests now
|
||
POSIX 2001 compliant
|
||
|
||
- Do not try to close fd if running on an OS that does not use an fd
|
||
to mmap() chared memory from anonymous pages.
|
||
|
||
- Print Orange Forum embargo warning only if ATIP minutes == 97
|
||
because some DVD writer return junk with read ATIP
|
||
|
||
- New option minbuf= to choose the mininum drive buffer fill ratio
|
||
for the ATAPI wait option that is intended to forcibly free the
|
||
IDE bus to avoid buffer underruns with bad HW configurations.
|
||
The permitted range is 25..95 for 25%..95% buffer fill ratio.
|
||
|
||
- minbuf= may switch on the ATAPI wait option without enabling
|
||
the SCSI Immed option.
|
||
|
||
- Forcibly switch on -v for now if the ATAPI wait option has been
|
||
selected. This is needed because due to a bug, this option will
|
||
not work without -v
|
||
|
||
- Make FIFO code work on AmigaOS
|
||
|
||
|
||
For Yamaha Disk Tatoo features read README.DiskT@2
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Cdda2wav (By Heiko Ei<45>feldt heiko@hexco.de):
|
||
|
||
- Changes to make cdda2wav compile better on Alpha/True64
|
||
|
||
- Restructured to better use the schily makefile portability structures.
|
||
|
||
- Changed handling of Table of contents. Now the more informative
|
||
methods of Read full toc are being used in favor to the old SCSI readtoc
|
||
command. For Sony methods, the fallback is the old method.
|
||
The new methods are available on MMC drives and modern drives with
|
||
Sony command sets. It should enhance access to very weird multi session
|
||
cds.
|
||
|
||
**************
|
||
NOTE: If your drive still has problems to copy such non-CD's, there
|
||
is a simple hack to allow the disk to be copied on all drives:
|
||
|
||
Use a (black) whiteboard pen (non-permanent) and paint on the
|
||
space directly outside the visible ring that is in the middle
|
||
of the non-CD. This is the space where the broken TOC from the
|
||
second session is located.
|
||
|
||
After doing the copy please return the disk to the dealer and
|
||
tell the dealer that this is broken goods. This is the only way
|
||
to stop the big groups to defraud the customers.
|
||
*************
|
||
|
||
- Temporary hack to fix a bug in the ISRC code that caused the ISRC
|
||
string to be shortened by one character.
|
||
|
||
- fixed ioctl handling of toc entries
|
||
|
||
- checked ISRC retrieval (MMC + Plextor)
|
||
|
||
- more checking for weird CDs with wrong track types
|
||
|
||
- bugfix in setuid.c
|
||
|
||
- read full toc method extended to a data track in the second
|
||
session for cd-extra/enhanced cd recognition
|
||
|
||
- if the tracks in the TOC are labelled as data, this is checked
|
||
and corrected if untrue
|
||
|
||
- show cd text disc identification, if one exist
|
||
|
||
- a new perl script to generate a binary cdtext file for use with
|
||
cdrecord. This is currently very simple, but it enables you to
|
||
create cd-text enriched copies from non cd-text originals.
|
||
For a hint how to use the new perl script see the CD-text usage
|
||
notes above.
|
||
|
||
|
||
- New option -L to ask freedb.freedb.org for CDDB information.
|
||
This alllows to automatically create CD-Text CDs.
|
||
|
||
- correct TOC endianess for FreeBSD ioctl interface.
|
||
|
||
- Fixed a bug that caused cdda2wav to dump core with certain
|
||
CD-Text data.
|
||
|
||
- new option -L changed. Now a numerical parameter (0 or 1)
|
||
defines the handling of multiple cddbp entries.
|
||
0 enters user interactive mode.
|
||
1 take the first entry unconditionally.
|
||
I still need a reasonable way for gui interaction in this case!
|
||
Proposals are welcome.
|
||
|
||
- made cddbp handling for mixed mode cds more robust.
|
||
It is unclear yet, if data tracks have to be included in the
|
||
query. Anybody knows the definitive answer?
|
||
|
||
- Better TOC ADDR/CRTL (red book) handling
|
||
|
||
- Better method to scan for indices.
|
||
|
||
- Support for SCMS in *.inf files
|
||
|
||
- Better SUID/SGID handling
|
||
|
||
- new script cddda2ogg
|
||
|
||
- bugfix deemphasizing (thanks to Klaus Wolterec)
|
||
|
||
- bugfix rounding error (creation of info files)
|
||
|
||
- added AlbumPerformer entry in info files
|
||
|
||
- integration of Monty's libparanoia
|
||
|
||
- switch to J<>rgs getargs option handling
|
||
|
||
- Fix some bugs with option parsing introduced with the new option
|
||
parsing using getargs()
|
||
|
||
- New option -version to make cdrtools behave similar
|
||
|
||
- New option paraopts=opts for paranoia options.
|
||
|
||
- Print Paranoia statistics result at end of every track.
|
||
|
||
- prepare for better recording of discs with illegal TOCs
|
||
|
||
- prepare for non-english cd_text languages
|
||
|
||
- rewrite of the TOC handling code (now multisession capable
|
||
and much more robust)
|
||
|
||
- add a fallback method (shmat()) for failed mmap()
|
||
|
||
- linux bug workaround: open() sound device does block when device is busy.
|
||
|
||
- several code cleanups, some 64-bit portability bugfixes
|
||
|
||
- Fixed shell script 'cdda2mp3.new' to correctly use "#!/bin/sh"
|
||
|
||
- Fixed a bug (introduced while converting to getargs()) that caused
|
||
cdda2wav to dump core on OS that implement read only text
|
||
correctly like Solaris does) if compled with gcc or Sun CC COPTX=-xstrconst
|
||
|
||
- Remove old unused getopt() code.
|
||
|
||
- Check DMA residual count
|
||
|
||
- FreeBSD cooked ioctl() Byte swapping now finally OK?
|
||
|
||
- Fixed a bug that caused cdda2wav to return wrong byteorder
|
||
on Big endian machines if -paranoia has been specified
|
||
|
||
- fix several CDDB query bugs
|
||
- support CDDBP protocol 5
|
||
|
||
- customizable CDDBP server and port settings.
|
||
|
||
- Fixed a bug in the paranoia calling code that caused
|
||
cdda2wav to try to access one sector too far on the media
|
||
if in paranoia mode.
|
||
|
||
- Allow again compilation on FreeBSD
|
||
|
||
- bugfix for CD Extra, when copyright messages were present
|
||
|
||
- patch from Kyle to make CD extra handling more robust
|
||
|
||
- bugfix for wrong warning message 'no generation of info files'
|
||
due to incomplete length
|
||
|
||
- new verbose suboptions. Strings will finally replace the
|
||
tedious binary masks. For script compatibility the special
|
||
form of -v255 will be recognized for some releases.
|
||
-vhelp will show the new strings.
|
||
- reworked the toc display code to make it more orthogonal.
|
||
|
||
- changed option 'speed-select' to 'speed' for better interoperability
|
||
|
||
- Temporary added -v<number> for compatibility with old GUI programs.
|
||
Note: -v<number> is outdated and will be removed soon.
|
||
|
||
- Implement a temporary compatibility bug for the -v option.
|
||
|
||
- Support for libscg help system
|
||
|
||
- Man page fixed
|
||
|
||
- Fix for an uninitialized variable
|
||
|
||
- New exit codes for xcdroast
|
||
|
||
- Fix for a CDDB bug: need to use lead out start for play time
|
||
|
||
- Fix for a CDDB bug: Allow whitepsace in Genre
|
||
|
||
- Fix for a CDDB bug: need to count data tracks too
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Readcd:
|
||
|
||
- better error recovery with -noerror
|
||
|
||
- error handling increased
|
||
|
||
- Handle signals and other aborts by restoring old drive state
|
||
|
||
- Set PF bit with mode select.
|
||
|
||
- New option -quiet to suppress primary SCSI error messages
|
||
in read CD error handling
|
||
This are the messages that are printed before entering the
|
||
retry mode.
|
||
|
||
- Secondary SCSI error messages are now suppressed by default,
|
||
they may be turned on again with -verbose
|
||
This are the messages that are printed in -noerror
|
||
retry mode.
|
||
|
||
- Better handling of C2 scans on unreadable data disks.
|
||
|
||
- use comerrno() instead of comerr() if the drive is not ready
|
||
as errno is not valid after that test.
|
||
|
||
- Enhanced output for C2 error scan.
|
||
|
||
- Now use /etc/default/cdrecord as documented in the man page.
|
||
|
||
- Better behavior with extreme badly readable media.
|
||
|
||
- List number of completely unreadable sectors in addition to
|
||
the C2 error count.
|
||
|
||
- Man page updated to contain all options
|
||
|
||
- New option speed= to allow reading at slower speed and avoid read error
|
||
caused by vibrations of the media.
|
||
|
||
- added new option -overhead to meter SCSI command execution overhead.
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Scgcheck:
|
||
|
||
- Fixed Makefile so scgcheck now compiles on FreeBSD
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
Mkisofs (By J<>rg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
|
||
|
||
- Man page updated and corrected.
|
||
|
||
- Try to avoid the C-compiler warnings for getopt.c that are caused
|
||
by the non-confirming way of hacking used by FSF people
|
||
|
||
- isoinfo now corectly displays file with filesize > 1 GB
|
||
|
||
- isoinfo now implements a new option -s that displays the size
|
||
of the files in multiples of the sector size (2048 Bytes)
|
||
|
||
- libhfs_iso reworked to use timedefs.h from schily portability support.
|
||
|
||
- Better error messages for ISO and Rock Ridge directory sort problems
|
||
|
||
- Preserves HFS file dates for AppleDouble, AppleSingle and NetaTalk files
|
||
|
||
- Fixed a problem from an uninitialized variable in desktop.c
|
||
that caused random effects in Apple CD's
|
||
|
||
- better documentation for README.sort/README.hide from James Pearson
|
||
|
||
- Fixed a bug in sort code that caused the compare function to behave
|
||
symmetric when called c(a,b) vs. c(b,a)
|
||
|
||
- First UDF support via -udf option - thanks to Ben Rudiak-Gould.
|
||
|
||
Note that the UDF support is not what you might indend. It is currently
|
||
wired to the Joliet tree which is a bad idea. It also does not yet
|
||
support Symbolic Links, user ID's and similar.
|
||
|
||
- Write messages with more correct size names for the floppy eltorito
|
||
boot images
|
||
|
||
- Added a missing prototype in getopt.c
|
||
|
||
- isodump.c isoinfo.c isovfy.c:
|
||
Correctly handle symlinks
|
||
use offsetof(struct iso_directory_record, name[0]) instead of
|
||
sizeof(struct iso_directory_record) - sizeof(idr->name)
|
||
|
||
- Fixed a check in the Apple HFS code that used strcmp for
|
||
data that could contain null bytes.
|
||
|
||
- Introduced many casts to enhance portability.
|
||
This was needed for GNU fnmatch.c and the HFS support lib libhfs_iso
|
||
|
||
- Use Protoyped function definitions for hash.c to allow old UNIX variants
|
||
where sizeof(dev_t) is < sizeof(int)
|
||
|
||
- Fixed a check in the Apple HFS code that used strcmp for
|
||
data that could contain null bytes.
|
||
|
||
- Introduced many casts to enhance portability.
|
||
This was needed for GNU fnmatch.c and the HFS support lib libhfs_iso
|
||
|
||
- Use Protoyped function definitions for hash.c to allow old UNIX variants
|
||
where sizeof(dev_t) is < sizeof(int)
|
||
|
||
- Support generic boot code if session does not start at sector 0.
|
||
|
||
- Fixed a minor bug with HFS labels & multi-session
|
||
Thanks to James Pearson
|
||
|
||
- Only print a short Usage if mkisofs detected a usage error.
|
||
|
||
- -z option now working to create CDs in a format with Linux proprietary
|
||
Rock Ridge extensions for transparent compression.
|
||
|
||
This is a patch from H.P. Anvin. It makes only sense with Linux-2.4.14
|
||
or later.
|
||
|
||
- New option -debug
|
||
|
||
- Correctly use stat()/lstat() with graft points
|
||
|
||
- Fixed a bug with escape character handling in graft point handling.
|
||
|
||
- Make the graft point a directory if the file it should point to
|
||
is a directory.
|
||
|
||
- Correctly handle non-canonical filenames with graft points.
|
||
|
||
.////././///test=OBJ/sparc-sunos5-cc/ will now work correctly
|
||
and not result in a corrupted ISO-Filesystem.
|
||
|
||
- Canonicalize graft points so commands like:
|
||
|
||
mkisofs -graft-points /a/b/././//=some_dir
|
||
and
|
||
mkisofs -graft-points /a/b/../c/=some_dir
|
||
|
||
will not cause broken ISO images anymore.
|
||
|
||
- Avoid unwanted information in debug information on disk.
|
||
|
||
- Allow the -sort option to work with the Eltorito Boot Catalogue
|
||
|
||
- Allow '-' to be part of the ISO-9660 filename if -no-iso-translate
|
||
has been specified.
|
||
Thanks for this hint from Georgy Salnikov (sge@nmr.nioch.nsc.ru)
|
||
from Novosibirsk, Russia.
|
||
|
||
- Try to avoid an integer overflow with the -C option and DVDs
|
||
|
||
- Try to fix (very old) rotten code in various files that did cause
|
||
integer overflows for files > 2 GB - 2kB.
|
||
|
||
Inconsistent use of (always diferent) hand crufted code using
|
||
2048, 2047, ... instead of SECTOR_SIZE, ISO_ROUND_UP(), ...
|
||
|
||
Note that this is not only of interest for DVDs as mkisofs could
|
||
believe that > 2 GB of data would fit on a CD.
|
||
|
||
- New code to print file type names.
|
||
|
||
- Some more changes to reduce the probability of integer overflows
|
||
in size computations.
|
||
|
||
- Fixed a bug in the code that removes sensitive information from
|
||
the command line.
|
||
|
||
- Add text strings with descritpive text to the output_fragment structures
|
||
|
||
- verbose > 1 (use -v) writes debug info for output fragments.
|
||
This uses the new strings introduced with the last version.
|
||
|
||
- isoinfo now uses getargs() and includes -version and -help
|
||
options.
|
||
|
||
- isoinfo now is able to find out that Joliet information is
|
||
present if the disk contains illegal Joliet UNICODE escape code.
|
||
This seem to happen with disks written with Adaptecs programs.
|
||
|
||
- isoinfo has new option -debug that prints more information
|
||
from the Primary volume descriptor.
|
||
|
||
- Support for Apple HFS on Mac OS X Thanks to James Pearson.
|
||
|
||
- Support for more then 65535 directories as only the parent entries
|
||
need to fit into the path tables.
|
||
|
||
- Full DVD-Video support thanks to Olaf Beck - olaf_sc@yahoo.com
|
||
|
||
- Avoid a C-compler warning caused by mkisofs.h
|
||
|
||
- Fixed a bug in the DEBUG code from the DVD-Video enhancements
|
||
|
||
- Allow symlink targets to be up to 1024 bytes
|
||
|
||
- devdump/isodump/isovfy now use getallargs() and implement -help/-version
|
||
|
||
- If UDF but no Joliet is used, UDF filenames may be 255 chars long.
|
||
Note that this is still hack.
|
||
|
||
- From James: New option -joliet-long to allow 103 UNICODE characters with
|
||
Joliet. This is not Joliet compliant but several other programs
|
||
also create long Joliet names.
|
||
|
||
- Fixed a minor C non-compliance in ifo_read.c
|
||
|
||
- Allow symlink targets to be up to 1024 bytes
|
||
|
||
- devdump/isodump/isovfy now use getallargs() and implement -help/-version
|
||
|
||
- If UDF but no Joliet is used, UDF filenames may be 255 chars long.
|
||
Note that this is still hack.
|
||
|
||
- From James: New option -joliet-long to allow 103 UNICODE characters with
|
||
Joliet. This is not Joliet compliant but several other programs
|
||
also create long Joliet names.
|
||
|
||
- Correct a minor problem with K&R compilers for the programs
|
||
in mkisofs/diag/
|
||
|
||
- Make fire PATH_MAX is defined in isoinfo.c too.
|
||
|
||
- Make sure UDF directory permissions include 'execute permission'.
|
||
|
||
- A patch from James that make mkisofs able to create a HFS volume < 4 GB.
|
||
|
||
- Support for MS code page 1250 (Slavic/Central Europe) added.
|
||
Thanks to Petr Balas petr@balas.cz
|
||
|
||
- A patch from James that make mkisofs able to create a HFS volume > 4 GB.
|
||
|
||
- A new option -hfs-parms for better HFS support for HFS volumes > 4 GB
|
||
from James Pearson
|
||
|
||
- Fixed several typos in the man page and the source
|
||
|
||
- Belly based speudo fix for a problem with mkisofs -f (follow)
|
||
and symlinks to directories where directory content was
|
||
missing with the old version. The new version is most likely better
|
||
and we (James and I) could not find problems with the new version.
|
||
|
||
- Make "HFS_TYPE" and "HFS_CREATOR" work as documented in ~/.mkisofsrc
|
||
|
||
- Fixed a small typo in isofinfo.c
|
||
|
||
- As mkisofs -f has bugs that cannot be fixed for this release, I decided
|
||
to mark the '-f' Option as non-functional. People who use it will be warned
|
||
that it does not work correctly.
|
||
|
||
- Sort VIDEO_TS.IFO to be the first entry in VIDEO_TS/ woth -dvd-video
|
||
|
||
- Disable Joliet if -dvd-video has been specified. This needs to be done to
|
||
allow the change above.
|
||
|
||
- Correctly handle files > 1GB on the UDF filesystem.
|
||
Thanks to Wei DING <ding@memory-tech.co.jp> for the patch.
|
||
|
||
- Add support for Code Page 1251
|
||
|
||
- Koi8-u added to libunls
|
||
|
||
- Fix a nasty bug in the UDF handling part that caused mkisofs to
|
||
create completely broken filesystem images if directories have been
|
||
nested deeper than 8 and -D has not been specified.
|
||
|
||
- Include a new piece of code that causes mkisofs to abort with an
|
||
error message if it turns out that the block numbers estimated
|
||
during the sizing phase do not match the block numbers in the
|
||
write phase.
|
||
|
||
- Enabled a piece of code that has been introduced 2 years ago and that
|
||
causes mkisofs to prevent deep directory relocation if Rock Ridge
|
||
has not been spacified.
|
||
|
||
If you like mkisofs not to omit the part of the directory tree that
|
||
is nested too deep, specify either -R, -r or -D.
|
||
|
||
|
||
TODO:
|
||
- read Joliet filenames with multi-session if no TRANS.TBL
|
||
or RR is present. I am looking for a volouteer for this task:
|
||
Peter Berendi <berendi2@webdesign.hu> announced that he likes
|
||
to be the volounteer for this task.
|
||
|
||
Unfortunately, I did no hear again from him, but I got
|
||
a proposal from
|
||
"Krisztian Gede" <nameless@mail.datanet.hu>
|
||
who also likes to do the job.
|
||
|
||
Note that this can never be 100% correct as there is no relation
|
||
between the names on the master (UNIX) filesystem, the ISO-9660
|
||
names and the Joliet names. Only the Rock Ridge names are
|
||
untranslated with respect to the original files on the
|
||
master (UNIX) filesystem.
|
||
|
||
- implement Yellow book compliant XA extended dir attributes
|
||
|
||
- add libecc/edc for CDI and similar.
|
||
This may not be needed if we ise VCDimager and recent
|
||
cdrecord versions.
|
||
|
||
|
||
CYGWIN NT-4.0 NOTES:
|
||
|
||
To compile on Cygwin32, get Cygwin and install it.
|
||
For more information read README.win32
|
||
|
||
The files are located on:
|
||
|
||
ftp://ftp.berlios.de/pub/cdrecord/alpha ...
|
||
|
||
NOTE: These tar archives are 100% ansi compatible. Solaris 2.x tar and GNU
|
||
tar may get some minor trouble.
|
||
|
||
WARNING: Do not use 'mc' to extract the tar file!
|
||
All mc versions before 4.0.14 cannot extract symbolic links correctly.
|
||
|
||
WARNING: Do not use 'winzip' to extract the tar file!
|
||
Winzip cannot extract symbolic links correctly.
|
||
|
||
Joerg
|