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 make-
file 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 Dar-
win (e.g. sizeof() returns long!)
- Schily support includefiles rearranged to make portabili-
ty even easier.
- mconfig.h now defines IS_SCHILY to signal users of the
Schily makefilesystem, that the Schily portability envi-
ronment 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 sup-
port include file hast been reworked to make portability
even much easier.
- schily.h & standard.h have been modified to hopefully fi-
nally solve all type clash problems with size_t &
spawn*()
- 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 re-
ports 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 cor-
rectly 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 nonstan-
dard 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 config-
ured default compiler could not be found.
- statdefs.h enhanced
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 inde-
penant 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 in-
creases my workload. There is no real reason for a modi-
fication, and (even worse) the people who create modifi-
cations 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 in-
creasing 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 separa-
tor 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 prob-
lems on True64 and on 64 bit Sparc programs too but was
not directly visible due to a different stack content.
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 de-
fines 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 Jrg Schilling, originated by Monty xiph-
mont@mit.edu):
- The paranoia code from cdparanoia (written by Monty xiph-
mont@mit.edu) has been converted into a portable library.
/*--------------------------------------------------------------------------*/
Libedc (Optimized by Jrg Schilling, originated by Heiko Eifeldt
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.
/*--------------------------------------------------------------------------*/
face 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 in-
terface 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 envi-
ronment 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 complete-
ly 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 pre-
vents 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:
Repeat by: Insert a PCATA CD-Writer in a Sony VAIO note-
book 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 Lin-
ux 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 cor-
rected. 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 lay-
ers.
Now the Solaris USCSI implementation and the (SuSE) Linux
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 ... in-
stead.
- Fix scsi-unixware.c to allow multiple opens.
- Fixed several typo's.
- Avoid to read from the media (when using the new experi-
mental 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".
/*--------------------------------------------------------------------------*/
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 un-
abe to understand that they are going to write more than
the official disk capacity from reading cdrecord's out-
put. 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 oth-
er 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
Unfortunately, the way "Just-link" is implemented is not
compliant with the MMC standard. We will have to wait un-
til 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 sup-
ported 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 ad-
vance, so new drives will continue to work as long as they
are standard comliant enough for cdrecord.
NOTE for GUI implementors:
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 sec-
tors
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 interrupt-
ed 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 sup-
port 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.
tions
- 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 simi-
lar 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 Cy-
berDrive 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 cor-
rection 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:
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 mes-
sage 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' Iden-
tifikation : '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.
- 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 fu-
ture.
- 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 com-
mand 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 cir-
cumvented 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 fu-
ture.
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
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 fu-
ture.
- 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 rela-
tive 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 simu-
late 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
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 in-
tense 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 mes-
sage.
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 with-
out 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 def-
initely 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
- Display of the number of times the Buffer underrun pro-
tection 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 al-
though 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 compli-
ant. - 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
rect speed ratio for DVDs
- Simulation driver now supports fake "Next writable ad-
dress" 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 Eifeldt'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 dis-
connect/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 prob-
lem 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 de-
fault cdrecord still is limited to half the encoding speed that
a single CPU allows. Even this may result in a buffer un-
derrun on Linux as Linux does not use DMA for IDE when
the sector size is != 2048 bytes which is true in RAW
write mode.
needed because drives with buggy firmware like the CW-7585
did cause hundreds of "command sequence erorrs" to be em-
mited 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 re-
sult 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 com-
plete 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
== 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 en-
abling 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 Eifeldt heiko@hexco.de):
- Changes to make cdda2wav compile better on Alpha/True64
- Restructured to better use the schily makefile portabili-
ty structures.
- Changed handling of Table of contents. Now the more in-
formative methods of Read full toc are being used in fa-
vor 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 com-
mand 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 cus-
tomers. *************
- Temporary hack to fix a bug in the ISRC code that caused
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 informa-
tion. 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 cer-
tain 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 Jrgs getargs option handling
- Fix some bugs with option parsing introduced with the new
option parsing using getargs()
- 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 byte-
order on Big endian machines if -paranoia has been speci-
fied
- fix several CDDB query bugs - support CDDBP proto-
col 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 spe-
cial 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 in-
teroperability
- Temporary added -v<number> for compatibility with old GUI
- 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 de-
fault, 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 execu-
tion overhead.
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 porta-
bility 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 desk-
top.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 flop-
py 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
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 er-
ror.
- -z option now working to create CDs in a format with Lin-
ux proprietary Rock Ridge extensions for transparent com-
pression.
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 cor-
rectly 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
overflows in size computations.
- Fixed a bug in the code that removes sensitive informa-
tion from the command line.
- Add text strings with descritpive text to the out-
put_fragment structures
- verbose > 1 (use -v) writes debug info for output frag-
ments. 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 informa-
tion from the Primary volume descriptor.
- Support for Apple HFS on Mac OS X Thanks to James Pear-
son.
- Support for more then 65535 directories as only the par-
ent entries need to fit into the path tables.
- Full DVD-Video support thanks to Olaf Beck - olaf_sc@ya-
hoo.com
- Avoid a C-compler warning caused by mkisofs.h
- Fixed a bug in the DEBUG code from the DVD-Video enhance-
ments
- 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
- Make fire PATH_MAX is defined in isoinfo.c too.
- Make sure UDF directory permissions include 'execute per-
mission'.
- 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 con-
tent 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 re-
lease, I decided to mark the '-f' Option as non-function-
al. 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 mk-
isofs to create completely broken filesystem images if
directories have been nested deeper than 8 and -D has not
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 <beren-
di2@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 un-
translated 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 in-
formation 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
Man(1) output converted with
man2html