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ß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ß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ß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
