diff --git a/.clean b/.clean new file mode 100755 index 0000000..1fb2644 --- /dev/null +++ b/.clean @@ -0,0 +1,8 @@ +#!/bin/sh +rm -rf */OBJ */*/OBJ libs/* incs/* +rm -f core */core */*/core +rm -f .EDT* */.EDT* */*/.EDT* +rm -f .vedt* */.vedt* */*/.vedt* +rm -f *.bak */*.bak */*/*.bak +rm -f */tags */*/tags +rm -f */TAGS */*/TAGS diff --git a/ABOUT b/ABOUT new file mode 100644 index 0000000..da2a4d3 --- /dev/null +++ b/ABOUT @@ -0,0 +1,37 @@ +This package contains the following software: + +- cdda2wav (an digital CD audio extraction program) + By Heiko Eißfeldt + +- cdrecord (a CD recording program) + By Jörg Schilling + +- mkisofs (an ISO-9660 filesystem image creator) + By Jörg Schilling schilling@fokus.fhg.de and + by James Pearson + +- mkhybrid (an ISO-9660/HFS filesystem image creator) + Link to mkisofs + +- several diagnostic programs for ISO-9660 + + - devdump dump a device or file in hex + + - isodump dump a device or file based on ISO-9660 + + - isoinfo analyze or list an ISO-9660 image + + - isovfy verify an ISO-9660 image + +- readcd (a stripped down version of scgskeleton) + By Jörg Schilling schilling@fokus.fhg.de and + may be used to read data CD's, to write to DVD-RAM + and to copy Solaris boot CD's + +- scgcheck (a program to validate the correct behavior + By Jörg Schilling schilling@fokus.fhg.de and + of the low level libscg code and the SCSI transport + code of the underlying OS). + +- libscg (a highly portable SCSI transport library) + By Jörg Schilling schilling@fokus.fhg.de and diff --git a/ANNOUNCEMENTs/AN-2.0 b/ANNOUNCEMENTs/AN-2.0 new file mode 100644 index 0000000..c504298 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.0 @@ -0,0 +1,1607 @@ +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 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 + + 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 + +- 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 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= as well as dev=: + 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 + + 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" 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 + +- 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 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" 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 for compatibility with old GUI programs. + Note: -v 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 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 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" + 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 diff --git a/ANNOUNCEMENTs/AN-2.01 b/ANNOUNCEMENTs/AN-2.01 new file mode 100644 index 0000000..c967222 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01 @@ -0,0 +1,1496 @@ +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 ********************************* + +NEW features of cdrtools-2.01: + + +All: + +- Support for the ELF format in BSDi 4.x + +- Allow floating point printing on OS/2. This has been possible + since 11/2001 but OS/2 has been forgotten. + +- Correct OS/2 ranlib handling + +- New architecture 9000-831-hp + +- Include +DAportable in HP-UX cc options + +- README.hpux enhanced to include hints on how to compile 64 bit + binaries. + +- Support for NetBSD on PPC (macppc-netbsd-cc) + +- portable getdomainname() replacement now supports to get the domainname + from /etc/resolv.conf. This allows usage even on OS/2 + +- Typo in DEFAULTS files fixed + +- New generic target for symlinks + +- New file rename.c for portability part of libschily + +- Better Next STep support: + + - Some workarounds for broken unistd.h + + - -lkvm removed from Next Step config. + + - waitdefs.h fixed for very old BSD based systems (~ 1980) + like Next STep + + - strdup() moved into portability part of libschily + + - fixed typo in fctldefs.h R_RDONLY -> O_RDONLY + + - New file ttydefs.h includes portability phrases from ved and bsh. + + - Added an autoconf test for buggy termios.h in Next Step. + Next STep provides fully functional termios.h but tcgetattt(), ... + is missing in libc. + + - Test for clock_t changed to deal with a bug in Next STep. + Next Step illegally needs sys/time.h for clock_t + + +- Make recently introduced symlink install use relative symlinks instead + of absolute symlinks. + +- Change autoconf/statdefs.h to support nanosecond support for SCO + UnixWare and FreeBSD + +- Call conf/mkdep-sco.sh via sh to be independent from 'x' bit. + +- libschily/rename.c fixed for SCO Openserver fo avoid warning + for redefinition of MAXPATHNAME + +- libschily/usleep.c fixed to avoid SCO Openserver warning about + non matchin prototype in system include files + +- Better Portability for SCO UnixWare + + - New platforms i486, i586, Pentium III, Pentium Pro + + - Let strdefs.h also include strings.h for strcasecmp() + + - Support for missing struct sockaddr_storage + + - Support for broken wait3() (returns wrong timings) + + - Changed broken portability Prototype support in libfile + to use 'makefiles / prototype.h' based system + + - Changed fileopen() and filereopen() to avoid fdopen() + provlems (does not accept mode string that does not + match fd flags) + +- Catch the case where somebody tries to compile on Solaris with + /usr/ucb in PATH before /opt/SUNWspro/bin and when calling 'cc' + results in: + /usr/ucb/cc: language optional software package not installed + +- Trying to make the source get accepted by 'cstyle'. + +- Changes in the general topic 'Stack Scanning' and the software signal + system handlecond()/raisecond() that make the software signal system + now usable on all platforms. + +- Trying to support DOS with the DJGPP compilation environment + Thanks to Alex Kopylov for the first version + of the port and further helping. + + Note that in order to compile cdrtools on DOS/DJGPP you need smake-1.2a20 or newer. + GNU make does not seem to work for a DOS compilation. + +- New File README.msdos + +- New RULES for DOS/DJGPP + +- Make some vars in align_test.c static because Mac OS X creates unneeded + name space pollution. + +- DJGPP has no SIGBUS, use #ifdef in avoffset.c and align_test.c + +- Several changes with casting Null pointer constants to Null Pointers + if they are used as parameters in var arg lists (see below). + +- New gethostname() fallback emulation using uname(2). + +- Better rename(2) emulation for Platforms that don't have rename(). + +- niread()/niwrite()/nixread()/nixwrite() in libschily now resets errno + to the old value in case EINTR did occur. + +- README.msdos has been corrected according to a hint from Alex Kopylov + +- New macros to platform independently set up integers in little endian + format. This is needed to e.g. write PC disk labels from big endian + platforms. + +- Rules extended to support volume management libs + +- The install-sh script not takes care about UNIX variants like SCO UnixWare + and SCO OpenServer that allow to give away files via chown. + + If this works and /tmp has the sticky bit set, the root test was unable + to remove the test files later. For this reason, now a subdirectory + in /tmp is used. + + +- Support for the special .PHONY: target ---> needs smake-1.2a21 or newer + + This helps to deal with files like INSTALL operating systems + like Win32 and Mac OS that don't honor file name case and prevents + the file named INSTALL to get into trouble with 'make install' + + +- 'make install' now works on operating systems that require a '.exe' + suffix for executable binaries + +- Updated the file README.ATAPI + + Updated information for Linux, SCO-OpenServer, SCO-UnixWare, Win32 + and DOS + +- mconfig.h now supports make COPTX=-DNO_FORK & COPTX=-DNO_VFORK + +- snprintf() from libschily now correctly follows POSIX.1-2001 for maxlength == 0 + +- Workaround for a bug in the C-compiler from SCO-OpenServer. It + is not very probable that this causes problems with cdrecord. The + function getfp() did not return the correct Frame Pointer when called + as first function in another function as the compiler sdoes set up the + new stack frame after getfp() has been called. + +- New function filemopen(char *name, char *omode, mode_t mode) with additional + mode_t parameter. + +- update recent getargs() version from repository. This has been forgotten. + +- Add a workaround for a SCO OpenServer C-compiler bug. + The bug causes the first function in a function to be called + before the new stack frame has been established and did cause + scanning the stack frame to fail. + +- Make snprintf() POSIX compliant. + +- Many typos in the READMEs fixed, thanks to a hint from Stefano Allrath + +- New global method to handle PATH environment delimiters (":" on + POSIX systems and ";" on DOS). + +- New README.msdos reflecting new features of smake-1.2a23 on DOS/DJGPP + +- Some minor enhancements to the makefilesystem + +- Some minor changes for better compilation in SGI IRIX + +- Trying to start adding support for Win32/Mingw32 + +- New global #define NEED_O_BINARY to make using setmode() easier + +- New autoconf test for struct stat.st_fstype + +- New autoconf test for fnmatch() + +- New autoconf test for blksize_t/blkcnt_t + +- libscgily/stdio/io.h renamed to schilyio.h to avoid conflicts with + DOS. + +- Added a Note to README.linux: + + NOTE for all Linux 2.5.x versions and all Linux versions before 2.6.8: + + Linux did ship with defective kernel include files starting + with 2.5.x. These defective kernel include files did prevent + compilation. If you have problems compiling software and see + error messages related to include/scsi/scsi.h & include/scsi/sg.h + either upgrade to Linux-2.6.8 or newer or remove /usr/src/linux + +- Support added to the makefile system that allows compilation on + AMD x86_64 using non automake aware make programs like GNU make. + Note that smake ftp://ftp.berlios.de/pub/smake/alpha/ is able to compile + things even on unknown platforms as it includes auto make features. + + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +- Included a bug fix from the libparanoia Author. + Correctly allocate some arrays. Note: on 32 Bit machines, this patch does + not result in a different binary but the code is now really correct. + +- New indentation is better conforming to 'cstyle' + +- Fixed a bug in libparanoia that prevented the statistics to show up + the number of 'skips' (the number of exhausted read retries) when + SKIP verification has been turned off. + +- modified to avoid GCCs shadowed variable warnings. + +- Try to use page aligned transfer buffers if possible. + +- Avoid buffer size problems wit non page aligned transfers on FreeBSD. + +- Avoid freeing pointers that are not from malloc() by copying the data + to a second allocated chunk of free()able space. This has been a bug + introduced while trying to handle buffer size problems with non page aligned + transfers on FreeBSD. + + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + + +Libscg: + +- Reordered and restructured scsi-remote.c code to allow compilation on OS/2 + and hopefully other OS like BeOS + +- First attempt to support QNX. + Note that the sourcecode comes from QNX and it looks as if it + is buggy for commands that cause SCSI commands that result in + a Check Condition status. From looking at the source, the stack + gets overwritten in this case. + +- SCSI adaptation layer for SCO UnixWare rewritten to support + multiple opens and to better follow the libscg interface standard. + +- Second attempt to support QNX. + Make it compile + +- Check kernel level error return codes on SCO-UnixWare + +- Starting to support SCSI reset on SCO-UnixWare + +- Extensions to libscg related include files to support DVD+RW formatting + +- Make libscg work on SCO UnixWare if an application like cdrecord + has been installed suid root. + + Before, the called administration programs did not work if euid!=uid + +- Fixed a problem with possible garbage in the SCSI error string. + Thanks to Stefano Di Paola for reporting. + +- Fixed another printf buffer vulnerability in scsi-remote.c + +- New version of scsi-amigaos.c from Thomas Langer + +- Added a work around for a Solaris 9 x86 bug: + DKIOCINFO returns a max DMA size of 256 kB but only 68 kB will work. + Check max DMA size for a IDE disk to get a correct value.... + + For more information read the updated file README.solaris and the + new files README.solaris-x86-ata-DMA and README.solaris-x86-ATAPI-DMA + +- Changed scsi-os2.c to allow 'cdrecord -scanbus' to find targets with + target ids > 7. + +- Librscg now uses correct casting to a Null Pointer for execlp() as + NULL is a Null Pointer Constant but no Null Pointer. This could + make problems with some 64 bit architectures. + +- New driver scsi-dos.c acting as 16 bit DOS ASPI interface + Thanks to Alex Kopylov for the first version + of the driver. + + Check his Web Page: http://bootcd.narod.ru/index_e.htm + it contains precompiled DOS binaries. + +- The driver scsi-dos.c has already been verified with 'scgcheck'. + +- scsi-os2.c and scsi-wnt.c now correctly return 0 from scg_send() if + the target is not valid. + +- scsi-wnt.c does now support multiple SCSI opens. + +- scsi-wnt.c does now correctly return SCG_NO_ERROR in case a SCSI command + returned CHECK CONDITION. + +- scg__open() now prints a warning if it has not compiled with the results + from a certified autoconf environment. + +- Introduced a fix to avoid the need for a #define ident prod_ident + for SCSI Inquiry data. This #define did cause problems with the + latest Sun Studio 8, C compilers + +- First attempt to support running cdrecord while the volume management is + active. + +- Increased version number to 0.8 + +- First attempt to work around the problems for suid programs introduced by + Sun with Solaris 9. Programs that like to issue a USCSI ioctl() need to be + root or get EPERM. Cdrecord did does up root privilleges eraly to avoid + security problems. + + libscg now selectively runs the USCSI ioctl() as root if the program is installed + suid root. + +- Fixed a bug in scsi-mac-iokit.c in scgo_havebus() that caused pxupgrade not + to work on MacOS X. + +- First attempt to support the SPTI Ioctl interface on Windows NT. + see also http://www.ste-home.de/cdrtools-spti/ + Thanks to Richard Stemmer, Jay A. Key and thomas podkanski + + This allows to use cdrtools on NT without the need to install ASPI in case + you are administrator when yu run a program. + + Please note that the use of SPTI is default. If you like to force using + ASPI, use dev=ASPI:b,t,l or dev=ASPI (in the -scanbus case). + If you like to force STPI, use dev=SPTI:b,t,l or dev=SPTI. + + Currently, the interface does not yet fully matches the scg interface standard. + +- Try to support the half hearted and badly designed /dev/hd* interface + from Linux-2.6 in a more usable way. + + The only reason for adding this kind of support is that the Linux kernel + hackers reject to fix the known DMA bugs in the already existing SCSI + transport interfaces in the Linux kernel. Using /dev/hd* is unfortunately + the only way to get DMA with sector size being 2352, 2448 or similar. + + Use cdrecord -scanbus dev=ATA and + cdrecord dev=ATA:1,0,0 + + Note: The Bus mapping function inside the kernel for this interface is + a dummy. For this reason, we need to do the mapping ourselves. + Busnumber is ("/dev/hd*"[7] - 'a') / 2 + Target is ("/dev/hd*"[7] - 'a') % 2 + + Also note that creating this interface in the Linux kernel was a waste of + time. It did need a lot of effort to be created. Instead of first adding + a new interface with a new broken DMA implementation and later fixing + the DMA bugs, it would have been better to just fix the DMA bugs + in ide-scsi.c + + Adding SCSI transport to something like /dev/hd* on an OS that includes + a generic SCSI transport driver is disregarding SCSI protocol layering. + A clean way to implement ATAPI on Linux would be to rather introduce a + SCSI hostadaptor driver that sends the SCSI commands via the + ATA hardware. + + Linux users should think about buying a CD writer for Linus Torvalds. + Maybe this could help to get better SCSI support in the Linux. Currently + Linus doesn't know anything about the CD-writing problems on Linux and + his contributions to CD-writing related issues in discussions are just + guesses that are not related to own experiences and understanding for + the matter :-( + + It seems that the Linux way of dealing with bugs is to implement a new + incompatible interface instead of fixing the known bugs from + old interfaces :-( + +- Allow cdrecord -scanbus dev=ASPI and cdrecord -scanbus dev=SPTI to work + on win32. + +- Correct a bug in the Win32 version analyze function that is needed to + use the correct SPTI interface. Unfortunately, the interface did + change with a NT-4.0 service pack. It is unclear whether the currently + used interface type is correct for all possible NT-4.0 variants. + +- For Win32, default to STPI only if on NT-5.x as there is a bug in some + UDMA implementations that causes blue screens. + +- The Mac OS X SCSI low level transport now roughly meets the interface standard. + For this reason, the file scsi-mac-iokit.c now is marked with Author "schily" + +- Indented according to the cstyle standard. + +- For win32, dev=ASPI:1,0 and dev=SPTI:1,0 work again + +- Trying to add a workaround for the Linux problem with USB where the + kernel issues a request sense even when there was only a DMA underrun + and the drive replies as expected with no-sense. Our problem in this + case is that we needed to ad another workaround because sometimes + Linux clears the status byte and we did assume a CHECK CONDITION in case + sense[0] was != 0. + +- Enhanced max # of SCSI busses to 256 for the Linux sg driver. + This was needed because of the (compared to Solaris) suboptimal + way of dealing with instance numbers on Linuux. + + While Solaris keeps a data base with instance numbers, disconnecting and + reconnecting a USB drive results in the USB device getting the same + SCSI address as before. + + As Linux does not have such a data base, disconnecting/reconnecting + a USB device has the unfortunate side effect of assigning a new and + different SCSI address with every USB connect. This also creates problems + when software likes to manage access rights to devices for non-root + users. + +- Win32 SPTI interface now also supports controllers with more than one + SCSI Bus. Thanks to Richard Stemmer + +- Fixed a bug in the Win32 SPTI/ASPI interface introduced with 2.01a28 + that caused core dumps because it did try to access data behind the end of the + sense data array in the ASPI cmd structure. + +- Scan /dev/hda../dev/hdz instead of /dev/hda../dev/hdt for dev=ATAPI on Linux. + +- Trying to write a better warning message for the dev=ATAPI: interface + on Linux (the related kernel interface is unmaintained and does + not support DMA at all). + +- Fixed a bug in Win-NT Version string handling in scsi-wnt.c + Thanks to Alex Kopylov + This caused that libscg did not properly recognize NT-4.x with service pack 4 + to be equivalent to NT-5.0 (Win2k). + +- Trying to avoid using the WinNT-SPTI interface for NT-4.0 + +- Fixed a security bug in scsi-remote.c (the RSCSI client). + + +Rscsi: + +- Support for IPv6 + +- Workaround for missing struct sockaddr_storage on SCO UnixWare + +- Security update. Forbid to write arbitrary debug files, only allow + a debug file name that has been configured in /etc/default/rscsi. + Writing arbitrary files with a siud root program could be used to become + root on a local machine if you are already logged into that local machine. + +- README.rscsi typo's corrected. + + +Cdrecord: + +- Use correct set_mode_params() return value in deflt_writemodes_mmc() + +- Correct a debug printing to go to stderr instead of stdout. + +- Workaround for broken Firmware for LG (Lucky Goldstar) drives. + These drives have been unable to write Audio in TAO mode because + they have an illegal audio pause length default. + + Thanks to a hint from: Mark Vytlacil + +- Man page now correctly describes the data formats used with -xa1 & -xa2 + +- Use Prototypes for functions with enum parameter in fifo.c to avoid + warnings on SCO UnixWare + +- Trying to catch SIGHUP to avoid hung recorders after people + close X windows by accident (This in most cases happens because + some newer GUIs try try copy bad ideas from Microsoft like the 'x' + button on the top bar in the window. + +- Trying to print hints if the SCSI error core looks like a buffer + underrun occurred. + +- First (still mostly empty) driver for the Matsushita CW-7501 + +- First TAO writing support for the Matsushita CW-7501 + +- New option -setdropts to allow cdrecord to set driver specific + parameters and exit. + +- Added support to disable/enable the Plextor PowerRec feature. + Use driveropts=forcespeed + Be very careful as this will cause in badly readable disks. + The only senseful reason to use this feature is to run tests in + -dummy mode to check whether the system would be able to record + fast enough and to later buy High-Speed Media. + Note that documentation for the related SCSI command is not + oficially available and thus the information has been "guessed". + +- Added support to enable/disable the Plextor SpeedRead feature. + Use driveropts=speedread + to allow the drive to read CDs faster than 40x. + Be very careful as this may cause the media to break in the drive + while reading, resulting in a destroyed media and drive! + Note that documentation for the related SCSI command is not + oficially available and thus the information has been "guessed". + +- Added support to enable/disable the Plextor SingleSession feature. + Use driveropts=singlesession + This allows to read defective (illegal) media with extremely + non-standard additional TOC entries. You need to enable Single Session + mode before you insert the defective disk! + Note that documentation for the related SCSI command is not + oficially available and thus the information has been "guessed". + +- Added support to enable/disable the Plextor Hide CD-R feature. + Use driveropts=hidecdr + This allows to make CD-Rs look like CD-ROMs and applications believe + that the media in the drive is not a CD-R. + Note that documentation for the related SCSI command is not + oficially available and thus the information has been "guessed". + +- Added reading out "real" Burn-Proof counter for Plextor drives. + Note that documentation for the related SCSI command is not + oficially available and thus the information has been "guessed". + +- Try to do a more correct job when doing Buffer Underrun estimation + counts. + +- Make the explicit Buffer underrun error checking work for + Plextor drives too. + +- Fixed the command line parser for driveropts= parameters. + Before the fix, driveropts=noburnfree,hidecdr would result + in assuming: driveropts=noburnfree,nohidecdr + +- Now also supporting SAO/DAO write mode for the CW-7501 + +- New option -lock (similar to -load) that loads the media but leaves + the drive in locked status. + +- New driver interface to allow SAO recording for the CW-7501 + Simplified: "dummy" and "multi" Parameter information has been + moved into the track structure. + +- Removed the internal implication that -packet is a TAO write mode. + Please test! It may be that this did introduce bugs. + +- Try to avoid ANSI C arithmetic conformance change warnings from + SCO C-compiler by introducing proper casting. + +- Driver interface restructured to support aborting SAO recording + with the Sony CDU-948 + +- "Driver flags" printing corrected + +- Better behavior with CADDY drives and -load option + +- Fixed a bug that caused cdrecord not to abort if Tracks with unknown + length are present in RAW write mode. + +- Print extended Power Rec Speed information for Plextor drives. + +- CUE Sheet handling generalized to allow to implement SAO writing + for more drives. + +- Start supporting the Sony CDU-948 in SAO mode. Currently not yet working: + + - Multi-session + + - MCN/ISRC + +- Grace time handling restructured. The grate time waiting is now done + even before the forced blanking and it is made sure that the waiting + is done only once. + +- Several changes in the open source part are visible as a result of the + new DVD+RW / DVD+R support. + +- cdrecord-ProDVD now includes first DVD+RW and DVD+R support. + Check ftp://ftp.berlios.de/pub/cdrecord/ProDVD/ + on Thursday 24.4.2002 for the first binaries + +- Do not try to lower the possible number of open files in raise_fdlim() + anymore. + +- Check return code of driver's init function. + +- Better error messages from main write loop. + +- Write a hint that a user may have used a "preformatted" CD-RW if + read_next_writable_address fails for the "invisible" track + and tell him to run cdrecord blank=.... + +- Fixed a bug that caused cdrecord to prevent a 3rd session on a + multi session disk. This bug was introduced with the driver + restructuring a few releases before. + +- Better driver text strings for the driver IDs in the CD MMC drivers. + +- Move Plextor PowerRec speed info completely to the statistics _past_ + the recording activities. + +- Allow more nonstandard Cue sheets to be accepted by the Sony CDU-924 + and CDU-948. + +- Implement MMC-3 DVD+ Drive/Media recognition to avoid that cdrecord starts + to treat a DVD+ as a CD-R because the DVD+ drive identifies as CD-R/RW + DVD-ROM + with "no DVD media installed" from a MMC-2 viewpoint. + +- Added a note to the cdrecord man page how to use mkisofs + to allow cdrecord to knoe about track sizes in SAO or RAW mode. + +- Fixed a multi session bug that has been introduced with the DVD+R/RW + restructuring with cdrecord-2.01a11. This bug caused cdrecord to be unable + to start a track from a sector number != 0 in TAO mode. + +- Fixed a problem with cdrecord -msinfo introduced with the the DVD+R/RW + restructuring with cdrecord-2.01a11. The unwanted verbose printing has been + removed with this version. + +- New option -xa to create CD-ROM XA mode 2 form 1 sectors with 2048 bytes + of user data + +- New option -xamix to create mixed CD-ROM XA mode 2 form 1/2 sectors + with 2332 bytes of user supplied data. + +- Restructured sector types to make them usable: + + -mode2 CD-ROM data mode 2 - 2336 bytes + -xa CD-ROM XA mode 2 form 1 - 2048 bytes + -xa1 CD-ROM XA mode 2 form 1 - 2056 bytes + -xa2 CD-ROM XA mode 2 form 2 - 2324 bytes + -xamix CD-ROM XA mode 2 form 1/2 - 2332 bytes + + To write conforming CD-ROM XA multisession disks use cdrecord -multi -xa1 + together with mkisofs -XA -sectype xa1 + +- -cdi is now implemented how it should be: as a flat to change + the TOC type of a CD and not as a sector mode. + +- Track parsing completely restructured to allow new features. + One of the features is to write audio CDs from a pipe, + other features will follow. + +- Cdrecord now resets euid to the uid of the caller (if called suid root) + before it opens data files. + +- Fixed a bug that caused cdrecord to insert two grace wait periods + if a disk was blanked and rewritten in one call. + +- Allow cdrecord to copy audio CDs from a pipe from cdda2wav + without using an intermediate file on disk. + + To copy an audio CD from a pipe (without intermediate + files), first run + + cdda2wav dev=1,0 -vall cddb=0 -info-only + + and then run + + cdda2wav dev=1,0 -no-infofile -B -Oraw - | \ + cdrecord dev=2,0 -v -dao -audio -useinfo -text *.inf + + This will get all information (including track size info) + from the *.inf files and then read the audio data from + stdin. + + If you like to write from stdin, make sure that cdrecord + is called with a large enough fifo size (e.g. fs=128m), + reduce the write speed to a value below the read speed of + the source drive (e.g. speed=12), and switch the burn- + free option for the recording drive on by adding + driveropts=burnfree. + +- New option -abort allows you to send a write abort sequence to a drive. + This may help if other software did leave the drive in an unusable + condition. + +- New 'xio' module allows to open a file virtually more than once to + support CDRWIN CUE sheets in cdrecord. + +- Run Plextor Speedinfo SCSI command in silent mode as old Plextor drives + do not support this command. + +- Workaround for a Plextor (Premium only???) firmware bug that may result + in a B0 pointer A5:A5:A5 instead of FF:FF:FF. + + This made it impossible to blank a freshly written CD-RW witout reloading + the media. Now cdrecord does not check the disk size anymore if the number + of tracks to be written is 0. + +- First CDRWIN CUE sheet support. + + Cdrecord currently supports what is in the CUE sheet description in + the CDRWIN documentation (with a few exceptions). Note that the + examples in the rest of the CDRWIN man page are mostly illegal + if you compare them against the CDRWIN CUE sheet syntax documentation. + + These exceptions are currently in effect: + + - Only one FILE Line per CUE sheet file (This is compliant to the + CUE shet format documentation although the examples show CUE + files with more than one FILE line). NOTE that the CUE syntax has + been ill defined so that it would not make sense to e.g. use + more than one FILE line for audio CDs. + + - The AIFF File type is not implemented (because I have no documentation + for this audio file format). + + - The MP3 File type is not yet implemented. + + - The CDG data type keyword will not yet work + + - The CDI data type keyword will not yet work + + - Only a sector size of 2048 will work with MODE1 + + - Sectors with sector size 2336 will not yet work + + - POSTGAP will not yet work. + + Note that the CDRWIN CUE documentation is bad and it is unclear how + formless (non XA) MODE 2 sectors should be made. + + CDI is not a sector/track property but a disk property. + + The File type BINARY vs. MOTOROLA is unclear. + + To use the cue sheet feature call: + + cdrecord dev=.... -v -dao cuefile=xx.cue + + The main reason for implementing CUE sheet support was to allow to + write VCD/SVCD with cdrecord. It has currently tested with the + test SVCD from ftp://ftp.vcdimager.org/pub/vcdimager/examples/test_svcd/ + + Cdrecord should allow to write audio type CUE sheet based CDs also. + + +- Modified the notes close to the Copyright printing code in cdrecord.c + to make clear that this note is not a deviation from the GPL but just + a memorandum on how to understand the GPL. + +- Fixed a bug in file descriptor handling that caused cdrecord not + to continue at offset xxx in the file after a new track did start. + +- Added a forgotten feature in the CUE Sheet parser so it will now know that + WAVE files use swapped (intel) byte order. + +- Restructured the main program of cdrecord so that cdrecord overall + behaves similar to before when cue sheets are used. + e.g. cdrecord -eject cuefile=xxx did only eject the disk instead of + first writing and then ejecting. + +- Added some hints to the man page to make speed= handling clearer + +- Fixed some typos in the man page + +- Added the -format option to the man page + +- CD-Text handling reworked: + + CD-Text from textfile= or from CUE CDTEXTFILE wins over CD-Text + from *.inf files and over CUE SONGRITER. + +- CD-Text from CUE file (either CDTEXTFILE or SONGRITER) now needs + -text in addition in order to be not ignored. + +- Fixed a bug in the recognition for cdda2wav | cdrecord *.inf + that caused a message + WARNING: Stdin is connected to a terminal. + if not writing from a pipe. + +- Small fix in auinfo.c to again allow compilation on K&R systems + +- Typo fixes for the cdrecord man page + +- The clone write code is now part of the GPL'd source + Note that this part of the code is now more than 2 years old but previously + has been excluded from the publically visible part of the source. + + To understand how to use the clone mode read README.clone + +- New option ts= to set the SCSI transfer buffer size + +- Man page corrected to correctly mention current format for /etc/default/cdrecord + +- call setmode(fileno, O_BINARY) for DOS/DJGPP also + +- Better check if we use the FIFO to avoid core dumps with too small FIFO sizes. + +- Switch off FIFO of fifo size is < 2 * SCSI transferbuffer + +- Fixed a small bug in the man page (..sp instead of .sp). Thanks to Eric Raymond + for reporting! + +- Work around for a problem in the Plextor 708 firmware (at least 1.01..1.02) + that caused cdrecord to be unable to recognize that a DVD medium is present instead + of a CD medium. + +- Changed the GPL clarifications text in a way so Debian people still + agree with me that cdrecord is free software. The clarifications are + needed in order to tell people/companies (like Mr. Rosenkranzer, + RedHat & SuSE) who create broken branches from cdrecord that they are + not legally publishing their branches because they violate the + GPL § 2 Paragraph c) and GPL Preamble Section 6). + + If would be better if the named persons/companies would rather stay + in contact to the Authors, discuss things and contribute to the + community instead of creating useless/broken changes and in case + of SuSE Linux even creating hacks that introduce security risks. + + Note that now, RedHat Linux (enterprise server) or the SuSE Linux + are even more expensive than e.g. Solaris x86, see: + + http://www.osnews.com/story.php?news_id=5416&page=5 + Small Correction to this web page: Solaris x86 is free again for + personal use. + +- Extended the man page to make it more clear that all CD/DVD-writers + ever made use only SCSI commands. + +- Another change to the man page according to a hint from + Eric Raimond in order to get better compliance for troff -> "*ml" + converters. + +- Allow people who cannot provide an e-mail address or who + don't like to support their modifications to modify cdrecord + +- Some CUE sheet modifications in drv_mmc.c now made it into + the official SCCS history file. + +- Several fixes to avoid the need for a #define ident prod_ident + for SCSI Inquiry data. This #define did cause problems with the + latest Sun Studio 8, C compilers + +- Hack to work around a POSIX real time priotity design bug that + causes us to become root again on e.g. Linux in order to be able + to lower the priority of the FIFO background process. + +- Better documentation and EXAMPLE for -setdropts driveropts= + in the man page. + +- print a help message to direct the user to use -raw96r in case + the drive does not accept the cue sheet with -dao. + +- Mark all drives that cannot be accessed because the volume management is + running and no media is in the drive with '?' instead of '*', so they + may be distinct from non existing drives. + + Read README.volmgt for more information + +- Now works again suid root on Solaris 9 + +- Fixed a bug introduced in 2.01alpha by a source consolidation. + cdrecord -toc did not work anymore for CD-ROM readers + +- Updated README.audio + +- Make the CUE Sheet handling search for a file name from a FILE statement + also in the directory where the CUE sheet is found (in case there is no + slash (/) in the file name from 'FILE'). + +- Avoid coredumps when cdrecord is called with -xd and there is no known + driver for the current drive. + +- New option -tao is now needed if you like to write in TAO mode. + Cdrecord now does no longer writes if no write mode has been specified. + +- New option -sao as alias for -dao. As the official name for the write mode + is SAO, -sao is more correct than -dao. + +- Fixes for minor typos in cdrecord.1 + +- Fixed a bug with pad=xxx and pad sizes > 2 GB. + +- Trying to fix a bug introduced lately with the check for specified + write mode options. As a result, only TAO mode writing did work. + +- Better man page & online help for the ts= option. + +- Fixed a typo in the man page. + +- Better error messages when audio size is < 300 Sectors or needs padding. + Thanks to a hint from Stefano Allrath + +- cdrecord -scanbus now checks for 256 SCSI busses + +- cdrecord -scanbus now checks for 256 SCSI busses + This has already been announced for 2.01a28 but forgotten to include + +- Some Man Page Fixes trying to avoid coding problems for non 7-bit ACSII + +- Several typos in the man page fixed + +- Man page enhanced to include a better documentation for the driver= + option. + +- Several other enhancements to the man page + +- modified to avoid GCCs shadowed variable warnings. + +- Cdrecord now tolerates the OPC "error code" "Power calibration area almost full" + to not a real error. + +- Fix for a bug that caused cdrecord to be unable + to reload the media for some drives. + The fix helps with the following problem: + + Trying to clear drive status. + cdrecord: Drive needs to reload the media to return to proper status. + cdrecord: Cannot load media with this drive! + cdrecord: Try to load media by hand. + cdrecord: Cannot load media. + +- man page enhanced + +- Print the "Make sure you are root" only if root privilleges are missing. + +- Avoid warning for not working nice() on DOS + Thanks to Alex Kopylov + +- -clone option documented in the man page. This has been forgotten before. + +- Several typos in the man page fixed + +- Do not try to call nice() on DOS/DJGPP + +- cdrecord now tries to check the DMA speed if the drive supports to read the + drive buffer. If the DMA speed is not sufficient, then cdrecord requires + that burnfree is activated. If the environment variable "CDR_FORCESPEED" + is set or -force has been specified, then cdrecord does not try to enforce + that the available DMA speed is 2x the expected write speed. + +- Make some symbols static to avoid problem with a badly designed libc on + OpenBSD that violates POSIX by pulluting the namespace with symbols + like 'pl'. + + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +- fixed typo in cdda2ogg.1 + +- Do not use uname() but gethostname() for portability. + +- include unistd.h for abs() + +- old Toshiba's usable again + +- Multisession Non-CD-Extra disks now work again + Now also a lot more broken disks are readable again. + +- not using ioctl in signalhandler any more + +- trying to support sound on Win32 + +- Several changes (mostly OS/2 related) for more ask Heiko + +- bugfix add cdda2ogg manpage,and script and makefile install target + +- support BeOS shared memory and FIFO + +- support soundcard output under QNX + +- windows-users! Cygwin has fixed the bug introduced with 1.3.18. Please + upgrade to the new 1.5.3-1 release. + +- call setmode(fileno, O_BINARY) for DOS/DJGPP also + +- Now using the major() macro for some Linux duties. + + WARNING to creators of Linux distributions: + + It has _always_ been wrong to compile software only once for different + kernel versions (e.g. for compile Linux-2.4 and later install a + 2.2 kernel on the so created system). + + Now that Linux-2.6 introduces incompatible changes to kernel/user + interfaces, the resulting binaries will not work correctly anymore. + +- Made CD-Text handling reentrant to overcome a problem triggered by XCDRoast + +- Now works again suid root on Solaris 9 + +- Fix for a Bug that prevents paranoia statistics from being printed + because the paranoia statistics for the forked version has not been + inside the shared memory. + +- New paranoia sub option paraopts=overlap=xx + + This is mainly a bug fix for cdda2wav. Cdda2wav previously _always_ did + completely deactivate the dynamic overlapping from libparanoia. Instead, + it did set the overlapping to the statical value 0. + + If you omit paraopts=overlap=xx, cdda2wav will now use dynamic overlapping + with -paranoia. + + If you like the old behavior, use: paraopts=overlap=0 + +- New paranoia sub option paraopts=minoverlap=xx + This sets the minimum dynamic overlap + +- New paranoia sub option paraopts=maxoverlap=xx + This sets the maximum dynamic overlap + +- Better paranoia statistics output + +- Fixed a Problem with some Linux sound card drivers that caused cdda2wav to be + unable to output to the soundcard. + +- cdda2wav now checks /etc/default/cdrecord and accepts dev=plextor as + cdrecord does. + +- Trying to add verbose output that estimates the read quality with -paranoia + +- Trying to convert non-ascii characters in user & host names into '_' + for better cddb compatibility. + +- Some Man Page Fixes trying to avoid coding problems for non 7-bit ACSII + +- New option -scanbus + +- Removed some "historical junk" that caused cdda2wav to define a + compile time default input device. This conflicts with cdda2wav -scanbus + and is superfluous and contra productive since cdda2wav reads + /etc/default/cdrecord + +- cdda2wav has signed bitfields of size 1 :-( + +- Fixed a typo in cdda2ogg.1 + +- Bug fix from Heiko for index lists that contain offset values of -1 in the middle + +- Trying to handle interface setup more carefully if SCSI Generic is not + used. + +- Better Debug Code in setuid.c + +- Trying to fix a bug in UID handling on FreeBSD + Thanks to the bugs reports and help from Fabian Keil + +- Try to workaround a bug in GCC that caused incorrect warnings + for "strict-aliasing rules" + + +Readcd: + +- First (hacky) implementation of a way to meter the read speed + as a function of the disk location modeled after a idea from + Markus Plail + + Call: + readcd dev=b,t,l meshpoints=1000 > outfile + then + gnuplot + gnuplot> plot "outfile" w l + + or + + gnuplot> replot "outfile" w l + + if you like to overlay graphs. + +- New option fs=# (same syntax as with cdrecord fs=#) to allow the + user to set the maximum transfer size even in non-interactive mode. + This may help is the OS (as it has been the case for Solaris 9 x86) + reports a wrong maximum DMA size or there is a bug in libscg. + +- Speed printing with meshpoints=# now is based on 1000 bytes == 1 kb + as documented in the SCSI standard. + +- Stop reading if the OS replies with a DMA residual count != 0 + +- New option -factor will cause the read speed values to be printed + be based on the single speed of the current medium. This is only + possible if readcd is able to find out the current medium type. + +- The clone read code is now part of the GPL'd source + Note that this part of the code is now more than 2 years old but previously + has been excluded from the publically visible part of the source. + + Clone writing has been designed to allow to copy complex structured media + like e.g. SVCDs without the need to first do a sector by sector analysis + on the source media. + + To understand how to use the clone mode read README.clone + +- New option ts= to set the SCSI transfer buffer size + +- call setmode(fileno, O_BINARY) for DOS/DJGPP also + +- Now works again suid root on Solaris 9 + +- Better man page & online help for the ts= option. + +- New option -scanbus + +- Fixed a bug with -scanbus (did not work correctly if /etc/default/cdrecord + exists). + +- Added an allocated list of defective sectors, that is printed to the end of + a read operation. + + +Scgcheck: + +- Trying to check if multiple scg_open() requests result in + usable interfaces. + +- Send more outout to stdout instead of stderr. + +- More correct test for max sense count. + +- Eject CD _after_ asking for it. + +- Abor further DMA residual tests if a basic DMA residual test fails. + +- Second open test enhanced. + +- A small fix to prevent a core dump caused by a problem on Mac OS X. + + +Scgskeleton: + +- New Skeleton program as sample and template for programs that like to + use libscg. + + This template has been included to help people like the Author of the + BTC firmware flash program to write simple portable applications that + send arbitrary SCSI commands to arbitrary drives. + + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +- First attempt to support ISO-9660:1999 (Version 2) via -iso-level 4 + This allows 207 chars in filenames if Rock Ridge is not used + ans 197 207 chars in filenames if Rock Ridge is used. + + Note that this as an absolutely nontrivial change. Problems may + even occur when not using -iso-level 4. Please test and report + problems. + + It is not clear whether mkisofs should characters in the range + outside 7-Bit ASCII. Currently, mkisofs allows any 7-Bit ASCII + character except '\0' and '/'. + +- Second attempt to support ISO-9660:1999 (Version 2) via -iso-level 4 + This allows 207 chars in filenames if Rock Ridge is not used + and 197 207 chars in filenames if Rock Ridge is used. + + In version 2.01a01 the extended VD used the wrong signature 1. + This has been corrected. + +- isoinfo is now able to recognize ISO-9660:1999 + +- Enhanced the filename length for graft points to 2x PATH_MAX + +- Abort with a warning message if the total size of the image data + created by mkisofs would differ from the size printed by -print-size + +- udf.c indented according to hints from the program 'cstyle' + +- UDF now uses the same 'now' timestamp as the ISO-9660 part of the FS. + +- New Stream File feature and new options: + + -stream-file-name + -stream-media-size + + This feature has been implemented after an idea from M.H. Voase. + Mkisofs had to be heavily modified to allow this feature. + + A typical usage would look like this: + + star -c . | mkisofs -stream-media-size 333000 | cdrecord dev=b,t,l -dao tsize=333000s - + + The maximum size of the tar archive is 332800 sectors. + Note that only plain vanilla ISO-9660 is possible in this mode. + + +- The final padding that is added by default is now 150 sectors + which is the required size of the track post gap on a CD. + +- Inter partition padding is now only chosen to make the next partition + start on a sector number that is a multiple of 16. + +- isoinfo now also prints root directory extent # in debug mode + +- First step to allow mkisofs to support Kodak Photo CD and + Kodak Picture CD format: + + Try to correctly support associated files in multi-session mode. + + +- Diagnostic programs modified to use ttydefs.h and to have better + portability for the built in "stty" features. + +- isoinfo now prints the ISO-9660 directory flags. + +- Make mkhybrid a symlink to mkisofs instead of a hardlink + + +- getopt.h/fnmatch.h changed to use 'makefiles / prototype.h' based + system instead FSD junk system + +- Removed FSF junk from getopt.c that either created problems + with SCO Unixware or did not compile on AIX + +- Prototype for DVDOpenFile() to avoid warning on SCO UnixWare + related to enum function parameter + +- Fixed a bug with split symbolic links found by Klaus Kopper + with the new debug messages introduced with mkisofs-2.01a04 + +- Changed #if __STDC__ to #ifdef PROTOTYPES for better portability + +- Now using character code translation for 8 Bit characters that + are used with -iso-level 4 (ISO-9660-1999). + +- Fixed a typo in the on-line Usage information for isoinfo + +- New options -XA & -xa + + -XA Generate XA iso-directory attributes with original owner + and mode information. + + -xa Generate XA iso-directory attributes with rationalized owner + and mode information (user/group == 0). + + In the first phase of the implementation you need to specify -R in + addition. + +- Try to support files >= 2 GB. + Note that mkisofs is not yet written cleanly so there may be problems + if files >= are used. In such a case, please report. + +- Create XA "CD-XA001" signature in PVD with -XA or -xa + + In the first phase of the implementation you need to specify -R in + addition to -XA or -xa or no XA signatures will be written. + +- Removed a debug statement that has been introduced to implement + support for filees >= 2GB. + +- This version of mkisofs allows to create sectors with 2056 bytes if the + option -XA or -xa has been used together with -sectype xa1. + This is 2048 bytes + sub-header. + +- -apple does no longer include -R or -r. + If you like to use -apple, you need to use -R/-r or -XA/-xa in addition. + +- New option -sectype SECTYPE / -s SECTYPE + + Possible parameters are: + + data 2048 bytes per sector - the old and current default + + xa1 2056 bytes per sector - this is what you need for a conforming + CD-ROM XA multi session CD. Use -sectype xa1 together with -XA + +- Fixed a bug in the Rock Ridge symlink handling with Continuation records + triggered by '/../' filename components. + Thanks to jmmikkel@bbn.com (Joanne M Mikkelson) + for the fix. + +- man page corrected + +- Moved Eltorito PVD before ISO-9660:1999 enhanced PCD to allow + bootable CD with ISO-9660:1999 + +- -sort file handling fixed: mkisofs now looks for SPACE/TAB whatever + comes last (as documented in the man page). + +- Better error message in case of a stat(2) buffer overflow (too long + filename). This release now prints the file name that caused the problem. + +- call setmode(fileno, O_BINARY) for DOS/DJGPP also + +- Added a NOTE regarding the SILO boot program for Linux sparc to the + man page. + +- Added support for Solaris x86 boot CDs. + This includes the following new options: + + - -sunx86-boot to create a fdisk & SVr4 partition table + + - -sunx86-label to set the "disk label" name for the + SVr4 partition table. + +- New file README.sunx86boot + +- The file README.sunx86boot has been reworked to make it more correct + and contain less typos. + +- Fixed a Rock-Ridge length handling bug in update_nlink()/increment_nlink() (tree.c) + that may have caused an endless loop. + +- "Total extents including sparc boot" Message is now correctly + "Total extents including %s boot" sparc/sunx86 + +- mkisofs now checks /etc/default/cdrecord and allows e.g. + "mkisofs -C 0,1234 dev=plextor ...." as cdrecord does + +- Unclean message ....extents written (%d Mb) changed to + ....extents written (%d MB) to avoid "MegaBit" confusion. + +- Minor change for old UNIX versions like SCO OpenServer to get + smooth compilation on system where mode_t is a short. + +- Fix for a bug in RockRidge name handling for long file names + that need to be split into more than one sector. + Thanks to Patrick Ohly + +- Trying to fix a bug in the multi session time stamp comparing + functions. CE records have not been handled correctly here. + +- Support for PowerPC CHRP Boot added, thanks to + "Leigh Brown" + +- Support for -uid/-gid for UDF Filesystems added + +- isoinfo now is able to list ElTorito Boot information with -d + +- isoinfo now correctly shows long RR filenames from CE Extension records. + +- Fixed a bug in the PowerPC CHRP Boot, thanks to + "Leigh Brown" + +- New options -root & -old-root from Patrick Ohly + This allows mkisofs to be used for "incremental backups" where + each backup is put into a separate directory tree on the CD. + +- Default to System ID "UNIX" for unknown platforms instead of + uning LINUX. + +- Support System ID "SCO-OPENSERVER" and "SCO-UNIXWARE" + +- Better error message when a user tries to create a multi session image + out of a multi-volume image. + +- When doing malloc(), include Null Byte at end of TRANS_TBL data to + avoid memory size conflicts. + +- Fix for a core dump caused by a double free() when doing: + echo bar >/tmp/bar + echo foo/bar=/tmp/bar > /tmp/pathlist + env LD_PRELOAD=libumem.so.1 UMEM_DEBUG=default UMEM_LOGGING=transaction \ + mkisofs -hfs -graft-points -o /tmp/foo.raw -path-list=/tmp/pathlist + + Thanks to Jürgen Keil jk@tools.de + +- Fixed a typo in write.c "Padbock" -> "Padblock" + Thanks to Richard Dawe + +- Trying to fix a problem with comparing relaxed ISO-9660 file names + that contain a ';' which normally is a separator for the ISO-9660 + version number. The fix is in hash.c, please test! + +- Avoid GCCs shadowed variable warnings. + +- Added a comment is in hope to prevent silly people from + e.g. SuSE (who did not yet learn C but believe that + they need to patch other peoples code) from changing a + valid cast into an illegal lhs cast expression. + The cast in the unodified version of write.c is the correct way to + handle the problem. + + It would save a lot of time if people from companies like SuSE + would remember the Open Source software development model and + contact the Author for help rather than introducing proprietary + changes that result in worse and incompatible software variants. + + The way, companies like SuSE deal with Open Source software just + proves that Jonathan Schwartz from Sun is not wrong when he calls + SuSE and RedHat proprietary software companies. Users from Open Source + software expect that companies like SuSE and RedHat are in close + contact with the software developers but they unfortunately are not. + They prefer to create proprietary variants that are usually much + worse than the original software. The only explanation I have for this + behaviour is that SuSE likes to deviate from RedHat and RedHat likes + to deviate from SuSE in hope to get customer retention this way. + While the last 150 years did prove that this proprietary method to + tie up customers works for a limited time, it did always fail after + some time. + +- Removed verbose output for Eltorito boot method when called with -quiet + +- The Eltorito boot catalog and the Eltorito boot files are now by default + sorted to the beginning of the filesystem image as sime BIOS versions don't + boot from locations beyond 512 MB. + +- All programs from mkisofs/diag now support libscg so you may now + use e.g. isoinfo to list end extract from CDs directly on platforms + that do not support a usual driver interface (like on Win32). + +- Set default SYSID to "DOS" for DJGPP + Thanks to Alex Kopylov + +- devdump isodebug isodump isoinfo isovfy + now include libscg and allow to use SCSI devices as input + +- devdump isodebug isodump isoinfo isovfy + now implement a new option dev= to force to use the SCSI + interface from libscg. + +- isoinfo now correctly sets the filemode of stdout to O_BINARY + on DOS alike Platforms like Win32 & DJGPP + This affects the '-x pathname' option + Thanks to Alex Kopylov + +- The options -H/-L/-P from mkisofs have been marked "outdated" + as they are reserved by POSIX.1-2001 for other purposes. + + Mkisofs-2.02 will start to implement the POSIX.1-2001 semantics for + these options. + +- The max. length for the strings in the Primary volume descriptor + is now also documented in the options section of the man page. + +- Speed up by 30% in the case that a directory contains many (> 5000) + pathological file name entries (that _all_ do not differ in 8.3). + +- A minor speed up in devdump & isodump was made by no longer calling + strlen() in the end condition of a for loop (this still was old + code from Eric). + +- fixed a bug with -dvd-video + The bug caused mkisofs not to find the IFO file when VIDEO_TS was not + the first entry in the unsorted source directory. + Thanks to a hint from Johan Borg borg@morth.org + +- The option -volset-size does no longer accept numbers > 1 + + This change was needed because Eric Youngdale did completely + missunderstand the ISO-9660 standard with respect to Volume Set + Sizes. + + A Volume Set is not a numbered set of CDs but a set of CDs that + contains a coherent directory tree that would not fit on a single + volume. + +- Fixed a typo in the mkisofs man page + +- man page enhanced to make clear that the options + -no-split-symlink-fields & -no-split-symlink-components + are most likely not needed as they have been introduced by Eric Youngdale + when serious bugs have been in mkisofs. + +- Changelog updated + +- Try to workaround a bug in GCC that caused incorrect warnings + for "strict-aliasing rules" + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volunteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a01 b/ANNOUNCEMENTs/AN-2.01.01a01 new file mode 100644 index 0000000..2d3a1eb --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a01 @@ -0,0 +1,91 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a01: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +- Better lint make rules + +- Better autoconf rrules for ACLs + +- Better support for Linux on IBM-390 + +- Better support for Linux on AMD x86-64 + +- Better conforming to lint warnings. + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +- Modified the remote SCSI library stuff that has been changed due + to a security problem on order to make it compile again on HP-UX. + +Rscsi: + +Cdrecord: + +- Support for the Plextor GigaRec feature. + Use driveropts=gigarec=1.2 to increase CD capacity by 20%. + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +Readcd: + +Scgcheck: + +Scgskeleton: + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a03 b/ANNOUNCEMENTs/AN-2.01.01a03 new file mode 100644 index 0000000..e7819a2 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a03 @@ -0,0 +1,150 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a02: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +- Now using "makefiles-1.5" + +- Compilation on OS/ should work again (-Zexe -> -o xxx.$(EXEEXT) + +- Sleeptime to allow reading Gmake warning reduced to 2 seconds. + I am still waiting for GNU make to fix the bugs I did report in 1999. + +- Support for 'make DESTDIR=xxx install' added + +- Workaround for a Shell Bug on BSDi + +- Install workaround for the fact that BSDI has chown(1) in /usr/sbin/ + +- cc-config shell script reworked + +- Better configure tests for procfs include files + +- Configure tests for fchown, chmod, fchmod, lchmod, futimes, lutimes + +- Configure tests for fdopendir + +- Configure tests for broken ext2fs includes files in Linux kernel + +- Better SRCROOT search function in makefiles shell scripts + +- libunls reworked + +- New autoconf tests for broken , & + on various Linux systems + + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +- Trying to introduce a workaround for broken & + on various Linux systems. + +- Trying to introduce a workaround for the changed SCSI generic Linux + Kernel interface from Linux-2.6.8.1 and newer. + + Be very careful with testing. The Linux adption layer for libscg + is already full of workarounds for bugs, unstable interfaces and + unwillingness of the Linux Kernel maintainers to give access to the + needed information for libscg. I am not sure whether this workaround + will not have problems. It has been tested on a Pegasus PPC running + Linux-2.6.8.1 + +Rscsi: + +Cdrecord: + +- Allow the -shorttrack option for RAW mode, thanks to a report + from Sebastian Trueg + +- Enhance the minimal grace time from 2 to 3 seconds to make sure + that cdrecord will not get out of sync with locks from the + Volume management system. + +- Better checks and better error messages for /etc/default/cdrecord + +- Correct verbose print mode for old pre-MMC TEAC drives. + +- Added support for Ultra speed+ CD-RW media recognition and a check + whether the drive supports Ultra speed+ CD-RW media. + (Thanks to Alexander Noé). + + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +Readcd: + +Scgcheck: + +Scgskeleton: + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +- Better error messages with wrong Eltorito boot options + +- Man page is now more explicit about requirements for DVD-video + directory trees. + +- Better warning text for missing Rock Ridge in multi.c + +- Bugs in README.sunx86boot corrected + +- Multi Volume code for reading old image now gives different + error messages on read errors and short reads. + +- Diagnostic programs isodump, isoinfo, ... no longer dump core + when called with dev= parameters. + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a04 b/ANNOUNCEMENTs/AN-2.01.01a04 new file mode 100644 index 0000000..7acaf29 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a04 @@ -0,0 +1,164 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a04: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +- astoull*() new in schily.h + +- utypes.h now has MAX_ and MIN_ value definitions for all basic + system types. + +- Using Makefiles-1.5a02 + +- Support added to compile in 64 bit mode on Solaris Sparc. + Use: smake CCOM=cc64 + +- Support added to compile shared libraries with version + numbers for interface levels and make inofficial "interfaces" + static + +- Prevent gmake to go into an enless loop on Solaris + in case that /usr/ucb/tr is before /usr/bin/tr in PATH + +- Better autoconf error message ion case that the expected + C-compiler could not be found. + +- Mac OS X now installs files as root:wheel + +- Supply linker mapfiles for all libraries. This allows cdrtools + to be compiles using shared libraries only and to properly + hide inofficial interfaces on Solaris (using ls) + Note that this feature is not available with GNU ld + + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +- Autoconf test for broken Linux sg.h headers added + +- if libscg is compiles on newer Solaris systems, the warning: + + "Warning: Volume management is running, medialess managed drives are invisible.\n" + + is no longer printed. + + Since Solaris 11 Build 21, vold no longer hides empty drives + that are under volume management. This now allows cdrecord to be even + used to close the tray while vold is running. + + The criteria used to decide whether Solaris is "recent enough" is + #ifndef SEEK_HOLE + The definition SEEK_HOLE has been added with Solaris 11 Build 14 + while the fixed vold appears in Solaris 11 Build 21. + +- Support for root-less cdrecord using fine-grained privileges. + Remote SCSI not tests for PRIV_NET_PRIVADDR instead of (geteuid() == 0) + + If you like all users to be able to call cdrecord root-less, you need + Solaris 10 or newer. + + Edit the file /etc/security/exec_attr and add: + + All:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr + All:solaris:cmd:::/opt/schily/bin/readcd: privs=file_dac_read,sys_devices,net_privaddr + All:solaris:cmd:::/opt/schily/bin/cdda2wav: privs=file_dac_read,sys_devices,net_privaddr + + If you like to allow only specific user to use cdrecord, + use something like: + + CD RW:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr + + instead and make the users members of the profile "CD RW" + by adding a line like: + + joerg::::profiles=CD RW + + into /etc/user_attr + + Note that you either need to call cdrecord via "pfexec cdrecord ....." + or by using a profile aware shell (e.g. /usr/bin/pfksh) + +Rscsi: + +Cdrecord: + +- Correctly evaluate the write speeds for Ultra speed+ CD-RW media. + This prevents wrong warnings that the "drive does not support Ultra speed+" + +- Fixed a typo in the driveropts=help messages + + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +- Added a workaround for the _POSIX_PRIORITY_SCHEDULING behavior + on MacosX: defined but not supported# + Thanks to: Emanuele Giaquinta + +- Bugfix: cdda2wav did previously chose to ignore the result of realloc(3) + This prevents core-dumps. + +Readcd: + +Scgcheck: + +Scgskeleton: + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +- mkisofs now detects if a file grows or shrinks while being + read by mkisofs. + + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a05 b/ANNOUNCEMENTs/AN-2.01.01a05 new file mode 100644 index 0000000..f52ab26 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a05 @@ -0,0 +1,143 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a05: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +- Support for DragonFly BSD added, thanks to joerg@britannica.bec.de + +- Default Cygwin install uid/group adapted to use available ids. + +- Updated the (forgotten) autoconf to include the tests needed for Solaris + fine grained privileges. + +- New program btcflash added. Thanks to David Huang + +- + If you like all users to be able to call cdrecord root-less, you need + Solaris 10 or newer. + + Edit the file /etc/security/exec_attr and add: + + All:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr + All:solaris:cmd:::/opt/schily/bin/readcd: privs=file_dac_read,sys_devices,net_privaddr + All:solaris:cmd:::/opt/schily/bin/cdda2wav: privs=file_dac_read,sys_devices,proc_priocntl,net_privaddr + + If you like to allow only specific user to use cdrecord, + use something like: + + CD RW:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr + + instead and make the users members of the profile "CD RW" + by adding a line like: + + joerg::::profiles=CD RW + + into /etc/user_attr + + Note that you either need to call cdrecord via "pfexec cdrecord ....." + or by using a profile aware shell (e.g. /usr/bin/pfksh) + + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +- Support for root-less cdrecord using fine-grained privileges. + Remote SCSI not tests for PRIV_NET_PRIVADDR instead of (geteuid() == 0) + This is now active since the needed autoconf code is out. + +Rscsi: + +Cdrecord: + +- Trying to work around a noncompliance (modified interface) present on newer + Linux kernels that causes cdrecord to be unable to allocate a SCSI transfer + buffer. + + Newer Linux kernels do not honor a contract from mlockall(MCL_FUTURE) + after cdrecord turned off euid == 0 from a suid root installation. + Instead of honoring mlockall(MCL_FUTURE), Linux checks each mmap() + and compares against getrlimit(RLIMIT_MEMLOCK + +- Explicit fine grained privileges support for Solaris. + Cdrecord now switches off all privs that are no longer needed. + + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +- Explicit fine grained privileges support for Solaris. + Cdda2wav now switches off all privs that are no longer needed. + +Readcd: + +- Allow readcd to work correctly in -scanbus mode + Thanks to Fabian Keil for reporting. + +- Explicit fine grained privileges support for Solaris. + readcd now switches off all privs that are no longer needed. + +Scgcheck: + +Scgskeleton: + +- Allow readcd to work correctly in -scanbus mode + Thanks to Fabian Keil for reporting. + +- Explicit fine grained privileges support for Solaris. + Scgskeleton now switches off all privs that are no longer needed. + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a06 b/ANNOUNCEMENTs/AN-2.01.01a06 new file mode 100644 index 0000000..8a4f3e6 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a06 @@ -0,0 +1,141 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a06: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +- Better support for BeOS/Zeta in the makefile system + +- Support for armv5teb-linux-cc was added to the makefile system + +- + If you like all users to be able to call cdrecord root-less, you need + Solaris 10 or newer. + + Edit the file /etc/security/exec_attr and add: + + All:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr + All:solaris:cmd:::/opt/schily/bin/readcd: privs=file_dac_read,sys_devices,net_privaddr + All:solaris:cmd:::/opt/schily/bin/cdda2wav: privs=file_dac_read,sys_devices,proc_priocntl,net_privaddr + + If you like to allow only specific user to use cdrecord, + use something like: + + CD RW:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr + + Also edit /etc/security/prof_attr + + CD RW:::CD-R/RW Recording Authorizations:auths=solaris.device.cdrw + + instead and make the users members of the profile "CD RW" + by adding a line like: + + joerg::::profiles=CD RW + + into /etc/user_attr + + Note that you either need to call cdrecord via "pfexec cdrecord ....." + or by using a profile aware shell (e.g. /usr/bin/pfksh) + + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +- BeOS/Zeta libscg low level adoption code fixed. + The code now is passing a "scgcheck" test. + +Rscsi: + +Cdrecord: + +- Adjust some timeouts to prevent that the drive buffer of + newer Pioneer DVD writers empties when writing high speed DVD + media. + +- Support for BeOS/Zeta shared memory was added + +- New tag CDR_MAXFIFOSIZE= in /etc/default/cdrecord allows to + limit the size of the FIFO cdrecord is using. This helps the + sysadmin to prevent other people from locking up the system. + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +Readcd: + +- Support for BeOS/Zeta shared memory was added + +- -scanbus behavior corrected + +Scgcheck: + +- Fixed DMA overrun test. BeOS/Zeta did pass the test but + scgcheck did complain before. + +Scgskeleton: + +- -scanbus behavior corrected + +Btcflash: + +- -scanbus behavior corrected + +- man page added + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +- try to work around a GCC trigraph problem + +- man pages for diag commands added + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a07 b/ANNOUNCEMENTs/AN-2.01.01a07 new file mode 100644 index 0000000..2bac2f6 --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a07 @@ -0,0 +1,96 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a07: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +- Autoconf script added to 'conf' directory + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +Rscsi: + +Cdrecord: + +- Fixed a bug caused by an uninitalized variable when handling + CDR_MAXFIFOSIZE= and no file /etc/default/cdrecord exists + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +- Write correct error info in case that BeOS/Zeta *_area() calls + fail. + +- As Heiko did not work on cdda2wav during the past 2.5 years, + Heiko did hand over the SCCS history for cdda2wav. + +- Autoconf test for added (FreeBSD) + +- Some FreeBSD related changes from Heiko done in 2004 + + IMPORTANT: I need testers for FreeBSD and DragonFly BSD as + a result of the merge with the complex changes + from Heiko. + +Readcd: + +Scgcheck: + +Scgskeleton: + +Btcflash: + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/ANNOUNCEMENTs/AN-2.01.01a08 b/ANNOUNCEMENTs/AN-2.01.01a08 new file mode 100644 index 0000000..b45988c --- /dev/null +++ b/ANNOUNCEMENTs/AN-2.01.01a08 @@ -0,0 +1,96 @@ +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 ********************************* + +NEW features of cdrtools-2.01.01a08: + +******* +NOTE: this is _not_ a release that starts a new aplha/beta series of dirtibutions. + The only reason is to add certain new CD/DVD features that are important. + + So _please_ do not send any patches except when you like to fix extreme bugs. + I am currently mainly working on stable incremental restore featurs for star-1.5-final. + Once star-1.5-final is out, cdrtools will start a new developent cycle. +******* + +All: + +Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu): + +Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de): + +Libscg: + +Rscsi: + +Cdrecord: + +Cdda2wav (By Heiko Eißfeldt heiko@hexco.de): + +- Started to make cdda2wav Cstyle compliant. + +- Avoid to shutdown the whole system when kill(getppid(), SKGINT) + would result in kill -INT 1 because the parent cdda2wav is + dead and the child is orphaned and cdda2wav has been called by root. + +- __FreeBSD_version >= 600021 have devmajor == 0 for all devices. + Thanks to Marius Strobl for reporting. + +- General #ifdef structure related to FreeBSD in mycdrom.h now + corrected, thanks to Marius Strobl. + +- Try to fix some FreeBSD/DragonFly related problems that have been + introduced with a06 when Heiko's changes from 2004 have been integrated + + IMPORTANT: I need testers for FreeBSD and DragonFly BSD as + a result of the merge with the complex changes + from Heiko. + +Readcd: + +Scgcheck: + +Scgskeleton: + +Btcflash: + +Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk): + +TODO: + - read Joliet filenames with multi-session if no TRANS.TBL + or RR is present. I am looking for a volouteer for this task! + + 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. + + - add libecc/edc for CDI and similar. + + +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% POSIX compatible. GNU tar may get some + minor trouble. If you like a 100% POSIX compliant tar, get star from + ftp://ftp.berlios.de/pub/star/ + +WARNING: Do not use 'winzip' to extract the tar file! + Winzip cannot extract symbolic links correctly. + +Joerg diff --git a/BUILD b/BUILD new file mode 100644 index 0000000..59ba1b8 --- /dev/null +++ b/BUILD @@ -0,0 +1,335 @@ +Short overview for those who don't read manuals: + + Calling configure manually is outdated because this is a task of the + makefile system. + + There is no 'configure', simply call 'make' on the top level + directory. + + ***** If this does not work for you, read the rest if this file ***** + ***** If you have any problem, also first read the topic specific ***** + ***** README.* files (e.g. README.linux for Linux problems). ***** + + All results in general will be placed into a directory named + OBJ// in the current projects leaf directory. + + You **need** either my "smake" program, the SunPRO make + from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x) + or GNU make to compile this program. Read README.gmake for + more information on gmake and a list of the most annoying bugs in gmake. + + All other make programs are either not smart enough or have bugs. + + My "smake" source is at: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + It is easy to compile and doesn't need a working make program + on your machine. If you don't have a working "make" program on the + machine where you like to compile "smake" read the file "BOOTSTRAP". + + If you have the choice between all three make programs, the + preference would be + + 1) smake (preferred) + 2) SunPRO make + 3) GNU make (this is the last resort) + + Important notice: "smake" that comes with SGI/IRIX will not work!!! + This is not the Schily "smake" but a dumb make program from SGI. + + ***** If you are on a platform that is not yet known by the ***** + ***** Schily makefilesystem you cannot use GNU make. ***** + ***** In this case, the automake features of smake are required. ***** + + Please read the README's for your operating system too. + + WARNING + Do not use 'mc' to extract the tar file! + All mc versions before 4.0.14 cannot extract symbolic links correctly. + + The versions of WinZip that support tar archives cannot be used too. + The reason is that they don't support symbolic links. + Star and Gnutar do support symbolic links even on win32 systems. + To support symbolic links on win32, you need to link with the + Cygwin32 POSIX library. + + To unpack an archive use: + + gzip -d < some-arch.tar.gz | tar -xpf - + + Replace 'star' by the actual archive name. + + If your Platform does not support hard links or symbolic links, you + first need to compile "star" and then call: + + star -xpz -copy-links < some-arch.tar.gz + + If your platform does not support hard links but supports + symbolic links, you only need to call the command above once. + If your platform does not support symbolic links, you need to call + the command twice because a symbolic link may occur in the archive + before the file it points to. + + + +Here comes the long form: + + +PREFACE: + + Calling configure manually is outdated because this is a task of the + makefile system. + + You don't have to call configure with this make file system. + + Calling 'make' or 'make all' on the top level directory will create + all needed targets. Calling 'make install' will install all needed + files. + + This program uses a new makefilesystem. This makefilesystem uses + techniques and ideas from the 1980s and 1990s, is designed in a + modular way and allows sources to be combined in a modular way. + For mor information on the modular features read README.SSPM. + + The makefilesystem is optimized for a program called 'smake' + Copyright 1985 by Jörg Schilling, but SunPro make (the make program + that comes with SunOS >= 4.0 and Solaris) as well as newer versions + of GNU make will work also. BSDmake could be made working, if it + supports pattern matching rules correctly. + + The makefile system allows simultaneous compilation on a wide + variety of target systems if the source tree is accessible via NFS. + + +Finding Compilation Results: + + To allow this, all binaries and results of a 'compilation' in any form + are placed in sub-directories. This includes automatically generated + include files. Results in general will be placed into + a directory named OBJ// in the current projects + leaf directory, libraries will be placed into a directory called + libs// that is located in the source tree root directory. + + will be something like 'sparc-sunos5-cc' + + This is the main reason why simultaneous compilation is possible on + all supported platforms if the source is mounted via NFS. + + +How to compile: + + To compile a system or sub-system, simply enter 'smake', 'make' or + 'Gmake'. Compilation may be initialized at any point of the source + tree of a system. If compilation is started in a sub tree, all objects + in that sub tree will be made. + + +How to install results: + + To install the product of a compilation in your system, call: + + smake install + + at top level. The binaries will usually be installed in + /opt/schily/bin. The directory /opt// has been agreed + on by all major UNIX vendors in 1989. Unfortunately, still not all + vendors follow this agreement. + + If you want to change the default installation directory, edit the + appropriate (system dependent) files in the DEFAULTS directory + (e.g. DEFAULTS/Defaults.sunos5). + + ***** If "smake install" doesn't do anything, you are on a broken ***** + ***** File System. Remove the file INSTALL in this case (the FS ***** + ***** does not handle upper/lower case characters correctly). ***** + ***** This is true for all DOS based filesystems and for Apple's ***** + ***** HFS+ filesystem. ***** + + +Using a different installation directory: + + If your system does not yet use the standard installation path /opt + or if you don't like this installation directory, you can easily + change the installation directory. You may edit the DEFAULTS file + for your system and modify the macro INS_BASE. + + You may use a different installation directory without editing the + DEFAULTS files. If you like to install everything in /usr/local, call: + + + If your make program supports to propagate make macros to sub make programs + which is the case for recent smake releases as well as for a recent gnumake: + + smake INS_BASE=/usr/local install + or + gmake INS_BASE=/usr/local install + + If you make program doesn't propagate make macros (e.g. SunPRO make) call: + + env INS_BASE=/usr/local make -e install + + +Using a different C-compiler: + + If the configured default compiler is not present on the current machine, + the makefilesystem will try an automatic fallback to GCC. For this reason + in most cases you will not need to manually select a compiler. + + The default C-compiler can be modified in the files in the + DEFAULT directory. If you want to have a different compiler + for one compilation, call: + + make CCOM=gcc + or + make CCOM=cc + + This works even when your make program doesn't propagate make macros. + + +Creating 64 bit executables on Solaris: + + If you like to create 64 bit executables you always need first to + remove any old make results. This includes all autoconf results. In + order to make sure that the source tree is in a "clean" state, call: + + ./.clean + + at the top level directory. Then configure and compile everything by + calling: + + smake COPTX=-xarch=v9 LDOPTX=-xarch=v9 + + To do this with GCC, you need at least GCC-3.1. It is the first 64 bit + aware GCC. With GCC, call on Solaris: + + smake CCOM=gcc COPTX=-m64 LDOPTX=-m64 + + It is not clear if GCC already supports other platforms in 64 bit mode. + As all GCC versions before 3.1 did emit hundreds of compilation + warnings related to 64 bit bugs when compiling itself, there is little + hope that other platforms are already supported in 64 bit mode. + + +Getting help from make: + + For a list of targets call: + + make .help + + +Getting more information on the make file system: + + The man page makefiles.4 located in man/man4/makefiles.4 contains + the documentation on general use and for leaf makefiles. + + The man page makerules.4 located in man/man4/makerules.4 contains + the documentation for system programmers who want to modify + the make rules of the makefile system. + + For further information read + + ftp://ftp.berlios.de/pub/makefiles/PortableSoftware.ps.gz + + +Hints for compilation: + + The makefile system is optimized for 'smake'. Smake will give the + fastest processing and best debugging output. + + SunPro make will work as is. GNU make need some special preparation. + + Read README.gmake for more information on gmake. + + To use GNU make create a file called 'Gmake' in your search path + that contains: + + #!/bin/sh + MAKEPROG=gmake + export MAKEPROG + exec gmake "$@" + + and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make' + on Linux is really a gmake. + + 'Gmake' and 'Gmake.linux' are part of this distribution. + + Some versions of gmake are very buggy. There are e.g. versions of gmake + on some architectures that will not correctly recognize the default + target. In this case call 'make all' or ../Gmake all'. + + Note that pseudo error messages from gmake similar to: + + gmake[1]: Entering directory `cdrtools-1.10/conf' + ../RULES/rules.cnf:58: ../incs/sparc-sunos5-cc/Inull: No such file or directory + ../RULES/rules.cnf:59: ../incs/sparc-sunos5-cc/rules.cnf: No such file or directory + + Are a result of a bug un GNU make. The make file system itself is + correct (as you could prove by using smake). + If your gmake version still has this bug, send a bug report to: + + "Paul D. Smith" + + He is the current GNU make maintainer. + + If you like to use 'smake', please always compile it from source. + The packages are located on: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + Smake has a -D flag to see the actual makefile source used + and a -d flag that gives easy to read debugging info. Use smake -xM + to get a makefile dependency list. Try smake -help + + +Compiling the project using engineering defaults: + + The defaults found in the directory DEFAULTS are configured to + give minimum warnings. This is made because many people will + be irritated by warning messages and because the GNU c-compiler + will give warnings for perfectly correct and portable c-code. + + If you want to port code to new platforms or do engineering + on the code, you should use the alternate set of defaults found + in the directory DEFAULTS_ENG. + You may do this permanently by renaming the directories or + for one compilation by calling: + + make DEFAULTSDIR=DEFAULTS_ENG + + +Compiling the project to allow debugging with dbx/gdb: + + If you like to compile with debugging information for dbx or gdb, + call: + + make clean + make COPTX=-g LDOPTX=-g + + + If you want to see an example, please have a look at the "star" + source. It may be found on: + + ftp://ftp.berlios.de/pub/star + + Have a look at the manual page, it is included in the distribution. + Install the manual page with + + make install first and include /opt/schily/man in your MANPATH + + Note that some systems (e.g. Solaris 2.x) require you either to call + /usr/lib/makewhatis /opt/schily/man or to call + + man -F + +Author: + +Joerg Schilling +Seestr. 110 +D-13353 Berlin +Germany + +Email: joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de + schilling@fokus.fhg.de + +Please mail bugs and suggestions to me. diff --git a/COMPILE b/COMPILE new file mode 100644 index 0000000..59ba1b8 --- /dev/null +++ b/COMPILE @@ -0,0 +1,335 @@ +Short overview for those who don't read manuals: + + Calling configure manually is outdated because this is a task of the + makefile system. + + There is no 'configure', simply call 'make' on the top level + directory. + + ***** If this does not work for you, read the rest if this file ***** + ***** If you have any problem, also first read the topic specific ***** + ***** README.* files (e.g. README.linux for Linux problems). ***** + + All results in general will be placed into a directory named + OBJ// in the current projects leaf directory. + + You **need** either my "smake" program, the SunPRO make + from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x) + or GNU make to compile this program. Read README.gmake for + more information on gmake and a list of the most annoying bugs in gmake. + + All other make programs are either not smart enough or have bugs. + + My "smake" source is at: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + It is easy to compile and doesn't need a working make program + on your machine. If you don't have a working "make" program on the + machine where you like to compile "smake" read the file "BOOTSTRAP". + + If you have the choice between all three make programs, the + preference would be + + 1) smake (preferred) + 2) SunPRO make + 3) GNU make (this is the last resort) + + Important notice: "smake" that comes with SGI/IRIX will not work!!! + This is not the Schily "smake" but a dumb make program from SGI. + + ***** If you are on a platform that is not yet known by the ***** + ***** Schily makefilesystem you cannot use GNU make. ***** + ***** In this case, the automake features of smake are required. ***** + + Please read the README's for your operating system too. + + WARNING + Do not use 'mc' to extract the tar file! + All mc versions before 4.0.14 cannot extract symbolic links correctly. + + The versions of WinZip that support tar archives cannot be used too. + The reason is that they don't support symbolic links. + Star and Gnutar do support symbolic links even on win32 systems. + To support symbolic links on win32, you need to link with the + Cygwin32 POSIX library. + + To unpack an archive use: + + gzip -d < some-arch.tar.gz | tar -xpf - + + Replace 'star' by the actual archive name. + + If your Platform does not support hard links or symbolic links, you + first need to compile "star" and then call: + + star -xpz -copy-links < some-arch.tar.gz + + If your platform does not support hard links but supports + symbolic links, you only need to call the command above once. + If your platform does not support symbolic links, you need to call + the command twice because a symbolic link may occur in the archive + before the file it points to. + + + +Here comes the long form: + + +PREFACE: + + Calling configure manually is outdated because this is a task of the + makefile system. + + You don't have to call configure with this make file system. + + Calling 'make' or 'make all' on the top level directory will create + all needed targets. Calling 'make install' will install all needed + files. + + This program uses a new makefilesystem. This makefilesystem uses + techniques and ideas from the 1980s and 1990s, is designed in a + modular way and allows sources to be combined in a modular way. + For mor information on the modular features read README.SSPM. + + The makefilesystem is optimized for a program called 'smake' + Copyright 1985 by Jörg Schilling, but SunPro make (the make program + that comes with SunOS >= 4.0 and Solaris) as well as newer versions + of GNU make will work also. BSDmake could be made working, if it + supports pattern matching rules correctly. + + The makefile system allows simultaneous compilation on a wide + variety of target systems if the source tree is accessible via NFS. + + +Finding Compilation Results: + + To allow this, all binaries and results of a 'compilation' in any form + are placed in sub-directories. This includes automatically generated + include files. Results in general will be placed into + a directory named OBJ// in the current projects + leaf directory, libraries will be placed into a directory called + libs// that is located in the source tree root directory. + + will be something like 'sparc-sunos5-cc' + + This is the main reason why simultaneous compilation is possible on + all supported platforms if the source is mounted via NFS. + + +How to compile: + + To compile a system or sub-system, simply enter 'smake', 'make' or + 'Gmake'. Compilation may be initialized at any point of the source + tree of a system. If compilation is started in a sub tree, all objects + in that sub tree will be made. + + +How to install results: + + To install the product of a compilation in your system, call: + + smake install + + at top level. The binaries will usually be installed in + /opt/schily/bin. The directory /opt// has been agreed + on by all major UNIX vendors in 1989. Unfortunately, still not all + vendors follow this agreement. + + If you want to change the default installation directory, edit the + appropriate (system dependent) files in the DEFAULTS directory + (e.g. DEFAULTS/Defaults.sunos5). + + ***** If "smake install" doesn't do anything, you are on a broken ***** + ***** File System. Remove the file INSTALL in this case (the FS ***** + ***** does not handle upper/lower case characters correctly). ***** + ***** This is true for all DOS based filesystems and for Apple's ***** + ***** HFS+ filesystem. ***** + + +Using a different installation directory: + + If your system does not yet use the standard installation path /opt + or if you don't like this installation directory, you can easily + change the installation directory. You may edit the DEFAULTS file + for your system and modify the macro INS_BASE. + + You may use a different installation directory without editing the + DEFAULTS files. If you like to install everything in /usr/local, call: + + + If your make program supports to propagate make macros to sub make programs + which is the case for recent smake releases as well as for a recent gnumake: + + smake INS_BASE=/usr/local install + or + gmake INS_BASE=/usr/local install + + If you make program doesn't propagate make macros (e.g. SunPRO make) call: + + env INS_BASE=/usr/local make -e install + + +Using a different C-compiler: + + If the configured default compiler is not present on the current machine, + the makefilesystem will try an automatic fallback to GCC. For this reason + in most cases you will not need to manually select a compiler. + + The default C-compiler can be modified in the files in the + DEFAULT directory. If you want to have a different compiler + for one compilation, call: + + make CCOM=gcc + or + make CCOM=cc + + This works even when your make program doesn't propagate make macros. + + +Creating 64 bit executables on Solaris: + + If you like to create 64 bit executables you always need first to + remove any old make results. This includes all autoconf results. In + order to make sure that the source tree is in a "clean" state, call: + + ./.clean + + at the top level directory. Then configure and compile everything by + calling: + + smake COPTX=-xarch=v9 LDOPTX=-xarch=v9 + + To do this with GCC, you need at least GCC-3.1. It is the first 64 bit + aware GCC. With GCC, call on Solaris: + + smake CCOM=gcc COPTX=-m64 LDOPTX=-m64 + + It is not clear if GCC already supports other platforms in 64 bit mode. + As all GCC versions before 3.1 did emit hundreds of compilation + warnings related to 64 bit bugs when compiling itself, there is little + hope that other platforms are already supported in 64 bit mode. + + +Getting help from make: + + For a list of targets call: + + make .help + + +Getting more information on the make file system: + + The man page makefiles.4 located in man/man4/makefiles.4 contains + the documentation on general use and for leaf makefiles. + + The man page makerules.4 located in man/man4/makerules.4 contains + the documentation for system programmers who want to modify + the make rules of the makefile system. + + For further information read + + ftp://ftp.berlios.de/pub/makefiles/PortableSoftware.ps.gz + + +Hints for compilation: + + The makefile system is optimized for 'smake'. Smake will give the + fastest processing and best debugging output. + + SunPro make will work as is. GNU make need some special preparation. + + Read README.gmake for more information on gmake. + + To use GNU make create a file called 'Gmake' in your search path + that contains: + + #!/bin/sh + MAKEPROG=gmake + export MAKEPROG + exec gmake "$@" + + and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make' + on Linux is really a gmake. + + 'Gmake' and 'Gmake.linux' are part of this distribution. + + Some versions of gmake are very buggy. There are e.g. versions of gmake + on some architectures that will not correctly recognize the default + target. In this case call 'make all' or ../Gmake all'. + + Note that pseudo error messages from gmake similar to: + + gmake[1]: Entering directory `cdrtools-1.10/conf' + ../RULES/rules.cnf:58: ../incs/sparc-sunos5-cc/Inull: No such file or directory + ../RULES/rules.cnf:59: ../incs/sparc-sunos5-cc/rules.cnf: No such file or directory + + Are a result of a bug un GNU make. The make file system itself is + correct (as you could prove by using smake). + If your gmake version still has this bug, send a bug report to: + + "Paul D. Smith" + + He is the current GNU make maintainer. + + If you like to use 'smake', please always compile it from source. + The packages are located on: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + Smake has a -D flag to see the actual makefile source used + and a -d flag that gives easy to read debugging info. Use smake -xM + to get a makefile dependency list. Try smake -help + + +Compiling the project using engineering defaults: + + The defaults found in the directory DEFAULTS are configured to + give minimum warnings. This is made because many people will + be irritated by warning messages and because the GNU c-compiler + will give warnings for perfectly correct and portable c-code. + + If you want to port code to new platforms or do engineering + on the code, you should use the alternate set of defaults found + in the directory DEFAULTS_ENG. + You may do this permanently by renaming the directories or + for one compilation by calling: + + make DEFAULTSDIR=DEFAULTS_ENG + + +Compiling the project to allow debugging with dbx/gdb: + + If you like to compile with debugging information for dbx or gdb, + call: + + make clean + make COPTX=-g LDOPTX=-g + + + If you want to see an example, please have a look at the "star" + source. It may be found on: + + ftp://ftp.berlios.de/pub/star + + Have a look at the manual page, it is included in the distribution. + Install the manual page with + + make install first and include /opt/schily/man in your MANPATH + + Note that some systems (e.g. Solaris 2.x) require you either to call + /usr/lib/makewhatis /opt/schily/man or to call + + man -F + +Author: + +Joerg Schilling +Seestr. 110 +D-13353 Berlin +Germany + +Email: joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de + schilling@fokus.fhg.de + +Please mail bugs and suggestions to me. diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..de65d3a --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2 + as published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Changelog b/Changelog new file mode 100644 index 0000000..f98f2d3 --- /dev/null +++ b/Changelog @@ -0,0 +1,7752 @@ +***** Version 2.01 ******** + +Wed Sep 8 20:26:34 2004 Joerg Schilling + * cdrecord.c 1.297 + * readcd.c 1.74 + * cdrecord.c 1.296 + Version -> 2.01 + +Sat Sep 4 22:28:05 2004 Joerg Schilling + * scsidefs.h 1.28 + * scsisense.h 2.18 + * scsicdb.h 2.19 + * scsireg.h 1.31 + * scgcmd.h 2.22 + Cstyle + +Wed Aug 25 13:28:57 2004 Joerg Schilling + * cdrecord.c 1.295 + Warnung fuer Linux-2.6.8.1 neu + +Tue Aug 24 01:11:42 2004 Joerg Schilling + * scsi-remote.c 1.16 + Auch die euid auf pw->pw_uid setzen bevor exec(RSH gemacht wird + +Thu Aug 19 12:14:09 2004 Joerg Schilling + * cdrecord.c 1.294 + Version -> 2.01a38 + +Thu Aug 19 12:08:26 2004 Joerg Schilling + * cdrecord.c 1.293 + linuxcheck() im %I% verbessert ;-) + +Mon Aug 16 16:42:17 2004 Joerg Schilling + * cdrecord.c 1.292 + Version -> 2.01a37 + SuSE Kommentar erweitert. + +Sun Aug 8 23:04:39 2004 Joerg Schilling + * scsi_mmc.c 1.10 + struct features & struct profiles -> LOCAL + +Thu Aug 5 10:26:18 2004 Joerg Schilling + * cdrecord.c 1.291 + Kommentar vor linuxcheck() erweitert + +Wed Aug 4 02:30:51 2004 Joerg Schilling + * cdrecord.c 1.290 + Version -> 2.01a36 + max_dma ist nun 4/5 der DMA Speed statt 1/2 + Warnung wegen Linux-2.6 eingebaut + Warnung wegen SuSE Linux eingebaut + +Sat Jul 31 17:41:06 2004 Joerg Schilling + * cdrecord.c 1.289 + Version -> 2.01a35 + Check auf dma_speed > 0, dma_speed Test nur wenn tracks > 0 + +Mon Jul 19 11:10:00 2004 Joerg Schilling + * scsi-wnt.c 1.45 + SPTI nicht bei NT-4.0 als Default + +Sun Jul 18 01:26:08 2004 Joerg Schilling + * cdrecord.c 1.288 + Version -> 2.01a34 + Mehr Tests auf Korektheit der Werte (sinnvoller Bereich in get_dmaspeed()) + dma_speed nur dann auswerten wenn > 0 + +Sun Jul 11 02:28:23 2004 Joerg Schilling + * cdrecord.1 1.103 + CDR_FORCESPEED domumentiert + +Sun Jul 11 01:57:27 2004 Joerg Schilling + * skel.c 1.3 + * readcd.c 1.73 + * xio.c 1.11 + -> NEED_O_BINARY + +Sun Jul 11 01:32:49 2004 Joerg Schilling + * readcd.c 1.72 + * skel.c 1.2 + MINGW32 neu + +Sun Jul 11 01:30:12 2004 Joerg Schilling + * xio.c 1.10 + setmode() auch bei MINGW32 + +Fri Jul 9 00:05:39 2004 Joerg Schilling + * cdrecord.c 1.287 + Version -> 2.01a33 + get_dmaspeed() neu + kein nice() bei __DJGPP__ + +Fri Jun 18 17:46:20 2004 Joerg Schilling + * scsi-wnt.c 1.44 + if (isdigit(vers) -> if (isdigit(vers[0]) (bug korrigiert + +Fri Jun 18 01:17:54 2004 Joerg Schilling + * drv_dvdplus.c 1.15 + * drv_dvd.c 1.118 + long dvd_next_addr -> LOCAL long dvd_next_addr + +Thu Jun 17 23:20:27 2004 Joerg Schilling + * scsierrs.c 2.29 + * scsitransp.c 1.91 + Bitfeld Typen fuer printf() auf int casten wegen IRIX cc + +Thu Jun 17 11:24:48 2004 Joerg Schilling + * readcd.c 1.71 + Verbose Ausgabe fuer Fehlerkorrekturen nochmals angepasst + +Sun Jun 13 16:28:28 2004 Joerg Schilling + * readcd.c 1.70 + maxtry neu + +Sun Jun 13 16:00:20 2004 Joerg Schilling + * readcd.c 1.69 + Ausgabe der maximale Anzahl der Retries + +Sat Jun 12 15:14:49 2004 Joerg Schilling + * drv_dvdplus.c 1.14 + * drv_dvd.c 1.117 + RAW & TAO Schreibmodi nach check_writemodes() loeschen damit niemand cdrecord -raw fuer DVDs aufruft + +Sat Jun 12 13:48:12 2004 Joerg Schilling + * scsi-linux-ata.c 1.7 + Warntext geaendert + +Fri Jun 11 16:49:15 2004 Joerg Schilling + * readcd.c 1.68 + Version -> 2.01a32 + -scanbus funktioniert nun auch wenn dev= nicht angegeben und /etc/default/cdrecord vorhanden + Auflistung der defekten Sektoren in allozierter Liste + +Thu Jun 10 10:58:19 2004 Joerg Schilling + * cdrecord.1 1.102 + Schreibfehler + +Wed Jun 2 22:54:33 2004 Joerg Schilling + * cdrecord.1 1.101 + -clone dokumentiert + +Tue May 25 17:33:15 2004 Joerg Schilling + * readcd.c 1.67 + Vsersion -> 2.01a31 + +Tue May 25 17:32:29 2004 Joerg Schilling + * readcd.c 1.66 + -scanbus neu + +Tue May 25 01:36:00 2004 Joerg Schilling + * cdrecord.h 1.161 + * scsi_cdr.c 1.137 + * drv_mmc.c 1.157 + write_buffer() neu und write_buffer() in drv_mmc.c -> yamaha_write_buffer() + +Thu May 20 16:42:12 2004 Joerg Schilling + * scsi-linux-sg.c 1.83 + Kommentar gegen die Debian patches fuer /dev/hd* + +Thu May 20 16:24:11 2004 Joerg Schilling + * scsi-linux-ata.c 1.6 + Bis zu 25 /dev/hd%c Files oeffnen + +Thu May 20 16:14:33 2004 Joerg Schilling + * scsi-linux-sg.c 1.82 + Kommentare um dumme Leute von SuSE davon abzuhalten wichtige Warnungen wegzupatchen + +Thu May 20 15:50:38 2004 Joerg Schilling + * cdrecord.1 1.100 + Kommentar zu benoetigten Root Rechten neu + +Thu May 20 15:35:52 2004 Joerg Schilling + * cdrecord.c 1.286 + Bessere Kommentare gegen SuSE die cdrecord nicht als root laufen lasse wollen + +Wed May 19 00:54:29 2004 Joerg Schilling + * cdrecord.c 1.285 + Make sure you are root. nur ausgeben wenn euid != 0 + +Wed May 19 00:47:48 2004 Joerg Schilling + * cdrecord.c 1.284 + Version -> 2.01a29 + reload geht nun auch fuer Notebook Laufwerke wieder + +Wed May 19 00:45:26 2004 Joerg Schilling + * cdrecord.h 1.160 + * scsi_mmc.c 1.9 + print_format_capacities() neu + +Wed May 19 00:27:28 2004 Joerg Schilling + * cdrecord.1 1.99 + Bessere beschreibung der Hintergruende fuer eine gute Wahl der FIFO Groesse (fs=) + +Mon May 17 00:38:17 2004 Joerg Schilling + * cdrecord.1 1.98 + Bessere Dokumentation fuer DVD + +Mon May 17 00:18:21 2004 Joerg Schilling + * scsilog.c 1.17 + Besserer Kommentar + +Sun May 16 23:46:51 2004 Joerg Schilling + * drv_mmc.c 1.156 + bei OPC "Power calibration area almost full" nicht als Fehler auffassen + +Sun May 16 17:01:24 2004 Joerg Schilling + * cdrecord.1 1.97 + Bessere Dokumentation der driver= Option + +Sun May 16 01:37:11 2004 Joerg Schilling + * cdrecord.1 1.96 + Diverse kleinere Schreibfehler beseitigt + +Sun May 16 01:26:52 2004 Joerg Schilling + * cdrecord.1 1.95 + Eißfeldt -> Ei\*sfeldt + µsec -> \*msec + +Sat May 15 23:14:18 2004 Joerg Schilling + * subchan.c 1.19 + index Variable -> curindex wegen GCC Shadow Warnung + +Sun May 9 17:59:31 2004 Joerg Schilling + * skel.c 1.1 + date and time created 04/05/09 16:59:31 by joerg + +Fri Apr 23 00:51:24 2004 Joerg Schilling + * scsi-wnt.c 1.43 + Padding fuer ASPI CMD Struktur damit auch 32 Byte Sense Daten von SPTI gehen + +Wed Apr 21 01:48:32 2004 Joerg Schilling + * scsi-wnt.c 1.42 + Support fuer SPTI & Kontroller mit mehr als einem SCSI Bus + Bei SPTI ist SENSE_LEN max nun 32 + +Sun Apr 18 13:26:43 2004 Joerg Schilling + * scsi-linux-sg.c 1.81 + MAX-SCG -> 256 wegen Linux USB Implementierung + +Fri Apr 16 15:29:34 2004 Joerg Schilling + * scsi_scan.c 1.19 + Bis zu 256 Busse scannen. + +Thu Apr 15 16:35:46 2004 Joerg Schilling + * cdrecord.c 1.283 + Version -> 2.01a28 + +Mon Apr 12 16:13:47 2004 Joerg Schilling + * cdrecord.1 1.94 + Read Book -> Red Book + +Tue Apr 6 11:59:03 2004 Joerg Schilling + * cdrecord.c 1.282 + Bessere Fehlermeldung bei fehlendem -pad/-shorttrack + +Mon Mar 15 01:59:49 2004 Joerg Schilling + * cdrecord.c 1.281 + Kommentar fuer cuefile= & -raw + +Wed Mar 10 21:54:36 2004 Joerg Schilling + * readcd.c 1.65 + * cdrecord.1 1.93 + * cdrecord.c 1.280 + ts= Doku besser + +Mon Mar 8 00:43:39 2004 Joerg Schilling + * scsi-linux-sg.c 1.80 + Fehler if (sp->u_sense.cmd_sense != 0 -> if (sp->u_sense.cmd_sense[0] != 0 korrigiert + Wenn ASC/ASQ und auch alle zusaetzlichen Bits/Key in Byte 2 0 sind, dann loeschen wir CHECK CONDITION wieder + weil das ein Linux USB Problem ist wo z.B. wegen einem DMA Underrun REQUEST SENSE geschickt wurde + und das Laufwerk erwartungemaesz mit NO SENSE geantwortet hat + +Sun Mar 7 23:43:08 2004 Joerg Schilling + * cdrecord.c 1.279 + Version -> 2.01a27 + +Thu Mar 4 09:24:11 2004 Joerg Schilling + * cdrecord.c 1.278 + Bugfix: Nach Umstellung des Tests auf Schreibmodus Option ging nur noch TAO + +Wed Mar 3 01:27:14 2004 Joerg Schilling + * drv_dvd.c 1.115 + * cue.c 1.20 + * isosize.c 1.9 + * drv_simul.c 1.47 + * getnum.c 1.2 + * movesect.c 1.3 + Cstyle + +Tue Mar 2 21:02:42 2004 Joerg Schilling + * misc.c 1.4 + * cue.c 1.19 + Copyright -> 2004 + +Tue Mar 2 02:53:06 2004 Joerg Schilling + * modes.c 1.25 + * fifo.c 1.47 + * drv_mmc.c 1.155 + * drv_sony.c 1.70 + * drv_dvdplus.c 1.13 + * drv_7501.c 1.15 + * diskid.c 1.37 + * defaults.c 1.11 + * crc16.c 1.6 + * cdr_drv.c 1.36 + * clone.c 1.7 + * drv_philips.c 1.68 + * readcd.c 1.64 + * scsi_cdr.c 1.136 + * scsi_scan.c 1.18 + * iso9660.h 1.5 + * xio.h 1.2 + * cdtext.h 1.5 + Cstyle + +Tue Mar 2 01:13:42 2004 Joerg Schilling + * wm_track.c 1.4 + Copyright -> 2004 + +Mon Mar 1 11:08:40 2004 Joerg Schilling + * cdrecord.h 1.159 + * mmcvendor.h 1.3 + * scsilog.h 1.4 + * scsimmc.h 1.10 + * drv_jvc.c 1.80 + * scsi_mmc.c 1.8 + * cdtext.c 1.10 + * scsilog.c 1.16 + * auinfo.c 1.23 + * cdrecord.c 1.277 + * audiosize.c 1.19 + * sector.c 1.12 + * subchan.c 1.17 + * wm_packet.c 1.24 + * xio.c 1.8 + Cstyle + +Mon Mar 1 11:02:43 2004 Joerg Schilling + * scsimmc.h 1.11 + * subchan.c 1.18 + * wm_packet.c 1.25 + * xio.c 1.9 + * sector.c 1.13 + Copyright -> 2004 + +Sun Feb 29 21:49:03 2004 Joerg Schilling + * cdrecord.c 1.276 + Cstyle + +Sun Feb 29 18:19:58 2004 Joerg Schilling + * cdrecord.c 1.275 + Version -> 2.01a26 + -tao/-sao neu + +Sun Feb 29 18:13:20 2004 Joerg Schilling + * cdrecord.1 1.92 + -tao Option neu, -sao Option als Alias fuer -dao + +Sun Feb 22 16:41:57 2004 Joerg Schilling + * cdrecord.1 1.91 + Schreibfehler + +Sun Feb 22 15:53:51 2004 Joerg Schilling + * readcd.c 1.63 + * cdrecord.h 1.158 + * defaults.c 1.10 + cdr_defaults() Prototy -> neues defaults.h + +Sun Feb 22 15:53:00 2004 Joerg Schilling + * defaults.h 1.1 + date and time created 04/02/22 15:53:00 by joerg + +Sun Feb 1 21:32:58 2004 Joerg Schilling + * adip.h 1.1 + date and time created 04/02/01 21:32:58 by joerg + +Fri Jan 23 23:10:42 2004 Joerg Schilling + * scsi-wnt.c 1.41 + dev=ATAPI:1,0 geht nun wieder + +Mon Jan 19 21:29:24 2004 Joerg Schilling + * drv_dvd.c 1.113 + * cdrecord.c 1.274 + * drv_dvdplus.c 1.12 + * wm_packet.c 1.23 + trackp[i].padsecs * secsize -> (Llong)trackp[i].padsecs * secsize, damit kein Integeroverflow mehr stattfindet + +Thu Jan 15 22:24:39 2004 Joerg Schilling + * scsi-wnt.c 1.40 + w2k_or_newer() neu um bei NT-4.0 wegen DMA Problemen mit SPTI per Default mit ASPI zu betreiben + Debug prints fuer bessere Beurteilung der Funktionsweise + +Thu Jan 15 02:22:38 2004 Joerg Schilling + * scsi-mac-iokit.c 1.9 + memset sense 0 wieder eingebaut bis endgueltig geklaert ist wie es sein sollte + +Thu Jan 15 01:55:36 2004 Joerg Schilling + * scsi-hpux.c 1.31 + * scsi-linux-pg.c 1.43 + * scsi-vms.c 1.33 + * scsi-os2.c 1.25 + * scsi-wnt.c 1.39 + * scsi-remote.c 1.15 + * scsi-unixware.c 1.36 + * scsi-qnx.c 1.3 + * scsi-osf.c 1.26 + * scsi-sgi.c 1.36 + * scsi-bsd.c 1.42 + * scsi-bsd-os.c 1.28 + * scsi-beos.c 1.22 + Umbau fuer Cstyle + +Thu Jan 15 01:05:25 2004 Joerg Schilling + * scsi-openserver.c 1.31 + Aenderungen fuer Cstyle + +Thu Jan 15 00:50:11 2004 Joerg Schilling + * scsi-next.c 1.32 + * scsi-linux-ata.c 1.5 + Umbau wegen Cstyle + +Wed Jan 14 20:05:52 2004 Joerg Schilling + * drv_dvd.c 1.112 + Unbenutzte Variablen beseitigt + +Wed Jan 14 20:04:33 2004 Joerg Schilling + * scsi-sun.c 1.82 + Aumbau fuer Cstyle + +Wed Jan 14 19:57:28 2004 Joerg Schilling + * scsi-sun.c 1.81 + Ueberfluessige Variable sb beseitigt + +Wed Jan 14 18:54:48 2004 Joerg Schilling + * scsi-apollo.c 1.5 + * scsi-amigaos.c 1.6 + * scsi-aix.c 1.36 + * scsi-linux-sg.c 1.79 + * scsiopen.c 1.95 + * scsitransp.c 1.90 + * scgsettarget.c 1.2 + * scsihelp.c 1.4 + Umbau fuer cstyle + +Wed Jan 14 15:37:47 2004 Joerg Schilling + * scsi-linux-sg.c 1.78 + LF_ATA Flag neu + +Wed Jan 14 01:14:27 2004 Joerg Schilling + * scsi-mac-iokit.c 1.8 + ux_errno wird nun korrekt gesetzt wenn ein Kommando schiefgeht + Die Sense Daten werden nicht mehr gelöscht + Author ist nun "schily", denn das Modul kommt nun teilweise dirch scgcheck + +Tue Jan 13 20:43:44 2004 Joerg Schilling + * scsi-mac-iokit.c 1.7 + Umbau fuer Cstyle + +Mon Jan 12 00:36:04 2004 Joerg Schilling + * drv_mmc.c 1.154 + Besserer Kommentar bei den Profilen in identify + +Mon Jan 12 00:33:39 2004 Joerg Schilling + * cdr_drv.c 1.35 + dp bei error() ueberpruefen um coredumps bei cdrecord -xd zu verhindern + +Sun Jan 11 18:42:14 2004 Joerg Schilling + * scsi-linux-sg.c 1.77 + Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterstützen. + +Sun Jan 11 16:18:48 2004 Joerg Schilling + * scsi-linux-sg.c 1.76 + Kommentar verbessert + +Sun Jan 11 14:39:45 2004 Joerg Schilling + * scsi-wnt.c 1.38 + w2kstyle_create() umgestellt und so repariert, dasy kein unzulaessiger Speicherzugriff mehr erfolgt + +Sun Jan 11 14:09:19 2004 Joerg Schilling + * scsi-wnt.c 1.37 + loas_aspi() neu + +Sun Jan 11 13:28:56 2004 Joerg Schilling + * scsi-wnt.c 1.36 + Aenderungen damit cdrecord -scanbus dev=ASPI geht + +Wed Jan 7 00:38:26 2004 Joerg Schilling + * cdrecord.h 1.157 + * scsi_scan.c 1.17 + * scsi-mac-iokit.c 1.6 + * scsi-sun.c 1.80 + * scsi-wnt.c 1.34 + * scsitransp.c 1.89 + * cdrecord.c 1.273 + Copyright -> 2004 + +Wed Jan 7 00:20:32 2004 Joerg Schilling + * scsi-wnt.c 1.35 + Anderer Version String fuer SPTI + +Wed Jan 7 00:03:55 2004 Joerg Schilling + * cdrecord.c 1.272 + Version -> 2.01a24 + +Tue Jan 6 23:58:43 2004 Joerg Schilling + * cue.c 1.18 + Wenn FILE Anweisung im CUE Sheet keinen Slash (/) enthaelt, dann wird der Filename auch im Directory des CUE Sheets gesucht + +Tue Jan 6 23:52:52 2004 Joerg Schilling + * scsitransp.c 1.88 + Version -> 0.8 + +Tue Jan 6 23:33:20 2004 Joerg Schilling + * scsi-wnt.c 1.33 + Cstyle + +Tue Jan 6 23:21:14 2004 Joerg Schilling + * scsi-wnt.c 1.32 + SPTI Unterdrueckung von nocht CD-ROM deaktiviert + +Tue Jan 6 23:10:18 2004 Joerg Schilling + * scsi-wnt.c 1.31 + Erste Version mit SPTI Support + +Tue Jan 6 17:58:47 2004 Joerg Schilling + * scsi-mac-iokit.c 1.5 + scgo_havebus() korrigiert (war immer FALSE) damit pxupgrade funktioniert + +Tue Jan 6 01:01:59 2004 Joerg Schilling + * drv_mmc.c 1.153 + cmd_dummy statt init_mmc in den Treiberstrukturen fuer CD-ROM Leser + +Sun Jan 4 15:26:25 2004 Joerg Schilling + * scsi-sun.c 1.79 + Erste Version einer UID Verwaltung die fuer Solaris 9 USCSI gebraucht wird + +Fri Jan 2 16:05:57 2004 Joerg Schilling + * scsi-sun.c 1.78 + Erste Version die mit Volume Management arbeitet + +Fri Jan 2 16:05:21 2004 Joerg Schilling + * cdrecord.c 1.271 + Version -> 2.01a23 + +Fri Jan 2 16:05:06 2004 Joerg Schilling + * scsi_scan.c 1.16 + Hack fuer fd == -1 -> Kein Zugriff auf LW -> '?' statt '*' + +Tue Dec 30 14:20:00 2003 Joerg Schilling + * cdrecord.c 1.270 + Schreibfehler will not not Korrigiert + +Mon Dec 29 15:25:05 2003 Joerg Schilling + * cdrecord.1 1.90 + Bessere Beschreibung und Beispiel fuer -setdropts driveropts= + +Wed Dec 24 11:51:56 2003 Joerg Schilling + * drv_mmc.c 1.152 + Hinweis auf RAW bei nicht funktionierendem CUE Sheet + +Tue Dec 23 13:48:33 2003 Joerg Schilling + * cdrecord.c 1.269 + Version -> 2.01a21 + Hack fuer POSIX_PRIORITY_SCHEDULING Bug (wir brauchen root Rechte um die Pri zu verringern) + +Sun Dec 21 14:29:21 2003 Joerg Schilling + * cdrecord.1 1.89 + Neuer Absatz ueber ATAPI auf erster Seite. + +Thu Dec 18 17:10:58 2003 Joerg Schilling + * scsitransp.c 1.87 + Aehnlicher Text wie in cdrecord.c wenn !defined(IS_SCHILY_XCONFIG) + +Thu Dec 18 17:10:26 2003 Joerg Schilling + * cdrecord.c 1.268 + Neuer Text fuer modifizierte Versionen ohne Support + +Thu Dec 18 17:09:41 2003 Joerg Schilling + * cdrecord.1 1.88 + .sp verschoben auf Wunsch von Eric Raymond + +Tue Dec 16 00:42:16 2003 Joerg Schilling + * cdrecord.c 1.267 + Security Test Ausgabe nun auch ohne Root Zugriff sichtbar + +Mon Dec 15 16:40:59 2003 Joerg Schilling + * cdrecord.c 1.266 + Ausgabe des Resultats des Security Checks + +Mon Dec 15 09:19:24 2003 Joerg Schilling + * drv_mmc.c 1.151 + Copyright -> 2003 + +Mon Dec 15 09:18:14 2003 Joerg Schilling + * drv_mmc.c 1.150 + Ein DVD Brenner wird nun auch erkannt wenn er nur MMC-3 und nicht MMC-2 konform ist + Hinweis auf ftp://ftp.berlios.de/pub/cdrecord/ProDVD/ + +Mon Dec 15 07:32:55 2003 Joerg Schilling + * cdrecord.c 1.265 + comexit(0); nach "erstem" -force blank unit entfernt damit auch mit dem Ricoh-5125 Medien erweckt werden koennen + +Thu Dec 11 12:59:54 2003 Joerg Schilling + * scsireg.h 1.30 + #ifdef __SCG_COMPAT_ zum enablen von info/ident/revision -> vendor_info/prod_ident/prod_revision + +Thu Dec 11 12:55:42 2003 Joerg Schilling + * scsi_scan.c 1.15 + * scsi_cdr.c 1.135 + info -> vendor_info, ident -> prod_ident, revision -> prod_revision + +Wed Dec 10 00:42:39 2003 Joerg Schilling + * scsi-dos.c 1.11 + Hinweis auf http://bootcd.narod.ru/ + +Wed Dec 10 00:40:49 2003 Joerg Schilling + * cdrecord.c 1.264 + Hinweis auf ftp://ftp.berlios.de/pub/cdrecord/ProDVD/ + +Wed Dec 10 00:19:03 2003 Joerg Schilling + * cdrecord.c 1.263 + Version -> 2.01a20 + FIFO Abschalten wenn fifosize < 2*bufsize + +Tue Dec 9 20:52:14 2003 Joerg Schilling + * cdrecord.1 1.87 + ..sp -> .sp Schreibfehler + +Sun Nov 30 13:50:31 2003 Joerg Schilling + * scsi-dos.c 1.10 + schcgeck funktioniert nun, kein DMAresid und max sense_count 18 + +Sun Nov 30 00:00:01 2003 Joerg Schilling + * xio.c 1.7 + * readcd.c 1.62 + #include auch fuer DJGPP + +Sat Nov 29 23:36:39 2003 Joerg Schilling + * scsi-dos.c 1.9 + Srb.Type.ExecSCSICmd.SenseLen = DEF_SENSE_LEN; -> Srb.Type.ExecSCSICmd.SenseLen = (SENSE_LEN+2); + +Sat Nov 29 23:11:56 2003 Joerg Schilling + * readcd.c 1.61 + Version -> 2.01a20 + +Sat Nov 29 23:10:16 2003 Joerg Schilling + * xio.c 1.6 + setmode(fileno, O_BINARY) auch fuer DJGPP + +Sat Nov 29 23:10:00 2003 Joerg Schilling + * readcd.c 1.60 + #include fuer __CYGWIN32__/__EMX__ + setmode(fileno, O_BINARY) auch fuer DJGPP + +Sat Nov 29 23:03:06 2003 Joerg Schilling + * scsi-dos.c 1.8 + Sense_len & sense_count korrekt beachten + SS_ERR -> vor die invalid Device & Cannot Select Bus cases im switch in send_cmd() + +Sat Nov 29 22:28:57 2003 Joerg Schilling + * scsi-dos.c 1.7 + Schreibfehler is statt if beseitigt + +Sat Nov 29 19:11:41 2003 Joerg Schilling + * scsi-os2.c 1.24 + Return (0) statt -1 bei FATAL Error in send_cmd() wenn kein gueltiges Target gesetzt ist + +Sat Nov 29 19:10:48 2003 Joerg Schilling + * scsi-dos.c 1.6 + Neuer AspiLoaded Counter fuer mehrfaches Oeffnen + +Sat Nov 29 19:06:55 2003 Joerg Schilling + * scsi-wnt.c 1.30 + Return (0) statt -1 bei FATAL Error in send_cmd() wenn kein gueltiges Target gesetzt ist + SS_ERR mit cp->SRB_TargStat != 0 ist nun SCG_NO_ERROR + AspiLoaded ist nun integer Counter damit mehrere open()s moeglich sind + +Sat Nov 29 19:04:36 2003 Joerg Schilling + * scsi-dos.c 1.5 + Return (0) statt -1 bei FATAL Error in send_cmd() wenn kein gueltiges Target gesetzt ist + SS_ERR mit Srb.Type.ExecSCSICmd.TargStat != 0 ist nun SCG_NO_ERROR + +Sat Nov 29 18:58:35 2003 Joerg Schilling + * scsi-dos.c 1.4 + Cstyle + +Sat Nov 29 18:30:44 2003 Joerg Schilling + * scsi-dos.c 1.3 + Umbau auf _go32_dpmi_allocate_real_mode_callback_retf() + +Fri Nov 28 10:25:15 2003 Joerg Schilling + * scsi-dos.c 1.2 + Callback Funktion neu + +Fri Nov 28 02:33:18 2003 Joerg Schilling + * scsihack.c 1.43 + scsi-dos.c neu + +Fri Nov 14 10:55:14 2003 Joerg Schilling + * scsi-dos.c 1.1 + date and time created 03/11/14 10:55:14 by joerg + +Sun Nov 2 23:50:22 2003 Joerg Schilling + * fifo.c 1.46 + fifo_percent() fragt nun (sp == NULL) ab um festzustellen of der FIFO aus ist + +Wed Oct 29 15:33:45 2003 Joerg Schilling + * scsi-remote.c 1.14 + strcatl()/concat()/*execl() casten nun NULL im letzten Arg nach (char *)NULL + +Wed Oct 1 00:39:23 2003 Joerg Schilling + * cdrecord.h 1.156 + Kommentar ueber minimale FIFO Groesse + +Sun Aug 24 13:15:10 2003 Joerg Schilling + * cdrecord.1 1.86 + driveropts in /Etc/default/cdrecord dokumentiert + +Tue Jul 22 21:43:08 2003 Joerg Schilling + * cdrecord.c 1.262 + Version -> 2.01a17 + +Mon Jul 21 00:06:31 2003 Joerg Schilling + * cdrecord.h 1.155 + * cdrecord.1 1.85 + * cdrecord.c 1.261 + Neue Option ts= + +Fri Jul 18 10:04:20 2003 Joerg Schilling + * readcd.c 1.59 + Version -> 2.01a17 + Teilweise #ifndef EXTVERS -> #ifdef CLONE_WRITE fuer genauere Beschreibung des Kodes + +Fri Jul 18 10:03:04 2003 Joerg Schilling + * scsi_cdr.c 1.134 + Kommentar Hinweis in cdr_underrun() + +Fri Jul 11 11:43:25 2003 Joerg Schilling + * cdrecord.1 1.84 + Schreibfehler + +Sun Jul 6 00:04:14 2003 Joerg Schilling + * scsi-os2.c 1.23 + EIO statt EINVAL damit Scan fuer Targets > 7 klappt + +Sat Jun 21 21:42:56 2003 Joerg Schilling + * scsi-sun.c 1.77 + Workaround fuer Solaris 8 x86 Bug: DKIOCINFO liefert 256 kB DMAsize aber nur 68 kB geht bei ATAPI & DMA + +Sat Jun 21 19:42:26 2003 Joerg Schilling + * readcd.c 1.58 + Neue Option -factor + +Fri Jun 20 22:47:08 2003 Joerg Schilling + * readcd.c 1.57 + Neue Option ts= fuer Transfer size + +Fri Jun 20 22:32:59 2003 Joerg Schilling + * readcd.c 1.56 + Residual count auswerten beim Lesen + +Fri Jun 20 22:21:33 2003 Joerg Schilling + * readcd.c 1.55 + prstats_silent() Prototyp neu + Versuch damit klarzukommen dasz einige BS (UnixWare) nicht mit odd byte DMA bei ATAPI klarkommen (READ FULL TOC) + Ausgabe aller Lead out startzeiten bei -clone (READ FULL TOC) + Geschwindigkeitsangaben beziehen sich auf 1000 Byte == 1 kb + Hack to write empty disks geht mit end == 1 statt end == 0 + +Tue Jun 17 19:23:35 2003 Joerg Schilling + * cdrecord.1 1.83 + Schreibfehler + +Tue Jun 17 19:18:00 2003 Joerg Schilling + * auinfo.c 1.22 + samples -> nsamples wegen samples() Makro und K&R C + +Sat May 31 21:58:05 2003 Joerg Schilling + * scsi-amigaos.c 1.5 + Neue Version von Thomas Langer + +Sat May 31 19:41:16 2003 Joerg Schilling + * scsi-amigaos.c 1.4 + Eingerueckt nach cstyle + +Sat May 31 18:34:37 2003 Joerg Schilling + * cdrecord.c 1.260 + GPL Hinweise besser formuliert, Schreibfehler in usage() beseitigt + +Sat May 31 18:10:38 2003 Joerg Schilling + * cdrecord.1 1.82 + Schreibfehler berichtigt & -format dokumentiert + +Sat May 31 18:09:46 2003 Joerg Schilling + * auinfo.c 1.21 + Fix fuer fehlerhafte Erkennung von *.inf Dateien die Meldung 'WARNING: Stdin is connected to a terminal.' verursacht + +Fri May 16 13:02:58 2003 Joerg Schilling + * scsi-remote.c 1.13 + js_snprintf(devname, sizeof(devname), device); -> js_snprintf(devname, sizeof(devname), "%s", device); + +Wed May 14 18:59:12 2003 Joerg Schilling + * cdrecord.c 1.259 + CD-Text -text Aktivierung durch trackp[MAX_TRACK+1].flags |= TI_TEXT + Kein CD-text mehr wenn track[0].flags & TI_TEXT schon gesetzt (durch textfile=) + +Wed May 14 18:57:53 2003 Joerg Schilling + * cue.c 1.17 + CD-Text aus CDTEXTFILE nur noch wenn trackp[MAX_TRACK+1].flags & TI_TEXT + +Wed May 14 18:56:55 2003 Joerg Schilling + * cdrecord.1 1.81 + Neue erweiterte CD-Text Behandlung beschrieben + +Wed May 14 02:24:17 2003 Joerg Schilling + * cdrecord.c 1.258 + Version -> 2.01a15, Diverse Umstellungen damit tracks == 0 Abfragen bei cuefile=xxx korrekt behandelt werden + +Wed May 14 02:21:07 2003 Joerg Schilling + * xio.c 1.5 + while(pp) -> for (; pp; pp = pp->x_next) damit continue bei x_name == NULL nicht zur Endlosschleife wird + +Tue May 13 23:26:57 2003 Joerg Schilling + * cdrecord.1 1.80 + speed= Behandlung besser erklaert und Schreibfehler + +Tue May 13 23:26:14 2003 Joerg Schilling + * cue.c 1.16 + TI_SWAB bei FILE ... WAVE setzen + +Tue May 13 13:07:03 2003 Joerg Schilling + * xio.c 1.4 + pp->x_name == NULL voer strcmp geaendert + +Tue May 13 13:05:00 2003 Joerg Schilling + * xio.c 1.3 + Neue Knoten korrekt in Liste ein und aushaengen + +Mon May 12 02:17:00 2003 Joerg Schilling + * drv_mmc.c 1.149 + Support fuer TM_QUADRO/TM_ALLOW_COPY neu + Hack fuer CUE Sheet Handling mit MODE2/CDI trackp[i].dbtype == DB_RAW + Fuer Lead-In/Lead-Out werden nun die Bits fuer Datengroesse wegmaskiert + +Mon May 12 01:39:30 2003 Joerg Schilling + * cdrecord.c 1.257 + setleadinout() setzt nun trackp[tracks+1].tracktype aus trackp[tracks].tracktype + +Mon May 12 01:38:03 2003 Joerg Schilling + * cue.c 1.15 + Erste funktionierende Version + +Mon May 12 00:26:35 2003 Joerg Schilling + * drv_dvdplus.c 1.8 + Canot -> Cannot Schreibfehler beseitigt + +Mon May 12 00:25:29 2003 Joerg Schilling + * cdrecord.h 1.154 + parsecue()/fparsecue() neu + +Mon May 12 00:22:57 2003 Joerg Schilling + * cdrecord.c 1.256 + Version -> 2.01a14, Neue Option cuefile=, Kein Aufruf von checkdsize() wenn tracks == 0 (tsize == -150) + +Mon May 12 00:20:55 2003 Joerg Schilling + * cdrecord.1 1.79 + einfache erste cuefile= Doku + +Sun May 11 21:47:29 2003 Joerg Schilling + * cdrecord.h 1.153 + TI_QUADRO & is_quadro() neu + +Sun May 11 21:46:53 2003 Joerg Schilling + * xio.c 1.2 + Schutz gegen Coredump wenn pp->x_name == NULL + +Sat May 10 16:15:14 2003 Joerg Schilling + * cue.c 1.14 + Erster Ansatz fuer parse_file() + +Sat May 10 15:05:46 2003 Joerg Schilling + * cue.c 1.13 + struct state neu + cueopen()/neednextitem()/needword()/needitem()/checkextra()/cueabort() neu + +Fri May 9 10:10:42 2003 Joerg Schilling + * cue.c 1.12 + keyw_t Arrays -> LOCAL + +Fri May 9 10:08:10 2003 Joerg Schilling + * cue.c 1.11 + Parser Funktionen -> LOCAL + +Fri May 9 10:00:21 2003 Joerg Schilling + * cue.c 1.10 + Erster Ansatz zum weiteren parsieren der Keywort Zeilen mit den Funktionen parse_*() + +Fri May 9 09:58:25 2003 Joerg Schilling + * cdtext.c 1.9 + #include cdtext.h vor cdrecord.h wegen gettextptr() und den Typ textptr_t + +Fri May 9 09:57:08 2003 Joerg Schilling + * auinfo.c 1.20 + * cdrecord.h 1.152 + gettextptr() ist nun nicht mehr LOCAL + +Fri May 9 09:56:24 2003 Joerg Schilling + * cdtext.h 1.4 + #define CDTEXT_H fuer Erkennung dasz cdtext.h includiert wurde + +Thu May 8 20:13:07 2003 Joerg Schilling + * cue.c 1.9 + Umgestellt fuer mehr "Ordnung" + +Thu May 8 19:57:21 2003 Joerg Schilling + * cue.c 1.8 + Definitionen fuer alle Schluesselworte + +Thu May 8 19:44:42 2003 Joerg Schilling + * cue.c 1.7 + getlocal() beseitigt, parsecue()/fparsecue() neu + +Thu May 8 19:38:55 2003 Joerg Schilling + * scsiopen.c 1.94 + js_snprintf(errs, slen, scgp->errstr) -> js_snprintf(errs, slen, "%s", scgp->errstr) + +Thu May 8 19:38:14 2003 Joerg Schilling + * drv_mmc.c 1.148 + get_speeds_plextor() geht nicht mit alten LW, daher Ausfuerung im silent Mode + +Thu May 8 00:45:07 2003 Joerg Schilling + * cue.c 1.6 + Reihenfolge der Keyworte Kommentar + +Wed May 7 23:46:01 2003 Joerg Schilling + * cdrecord.h 1.151 + * wm_packet.c 1.22 + * fifo.c 1.45 + * cdrecord.c 1.255 + Umbau auf 'xio' + +Wed May 7 20:31:31 2003 Joerg Schilling + * xio.h 1.1 + * xio.c 1.1 + date and time created 03/05/07 19:31:31 by joerg + +Tue May 6 23:57:09 2003 Joerg Schilling + * cdrecord.h 1.150 + * cdrecord.1 1.78 + * cdrecord.c 1.254 + -abort Option neu + +Tue May 6 19:12:27 2003 Joerg Schilling + * cue.c 1.5 + Kommentar verbessert, lookup() mit table Parameter + +Tue May 6 00:35:47 2003 Joerg Schilling + * cue.c 1.4 + Kommentar verbessert + +Tue May 6 00:23:14 2003 Joerg Schilling + * cue.c 1.3 + Umbau auf Makefilesystem, ungetline()/getlocal() neu + +Sun May 4 18:41:33 2003 Joerg Schilling + * cdrecord.1 1.77 + Beschreibung der Audio Kopie aus Pipe + +Sun May 4 18:36:46 2003 Joerg Schilling + * cdrecord.c 1.253 + Version -> 2.01a13 + +Sun May 4 18:35:19 2003 Joerg Schilling + * cdrecord.h 1.149 + * cdrecord.c 1.252 + * auinfo.c 1.19 + Neue Funktion auinfosize() fuer AudioCDs aus Pipe Brennen + +Sun May 4 15:46:38 2003 Joerg Schilling + * cdrecord.c 1.251 + Neue Funktion opentracks() und Umstellung des Trackparsing + +Sun May 4 15:18:21 2003 Joerg Schilling + * fifo.c 1.44 + STDIN wird nicht mehr geschossen damit Audio "On the Fly" moeglich wird + +Sun May 4 15:16:43 2003 Joerg Schilling + * cdrecord.h 1.148 + Neues Track Flag TI_USEINFO, tracktype/dbtype nun Uchar + +Sun May 4 12:52:00 2003 Joerg Schilling + * cdrecord.c 1.250 + setuid(getuid()) nachdem alle root Dinge erledigt sind (hoffentlich) + +Sat May 3 20:09:17 2003 Joerg Schilling + * scsitransp.h 1.54 + * scsitransp.c 1.86 + scg_fprascii()/scg_prascii()/scg_sprascii() neu + +Sat May 3 19:39:32 2003 Joerg Schilling + * cdrecord.c 1.249 + gracewait setzt nun didgrace auf TRUE um doppeltes Warten zu vermeiden + +Fri May 2 22:49:20 2003 Joerg Schilling + * scsi-unixware.c 1.35 + Debug error() beseitigt + +Fri May 2 22:46:35 2003 Joerg Schilling + * scsi-unixware.c 1.34 + xpopen() neu damit suid root Binaries gehen, denn /etc/scsi/pdiconfig geht nicht wenn euid != uid + +Tue Apr 29 22:59:14 2003 Joerg Schilling + * cdrecord.c 1.248 + Version -> 2.01a11 + +Tue Apr 29 20:59:54 2003 Joerg Schilling + * cdrecord.c 1.247 + * cdrecord.1 1.76 + Neue Optionen -xa/-xamix und -multi/-mode2/-xa1/-xa2/-cdi korrigiert + +Tue Apr 29 20:41:16 2003 Joerg Schilling + * drv_mmc.c 1.147 + Support fuer TAO -mode2 + +Tue Apr 29 20:40:26 2003 Joerg Schilling + * cdrecord.h 1.147 + Definitionen fuer Daten Sektor Typen + +Tue Apr 29 00:27:20 2003 Joerg Schilling + * drv_mmc.c 1.146 + Bessere Ausgabe fuer formatierte RW Medien + +Tue Apr 29 00:26:27 2003 Joerg Schilling + * scsi_mmc.c 1.7 + Ausgave des Current Profile auf separater Zeile + +Wed Apr 23 23:25:27 2003 Joerg Schilling + * drv_dvdplus.c 1.5 + Ungebrauchte Variablen beseitigt + +Wed Apr 23 23:20:27 2003 Joerg Schilling + * scsi_cdr.c 1.133 + read_track_info() Bug gefixt (type Bits waren in cmd_cdb[2] statt cmd_cdb[1]) + +Wed Apr 23 23:19:24 2003 Joerg Schilling + * cdrecord.c 1.246 + gracewait() umstrukturiert + +Wed Apr 23 23:18:13 2003 Joerg Schilling + * scsi_mmc.c 1.6 + * drv_mmc.c 1.145 + * cdrecord.h 1.146 + print_profiles() neu + +Tue Apr 22 22:36:02 2003 Joerg Schilling + * cdrecord.c 1.245 + Return Code von (*dp->cdr_init)(scgp, dp) auswerten + +Tue Apr 22 19:08:58 2003 Joerg Schilling + * cdrecord.c 1.244 + raise_fdlim versucht nun nicht mehr z.B. ein Limit von 256 auf 109 zu "erhoehen". + +Tue Apr 22 17:47:29 2003 Joerg Schilling + * drv_mmc.c 1.144 + Fehlendes " ergaenzt + +Tue Apr 22 17:46:28 2003 Joerg Schilling + * drv_mmc.c 1.143 + Bessere Fehlermeldung fuer get next writable address auf formatierte CD-RW + +Tue Apr 22 17:42:06 2003 Joerg Schilling + * cdrecord.c 1.243 + Mehr Fehlermeldungen wenn in der Hauptschleife Fehler auftreten. + +Tue Apr 22 01:08:46 2003 Joerg Schilling + * cdrecord.c 1.242 + Version -> 2.01a11, gracewait() mit didgrace Parameter fuer Ausgabe ohne Warten + +Mon Apr 21 15:49:58 2003 Joerg Schilling + * cdrecord.c 1.241 + Format Code mit #ifdef DRV_DVD auskommentiert + +Mon Apr 21 15:40:04 2003 Joerg Schilling + * drv_mmc.c 1.142 + CL_TYPE_* #defines neu fuer scsi_close_tr_session() + +Mon Apr 21 15:39:13 2003 Joerg Schilling + * cdrecord.c 1.240 + -format & BOOL gracedone neu + +Mon Apr 21 15:23:22 2003 Joerg Schilling + * cdrecord.h 1.145 + * scsi_cdr.c 1.132 + request_sense_b()/reserve_tr_rzone() neu + +Mon Apr 21 14:22:51 2003 Joerg Schilling + * cdrecord.c 1.239 + Umbau auf gracewait() + +Sun Apr 20 16:26:57 2003 Joerg Schilling + * scsi_mmc.c 1.5 + get_format_capacities() neu + +Sun Apr 20 16:22:26 2003 Joerg Schilling + * drv_mmc.c 1.141 + read_track_info() mit erweiterten Parametern (Type) -> TI_TYPE_TRACK + +Sun Apr 20 16:21:22 2003 Joerg Schilling + * scsi_cdr.c 1.131 + read_track_info() mit erweiterten Parametern (Type), read_rzone_info() aus drv_dvd.c durch read_track_info() + +Sun Apr 20 16:20:40 2003 Joerg Schilling + * cdrecord.h 1.144 + F_FORMAT neu, WM_FORMAT neu, DSF_DVD_PLUS_R/DSF_DVD_PLUS_RW/DSF_NEED_FORMAT neu + read_track_info() mit erweiterten Parametern (Type), read_rzone_info() aus drv_dvd.c durch read_track_info() + get_format_capacities()/read_format_capacities() neu + +Sun Apr 20 15:52:45 2003 Joerg Schilling + * scsimmc.h 1.9 + struct disk_info um dbit & bg_format_stat erweitert + +Sun Apr 20 15:13:25 2003 Joerg Schilling + * scsireg.h 1.29 + struct scsi_format_header um immed/tryout/ipattern Bits erweitert + struct scsi_format_cap_header neu + struct scsi_format_cap_desc neu + struct scsi_cap_data neu + +Sun Apr 20 15:04:56 2003 Joerg Schilling + * scsicdb.h 2.18 + NACA Bit im Control Byte neu + +Fri Apr 18 16:53:04 2003 Joerg Schilling + * drv_dvd.c 1.106 + * drv_mmc.c 1.140 + * cdrecord.h 1.143 + * scsi_cdr.c 1.130 + read_dvd_structure() nun mit addr und layer Parameter + +Fri Apr 18 16:51:11 2003 Joerg Schilling + * scsi_mmc.c 1.4 + Unbenutze & Uninitialisierte Variablen beseitigt + +Thu Apr 17 23:13:07 2003 Joerg Schilling + * cdr_drv.c 1.34 + DVD+ Treiber neu + +Thu Apr 17 23:09:29 2003 Joerg Schilling + * drv_mmc.c 1.139 + Treibertexte besser eingerueckt + Umleitung auf DVD+ Treiber bei DVD+ Medium + Aufruf der dp->cdr_identify(scgp, dp, scgp->inq) Routine bei Weiterleitung auf DVD Treiber + +Thu Apr 17 09:45:56 2003 Joerg Schilling + * drv_sony.c 1.69 + * drv_philips.c 1.67 + * cdr_drv.c 1.33 + * cdrecord.h 1.142 + * drv_simul.c 1.46 + * drv_dvd.c 1.105 + * drv_jvc.c 1.79 + * drv_7501.c 1.14 + * drv_mmc.c 1.138 + cdr_format() Funktion neu + +Thu Apr 17 02:32:05 2003 Joerg Schilling + * drv_mmc.c 1.137 + load_media() fuer get_curprofile() im Silent Mode, wenn es ein CD Brenner ist dann wird nicht der CD-ROM Treiber returniert + +Thu Apr 17 01:10:51 2003 Joerg Schilling + * drv_mmc.c 1.136 + SCSI-3/MMC-3 medien Tests neu um DVD+ zu erkennen + +Thu Apr 17 00:04:06 2003 Joerg Schilling + * scsi_mmc.c 1.3 + Vermeiden von pname(profile) ohne #defne DRV_DVD + +Wed Apr 16 23:40:46 2003 Joerg Schilling + * drv_mmc.c 1.135 + mmc_getval() weiter nach hinten - nach Korrektur der Inquiry Daten fuer ATAPI + +Wed Apr 16 22:49:41 2003 Joerg Schilling + * drv_mmc.c 1.134 + Treiber ID Text (Kommentar) verbessert + +Wed Apr 16 22:42:59 2003 Joerg Schilling + * drv_sony.c 1.68 + Cue sheet Option auf 3 setzen + +Wed Apr 16 22:40:00 2003 Joerg Schilling + * cdrecord.1 1.75 + Hinweis auf mkisofs -print-size bei SAO/RAW + +Wed Apr 16 22:28:03 2003 Joerg Schilling + * cdr_drv.c 1.32 + SCSI-3/mmc-3 Support fuer DVD + DDCD Erkennung mit get_proflist() + +Wed Apr 16 22:25:56 2003 Joerg Schilling + * scsimmc.h 1.8 + struct rzone_info um lra_v erweitert + struct mmc_performance_header / struct mmc_performance / struct mmc_exceptions / struct mmc_write_speed / struct mmc_streaming neu + +Wed Apr 16 22:01:14 2003 Joerg Schilling + * cdrecord.h 1.141 + get_proflist()/get_wproflist() aus scsi_mmc.c neu + +Wed Apr 16 22:00:33 2003 Joerg Schilling + * scsi_mmc.c 1.2 + get_conflen()/get_profiles()/get_proflist()/get_wproflist() neu + +Wed Apr 16 00:49:27 2003 Joerg Schilling + * drv_mmc.c 1.133 + get_speeds_plextor() komplett in die Statistik Funktion verlagert + +Wed Apr 16 00:28:09 2003 Joerg Schilling + * scsi_mmc.c 1.1 + date and time created 03/04/15 23:28:09 by joerg + +Wed Apr 16 00:28:00 2003 Joerg Schilling + * cdrecord.h 1.140 + scsi_mmc.c Definitionen neu + +Wed Apr 16 00:12:54 2003 Joerg Schilling + * drv_mmc.c 1.132 + Trebertabellen aufgeraeumt + +Tue Apr 15 18:57:54 2003 Joerg Schilling + * cdrecord.h 1.139 + track_base(tp) Makro repariert (tp)->track statt (tp)->trackno + +Tue Apr 15 10:01:43 2003 Joerg Schilling + * drv_dvd.c 1.104 + TAO Fake beseitigt + +Sun Apr 13 21:54:15 2003 Joerg Schilling + * drv_sony.c 1.67 + #include timedefs.h fehlte + +Sun Apr 13 18:54:27 2003 Joerg Schilling + * drv_sony.c 1.66 + Erste SAO Implementierung (ohne MCN/ISRC/multi-session) + +Sun Apr 13 17:15:15 2003 Joerg Schilling + * drv_dvd.c 1.103 + * drv_simul.c 1.45 + * drv_jvc.c 1.78 + * drv_mmc.c 1.131 + * drv_7501.c 1.13 + * cdrecord.c 1.238 + * cdrecord.h 1.138 + * drv_philips.c 1.66 + cdr_abort_session() neu + +Sun Apr 13 17:10:44 2003 Joerg Schilling + * drv_mmc.c 1.130 + "Selected write speed:" -> "Last selected write speed:" + +Sun Apr 13 13:59:26 2003 Joerg Schilling + * scsi_cdr.c 1.129 + Intelligenteres scsi_load() kennt nun CDR_CADDYLOAD + +Sun Apr 13 13:54:27 2003 Joerg Schilling + * drv_philips.c 1.65 + Yamaha CDR-100 nun mit scsi_load() + +Sun Apr 13 13:36:00 2003 Joerg Schilling + * cdrecord.c 1.237 + Version -> 2.01a10, Neue Funktion print_drflags() + +Sun Apr 13 13:35:26 2003 Joerg Schilling + * cdrecord.h 1.137 + Kommentar verbessert + +Sun Apr 13 12:28:01 2003 Joerg Schilling + * cdrecord.c 1.236 + * scsi_cdr.c 1.128 + scsi_load()/scsi_unload() nun mit korrektem Return Wert (int statt BOOL) und Auswertung des Return Wertes in load_media()/unload_media() + +Fri Apr 11 15:31:30 2003 Joerg Schilling + * drv_mmc.c 1.129 + * drv_7501.c 1.12 + (*dp->cdr_gen_cue)() Aufruf nun ueber Pointer + +Fri Apr 11 15:27:44 2003 Joerg Schilling + * drv_dvd.c 1.102 + * drv_simul.c 1.44 + * drv_mmc.c 1.128 + * cdr_drv.c 1.31 + * cdrecord.h 1.136 + * drv_7501.c 1.11 + (*dp->cdr_send_cue)() nun mit cdr_t * Parameter + +Fri Apr 11 15:18:57 2003 Joerg Schilling + * drv_7501.c 1.10 + * drv_simul.c 1.43 + * drv_philips.c 1.64 + * drv_dvd.c 1.101 + * drv_mmc.c 1.127 + * drv_sony.c 1.65 + * drv_jvc.c 1.77 + * cdrecord.h 1.135 + * cdrecord.c 1.235 + Neue Funktion (*cdr_gen_cue)() + +Fri Apr 11 01:25:58 2003 Joerg Schilling + * drv_mmc.c 1.126 + get_speeds_plextor() nun mit 3 int * Parametern, Ausgabe der Maximalen Brenngeschwindigkeit in stats_mmc() + +Fri Apr 11 00:53:30 2003 Joerg Schilling + * cdrecord.c 1.234 + * cdrecord.h 1.134 + is_sao() & TI_SAO neu, checktsize() ueberprueft nun ob ein Track mit unbekannter Laenge in SAO/RAW mode vorhanden ist und bricht ab + +Thu Apr 10 21:18:42 2003 Joerg Schilling + * drv_philips.c 1.63 + * drv_simul.c 1.42 + * drv_7501.c 1.9 + * cdr_drv.c 1.30 + * cdrecord.h 1.133 + * drv_jvc.c 1.76 + * drv_dvd.c 1.100 + * drv_sony.c 1.64 + * scsi_cdr.c 1.127 + * drv_mmc.c 1.125 + * cdrecord.c 1.233 + cdr_check_recovery()/cdr_recover()/cdr_close_session() nun mit cdr_t * Parameter + +Thu Apr 10 19:19:22 2003 Joerg Schilling + * cdrecord.h 1.132 + Kommentar eingerueckt + +Thu Apr 10 19:15:16 2003 Joerg Schilling + * cdrecord.c 1.232 + * cdrecord.h 1.131 + * drv_sony.c 1.63 + * drv_simul.c 1.41 + * drv_philips.c 1.62 + * drv_mmc.c 1.124 + * drv_7501.c 1.8 + * drv_jvc.c 1.75 + * drv_dvd.c 1.99 + cdr_init() neu, cdr_speed_select() nun ohne "dummy" Parameter + +Thu Apr 10 15:32:14 2003 Joerg Schilling + * drv_mmc.c 1.123 + get_speeds_plextor() neu + +Sun Apr 6 15:49:07 2003 Joerg Schilling + * cdrecord.1 1.74 + Neue driveropts= speedread/singlesession/hidecdr + +Sun Apr 6 15:48:07 2003 Joerg Schilling + * cdrecord.c 1.231 + (*dp->cdr_set_speed_dummy)() Aufruf bei -setdropts zwischen cdr_opt1() und cdr_opt2() + +Sun Apr 6 15:45:45 2003 Joerg Schilling + * drv_mmc.c 1.122 + Support fuer Plextor PowerRec, SpeedReeed, SongleSession, HideCDR + +Sun Apr 6 02:19:35 2003 Joerg Schilling + * cdrecord.c 1.230 + * cdrecord.h 1.130 + #defines und Auswertung fuer CDR_SINGLESESS/CDR_HIDE_CDR/CDR_SPEEDREAD neu + +Sat Apr 5 22:35:50 2003 Joerg Schilling + * cdrecord.h 1.129 + * cdrecord.c 1.229 + * cdrecord.1 1.73 + Neue Option -setdropts + +Sat Apr 5 20:51:06 2003 Joerg Schilling + * drv_mmc.c 1.121 + mmc_load/mmc_unload() auskommentiert + +Sat Apr 5 20:46:51 2003 Joerg Schilling + * drv_mmc.c 1.120 + opt2_mmc() neu und Kode aus open_session_mmc() dorthin bewegt + +Sat Apr 5 20:43:36 2003 Joerg Schilling + * scsi_cdr.c 1.126 + * cdrecord.c 1.228 + Bessere Buffer underrun Erkennung und Beschreibung + +Sat Apr 5 15:49:22 2003 Joerg Schilling + * drv_sony.c 1.62 + * drv_mmc.c 1.119 + * drv_simul.c 1.40 + * drv_7501.c 1.7 + * cdrecord.c 1.227 + * drv_philips.c 1.61 + * drv_jvc.c 1.74 + * cdrecord.h 1.128 + * drv_dvd.c 1.97 + (*dp->cdr_opt2)(scgp, dp) neu + +Sat Apr 5 15:37:12 2003 Joerg Schilling + * cdrecord.c 1.226 + Buffer Underrun Vorhersage verbessert (kein loeschen am Trackanfang & zusaetzlicher Test auf leres RAM) + +Sat Apr 5 01:42:33 2003 Joerg Schilling + * drv_mmc.c 1.118 + Read Burn Proof Counter fuer Plextor + +Fri Apr 4 23:48:28 2003 Joerg Schilling + * scsi-unixware.c 1.33 + Reset Support neu + +Fri Apr 4 00:44:59 2003 Joerg Schilling + * cdrecord.c 1.225 + -packet impliziert nun nicht mehr TAO + +Fri Apr 4 00:35:13 2003 Joerg Schilling + * drv_7501.c 1.6 + cw7501__do_cue() nun korrekt LOCAL + +Fri Apr 4 00:30:05 2003 Joerg Schilling + * auinfo.c 1.18 + * subchan.c 1.16 + trackp->tracktype & TOC_MASK wegen TOCF_DUMMY/TOCF_MULTI + +Fri Apr 4 00:29:09 2003 Joerg Schilling + * drv_sony.c 1.61 + * drv_simul.c 1.39 + * drv_7501.c 1.5 + * drv_philips.c 1.60 + * cdrecord.h 1.127 + * cdrecord.c 1.224 + * drv_mmc.c 1.117 + * drv_jvc.c 1.73 + * drv_dvd.c 1.96 + cdr_open_session()/cdr_fixate() ohne multi/dummy Parameter -> track[0].tracktype + +Thu Apr 3 22:49:10 2003 Joerg Schilling + * drv_jvc.c 1.72 + * drv_dvd.c 1.95 + * wm_packet.c 1.21 + * cdrecord.c 1.223 + Casting wegen Signed/Unsigned Arithmetik bei ANSI C + +Thu Apr 3 22:32:30 2003 Joerg Schilling + * drv_sony.c 1.60 + * drv_7501.c 1.4 + * drv_simul.c 1.38 + * drv_dvd.c 1.94 + * drv_philips.c 1.59 + * drv_mmc.c 1.116 + * drv_jvc.c 1.71 + * cdrecord.c 1.222 + * cdrecord.h 1.126 + cdr_open_session()/cdr_fixate() Treiberinterface nun ohne toctype Parameter -> trackp[0]->tracktype + +Thu Apr 3 20:51:34 2003 Joerg Schilling + * fifo.c 1.43 + int -> Uint wegen Ansi C Vergleich + +Thu Apr 3 20:46:46 2003 Joerg Schilling + * clone.c 1.6 + first/last int -> Uint wegen Ansi C Vergleich + +Thu Apr 3 20:42:01 2003 Joerg Schilling + * subchan.c 1.15 + j int -> Uint wegen Ansi C Vergleich + +Thu Apr 3 18:16:00 2003 Joerg Schilling + * cdrecord.c 1.221 + Neue Option -lock + prtimediff() -> misc.c + Version -> 2.01a09 + +Thu Apr 3 18:15:00 2003 Joerg Schilling + * cdrecord.1 1.72 + Neue Option -lock + +Thu Apr 3 18:14:43 2003 Joerg Schilling + * misc.c 1.3 + prtimediff() aus cdrecord.c neu + +Thu Apr 3 18:14:05 2003 Joerg Schilling + * drv_mmc.c 1.115 + int/Uint Vergleiche gecastet + test auf tracksize < 0 vor do_cue() + Versuch zu erreichen dasz is_packet(trackp) nicht mehr is_tao(trackp) impliziert + +Thu Apr 3 18:11:45 2003 Joerg Schilling + * cdrecord.h 1.125 + F_DLCK & prtimediff() neu + +Thu Apr 3 18:11:22 2003 Joerg Schilling + * drv_7501.c 1.3 + Support fuer SAO neu + +Sun Mar 30 22:16:25 2003 Joerg Schilling + * drv_7501.c 1.2 + Schreibsupport fuer TAO + +Sun Mar 30 13:50:02 2003 Joerg Schilling + * cdrecord.c 1.220 + * drv_mmc.c 1.114 + Eingerueckt nach cstyle + +Sat Mar 29 20:27:16 2003 Joerg Schilling + * scsi-unixware.c 1.32 + Auswertung von scbp->sc_comp_code und Setzten von sp->error + +Thu Mar 27 12:11:17 2003 Joerg Schilling + * readcd.c 1.54 + meshpoints=# Option neu + +Thu Mar 27 01:15:30 2003 Joerg Schilling + * cdrecord.c 1.219 + 2002 -> 2003 + +Thu Mar 27 01:03:48 2003 Joerg Schilling + * cdr_drv.c 1.29 + cw7501 neu + +Thu Mar 27 01:02:47 2003 Joerg Schilling + * drv_7501.c 1.1 + date and time created 03/03/27 01:02:47 by joerg + +Thu Mar 27 00:53:40 2003 Joerg Schilling + * cdrecord.c 1.218 + Version -> 2.01a07, Unterdrueckung von "Warning: blockdesc secsize %d differs from cap secsize %d\n" wenn scgp->cap->c_bsize == 0 + +Thu Mar 27 00:45:34 2003 Joerg Schilling + * cdrecord.h 1.124 + Eingerueckt nach cstyle + +Thu Mar 27 00:43:06 2003 Joerg Schilling + * drv_mmc.c 1.113 + mmc_load()/mmc_unload() mit 2. Parameter cdr_t * + +Tue Mar 25 18:48:41 2003 Joerg Schilling + * scsi-qnx.c 1.2 + sccsid -> __sccsid + +Mon Mar 24 23:25:04 2003 Joerg Schilling + * cdrecord.c 1.217 + Version -> 2.01a06, Handler fuer SGIHUP/SIGTERM, cdr_underrun() neu + +Mon Mar 24 23:23:38 2003 Joerg Schilling + * scsi_cdr.c 1.125 + * cdrecord.h 1.123 + cdr_underrun() neu + +Mon Mar 24 13:01:28 2003 Joerg Schilling + * scsi-unixware.c 1.31 + Beseitigung von fdesc[MAX_SCG][MAX_TGT][MAX_LUN] und Verkleinerung von sdidevs[scg][tgt][lun] + Nun kann wirklich scg_open() mehrmals aufgerufen werden. + +Sun Mar 23 21:10:45 2003 Joerg Schilling + * scsi-unixware.c 1.30 + valid/atapi/initiator -> flags mit SDI_* Bit #defines + +Sun Mar 23 17:33:07 2003 Joerg Schilling + * scsi-unixware.c 1.29 + Besseres Verhalten fuer scgcheck + +Sun Mar 23 15:14:23 2003 Joerg Schilling + * scsi-unixware.c 1.28 + Eingerueckt wegen cstyle(1) + +Sun Mar 23 14:12:01 2003 Joerg Schilling + * scsihack.c 1.42 + Support fuer QNX neu + +Sun Mar 23 14:11:14 2003 Joerg Schilling + * scsi-qnx.c 1.1 + date and time created 03/03/23 14:11:14 by joerg + +Thu Mar 6 16:39:42 2003 Joerg Schilling + * fifo.c 1.42 + faio_wait_on_buffer() mit Prototype implementierung wegen SCO cc + +Thu Mar 6 16:27:52 2003 Joerg Schilling + * cdrecord.1 1.71 + Beschreibung fuer -xa1 -xa2, ... berichtigt + +Fri Feb 7 12:34:37 2003 Joerg Schilling + * cdrecord.1 1.70 + Schreibfehler beseitigt + +Sun Feb 2 14:13:07 2003 Joerg Schilling + * scsi-remote.c 1.12 + Umgestellt, damit es auch ohne rcmd() geht + +Tue Jan 28 01:19:39 2003 Joerg Schilling + * drv_mmc.c 1.112 + Workaround fuer LG TAO Audio Formware bug: audio_pause_len = 150 + +Tue Jan 7 14:09:28 2003 Joerg Schilling + * scsi_cdr.c 1.124 + Ausgabe Save/Set Modepages auch auf stderr wie Rest der Zeile + +Tue Jan 7 14:08:43 2003 Joerg Schilling + * drv_mmc.c 1.111 + set_mode_params() ist BOOL, daher ist Abfrage auf < 0 falsch + +Tue Dec 24 16:28:38 2002 Joerg Schilling + * cdrecord.1 1.69 + Version -> 2.0 + +Tue Dec 24 14:16:34 2002 Joerg Schilling + * cdrecord.c 1.216 + Mail Adresse -> schilling@fokus.fhg.de + Vermeidung von "Cannot write CD's >= 100 minutes.\n" bei DVDs + +Mon Dec 16 22:26:39 2002 Joerg Schilling + * cdrecord.1 1.68 + Mailing Lists geupdated, Hinweis auf cddb= bei den cdda2wav Beispielen + +*************** Release 2.0 ******************* + +Sat Nov 30 17:43:51 2002 Joerg Schilling + * readcd.c 1.53 + * cdrecord.c 1.215 + Version -> 2.0 + +Sat Nov 30 16:11:27 2002 Joerg Schilling + * cdrecord.c 1.214 + DVD-Pro Check for Tracksize-known only if ntracks > 0 + +Sat Nov 30 13:01:27 2002 Joerg Schilling + * drv_mmc.c 1.110 + Allow Medium removal after load Media for DVD/CD recognition as drecord -checkdrive would otherwise lock the tray if it has been open before + +Sat Nov 30 12:55:17 2002 Joerg Schilling + * scsi-osf.c 1.25 + Debug output with SCSI Status Byte + +Fri Nov 22 17:55:41 2002 Joerg Schilling + * cdrecord.1 1.67 + RSH= und RSCSI= documented for ssh(1) RSCSI + +Fri Nov 22 17:40:35 2002 Joerg Schilling + * scsi-remote.c 1.11 + Support for non-root rcmd() and ssh(2) + +Fri Nov 22 17:35:54 2002 Joerg Schilling + * fifo.c 1.41 + AmigaOS Support with ix_vfork()/ix_vfork_resume() and separate var buf_idx_reader for vfork() + +Thu Nov 21 22:28:57 2002 Joerg Schilling + * cdrecord.c 1.213 + New Option minbuf= + +Thu Nov 21 22:23:10 2002 Joerg Schilling + * cdrecord.1 1.66 + minbuf= Option new + +Tue Nov 19 19:13:34 2002 Joerg Schilling + * scsiopen.c 1.93 + Fix for Coredump with dev=/dev/rsr1c:@,0 + +Sun Nov 10 19:18:04 2002 Joerg Schilling + * diskid.c 1.36 + Orange Forum Embargo Warning only if mp->msf_min == 97 for DVDs + +Mon Nov 4 18:12:16 2002 Joerg Schilling + * fifo.c 1.40 + close(f) /dev/zero oly if /dev/zero has been opened + +Sun Nov 3 16:32:52 2002 Joerg Schilling + * scsi_cdr.c 1.123 + * cdrecord.h 1.122 + write_xscsi()/seek_scsi()/seek_g0()/seek_g1() new + +Sat Nov 2 22:11:55 2002 Joerg Schilling + * cdrecord.c 1.212 + Version -> 1.11a40, _POSIX_MEMLOCK/_POSIX_PRIORITY_SCHEDULING Test POSIX 2001 conformant + +Sun Oct 27 15:19:29 2002 Joerg Schilling + * cdrecord.c 1.211 + New Wait Feature free the IDE Busses if Source&Destination are on the same cable (use -immed) + +Sun Oct 27 14:57:11 2002 Joerg Schilling + * cdrecord.1 1.65 + New Wait (usleep) Feature for -immed documented + +Sun Oct 27 14:42:36 2002 Joerg Schilling + * cdrecord.h 1.121 + New Flag RF_WR_WAIT to actively free the IDE Busses via usleep() + +Sun Oct 27 02:26:26 2002 Joerg Schilling + * cdrecord.c 1.210 + * wm_packet.c 1.20 + * drv_jvc.c 1.70 + Change from trackp->padsize ->trackp->padsecs + +Sun Oct 27 02:02:38 2002 Joerg Schilling + * cdrecord.h 1.120 + Change from trackp->padsize ->trackp->padsecs + New Sektor based Makros Sminutes(s)/Sseconds(s)/Shseconds(s)/Sframes(s) + +Sun Oct 27 01:20:58 2002 Joerg Schilling + * cdrecord.1 1.64 + Better docukmentation for padsize= + +Sat Oct 26 23:13:47 2002 Joerg Schilling + * scsi_cdr.c 1.122 + Text Generic mmc2 DVD -> Generic mmc2 DVD-R/DVD-RW + +Sat Oct 26 20:21:15 2002 Joerg Schilling + * wm_packet.c 1.19 + Support printing the fill ratio of the drive buffer and the actual write speed + +Fri Oct 25 15:06:33 2002 Joerg Schilling + * drv_mmc.c 1.109 + ATIP printinf for speed better -> %2d (reserved val %2d) + +Fri Oct 25 15:05:21 2002 Joerg Schilling + * cdrecord.c 1.209 + pad_track() now shows Drive buffer fill% and speed + Verbose prinrting for write_track_data() and pad_track() unified + +Fri Oct 25 00:49:04 2002 Joerg Schilling + * cdrecord.c 1.208 + Warning for cdrecord blank=fast if drive does not like -> Try cdrecord blank=all + write_track_data() now computes trackp->isecsize from trackp->isecsize to trackp->secsize + +Fri Oct 25 00:18:19 2002 Joerg Schilling + * drv_mmc.c 1.108 + BURN-Free was not used -> BURN-Free was never needed + +Fri Oct 25 00:06:12 2002 Joerg Schilling + * drv_mmc.c 1.107 + Test for 0xFF:0xFF/0xFF with dsp->ds_maxblocks == 716730 -> dsp->ds_maxblocks == 1166730 because we now use forceposivive in msf_to_lba() + +Thu Oct 24 23:47:23 2002 Joerg Schilling + * drv_mmc.c 1.106 + di_to_dstat() now always sets dsp->ds_first_leadin to allow 2. setting for Yamaha AudioMaster + +Wed Oct 23 22:46:02 2002 Joerg Schilling + * cdrecord.c 1.207 + Version -> 1.11a39, Only cdrecord dev=help calls scg_help() no automatic printing if scg_open() fails + +Wed Oct 23 22:40:41 2002 Joerg Schilling + * cdrecord.1 1.63 + Many changes tp prepare for 2.0 + +Wed Oct 23 22:21:46 2002 Joerg Schilling + * scsi-linux-ata.c 1.4 + Workaround for Linux Kernel design bug: CDROM_SEND_PACKET stes errno to EINVAL if Sense Key is "Invalid Command" + +Mon Oct 21 19:20:33 2002 Joerg Schilling + * scsi-linux-sg.c 1.75 + /dev/sg* read loop again with 1000 loops but only if 'f' is a RAW device + Typo fixed + +Sun Oct 20 15:28:58 2002 Joerg Schilling + * scsi-linux-sg.c 1.74 + sg_clearnblock() new to alow to clear O_NONBLOCK directly after open(.., ...|O_NONBLOCK) + +Sat Oct 19 22:04:23 2002 Joerg Schilling + * cdrecord.c 1.206 + Version -> 1.11a38, Support for libscg Help + +Sat Oct 19 21:28:22 2002 Joerg Schilling + * scsiopen.c 1.92 + * scsihack.c 1.41 + scg_help() Funktion new + +Sat Oct 19 21:27:21 2002 Joerg Schilling + * scsitransp.c 1.85 + Version -> 0.7 + +Sat Oct 19 21:26:25 2002 Joerg Schilling + * scsi-wnt.c 1.29 + * scsi-vms.c 1.32 + * scsi-unixware.c 1.27 + * scsi-sun.c 1.76 + * scsi-sgi.c 1.35 + * scsi-remote.c 1.10 + * scsi-osf.c 1.24 + * scsi-os2.c 1.22 + * scsi-openserver.c 1.30 + * scsi-next.c 1.31 + * scsi-mac-iokit.c 1.4 + * scsi-linux-sg.c 1.73 + * scsi-linux-pg.c 1.42 + * scsi-linux-ata.c 1.3 + * scsi-hpux.c 1.30 + * scsi-bsd.c 1.41 + * scsi-bsd-os.c 1.27 + * scsi-beos.c 1.21 + * scsi-apollo.c 1.4 + * scsi-amigaos.c 1.3 + * scsi-aix.c 1.35 + scgo_help() Funktion new + +Sat Oct 19 19:14:05 2002 Joerg Schilling + * scsitransp.h 1.53 + Parameter tcomment new in __scg_help() + +Sat Oct 19 14:02:47 2002 Joerg Schilling + * scsitransp.h 1.52 + Help functions new + +Fri Oct 18 17:25:31 2002 Joerg Schilling + * scsi-linux-sg.c 1.72 + Modified Cleanup read() loop in sg_initdev() by request from Linus Torvalds + +Fri Oct 18 17:20:00 2002 Joerg Schilling + * scsi-sun.c 1.75 + open Warnung von error() auf js_fprintf((FILE *)scgp->errfile umgestellt + +Fri Oct 18 17:16:48 2002 Joerg Schilling + * scsiopen.c 1.91 + * scsi-linux-ata.c 1.2 + * scsi-sun.c 1.74 + Allow unified dev=ATAPI, dev=ATAPI:, dev=USCSI, dev=USCSI: + +Sun Oct 13 21:40:59 2002 Joerg Schilling + * scsi-linux-sg.c 1.71 + open(name, 2) -> O_RDWR.... + sg_initdev() with better loop to read possible rests from driver (requested by Linus Torvalds) + +Sun Oct 13 21:23:54 2002 Joerg Schilling + * scsi-sun.c 1.73 + * scsi-linux-pg.c 1.41 + open(name, 2) -> O_RDWR.... + +Sat Oct 12 13:53:52 2002 Joerg Schilling + * sector.c 1.11 + Initialize Testsector in encspeed() to make resulting speed independent from junk on the stack + +Thu Oct 10 23:43:33 2002 Joerg Schilling + * cdrecord.c 1.205 + Change wording from DAO -> SAO + +Wed Oct 9 19:36:09 2002 Joerg Schilling + * scsireg.h 1.28 + New device types for Inquiry + +Wed Oct 9 19:35:44 2002 Joerg Schilling + * scsitransp.c 1.84 + scg_fprintdev() New device types for Inquiry + +Tue Oct 8 00:57:50 2002 Joerg Schilling + * scsi-unixware.c 1.26 + Handle EBUSY for multiple opens + +Mon Oct 7 22:19:15 2002 Joerg Schilling + * sector.c 1.10 + * cdrecord.h 1.119 + * cdrecord.c 1.204 + Verbose printing of the LEC encoding speed -> encspeed() + +Sat Oct 5 22:07:27 2002 Joerg Schilling + * cdrecord.c 1.203 + call cdr_buffer_cap() in Silent mode to make sure buggy drives (CW-7585) will not print constantly error messages + +Sat Oct 5 18:07:46 2002 Joerg Schilling + * scsi-linux-ata.c 1.1 + date and time created 02/10/05 17:07:46 by joerg + +Sat Oct 5 17:48:27 2002 Joerg Schilling + * scsi-linux-sg.c 1.70 + Support for CDROM_SEND_PACKET in scsi-linux-ata.c new + SCSI Timeout now may be distinguished from SCSI selection Timeout by implementing a workarounf for a Linux kernel bug + +Sat Oct 5 00:02:52 2002 Joerg Schilling + * scsi-sun.c 1.72 + Do not open all /dev/scg* devices if not in SCAN mode + ENXIO for USCSI means selection Timeout + +Fri Oct 4 23:59:05 2002 Joerg Schilling + * scsi-vms.c 1.31 + Warn for missing Scanbus, up to 26 IDE Controller from Chip.Dancy@hp.com + +Wed Oct 2 21:44:22 2002 Joerg Schilling + * cdrecord.c 1.202 + Version -> 1.11a36, #ifdef HAVE_LIB_EDC_ECC to allow compilation without libedc + +Wed Oct 2 02:22:32 2002 Joerg Schilling + * fifo.c 1.39 + Allow again compilation with #undef FIFO + +Wed Oct 2 00:54:52 2002 Joerg Schilling + * scsiopen.c 1.90 + replace comma by semikolon + +Wed Oct 2 00:48:49 2002 Joerg Schilling + * scsi-vms.c 1.30 + gk_chan is Unsigned but there was a comparison <= 0 + scsi status scsi_sts now correct for ATAPI + +Sat Sep 28 20:36:58 2002 Joerg Schilling + * drv_mmc.c 1.105 + deflt_writemodes_mmc() now with fallback to SAO if TAO is not supported + +Sat Sep 28 14:53:33 2002 Joerg Schilling + * cdrecord.c 1.201 + -force Wirkung auf RAW Speed nur noch bis maximal das was eine CPU kann + Neue environment Variable "CDR_FORCERAWSPEED" + +Sat Sep 28 14:46:54 2002 Joerg Schilling + * sector.c 1.9 + EDC_SCRAMBLE_NOSWAP #define in old libedc new + +Fri Sep 27 17:39:00 2002 Joerg Schilling + * cdrecord.c 1.200 + Limit gracetime to 999, Do not use \b with wait time because seconds may use more than one column + +Fri Sep 27 16:40:46 2002 Joerg Schilling + * drv_simul.c 1.37 + DVD max speed -> 1000 + +Fri Sep 27 14:33:00 2002 Joerg Schilling + * cdrecord.c 1.199 + Drive current speed/Drive default speed/Drive max speed printing now with lverbose > 1 + Hint to Heiko with Encoding speed printing + +Fri Sep 27 14:30:18 2002 Joerg Schilling + * drv_mmc.c 1.104 + Max Speed in struct from 370 -> 372, + mmc_opthelp()/hasdrvopt()/get_justlink_ricoh() now with EXPORT + Bug with dp->cdr_dstat->ds_dr_cur_wspeed fixed, + set dp->cdr_speeddef/dp->cdr_speedmax from drive values + +Fri Sep 27 14:28:27 2002 Joerg Schilling + * drv_dvd.c 1.89 + Change to use new driveropts= method from drv_mmc.c + +Fri Sep 27 14:25:18 2002 Joerg Schilling + * drv_simul.c 1.36 + Max Speed for CD from 370 -> 372 + +Thu Sep 26 03:06:39 2002 Joerg Schilling + * scsi_cdr.c 1.121 + scsi_load()scsi_unload() now may be called with cdr_t * 0 + +Wed Sep 25 18:05:41 2002 Joerg Schilling + * drv_mmc.c 1.103 + scsi_blank()/scsi_close_tr_session()/scsi_flush_cache() with immed Flag + +Wed Sep 25 16:12:10 2002 Joerg Schilling + * cdrecord.h 1.117 + * cdrecord.c 1.198 + * drv_simul.c 1.35 + * drv_philips.c 1.58 + * scsi_cdr.c 1.120 + * drv_dvd.c 1.88 + start/stop, load/unload, flush_cache with immed Parameter + +Wed Sep 25 14:22:26 2002 Joerg Schilling + * drv_jvc.c 1.69 + * drv_dvd.c 1.87 + * drv_mmc.c 1.102 + * cdr_drv.c 1.28 + * cdrecord.c 1.197 + * cdrecord.h 1.116 + blank() driver function now weith cdr_t * parameter for F_IMMED + +Wed Sep 25 13:52:12 2002 Joerg Schilling + * cdrecord.c 1.196 + -immed new + +Wed Sep 25 13:51:28 2002 Joerg Schilling + * cdrecord.c 1.195 + F_DVD -> TI_DVD (was wrong) + +Wed Sep 25 13:13:11 2002 Joerg Schilling + * cdrecord.h 1.115 + F_DVD -> TI_DVD (was wrong), F_IMMED new + +Wed Sep 25 00:38:52 2002 Joerg Schilling + * cdrecord.c 1.194 + * cdrecord.h 1.114 + * drv_sony.c 1.59 + * drv_simul.c 1.34 + * drv_philips.c 1.57 + * drv_mmc.c 1.101 + * drv_jvc.c 1.68 + * drv_dvd.c 1.86 + close_track()/fixate() enhanced by cdr_t * Parameter + +Tue Sep 24 21:28:33 2002 Joerg Schilling + * drv_mmc.c 1.100 + mmc_set_speed() new to allow drives that don't like speed=1 + +Tue Sep 24 18:40:42 2002 Joerg Schilling + * cdrecord.c 1.193 + Version -> 1.11a35, Do not print Zeit/speed Statistics if writing did not yet start + +Tue Sep 24 18:36:56 2002 Joerg Schilling + * scsi_cdr.c 1.119 + Modify speed printing to include CD/DVD Speed + +Mon Sep 23 15:42:22 2002 Joerg Schilling + * drv_simul.c 1.33 + Simulate Next Writable Address (for TAO) + +Mon Sep 23 15:39:22 2002 Joerg Schilling + * cdrecord.c 1.192 + Move Comment out of #ifdef DRV_DVD + +Mon Sep 23 15:17:56 2002 Joerg Schilling + * cdrecord.c 1.191 + Fix Pregap handling for DVD (no 150 Sektors per Track) + +Sun Sep 22 01:35:18 2002 Joerg Schilling + * cdrecord.h 1.113 + F_DVD new + +Sun Sep 22 00:11:57 2002 Joerg Schilling + * drv_dvd.c 1.85 + Set DVD Flag in driverstructure because it is now used + +Sat Sep 21 23:59:25 2002 Joerg Schilling + * drv_simul.c 1.32 + Set DVD Flags, calculate DVD speed correctly, + correct real time spend in usleep() + +Sat Sep 21 01:33:16 2002 Joerg Schilling + * cdrecord.c 1.190 + Version -> 1.11a34, Late check for tracks == 0 only if -fix was not used + +Fri Sep 20 01:58:54 2002 Joerg Schilling + * auinfo.c 1.17 + -auinfo should be superceede -scms / -copy + +Thu Sep 12 17:16:35 2002 Joerg Schilling + * cdrecord.c 1.189 + Statistics order new and better, + Print new statistics even on abort + +Thu Sep 12 17:03:42 2002 Joerg Schilling + * cdrecord.h 1.112 + New Flags RF_DID_STAT/RF_DID_CDRSTAT + +Thu Sep 12 16:42:57 2002 Joerg Schilling + * drv_philips.c 1.56 + Modified -> reload_media() + +Thu Sep 12 15:52:20 2002 Joerg Schilling + * drv_mmc.c 1.99 + cdr_dstat->ds_dr_max_rspeed/cdr_dstat->ds_dr_cur_rspeed neu + cdr_dstat->ds_dr_max_speed/cdr_dstat->ds_dr_cur_speed -> cdr_dstat->ds_dr_max_wspeed/cdr_dstat->ds_dr_cur_wspeed + scsi_set_speed() with MMC-3 rotctl Parameter + +Thu Sep 12 15:47:01 2002 Joerg Schilling + * cdrecord.c 1.188 + Version -> 1.11a33, ds_dr_max_speed -> ds_dr_max_wspeed + +Thu Sep 12 15:43:36 2002 Joerg Schilling + * drv_dvd.c 1.84 + * scsi_cdr.c 1.118 + * cdrecord.h 1.111 + scsi_set_speed() mit MMC-3 rotctl Parameter + +Thu Sep 12 14:37:26 2002 Joerg Schilling + * drv_mmc.c 1.98 + dsp->ds_flags with DSF_HIGHSP_ERA / DSF_ULTRASP_ERA + New Speed Tabels for HS and UHS RW media + atip_printspeed() new + Print A1 ATIP Werte also in hex + Modify ATIP printout for UHS CD-RW + +Thu Sep 12 13:34:49 2002 Joerg Schilling + * cdrecord.c 1.187 + Driveropts print MMC,MMC-2,MMC-3 + -force now allows to write faster data in -raw Data + Checks for Ultra High speed CD-RW for old writers + Do not print average write speed if data size is unknown + +Thu Sep 12 13:27:10 2002 Joerg Schilling + * scsi_cdr.c 1.117 + Enhancements for MMC-2 & MMC-3 in -prcap (mode Page 2A) + +Wed Sep 11 21:23:48 2002 Joerg Schilling + * scsireg.h 1.27 + MMC-2 & MMC-3 enhancements for Mode Page 2A + +Wed Sep 11 20:47:35 2002 Joerg Schilling + * cdrecord.h 1.110 + CDR_MMC/CDR_MMC2/CDR_MMC3 new + +Wed Sep 11 15:13:20 2002 Joerg Schilling + * subchan.c 1.14 + end = 0 for useless GCC Warning 'end' might be uninitialized + +Wed Sep 11 15:01:55 2002 Joerg Schilling + * cdrecord.h 1.109 + trackp->dataoff/tracks/track/trackno -> Uchar + DSF_HIGHSP_ERA & DSF_ULTRASP_ERA new + CDR_ALLOC without top Bit for GCC Warning + +Wed Sep 11 14:59:46 2002 Joerg Schilling + * drv_dvd.c 1.83 + * auinfo.c 1.16 + Cast for trackp->track* -> Uchar + +Wed Sep 11 14:59:07 2002 Joerg Schilling + * drv_sony.c 1.58 + Constant 0xFFFFFFFF with #ifdef for K&R/ANSI + +Sun Sep 1 23:43:15 2002 Joerg Schilling + * cdrecord.c 1.186 + Print minimal Drive Buffer fill ratio + +Sun Sep 1 23:42:39 2002 Joerg Schilling + * drv_mmc.c 1.97 + DiskT@2 Support new + +Sun Sep 1 23:33:34 2002 Joerg Schilling + * cdrecord.h 1.108 + Several new ds_* Vars for better Statistics + +Sun Sep 1 21:27:35 2002 Joerg Schilling + * cdrecord.c 1.185 + cdrstats() now guesses Buffer underruns and prints average write speed + +Sun Sep 1 17:42:59 2002 Joerg Schilling + * drv_mmc.c 1.96 + cdr_stats() Function new + speed_select_mmc() with 2nd Parameter dp for FORCESPEED + driveropts=foesecpeed new + driveropts=tattooinfo new + driveropts=tattoofile=name new + hasdrvopt() fixed: missing break nach past recognised Option + +Sun Sep 1 16:50:22 2002 Joerg Schilling + * cdrecord.c 1.184 + Buffer Cap print every 1 MB + +Fri Aug 30 13:57:26 2002 Joerg Schilling + * cdrecord.c 1.183 + Version -> 1.11a32, CDR_DISKTATTOO new, (*dp->cdr_stats)(scgp, dp); for Burn-Free Statistics + +Fri Aug 30 13:42:33 2002 Joerg Schilling + * cdrecord.h 1.107 + New driverinterfacefunction cdr_stats() + CDR_DISKTATTOO new + +Fri Aug 30 13:41:21 2002 Joerg Schilling + * drv_sony.c 1.57 + * drv_simul.c 1.31 + * drv_philips.c 1.55 + * drv_jvc.c 1.67 + * drv_dvd.c 1.82 + New driverinterfacefunction cdr_stats() + +Thu Aug 29 21:40:34 2002 Joerg Schilling + * drv_sony.c 1.56 + * drv_simul.c 1.30 + * drv_philips.c 1.54 + * drv_jvc.c 1.66 + * drv_dvd.c 1.81 + * cdrecord.h 1.106 + * cdrecord.c 1.182 + New Parameter cdr_t *dp for cdr_set_speed_dummy() for "forcespeed" + +Thu Aug 29 17:12:40 2002 Joerg Schilling + * mmcvendor.h 1.2 + link_counter is [2]. + +Mon Aug 26 17:47:17 2002 Joerg Schilling + * drv_mmc.c 1.95 + Turning... messages -> stdout + +Mon Aug 26 01:56:39 2002 Joerg Schilling + * drv_mmc.c 1.94 + JustLink Support new + +Mon Aug 26 01:22:08 2002 Joerg Schilling + * mmcvendor.h 1.1 + date and time created 02/08/26 00:22:08 by joerg + +Tue Aug 20 01:11:19 2002 Joerg Schilling + * drv_mmc.c 1.93 + mmc_opt1() new + Yamaha Audio Master Support new + Be more careful with test_write (-dummy) in deflt_writemodes_mmc() + Check driveropts= already in attach_mmc() and turn into flags + +Tue Aug 20 00:06:22 2002 Joerg Schilling + * cdrecord.c 1.181 + Call dp->cdr_opt1() _before_ set speed/dummy and before the first Size Check + +Mon Aug 19 02:30:52 2002 Joerg Schilling + * cdrecord.c 1.180 + Do not clear ds_cdrflags after attach() + +Mon Aug 19 01:12:18 2002 Joerg Schilling + * cdrecord.c 1.179 + driveropts=help new in short usage() + +Mon Aug 19 00:45:49 2002 Joerg Schilling + * cdrecord.h 1.105 + * drv_dvd.c 1.80 + * drv_simul.c 1.29 + * drv_jvc.c 1.65 + * drv_sony.c 1.55 + * drv_philips.c 1.53 + cdr_t->cdr_opt1() new + +Mon Aug 19 00:40:47 2002 Joerg Schilling + * cdrecord.c 1.178 + dataoff = 16 as Default in autoaudio to allow cdrecord -raw to work without -data + +Mon Aug 19 00:34:46 2002 Joerg Schilling + * cdrecord.c 1.177 + Call (*dp->cdr_opt1)(scgp, dp) for Yamaha Audio Master, then 2. Check for size + +Sat Aug 17 01:13:39 2002 Joerg Schilling + * drv_mmc.c 1.92 + Yamaha Audio Master recognition, Varirec in driveropts=help, Varirec recognition + +Sat Aug 17 00:52:44 2002 Joerg Schilling + * cdrecord.h 1.104 + Calling sequence comment new + +Sat Aug 17 00:04:28 2002 Joerg Schilling + * sector.c 1.8 + Max RAW speed in metering raised from 100x -> 1000x + +Fri Aug 16 02:39:01 2002 Joerg Schilling + * cdrecord.c 1.176 + * cdrecord.h 1.103 + CDR_VARIREC / CDR_AUDIOMASTER / CDR_FORCESPEED new + +Wed Aug 14 23:43:34 2002 Joerg Schilling + * cdrecord.c 1.175 + Version -> 1.11a30, Speed test for RAW data sectors + +Wed Aug 14 20:50:55 2002 Joerg Schilling + * defaults.c 1.9 + Allow Space as separator in /etc/default/cdrecord + +Wed Aug 14 01:04:46 2002 Joerg Schilling + * cdrecord.h 1.102 + * sector.c 1.7 + encspeed() new + +Tue Aug 13 23:45:22 2002 Joerg Schilling + * sector.c 1.6 + HAVE_LIB_EDC_ECC/HAVE_NEW_LIB_EDC/CLONE_WRITE new + +Tue Jul 30 00:22:27 2002 Joerg Schilling + * cdrecord.c 1.174 + Version ->1.11a28, tracksize/secsize ->itracksize/isecsize for debug printf + +Mon Jul 29 22:22:12 2002 Joerg Schilling + * cdrecord.h 1.101 + track_base() Macro new, typedef struct ofile ofile_t new + +Mon Jul 29 21:58:12 2002 Joerg Schilling + * subchan.c 1.13 + Shift ISRC & MCN by one to the end if the are on an index change + +Sun Jul 28 23:19:55 2002 Joerg Schilling + * drv_simul.c 1.28 + Flags with allen possible write modi and with CDR_TRAYLOAD to avoid + +Sun Jul 28 13:54:08 2002 Joerg Schilling + * subchan.c 1.12 + better comment + +Thu Jul 25 03:25:39 2002 Joerg Schilling + * subchan.c 1.11 + Support for ISRC/MCN in RAW Mode new (but witout index shift) + +Tue Jul 23 23:47:58 2002 Joerg Schilling + * subchan.c 1.10 + First loop in fillsubch() removed because it is identical to second loop + +Tue Jul 23 23:32:31 2002 Joerg Schilling + * subchan.c 1.9 + fillsubch() now coeerect for audio Pregap between Tracks korrekt with relative time counting downwards + +Sun Jul 21 18:21:24 2002 Joerg Schilling + * drv_mmc.c 1.91 + set dsp->{ds_disktype!ds_trfirst!ds_trlast!ds_trfirst_ls} from dip->* + Do not cast malloc() anymore + Check write_cdtext() Returncode + Prepare for just Link + +Sun Jul 21 18:13:25 2002 Joerg Schilling + * drv_dvd.c 1.79 + set CDR_BURNFREE Flag, + set dsp->{ds_disktype!ds_trfirst!ds_trlast!ds_trfirst_ls} from dip->* + +Sun Jul 21 18:07:21 2002 Joerg Schilling + * cdrecord.c 1.173 + Version -> 1.11a27, + Define Warning that needs to be printed if Source has been changed, + Better messages for wrong DVD-RW write speed, reload_media() at end Ende of RAW Write + +Sun Jul 21 17:52:54 2002 Joerg Schilling + * scsi_cdr.c 1.116 + * auinfo.c 1.15 + malloc() Cast removed + +Sun Jul 21 17:51:44 2002 Joerg Schilling + * drv_sony.c 1.54 + dsp->ds_diskid now is UInt32_t + +Sun Jul 21 17:44:11 2002 Joerg Schilling + * cdrecord.h 1.100 + struct disk_status with Typen from utypes.h + +Mon Jul 8 00:31:04 2002 Joerg Schilling + * wm_session.c 1.4 + * wm_packet.c 1.18 + * subchan.c 1.8 + * fifo.c 1.38 + * drv_mmc.c 1.90 + * drv_jvc.c 1.64 + * clone.c 1.5 + * cdrecord.h 1.99 + * cdrecord.c 1.172 + 'tracks' outside driver interface removed and replaced by trackp->tracks + +Sun Jul 7 22:30:24 2002 Joerg Schilling + * drv_jvc.c 1.63 + Better rebuild old driver interface in next_wr_address_jvc() + +Sun Jul 7 22:28:35 2002 Joerg Schilling + * wm_packet.c 1.17 + * drv_mmc.c 1.89 + * cdr_drv.c 1.27 + * cdrecord.h 1.98 + * cdrecord.c 1.171 + * drv_sony.c 1.53 + * drv_simul.c 1.27 + * drv_philips.c 1.52 + * drv_jvc.c 1.62 + * drv_dvd.c 1.77 + trackno/tracks Parameter in driverinterface removed for new Struct Member + +Sat Jul 6 21:19:22 2002 Joerg Schilling + * cdrecord.c 1.170 + * cdrecord.h 1.97 + track_t now with tracks and track for simplified driverinterface + +Sat Jul 6 18:20:27 2002 Joerg Schilling + * cdrecord.h 1.96 + * cdrecord.c 1.169 + * drv_sony.c 1.52 + * drv_simul.c 1.26 + * drv_philips.c 1.51 + * drv_mmc.c 1.88 + * drv_jvc.c 1.61 + * drv_dvd.c 1.76 + cdr_speeddef/cdr_speedmax new and do not default to speed= 1 but to cdr_speeddef + +Fri Jul 5 23:11:39 2002 Joerg Schilling + * cdrecord.c 1.168 + Version -> 1.11a26 + wm2name[] with better systematics + Bugfix for High Speed CD-RW that could not be written anymore at 10x speed + New test for too slow writing of a CD-RW + Modename for blank only now is "BLANK" + Text: write XXX mode -> real XXX mode + SAO & RAW start (leadin) Code -> drv_mmc.c + Correctly print the current DVD writespeed + +Fri Jul 5 21:36:25 2002 Joerg Schilling + * cdrecord.h 1.95 + New driverfunction write_leadin, WM_ * Macros with better system, + new Macro wm_base(), + RF_LEADIN new + +Fri Jul 5 21:31:48 2002 Joerg Schilling + * drv_mmc.c 1.87 + New driverfunction write_leadin_mmc() with Code from cdrecord main function + +Fri Jul 5 21:26:04 2002 Joerg Schilling + * drv_sony.c 1.51 + * drv_simul.c 1.25 + * drv_philips.c 1.50 + * drv_jvc.c 1.60 + * drv_dvd.c 1.75 + New driverfunction write_leadin as dummy + +Thu Jul 4 13:01:36 2002 Joerg Schilling + * cdrecord.c 1.167 + Version -> 1.11a25 + Print Writemodes (new) + set_wrmode() new + restructuring: cdr_t->cdr_dstat is now used + dp->cdr_dstat->ds_cdrflags |= RF_PRATIP new + Check for ultra low speed media in High Speed writer + Check for high speed media in Low Speed writer + Avoid that cdrecord -- speed=8 causes speed=8 to be ignored as file type arg + +Thu Jul 4 12:55:52 2002 Joerg Schilling + * cdrecord.h 1.94 + restructuring: cdr_t->cdr_dstat is now used + New Write Mode WM_* definitions + +Thu Jul 4 12:53:14 2002 Joerg Schilling + * drv_dvd.c 1.74 + * drv_mmc.c 1.86 + * drv_philips.c 1.49 + * drv_sony.c 1.50 + Check for dp->cdr_dstat->ds_cdrflags & RF_PRATIP + Fill dsp->ds_flags |= DSF_ERA and dsp->ds_at_*_speed + +Tue Jul 2 19:55:47 2002 Joerg Schilling + * drv_sony.c 1.49 + * drv_simul.c 1.24 + * drv_philips.c 1.48 + * drv_jvc.c 1.59 + * cdr_drv.c 1.26 + * drv_mmc.c 1.85 + * drv_dvd.c 1.73 + dstat_t * now is a Member of cdr_t -> better handling of special funcs + +Tue Jul 2 15:18:31 2002 Joerg Schilling + * drv_mmc.c 1.84 + get_atip() now is always usable (not only if PRINT_ATIP has been defined) + +Sun Jun 16 15:58:37 2002 Joerg Schilling + * scsi_cdr.c 1.115 + Comment -> mmc-2 + +Fri May 31 22:09:39 2002 Joerg Schilling + * scsi_cdr.c 1.114 + wait_unit_ready() fast Abort even if k == SC_MEDIUM_ERROR + +Wed May 29 01:43:13 2002 Joerg Schilling + * scsi-wnt.c 1.28 + Better printf() format strings for DWORD + +Wed May 29 01:02:28 2002 Joerg Schilling + * cdtext.h 1.3 + List of language codes enhanced + +Wed May 29 00:55:22 2002 Joerg Schilling + * fifo.c 1.37 + palign() Macro with (UIntptr_t) Cast + +Wed May 29 00:54:26 2002 Joerg Schilling + * cdrecord.c 1.166 + Version -> 1.11a24, gracetime= in usage(), printf() Format correkt for bmtime() + +Wed May 29 00:51:56 2002 Joerg Schilling + * cdrecord.1 1.62 + gracetime= new + +Wed May 29 00:50:03 2002 Joerg Schilling + * cdtext.c 1.8 + Avoid Coredump if a single .inf File is missing and trackp[i].text is NULL -> ->textcodes does not work + +Mon May 20 17:08:41 2002 Joerg Schilling + * scsi-aix.c 1.34 + palign() -> with UIntptr_t cast + +Mon May 20 16:38:23 2002 Joerg Schilling + * scsi-remote.c 1.9 + avoid Integeroverflow with %.*s and 64 bit + +Mon May 20 14:28:12 2002 Joerg Schilling + * scsi-sun.c 1.71 + Cast (int)req.uscsi_buflen/(int)req.uscsi_resid forr 64 bit + +Mon May 13 02:02:09 2002 Joerg Schilling + * cdrecord.c 1.165 + Version -> 1.11a23, + Flush Cache with exit() in Silent Mode to avoid problem with cdrecord -toc and CD-ROMs + +Mon May 13 02:00:49 2002 Joerg Schilling + * fifo.c 1.36 + * drv_mmc.c 1.83 + * drv_jvc.c 1.58 + * drv_dvd.c 1.71 + * cdrecord.h 1.93 + New Typ tsize_t instead of off_t for Track size Vars > sizeof(long) on non-largefile OS + +Sat May 4 21:55:38 2002 Joerg Schilling + * cdrecord.c 1.164 + Avoid that abort via ^C kills a running SCSI Command + +Sat May 4 21:42:56 2002 Joerg Schilling + * scsitransp.c 1.83 + * scsitransp.h 1.51 + Callback Function at Ende of SCSI Command + +Sat May 4 18:10:05 2002 Joerg Schilling + * cdrecord.c 1.163 + Version -> 1.11a22 + gracetime= Option new + Now use geterrno()/seterrno() + reload_media() reads from stdder if input is from stdin + +Sat May 4 16:00:13 2002 Joerg Schilling + * cdrecord.c 1.162 + printf() Formats enhanced to get non jumping output with DVDs + +Sat May 4 15:36:45 2002 Joerg Schilling + * drv_dvd.c 1.70 + always set CDR_TAO|CDR_SAO in cdr_flags to allow speudo-DAO Mode + +Sat May 4 15:34:41 2002 Joerg Schilling + * cdrecord.h 1.92 + MIN_GRACE_TIME new + +Sat Apr 20 22:29:26 2002 Joerg Schilling + * fifo.c 1.35 + Now use geterrno()/seterrno() + +Tue Apr 16 19:20:40 2002 Joerg Schilling + * scsierrs.c 2.28 + New Errorstrings from 29.5.2001 + +Tue Apr 9 22:48:58 2002 Joerg Schilling + * diskid.c 1.35 + Embargo Message now better + +Tue Apr 9 22:41:41 2002 Joerg Schilling + * cdrecord.h 1.91 + F_STDIN Flag new + +Sat Mar 30 12:26:12 2002 Joerg Schilling + * drv_dvd.c 1.69 + Make drecord -atip print useful things + +Wed Mar 27 23:36:26 2002 Joerg Schilling + * drv_dvd.c 1.68 + maxblocks computing corrected (now even works with Panasonic) + +Tue Mar 26 19:18:31 2002 Joerg Schilling + * subchan.c 1.7 + create SCMS Bit + set COPY Bit in TOC and sub channels + +Tue Mar 26 19:10:32 2002 Joerg Schilling + * cdrecord.c 1.161 + Version -> 1.11a19 + +Tue Mar 26 19:07:15 2002 Joerg Schilling + * auinfo.c 1.14 + Albumperformer= new + +Tue Mar 26 19:02:58 2002 Joerg Schilling + * cdtext.c 1.7 + textfile= not-existent caused a Coredump + +Sun Mar 24 23:39:28 2002 Joerg Schilling + * cdrecord.c 1.160 + SCMS and Copy permitted printing new, Version -> 1.11a18 + +Sun Mar 24 23:38:11 2002 Joerg Schilling + * auinfo.c 1.13 + SCMS as new value for Copy_permitted= + +Sun Mar 10 00:24:19 2002 Joerg Schilling + * cdrecord.c 1.159 + Print real write speed + +Sat Mar 9 23:21:05 2002 Joerg Schilling + * drv_mmc.c 1.82 + remiove typo in hasdrvopt() + +Sat Mar 9 23:03:00 2002 Joerg Schilling + * drv_mmc.c 1.81 + first VariRec Support + +Sat Mar 9 21:15:48 2002 Joerg Schilling + * drv_dvd.c 1.65 + Burn-PROOF Support new, try tp make Panasonic DVD-R working + +Sat Mar 9 20:20:16 2002 Joerg Schilling + * cdrecord.c 1.158 + IS_SCHILY_XCONFIG new, Short Usage with susage() new + +Fri Mar 8 16:48:58 2002 Joerg Schilling + * cdrecord.c 1.157 + Version print Lizens better, -cdi sets toctype + +Fri Mar 8 16:46:54 2002 Joerg Schilling + * scsitransp.c 1.82 + Version -> 0.6 + +Tue Mar 5 23:34:46 2002 Joerg Schilling + * defaults.c 1.8 + NULL Pointer for args is now OK to allow to be used with readcd + +Tue Mar 5 23:32:00 2002 Joerg Schilling + * cdrecord.h 1.90 + getnum()/getllnum() from cdrecord.c -> getnum.c + +Tue Mar 5 23:26:31 2002 Joerg Schilling + * cdrecord.c 1.156 + Version -> 1.11a17 + getnum()/getllnum() -> getnum.c + cdr_defaults() changed to allow to be used with readcd.c + +Tue Mar 5 23:20:48 2002 Joerg Schilling + * getnum.c 1.1 + date and time created 02/03/05 23:20:48 by joerg + +Mon Mar 4 23:42:43 2002 Joerg Schilling + * diskid.c 1.34 + * drv_mmc.c 1.80 + * drv_dvd.c 1.64 + * scsi_cdr.c 1.113 + * drv_simul.c 1.23 + * fifo.c 1.34 + * crc16.c 1.5 + * crc16.h 1.3 + * cdrecord.h 1.89 + Copyright -> 2002 + +Mon Mar 4 23:32:08 2002 Joerg Schilling + * cdtext.h 1.2 + Comment for Text Language code now better + +Mon Mar 4 23:21:31 2002 Joerg Schilling + * cdrecord.c 1.155 + better comment for Version printing for not working Branches + +Mon Mar 4 22:43:47 2002 Joerg Schilling + * cdrecord.c 1.154 + Comments for Sector size + +Mon Mar 4 22:42:12 2002 Joerg Schilling + * defaults.c 1.7 + Copyright -> 2002 + new Function open_cdrdefaults(), + Comment that states that "/etc/default/cdrecord" may not be changed + +Fri Mar 1 22:37:21 2002 Joerg Schilling + * diskid.c 1.33 + Better Text for unknown ID Codes + +Thu Feb 28 23:04:45 2002 Joerg Schilling + * auinfo.c 1.12 + readtstr() now looks for rightmost ' from right to left, + readtag("CDINDEX_DISCID=") -> readtstr("CDINDEX_DISCID=") + +Sun Feb 24 15:44:34 2002 Joerg Schilling + * cdrecord.c 1.153 + Copyright -> 2002 + +Sat Feb 23 22:00:51 2002 Joerg Schilling + * cdtext.c 1.6 + First Support for CD-Text Synthesis with new functions text_txt()/packtext()/anytext()/fillup_pack()/fillpack() + +Sat Feb 23 21:44:33 2002 Joerg Schilling + * cdtext.h 1.1 + date and time created 02/02/23 21:44:33 by joerg + +Sat Feb 23 21:21:10 2002 Joerg Schilling + * cdrecord.1 1.61 + -text/textfile= Options documented + +Sat Feb 23 21:17:42 2002 Joerg Schilling + * cdrecord.c 1.152 + Version -> 1.11a15, Option -text new, char * textfile not global anymore + +Sat Feb 23 21:10:53 2002 Joerg Schilling + * auinfo.c 1.11 + First CD-Text Support + +Sat Feb 23 17:24:48 2002 Joerg Schilling + * cdrecord.h 1.88 + void *text new in struct track, packtext() Prototype new + +Sat Feb 23 16:01:50 2002 Joerg Schilling + * drv_mmc.c 1.79 + CD-Text Cue sheet for Lead-in does not depend anymore from char *textfile but from trackp[0].flags & TI_TEXT + +Wed Feb 20 19:39:39 2002 Joerg Schilling + * scsi_cdr.c 1.112 + * drv_dvd.c 1.63 + * drv_simul.c 1.22 + * fifo.c 1.33 + #ifndef DEBUG around #define DEBUG + +Tue Feb 19 22:10:23 2002 Joerg Schilling + * cdtext.c 1.5 + setuptextdata() new + +Fri Feb 15 00:46:56 2002 Joerg Schilling + * crc16.h 1.2 + * crc16.c 1.4 + flip_crc_error_cor() with bsize Parameter and EXPORT instead of LOCAL + cdtext_crc_ok() removed -> cdtext.c + +Fri Feb 15 00:42:47 2002 Joerg Schilling + * cdtext.c 1.4 + Flip error correction for Text CRC correction + Automatic Text Size Header recognition + +Sun Feb 10 12:43:07 2002 Joerg Schilling + * scsi-openserver.c 1.29 + MAX-DMA -> 63kB, -scanbus contolled by env Vars + +Sat Feb 9 17:29:02 2002 Joerg Schilling + * diskid.c 1.32 + Warning for guessed IDs + +Tue Jan 29 20:46:42 2002 Joerg Schilling + * diskid.c 1.31 + Removed wrong (now superfluous) IDs + +Thu Jan 24 00:03:25 2002 Joerg Schilling + * diskid.c 1.30 + "Advanced Digital Media", "Moser Baer India Limited", "NAN-YA Plastics Corporation", "SHENZEN SG&GAST DIGITAL OPTICAL DISCS" new from Plextools binary + m_grandadvance[] was superfluous (m_grandadv[]) + "WEALTH FAIR INVESTMENT LIMITE" typo fixed (D missing). + +Fri Jan 18 12:43:58 2002 Joerg Schilling + * scsi-linux-sg.c 1.69 + do not try to use the PG driver if open(device) fails + +Fri Dec 7 22:40:31 2001 Joerg Schilling + * scsi_cdr.c 1.111 + scsi_in_progress() with additional sense qualifier 0x04 for CyberDrive + +Sun Dec 2 15:42:53 2001 Joerg Schilling + * scsi-beos.c 1.20 + Typo removed, Support for BeOS 5 + +Sun Dec 2 15:37:36 2001 Joerg Schilling + * scsi-amigaos.c 1.2 + Reworked the error handling code + +Sun Dec 2 13:44:43 2001 Joerg Schilling + * scsi-amigaos.c 1.1 + date and time created 01/12/02 13:44:43 by joerg + +Tue Nov 27 20:25:39 2001 Joerg Schilling + * scsihack.c 1.40 + Copyright + 2001 + +Tue Nov 27 20:24:18 2001 Joerg Schilling + * scsihack.c 1.39 + scsi-amigaos.c new + +Tue Nov 27 02:10:34 2001 Joerg Schilling + * cdrecord.c 1.151 + NEED_SYS_SOCKET_H for BeOS new + Version -> 1.11a13 + cdr_buffer_cap() environment for Plasmon RF41xx better + +Tue Nov 27 02:08:47 2001 Joerg Schilling + * drv_philips.c 1.47 + Comment for buffer_cap dummy function for the Plasmon RF41xx better + +Tue Nov 13 16:17:05 2001 Joerg Schilling + * cdrecord.h 1.87 + * drv_dvd.c 1.62 + * cdrecord.c 1.150 + New Flag DSF_DVD, better overcapacity output for DVD + +Sun Nov 11 18:30:47 2001 Joerg Schilling + * drv_dvd.c 1.61 + Comment for ACARD TECH AEC-7720 ATAPI<->SCSI adaptor better + +Sun Nov 11 17:53:42 2001 Joerg Schilling + * scsi-remote.c 1.8 + Test HAVE_RCMD new + +Thu Nov 1 19:15:46 2001 Joerg Schilling + * drv_simul.c 1.21 + Now using timedefs.h + +Wed Oct 31 19:29:35 2001 Joerg Schilling + * scsi_cdr.c 1.110 + For ACARD TECH AEC-7720 ATAPI<->SCSI adaptor read Mode Page list only in debug mode + +Wed Oct 31 00:24:58 2001 Joerg Schilling + * scsi_cdr.c 1.109 + sense_secsize() now calles mode_sense() first with 12 Bytes and again with 0xFE Bytes for Moge Page List + +Wed Oct 31 00:17:27 2001 Joerg Schilling + * drv_mmc.c 1.78 + check_writemodes_mmc() -> EXPORT, read_dvd_structure() now with mit 32 byte instead of 15 bytes len Parameter + +Wed Oct 31 00:06:47 2001 Joerg Schilling + * cdrecord.h 1.86 + Prototyp for check_writemodes_mmc() + +Tue Oct 30 23:12:03 2001 Joerg Schilling + * scsireg.h 1.26 + cd_mode_page_05 intel byteorder link_size was wrong + +Tue Oct 30 21:36:53 2001 Joerg Schilling + * cdrecord.c 1.147 + DVD Check code did code exit() for non MMC CD writers + version -> 1.11a10 + +Mon Oct 29 19:12:29 2001 Joerg Schilling + * scsi-mac-iokit.c 1.3 + Include Liste reworked + +Mon Oct 29 18:57:46 2001 Joerg Schilling + * cd_misc.c 1.10 + * misc.c 1.2 + * modes.c 1.24 + * diskid.c 1.29 + * drv_simul.c 1.20 + * fifo.c 1.32 + * wm_track.c 1.3 + * wm_session.c 1.3 + * wm_packet.c 1.16 + avoid sys/types.h + +Sat Oct 27 02:56:16 2001 Joerg Schilling + * scsi-remote.c 1.7 + Test for HAVE_NETDB_H for rcmd() + +Sat Oct 27 02:55:30 2001 Joerg Schilling + * scsierrs.c 2.27 + #include for size_t for snprintf() + +Sat Oct 27 02:53:49 2001 Joerg Schilling + * fifo.c 1.31 + Test for HAVE_FORK new + +Sat Oct 27 02:53:18 2001 Joerg Schilling + * cdtext.c 1.3 + casts because sizeof() on MacOS X is long + +Thu Oct 25 16:19:08 2001 Joerg Schilling + * scsi-mac-iokit.c 1.2 + Unitnitialised Var dict, plugInResult format string ... GCC error removed + +Thu Oct 25 02:03:56 2001 Joerg Schilling + * scsihack.c 1.38 + Support for MaxOS X (Darwin-1.4) + +Thu Oct 25 02:03:11 2001 Joerg Schilling + * scsi-mac-iokit.c 1.1 + date and time created 01/10/25 01:03:11 by joerg + +Wed Oct 17 19:40:22 2001 Joerg Schilling + * cdrecord.c 1.146 + initialize scgp with NUL + brackets around if (p = senv_field(6)) + +Tue Oct 16 17:03:53 2001 Joerg Schilling + * drv_dvd.c 1.57 + * cdrecord.c 1.144 + * cdrecord.h 1.85 + * drv_simul.c 1.19 + * drv_sony.c 1.48 + * drv_philips.c 1.46 + * drv_mmc.c 1.77 + * drv_jvc.c 1.57 + New Structuremember cdr_cmdflags in cdr_t + +Tue Oct 16 15:57:05 2001 Joerg Schilling + * cdrecord.c 1.143 + Better error messages for DVD Demo Mode > 1 GB + +Wed Oct 10 23:04:03 2001 Joerg Schilling + * cdrecord.c 1.139 + number() corrected - had wrong if/then/else Structure for T/P/G Multiplyer + +Tue Oct 9 02:19:36 2001 Joerg Schilling + * cdrecord.c 1.138 + sys/types.h & sys/stat.h -> statdefs.h, -> 1.11a09 + +Tue Oct 9 01:42:05 2001 Joerg Schilling + * audiosize.c 1.18 + * isosize.c 1.8 + sys/types.h & sys/stat.h -> statdefs.h + +Sun Oct 7 21:27:14 2001 Joerg Schilling + * scsi-linux-pg.c 1.40 + * scsi-linux-sg.c 1.68 + Better error messages for Scanbus if /dev/sg* or /dev/pg* cannot be opened + +Sun Oct 7 21:03:23 2001 Joerg Schilling + * drv_mmc.c 1.76 + Modifications to allow recognition of CD/DVD writer + +Sun Oct 7 20:41:51 2001 Joerg Schilling + * cdr_drv.c 1.25 + xdebug for DVD/CD writer recognition + +Sun Oct 7 19:01:25 2001 Joerg Schilling + * drv_dvd.c 1.55 + read_dvd_structure() from drv_dvd.c -> scsi_cdr.c for Pioneer A03 DVD-R/CD-R + reload_media() only if writing later + +Sun Oct 7 13:35:21 2001 Joerg Schilling + * scsi_cdr.c 1.108 + * cdrecord.h 1.84 + read_dvd_structure() from drv_dvd.c -> scsi_cdr.c for Pioneer A03 DVD-R/CD-R + +Thu Sep 27 19:01:30 2001 Joerg Schilling + * scsidefs.h 1.27 + #undef DEV_UNKNOWN for True64 + +Thu Sep 13 19:10:03 2001 Joerg Schilling + * scsi_cdr.c 1.107 + * cdr_drv.c 1.24 + * drv_dvd.c 1.54 + * cdrecord.h 1.83 + Modifications to allow recognition of CD/DVD writer + +Thu Sep 13 19:01:46 2001 Joerg Schilling + * cdrecord.c 1.137 + cdrecord -version now may print cdrecord-Clone, + Modifications to allow recognition of CD/DVD writer + +Thu Sep 13 15:36:21 2001 Joerg Schilling + * scsidefs.h 1.26 + DEV_MMC_DVD_WR new + +Thu Sep 13 14:31:05 2001 Joerg Schilling + * scsi-sun.c 1.70 + maxdma for USCSI to default if == -1 (e.g. for TAPE), Debug print the RQ Buffer. + +Tue Sep 11 14:04:03 2001 Joerg Schilling + * scsi_cdr.c 1.106 + Open CD-Text File in Binary + +Tue Sep 11 03:06:31 2001 Joerg Schilling + * scsi-linux-sg.c 1.67 + Timeout Workaround for ioctl() + +Tue Sep 4 14:04:25 2001 Joerg Schilling + * cdrecord.c 1.136 + DEMO_SPEED new + +Thu Aug 9 16:38:21 2001 Joerg Schilling + * cdrecord.h 1.82 + * cdrecord.c 1.135 + #define GRACE_TIME 9 new + +Fri Jul 20 13:17:21 2001 Joerg Schilling + * drv_mmc.c 1.75 + * cdrecord.c 1.134 + * cdrecord.h 1.81 + RF_BLANK new to avoid opening the tray before blanking + Version -> 1.11a07 + +Thu Jul 19 00:28:36 2001 Joerg Schilling + * scsi-remote.c 1.6 + Now using _niread()/_nixwrite() + +Thu Jul 12 23:40:28 2001 Joerg Schilling + * scsidefs.h 1.25 + Taiyo Yuden EW-50 new + +Thu Jul 12 23:35:08 2001 Joerg Schilling + * scsi_cdr.c 1.105 + * cdr_drv.c 1.23 + * drv_philips.c 1.45 + New driver for Taiyo Yuden EW-50 because it swabs audio bytes compared to Philips CDD-521 + +Thu Jul 12 23:33:28 2001 Joerg Schilling + * fifo.c 1.30 + Better Debug messages for FIFO adresse/size + +Thu Jul 5 00:08:38 2001 Joerg Schilling + * sector.c 1.5 + Match new libedc + +Thu Jun 28 13:19:02 2001 Joerg Schilling + * drv_mmc.c 1.74 + Use -DSAO_RAW -DSAO_RAW_TEST for SAO RAW tests only + +Wed Jun 27 10:04:03 2001 Joerg Schilling + * clone.c 1.4 + clone_cue() for Test + +Wed Jun 27 09:51:19 2001 Joerg Schilling + * cdrecord.c 1.133 + CDR_SRAW16 removed + +Wed Jun 27 09:47:10 2001 Joerg Schilling + * scsimmc.h 1.6 + * scsi_cdr.c 1.104 + struct ftrackdesc -> scsimmc.h + +Wed Jun 27 09:35:13 2001 Joerg Schilling + * scsi_cdr.c 1.103 + struct tocheader definition removed because it is in scsimmc.h + +Sun Jun 24 22:35:23 2001 Joerg Schilling + * drv_mmc.c 1.73 + check_writemodes_mmc() now resety silent correctly, deflt_writemodes_mmc() new + +Sun Jun 24 19:55:02 2001 Joerg Schilling + * cdrecord.h 1.80 + CDR_SRAW16 disabled, because SAO supports only RAW96x + +Fri Jun 22 08:42:55 2001 Joerg Schilling + * scsimmc.h 1.5 + struct tocheader now with Uchar + +Wed Jun 20 21:53:55 2001 Joerg Schilling + * subchan.c 1.6 + min Struktur member -> pmin + +Wed Jun 20 21:53:34 2001 Joerg Schilling + * cdr_drv.c 1.22 + #include for printf() + +Wed Jun 20 21:53:03 2001 Joerg Schilling + * cdrecord.c 1.132 + Changes for GCC-3.0 & Linux include file bugs for printf() (is a #define), 1.11a04 -> 1.11a05 + +Tue Jun 19 12:26:49 2001 Joerg Schilling + * cdrecord.c 1.131 + Usage() with textfile=, 1.11a03 -> 1.11a04 + +Tue Jun 19 12:22:30 2001 Joerg Schilling + * cdtext.c 1.2 + Modifications for RAW CD-Text + +Tue Jun 19 11:39:08 2001 Joerg Schilling + * cdrecord.h 1.79 + * subchan.c 1.5 + addrw() new for CD-Text Support in RAW mode + +Tue Jun 19 02:10:37 2001 Joerg Schilling + * cdrecord.h 1.78 + * cdrecord.c 1.130 + BUF_SIZE -> CDR_BUF_SIZE & from cdrecord.c -> cdrecord.h + +Tue Jun 19 01:04:54 2001 Joerg Schilling + * cdrecord.c 1.129 + Do not call exit() if interrupting during wait time via ^C + +Mon Jun 18 09:29:52 2001 Joerg Schilling + * cdtext.c 1.1 + date and time created 01/06/18 08:29:52 by joerg + +Mon Jun 18 08:55:07 2001 Joerg Schilling + * drv_mmc.c 1.72 + * cdrecord.c 1.128 + * cdrecord.h 1.77 + First CD-Text Support + +Sat Jun 16 19:20:36 2001 Joerg Schilling + * cdrecord.c 1.127 + trackp->dataoff new, call on_comerr() earlier + +Sat Jun 16 18:16:51 2001 Joerg Schilling + * cdrecord.h 1.76 + Dataoffset in struct track new, is_text() new + +Sat Jun 16 18:15:05 2001 Joerg Schilling + * drv_mmc.c 1.71 + Forgotten if (xdebug) + +Tue Jun 12 22:57:03 2001 Joerg Schilling + * cdrecord.c 1.126 + -clone new, write mode for -xa1 -xa2, RAW data bug removed + +Tue Jun 12 22:42:25 2001 Joerg Schilling + * sector.c 1.4 + recodesectors() -> subrecodesecs()/sunchan.c, scrsectors() without return for AUDIO + +Tue Jun 12 22:41:37 2001 Joerg Schilling + * subchan.c 1.4 + subrecodesecs() from sector.c & scrsectors() dummy + +Tue Jun 12 22:40:59 2001 Joerg Schilling + * cdrecord.h 1.75 + recodesectors() -> subrecodesecs() + +Tue Jun 12 01:51:49 2001 Joerg Schilling + * cdrecord.h 1.74 + Modifications for clone.c + +Tue Jun 12 01:50:53 2001 Joerg Schilling + * clone.c 1.1 + date and time created 01/06/12 00:50:53 by joerg + +Tue Jun 12 01:07:06 2001 Joerg Schilling + * subchan.c 1.3 + subq/nsubh -> _subq/_nsubh + +Tue Jun 12 01:05:54 2001 Joerg Schilling + * subchan.c 1.2 + Changes for clone writing, qwto16() new for clone 16/96 Writing + +Tue Jun 12 00:12:42 2001 Joerg Schilling + * sector.c 1.3 + removed unused Vars + +Mon Jun 11 23:31:00 2001 Joerg Schilling + * cdrecord.h 1.73 + Enhancements for clone writing + +Mon Jun 11 23:29:50 2001 Joerg Schilling + * sector.c 1.2 + scrsectors()/recodesectors() fuer clone writing neu + +Mon Jun 11 23:12:41 2001 Joerg Schilling + * drv_mmc.c 1.70 + Checking write modes Message only with xdebug + +Mon Jun 11 23:11:55 2001 Joerg Schilling + * movesect.c 1.2 + Make it more general to allow compress and expand + +Mon Jun 11 23:09:58 2001 Joerg Schilling + * auinfo.c 1.10 + Comment for ISRC + +Sat Jun 9 20:13:35 2001 Joerg Schilling + * cdrecord.c 1.125 + -copy/-nocopy new, Prevent data sectors only in RAW Mode (without libedc_ecc) + +Sat Jun 9 20:05:59 2001 Joerg Schilling + * cdrecord.1 1.60 + New Options -raw, -raw96r, -raw96p, -raw16, -copy, -nocopy + +Wed Jun 6 00:09:58 2001 Joerg Schilling + * cdrecord.c 1.124 + Any positive startsector for RAW is wriong -> Philips Firmware bug fixed + +Mon Jun 4 19:28:17 2001 Joerg Schilling + * cdrecord.c 1.123 + Modifications for RAW Mode + cdr_t *dp now allocated + BURNFREE printput with Driver Flags + OPC also for -blank + write_secs() new for all writes on ATAPI + print_wrmodes()/check_wrmode() new + reload_media() new + +Mon Jun 4 17:45:49 2001 Joerg Schilling + * cdrecord.h 1.72 + * drv_dvd.c 1.53 + * drv_mmc.c 1.69 + New Function reload_media() + +Mon Jun 4 17:08:05 2001 Joerg Schilling + * cdrecord.h 1.71 + * wm_packet.c 1.15 + Modifications for RAW Mode + +Mon Jun 4 17:06:21 2001 Joerg Schilling + * subchan.c 1.1 + date and time created 01/06/04 16:06:21 by joerg + +Mon Jun 4 16:52:34 2001 Joerg Schilling + * crc16.c 1.3 + Now correct Code with Inverted CRC Bits + +Mon Jun 4 16:49:47 2001 Joerg Schilling + * auinfo.c 1.9 + SECT_AUDIO_NPRE -> SECT_AUDIO_NOPRE + +Mon Jun 4 16:06:15 2001 Joerg Schilling + * crc16.c 1.2 + Now using Uint*_t + +Mon Jun 4 16:02:17 2001 Joerg Schilling + * crc16.h 1.1 + date and time created 01/06/04 15:02:17 by joerg + +Mon Jun 4 13:33:19 2001 Joerg Schilling + * drv_mmc.c 1.68 + Now using CDR_SRAW*, botchexit Abort removed + +Mon Jun 4 12:53:18 2001 Joerg Schilling + * sector.c 1.1 + date and time created 01/06/04 11:53:18 by joerg + +Sun Jun 3 20:51:22 2001 Joerg Schilling + * auinfo.c 1.8 + Modifications for RAW Mode + +Sun Jun 3 14:48:57 2001 Joerg Schilling + * cdrecord.c 1.122 + Use comexit()/comerr() instead of exscsi() + New Function do_opc() now also called before blank, -force avoids this + +Sat Jun 2 21:24:52 2001 Joerg Schilling + * movesect.h 1.1 + * movesect.c 1.1 + date and time created 01/06/02 20:24:52 by joerg + +Fri Jun 1 07:54:04 2001 Joerg Schilling + * cdrecord.1 1.59 + burnproof -> burnfree + +Fri Jun 1 07:46:01 2001 Joerg Schilling + * scsi_cdr.c 1.102 + BURN-Proof (Sanyo) -> Buffer-Underrun-Free recording + +Fri Jun 1 07:44:39 2001 Joerg Schilling + * fifo.c 1.29 + call fill_buf() instead of read_buf() and trackp/secno Parameter for Subcode Generator + +Fri Jun 1 02:08:55 2001 Joerg Schilling + * drv_mmc.c 1.67 + BURN-Proof -> BURN-Free + +Thu May 31 23:31:44 2001 Joerg Schilling + * scsireg.h 1.25 + BURN Free & link size new + +Thu May 31 03:21:47 2001 Joerg Schilling + * drv_mmc.c 1.66 + check_writemodes_mmc() new, is_raw() set write modes + +Mon May 28 00:51:36 2001 Joerg Schilling + * cd_misc.c 1.9 + sec_to_msf() new + +Sun May 27 14:01:28 2001 Joerg Schilling + * audiosize.c 1.17 + Better comment + +Thu May 24 19:10:28 2001 Joerg Schilling + * auinfo.c 1.7 + No exit() if -debug & nindex > 1 + +Thu May 24 19:09:39 2001 Joerg Schilling + * modes.c 1.23 + Warning using default data only if not in Silent mode + +Thu May 24 19:07:13 2001 Joerg Schilling + * drv_dvd.c 1.52 + * drv_jvc.c 1.56 + * drv_simul.c 1.18 + * drv_philips.c 1.44 + * drv_sony.c 1.47 + CDR_DAO -> CDR_SAO, SAO no more predefined - it either does not work or is tested automatically (MMC) + +Sun May 20 21:23:53 2001 Joerg Schilling + * drv_sony.c 1.46 + * drv_philips.c 1.43 + mask sectype with ST_MASK because of new mode bits + +Sun May 20 18:51:41 2001 Joerg Schilling + * drv_simul.c 1.17 + CDR_SIMUL Flag new + +Fri May 18 21:07:58 2001 Joerg Schilling + * cdrecord.h 1.70 + F_OVERBURN new, F_RAW / is_raw() new, CDR_SIMUL new + +Fri May 18 19:30:02 2001 Joerg Schilling + * cdrecord.c 1.121 + trackp[0].dbtype is set with Data type from Track 1 + +Fri May 18 19:22:50 2001 Joerg Schilling + * drv_mmc.c 1.65 + In open_session() wird nun schon der Datenblocktyp fuer den ersten track eingestellt + +Mon May 14 23:36:07 2001 Joerg Schilling + * cdrecord.c 1.120 + -overburn new + Bracket bug with > 90 min Warning removed + > 90 Min Warning only if offizial capacity is exceeded (for DVD-R) + -pad implied for next Track with -isosize + Win32 Priorities are non contiguous (fix in rt_raisepri()) + +Mon May 14 22:54:17 2001 Joerg Schilling + * cdrecord.h 1.69 + F_OVERBURN (-overburn) new + +Mon May 14 22:53:33 2001 Joerg Schilling + * cdrecord.1 1.58 + -overburn new, -isosize better documented + +Sat Apr 28 23:34:12 2001 Joerg Schilling + * scsi-remote.c 1.5 + Read char with buffer for cygwin + +Fri Apr 20 11:38:03 2001 Joerg Schilling + * scsitransp.c 1.81 + scg_svhead() is silent if non verbose + +Fri Apr 20 11:34:41 2001 Joerg Schilling + * scsi-linux-sg.c 1.66 + Hack for ide-scsi bug, although there is sense data, SCSI Status is 0 + +Thu Apr 19 21:52:41 2001 Joerg Schilling + * drv_mmc.c 1.64 + removed superfluous scgp->silent--; in fixate_mmx(). silent did become negative + +Thu Apr 19 21:51:26 2001 Joerg Schilling + * cdrecord.c 1.119 + Enhance wait time in wait_unit_ready() after blank to 240 s for Mitsumi + +Tue Apr 17 00:58:57 2001 Joerg Schilling + * cdrecord.1 1.57 + Hint for mailman interface + +*************** Release 1.10 ******************* + +Fri Apr 13 20:41:36 2001 Joerg Schilling + * cdrecord.c 1.118 + Version -> 1.10 final + +Fri Apr 13 20:40:58 2001 Joerg Schilling + * cdrecord.c 1.117 + Backwardcounter corrected + +Fri Apr 13 20:39:09 2001 Joerg Schilling + * cdrecord.1 1.56 + New Support mail Adresses + +Wed Apr 11 01:22:18 2001 Joerg Schilling + * scsi_cdr.c 1.101 + * cdrecord.h 1.68 + print_capacity() new with FILE * Parameter + +Sun Apr 8 02:03:49 2001 Joerg Schilling + * modes.c 1.22 + scgp->silent--; was oat wrong place + +Sun Apr 1 14:39:01 2001 Joerg Schilling + * cdrecord.1 1.55 + Typo + +Sat Mar 31 23:02:28 2001 Joerg Schilling + * modes.c 1.21 + unit_ready() before each mode_sense()/mode_select() + +Sat Mar 31 22:46:28 2001 Joerg Schilling + * drv_mmc.c 1.63 + Comment for IOMEGA DMA overrun modified (Philips removed) + +Sun Mar 18 19:39:48 2001 Joerg Schilling + * cdrecord.1 1.54 + REMOTE SCSI description and new unified SCSI Options + +Sun Mar 18 19:31:31 2001 Joerg Schilling + * cdrecord.c 1.116 + Unified SCSI Options + +Sun Mar 18 19:27:02 2001 Joerg Schilling + * scsitransp.c 1.80 + Fixed bug that printed SCSI timing without verbose + +Sun Mar 18 18:37:45 2001 Joerg Schilling + * scsitransp.c 1.79 + New Functions: scg_svhead()/scg_svtail()/scg__sprinterr() + Comments for Functions + Print SCSI timing for earch failed SCSI Command + +Sun Mar 18 18:28:17 2001 Joerg Schilling + * scsitransp.h 1.50 + New Funstions: scg_svhead()/scg_svtail()/scg__sprinterr() + +Sun Mar 18 15:37:09 2001 Joerg Schilling + * scsitransp.c 1.78 + Print Timing without Verbose + +Sun Mar 18 15:10:18 2001 Joerg Schilling + * scsi-wnt.c 1.27 + * scsi-vms.c 1.29 + * scsi-unixware.c 1.25 + * scsi-sgi.c 1.34 + * scsi-osf.c 1.23 + * scsi-next.c 1.30 + * scsi-linux-sg.c 1.65 + * scsi-hpux.c 1.29 + * scsi-linux-pg.c 1.39 + * scsi-bsd.c 1.40 + * scsi-bsd-os.c 1.26 + * scsi-beos.c 1.19 + * scsi-aix.c 1.33 + if (scgp->debug) -> if (scgp->debug > 0) + +Wed Mar 14 00:42:40 2001 Joerg Schilling + * scsitransp.h 1.49 + * scsitransp.c 1.77 + scg_verbose() -> scg_vsetup() + +Mon Mar 12 23:09:38 2001 Joerg Schilling + * cdrecord.c 1.115 + Version -> 1.10a17, select_target() uses FILE * + +Mon Mar 12 23:08:46 2001 Joerg Schilling + * scsi_scan.h 1.3 + * scsi_scan.c 1.14 + comerrno() removed + select_target() with FILE * + select_target() returns number of Targets + +Mon Mar 12 23:06:50 2001 Joerg Schilling + * cdrecord.h 1.67 + * scsi_cdr.c 1.100 + printinq() new + +Mon Mar 12 22:06:05 2001 Joerg Schilling + * scsi-linux-sg.c 1.64 + Better differentiation SCG_RETRYABLE/SCG_NO_ERROR + Set ux_errno if Sense Data present + +Sun Mar 11 17:10:12 2001 Joerg Schilling + * scsi-linux-pg.c 1.38 + SCG_RETRYABLE for DMA overrun + CHECK CONDITION == SCG_NO_ERROR + +Sun Mar 11 17:07:48 2001 Joerg Schilling + * scsitransp.c 1.76 + Remove unused Variables + +Sun Mar 11 16:56:24 2001 Joerg Schilling + * scsitransp.h 1.48 + scg_vhead()/scg_vtail()/scg_verbose() & scg_errfflush() new + +Sun Mar 11 16:55:55 2001 Joerg Schilling + * scsitransp.c 1.75 + scg_vhead()/scg_vtail()/scg_verbose() & scg_errfflush() new + Version -> 0.5 + +Sat Mar 10 17:53:45 2001 Joerg Schilling + * scsitransp.h 1.47 + scgp->bufptr new + SCG_KVERSION new + +Sat Mar 10 17:52:53 2001 Joerg Schilling + * scsitransp.c 1.74 + scgp->bufptr new + scgp->scmd->resid < 0 == DMA overrun + +Sat Mar 10 16:24:00 2001 Joerg Schilling + * scsi-linux-sg.c 1.63 + SCG_KVERSION new + +Mon Feb 26 22:20:32 2001 Joerg Schilling + * scsi-unixware.c 1.24 + New formatting + +Mon Feb 26 22:18:39 2001 Joerg Schilling + * scsi-unixware.c 1.23 + Environment "LIBSCG_SCAN_ALL" controls scanning of Harddisks because of system crash + +Mon Feb 26 16:05:41 2001 Joerg Schilling + * cdrecord.c 1.114 + Warning if DVD-R code is missing and we found a DVD-R drive + +Sun Feb 25 13:02:42 2001 Joerg Schilling + * fifo.c 1.27 + Now using mmapdefs.h + +Fri Feb 23 17:32:38 2001 Joerg Schilling + * scsidefs.h 1.24 + ccs() Makro -> is_ccs() + +Fri Feb 23 00:24:02 2001 Joerg Schilling + * fifo.c 1.26 + Support for mmap() on Apollo Domain/OS with mmap(0, &size, ...) + +Thu Feb 22 16:13:27 2001 Joerg Schilling + * audiosize.c 1.16 + Fixed bug in Prototyp (result from long -> off_t) + +Thu Feb 22 16:11:07 2001 Joerg Schilling + * cdrecord.h 1.66 + * wm_packet.c 1.14 + * cdrecord.c 1.113 + * drv_mmc.c 1.62 + * drv_jvc.c 1.54 + * drv_dvd.c 1.51 + Large File support + +Thu Feb 22 16:10:53 2001 Joerg Schilling + * drv_jvc.c 1.55 + padsize Parameter for pad_track() casted to Llong + +Thu Feb 22 00:57:53 2001 Joerg Schilling + * cdr_drv.c 1.21 + mconfig.h/unixstd.h for Large Files + +Thu Feb 22 00:55:35 2001 Joerg Schilling + * scsi_scan.c 1.13 + #include for Large Files + +Thu Feb 22 00:54:26 2001 Joerg Schilling + * fifo.c 1.25 + Large File support + Casts for sizeof() [long] on MaxOS X + +Wed Feb 21 23:32:51 2001 Joerg Schilling + * defaults.c 1.6 + #include unixstd.h for Large Files + +Wed Feb 21 23:27:48 2001 Joerg Schilling + * auinfo.c 1.6 + * isosize.c 1.7 + * audiosize.c 1.15 + Large File support + +Tue Feb 20 23:56:44 2001 Joerg Schilling + * drv_sony.c 1.45 + * drv_philips.c 1.42 + unixstd.h for sys/types.h for off_t in cdrecord.h + +Thu Feb 15 23:09:12 2001 Joerg Schilling + * scsihack.c 1.37 + Test for HAVE_BSD_DEV_SCSIREG_H for new MacOSX + +Fri Feb 9 00:35:50 2001 Joerg Schilling + * drv_philips.c 1.41 + Fixes for Plasmon RF 4100 + +Tue Jan 23 12:20:32 2001 Joerg Schilling + * modes.c 1.20 + Cast for singed/unsigned cmparison + +Mon Jan 15 01:09:05 2001 Joerg Schilling + * fifo.c 1.24 + %x -> %p Format + +Sun Jan 7 19:46:42 2001 Joerg Schilling + * scsihack.c 1.36 + scsi-apollo.c new + +Sun Jan 7 19:39:40 2001 Joerg Schilling + * scsitransp.c 1.73 + * scsi-vms.c 1.28 + * scsi-unixware.c 1.22 + * scsi-linux-pg.c 1.37 + * scsi-aix.c 1.32 + sense_len check -> scsitransp.c + +Tue Jan 2 00:09:45 2001 Joerg Schilling + * scsitransp.c 1.72 + sccsid[] is always used -> without #ifdef lint + +Fri Dec 29 00:06:35 2000 Joerg Schilling + * cdrecord.c 1.112 + Lint, 1.10a10, rlimit cast to Llong for SGI + +Thu Dec 28 23:19:23 2000 Joerg Schilling + * scsi_cdr.c 1.99 + Modified for Lint + +Wed Dec 20 18:26:01 2000 Joerg Schilling + * scsi-sgi.c 1.33 + Cast to caddr_t for SENSEBUF(dsp) + +Wed Dec 13 20:22:52 2000 Joerg Schilling + * scsi-linux-pg.c 1.36 + Cast s_cmd.addr = (caddr_t)sp->u_sense.cmd_sense; + +Tue Dec 12 15:20:46 2000 Joerg Schilling + * scsitransp.h 1.46 + struct scsi -> struct scg_scsi for AIX + +Sat Dec 9 22:52:01 2000 Joerg Schilling + * scsi-linux-sg.c 1.62 + Recognise ENOTTY as errno for failed ioctl() + +Sat Dec 9 18:20:25 2000 Joerg Schilling + * modes.c 1.19 + * scsilog.c 1.13 + * drv_sony.c 1.44 + * drv_philips.c 1.40 + * drv_mmc.c 1.61 + * drv_jvc.c 1.53 + * drv_dvd.c 1.50 + u_char -> Uchar + +Wed Dec 6 12:43:51 2000 Joerg Schilling + * cdrecord.c 1.111 + atoll() -> libschily + +Wed Nov 29 17:22:15 2000 Joerg Schilling + * scsi-vms.c 1.27 + Indented + +Wed Nov 29 17:18:51 2000 Joerg Schilling + * scsi-vms.c 1.26 + ATAPI Support and changed for new libscg Interface + +Fri Nov 24 11:00:58 2000 Joerg Schilling + * cdrecord.c 1.110 + Workaround for ACER drive that does not return from -dummy + Typo in online Help + +Wed Nov 8 00:06:05 2000 Joerg Schilling + * scsitransp.h 1.45 + * scsireg.h 1.24 + * scsidefs.h 1.23 + * scgio.h 2.16 + #ifdef __cplusplus extern "C" { + +Sat Nov 4 15:00:50 2000 Joerg Schilling + * fifo.c 1.23 + * cdrecord.c 1.109 + Printf-like Formats cleaned up + +Sat Nov 4 14:56:09 2000 Joerg Schilling + * scsi_cdr.c 1.98 + PIONEER CD-WO DR-R504X -> DEV_PIONEER_DW_S114X + +Sat Nov 4 14:52:43 2000 Joerg Schilling + * cdrecord.h 1.65 + DEFAULT_FIFOSIZE -> Long Constant + +Tue Oct 31 15:58:54 2000 Joerg Schilling + * cdrecord.c 1.108 + Cygwin-1.x Compatibility + +Sun Oct 22 13:37:15 2000 Joerg Schilling + * scsi-aix.c 1.31 + Type in sizeof(devname removed + +Tue Oct 17 10:35:34 2000 Joerg Schilling + * cdrecord.1 1.53 + SEE ALSO enhanced + +Fri Oct 13 11:28:51 2000 Joerg Schilling + * scsi-linux-sg.c 1.61 + use pg_version() only for PP + +Wed Sep 20 00:59:38 2000 Joerg Schilling + * modes.c 1.18 + Code reordered so DMA overrun messages only appears once + +Sun Sep 17 17:15:06 2000 Joerg Schilling + * cdrecord.h 1.64 + #define sample -> #define msample for Win32 + +Fri Sep 8 03:04:50 2000 Joerg Schilling + * modes.c 1.17 + Warning for Philips DMA overrun + +Wed Sep 6 23:41:34 2000 Joerg Schilling + * scsi_cdr.c 1.97 + unit_ready() made better + +Wed Sep 6 09:59:05 2000 Joerg Schilling + * scsitransp.c 1.71 + * scsitransp.h 1.44 + scg_cmderr() -> scg_cmd_err(), scg_cmd_status() new + +Tue Sep 5 03:32:34 2000 Joerg Schilling + * scsitransp.c 1.70 + Default printing to stderr + +Tue Sep 5 03:06:01 2000 Joerg Schilling + * scsitransp.c 1.69 + scg__open() returns -1 when SCGO_OPEN fails, to avoid calling scg_fileno() + +Tue Sep 5 02:30:41 2000 Joerg Schilling + * scsi_cdr.c 1.96 + allow_atapi() calls unit_ready() before mode_sense() to make it work past a reset + +Tue Sep 5 02:28:03 2000 Joerg Schilling + * modes.c 1.16 + Minimal transfer sizeof(struct scsi_mode_header) after DMA overrun + +Tue Sep 5 02:22:48 2000 Joerg Schilling + * drv_mmc.c 1.60 + read_toc()/read_disk_info() reads minimal 4 bytes for Philips ATAPI drives + +Mon Sep 4 20:24:52 2000 Joerg Schilling + * cdrecord.1 1.52 + Typo removed + +Sat Sep 2 21:16:00 2000 Joerg Schilling + * scsitransp.h 1.43 + Drive flags new in SCSI * + +Sat Sep 2 21:03:48 2000 Joerg Schilling + * scsi-wnt.c 1.26 + * scsi-vms.c 1.25 + * scsi-unixware.c 1.21 + * scsi-sgi.c 1.32 + * scsi-osf.c 1.22 + * scsi-os2.c 1.21 + * scsi-next.c 1.29 + * scsi-linux-sg.c 1.60 + * scsi-linux-pg.c 1.35 + * scsi-hpux.c 1.28 + * scsi-bsd.c 1.39 + * scsi-bsd-os.c 1.25 + * scsi-aix.c 1.30 + * scsi-beos.c 1.18 + All debug printing to stderr (scgp->errfile) + +Tue Aug 29 23:44:31 2000 Joerg Schilling + * scsi-next.c 1.28 + * scsi-bsd-os.c 1.24 + error codes & return harmonised + +Tue Aug 29 02:36:09 2000 Joerg Schilling + * drv_mmc.c 1.59 + set curspeed only if > 0 (SCSI-3 floating point exception in waitfix) + +Tue Aug 29 02:35:04 2000 Joerg Schilling + * scsi_scan.c 1.12 + call scg_settarget() in scanbus, to make sure SCSI address for scg_initator_id() is OK + +Sat Aug 26 10:20:43 2000 Joerg Schilling + * drv_mmc.c 1.58 + OPC Hack for strange drive that returns from OPC with "UNIT ATTENTION/operator selected write permit" + +Sat Aug 26 10:15:03 2000 Joerg Schilling + * cdrecord.c 1.107 + Enhancements for remote SCSI, scg_reset() with what Parameter + +Sat Aug 26 00:53:10 2000 Joerg Schilling + * scsihack.c 1.35 + * scsitransp.c 1.68 + scsibus/target/lun acess now only with scg_scsibus()/scsi_target()/scg_lun() and scg_settarget() + do not initialize target in struct scg_cmd because this is now done in SCG lowlevel code + scg__open() from scsihack.c -> scsitransp.c, scg_settarget() -> scgsettarget.c + dummy code it now always present + +Sat Aug 26 00:22:51 2000 Joerg Schilling + * scsitransp.h 1.42 + scg_settarget() -> scgsettarget.c + +Fri Aug 25 23:17:25 2000 Joerg Schilling + * scsi-wnt.c 1.25 + * scsi-vms.c 1.24 + * scsi-unixware.c 1.20 + * scsi-sgi.c 1.31 + * scsi-osf.c 1.21 + * scsi-os2.c 1.20 + * scsi-next.c 1.27 + * scsi-linux-sg.c 1.59 + * scsi-linux-pg.c 1.34 + * scsi-hpux.c 1.27 + * scsi-bsd.c 1.38 + * scsi-bsd-os.c 1.23 + * scsi-beos.c 1.17 + * scsi-aix.c 1.29 + scsibus/target/lun acess now only with scg_scsibus()/scsi_target()/scg_lun() and scg_settarget() + do not initialize target in struct scg_cmd because this is now done in SCG lowlevel code + +Thu Aug 24 00:52:32 2000 Joerg Schilling + * scsitransp.h 1.41 + scg Address Stucture new + scg__open() without bus/target/lun Parameter + scg_remote() new + +Wed Aug 23 22:44:26 2000 Joerg Schilling + * scsi_scan.c 1.11 + * scsilog.c 1.12 + * drv_dvd.c 1.49 + * drv_jvc.c 1.52 + * drv_philips.c 1.39 + * drv_sony.c 1.43 + * scsi_cdr.c 1.95 + scsibus/target/lun acess now only with scg_scsibus()/scsi_target()/scg_lun() and scg_settarget() + do not initialize target in struct scg_cmd because this is now done in SCG lowlevel code + +Sun Aug 20 20:57:32 2000 Joerg Schilling + * scsitransp.h 1.40 + * scsitransp.c 1.67 + * scsihack.c 1.34 + * scsi-linux-sg.c 1.58 + * scsi-linux-pg.c 1.33 + * scsi-sgi.c 1.30 + * scsi-next.c 1.26 + * scsi-hpux.c 1.26 + * scsi-bsd.c 1.37 + * scsi-aix.c 1.28 + * scsi_scan.c 1.10 + Now using scg_settarget() + +Sat Aug 19 23:24:03 2000 Joerg Schilling + * scsitransp.c 1.66 + * scsihack.c 1.33 + * scsi-wnt.c 1.24 + * scsi-vms.c 1.23 + * scsi-unixware.c 1.19 + * scsi-sgi.c 1.29 + * scsi-osf.c 1.20 + * scsi-os2.c 1.19 + * scsi-next.c 1.25 + * scsi-linux-sg.c 1.57 + * scsi-linux-pg.c 1.32 + * scsi-hpux.c 1.25 + * scsi-bsd.c 1.36 + * scsi-beos.c 1.16 + * scsi-bsd-os.c 1.22 + * scsi-aix.c 1.27 + * scsitransp.h 1.38 + scg_reset() with Function code Parameter + +Sat Aug 19 22:37:30 2000 Joerg Schilling + * cdrecord.h 1.63 + * scsitransp.h 1.39 + #ifdef's modified for new #define _SCG_*_H + +Sat Aug 19 21:57:31 2000 Joerg Schilling + * scsireg.h 1.23 + * scsidefs.h 1.22 + * scgio.h 2.15 + Correctly made multi include safe with #ifdef _SCG_* + +Sat Aug 19 21:05:25 2000 Joerg Schilling + * scsitransp.c 1.65 + sys/param.h removed + +Sat Aug 19 20:52:31 2000 Joerg Schilling + * scsitransp.h 1.37 + Now using scg_ops + Remote Version #defines, scg__version() removed + +Sat Aug 19 20:23:20 2000 Joerg Schilling + * scsi-sgi.c 1.28 + * scsi-osf.c 1.19 + * scsierrs.c 2.26 + * scsitransp.c 1.64 + * scsireg.h 1.22 + u_char -> Uchar + +Sat Aug 19 19:13:16 2000 Joerg Schilling + * scsitransp.c 1.63 + * scsihack.c 1.32 + scsitransp.c and scsihack.c separated + +Sat Aug 19 17:30:28 2000 Joerg Schilling + * scsireg.h 1.21 + Status & Sense Definitions from scsireg.h + +Fri Aug 18 10:40:48 2000 Joerg Schilling + * scsi-vms.c 1.22 + * scsi-wnt.c 1.23 + * scsi-unixware.c 1.18 + * scsi-sgi.c 1.27 + * scsi-osf.c 1.18 + * scsi-os2.c 1.18 + * scsi-next.c 1.24 + * scsi-linux-sg.c 1.56 + * scsi-linux-pg.c 1.31 + * scsi-hpux.c 1.24 + * scsi-bsd.c 1.35 + * scsi-bsd-os.c 1.21 + * scsi-beos.c 1.15 + * scsihack.c 1.31 + * scsi-aix.c 1.26 + * scsitransp.c 1.62 + Now uses scg_ops Structure and calling via pointers + +Thu Aug 17 22:50:53 2000 Joerg Schilling + * scsitransp.c 1.61 + Bracketing typo in scg_sprintresult() removed (printed junk) + +Wed Aug 16 10:11:08 2000 Joerg Schilling + * scsi-wnt.c 1.22 + * scsi-vms.c 1.21 + * scsi-unixware.c 1.17 + * scsi-sgi.c 1.26 + * scsi-os2.c 1.17 + * scsi-osf.c 1.17 + * scsi-next.c 1.23 + * scsi-linux-sg.c 1.55 + * scsi-hpux.c 1.23 + * scsi-linux-pg.c 1.30 + * scsi-bsd.c 1.34 + * scsi-beos.c 1.14 + * scsi-bsd-os.c 1.20 + * scsi-aix.c 1.25 + * scsihack.c 1.30 + * scsitransp.c 1.60 + scg_send() now only with scgp* Parameter + +Sun Aug 13 23:31:37 2000 Joerg Schilling + * scsitransp.c 1.59 + Buggy braketing corrected (printed 4-5 null Bytes to error output even in silent mode) + +Fri Aug 4 01:26:24 2000 Joerg Schilling + * scsitransp.h 1.36 + * scsitransp.c 1.58 + Komplett umgebaut damit die Fehlerausgabe in einen String erfolgt + +Tue Aug 1 00:03:45 2000 Joerg Schilling + * scsitransp.h 1.35 + * scsitransp.c 1.57 + * scsierrs.c 2.25 + * scsi-wnt.c 1.21 + * scsi-vms.c 1.20 + * scsi-unixware.c 1.16 + * scsi-sgi.c 1.25 + * scsi-osf.c 1.16 + * scsi-os2.c 1.16 + * scsi-next.c 1.22 + * scsi-linux-sg.c 1.54 + * scsi-linux-pg.c 1.29 + * scsi-hpux.c 1.22 + * scsi-bsd.c 1.33 + * scsi-bsd-os.c 1.19 + * scsi-beos.c 1.13 + * scsi-aix.c 1.24 + All printf()'s -> js_printf(), sprintf() -> snprintf() + +Sun Jul 30 15:15:34 2000 Joerg Schilling + * scsitransp.c 1.56 + * scsitransp.h 1.34 + scg_prbytes()/scg_prsense() & scg_printdev() INterface restructured + +Sun Jul 30 13:52:05 2000 Joerg Schilling + * wm_packet.c 1.13 + * scsi_scan.c 1.9 + * scsilog.c 1.11 + * cdrecord.c 1.106 + * scsi_cdr.c 1.94 + * modes.c 1.15 + * drv_sony.c 1.42 + * drv_simul.c 1.16 + * drv_philips.c 1.38 + * drv_mmc.c 1.57 + * drv_jvc.c 1.51 + * drv_dvd.c 1.48 + Restructured for new libscg with scg_*() + +Thu Jul 27 01:17:47 2000 Joerg Schilling + * scsitransp.c 1.55 + scg_prbytes()/scg_printdev() now using FILE * Parameter + scg__errmsg() restructured to be similar to snprintf() + +Thu Jul 27 01:15:54 2000 Joerg Schilling + * scsierrs.c 2.24 + Made similar to snprintf() + +Thu Jul 27 01:15:02 2000 Joerg Schilling + * scsitransp.h 1.33 + scg_prbytes()/scg_printdev() now using FILE * Parameter + scg__errmsg() restructured to be similar to snprintf() + +Sun Jul 23 18:01:12 2000 Joerg Schilling + * scsierrs.c 2.23 + * scsihack.c 1.29 + * scsitransp.c 1.54 + * scsi-wnt.c 1.20 + * scsi-vms.c 1.19 + * scsi-unixware.c 1.15 + * scsi-osf.c 1.15 + * scsi-sgi.c 1.24 + * scsi-os2.c 1.15 + * scsi-next.c 1.21 + * scsi-linux-sg.c 1.53 + * scsi-linux-pg.c 1.28 + * scsi-hpux.c 1.21 + * scsi-bsd.c 1.32 + * scsi-beos.c 1.12 + * scsi-bsd-os.c 1.18 + * scsi-aix.c 1.23 + * scsitransp.h 1.32 + restructured to use scg_ basieed Function names + +Sun Jul 23 00:28:09 2000 Joerg Schilling + * scsitransp.h 1.31 + open_scsi()/close_scsi()/... -> scg_open()/scg_close/... + +Thu Jul 20 20:12:42 2000 Joerg Schilling + * cdrecord.1 1.51 + Note for Volmgt & Solaris/USCSI + +*************** Release 1.9 ******************* + +Thu Jul 20 19:49:20 2000 joerg + * diskid.c 1.28 + New Manufacturer: "Grand Advance Technology LTD." + +Thu Jul 20 19:12:01 2000 Joerg Schilling + * cdrecord.c 1.105 + Version -> 1.9 + 99 Minute check better + +Mon Jul 3 01:19:21 2000 Joerg Schilling + * scsi-linux-sg.c 1.52 + Type fixed in !scglocal(scgp)->drvers < 0 + +Mon Jul 3 00:11:20 2000 Joerg Schilling + * scsi_cdr.c 1.93 + * drv_sony.c 1.41 + * drv_dvd.c 1.47 + * drv_mmc.c 1.56 + * cdrecord.h 1.62 + * cd_misc.c 1.8 + msf_to_lba() with force_positive Flag for 99 Minute CD's + +Sun Jul 2 23:22:00 2000 Joerg Schilling + * scsi-linux-sg.c 1.51 + scsi_raisedma() only for Kernel-2.2.10 and newer + +Sat Jul 1 13:40:49 2000 Joerg Schilling + * scsi-linux-sg.c 1.50 + New allocated copy buffer in SCSI * -> local for raisedma + +Sat Jul 1 13:22:49 2000 Joerg Schilling + * scsitransp.c 1.53 + * scsi-wnt.c 1.19 + * scsi-vms.c 1.18 + * scsi-unixware.c 1.14 + * scsi-sgi.c 1.23 + * scsi-osf.c 1.14 + * scsi-os2.c 1.14 + * scsi-next.c 1.20 + * scsi-linux-sg.c 1.49 + * scsi-linux-pg.c 1.27 + * scsi-hpux.c 1.20 + * scsi-bsd.c 1.31 + * scsi-bsd-os.c 1.17 + * scsi-beos.c 1.11 + * scsi-aix.c 1.22 + maxdma/maxbuf new in SCSI * + scsi_getbuf() now calls scsi_bufsize() to init new members + +Sat Jul 1 13:09:43 2000 Joerg Schilling + * scsitransp.h 1.30 + maxdma/maxbuf new in SCSI * + +Fri Jun 30 18:43:43 2000 Joerg Schilling + * scsi-linux-sg.c 1.48 + scsi_raisedma() now called with correct DMA Buffersize + +Fri Jun 30 18:38:48 2000 Joerg Schilling + * scsitransp.c 1.52 + * scsihack.c 1.28 + * scsi-wnt.c 1.18 + * scsi-vms.c 1.17 + * scsi-unixware.c 1.13 + * scsi-sgi.c 1.22 + * scsi-sco.c 1.14 + * scsi-osf.c 1.13 + * scsi-os2.c 1.13 + * scsi-next.c 1.19 + * scsi-linux-sg.c 1.47 + * scsi-hpux.c 1.19 + * scsi-linux-pg.c 1.26 + * scsi-bsd.c 1.30 + * scsi-beos.c 1.10 + * scsi-bsd-os.c 1.16 + * scsi-aix.c 1.21 + scsi_maxdma() now with 2nd Parameter "amt" for Linux sg driver + +Tue Jun 27 19:29:05 2000 Joerg Schilling + * drv_mmc.c 1.55 + Disk Subtype decoder for High Speed RW + +Tue Jun 27 19:19:51 2000 Joerg Schilling + * cdrecord.c 1.104 + Support for 99 Minute CD's + +Tue Jun 27 19:17:16 2000 Joerg Schilling + * diskid.c 1.27 + 99 Minute media in table + +Mon Jun 26 22:40:39 2000 Joerg Schilling + * diskid.c 1.26 + Bestdisc Technology Corporation new + +Mon Jun 26 22:29:17 2000 Joerg Schilling + * scsi-bsd.c 1.29 + * scsi-bsd-os.c 1.15 + * scsi-sgi.c 1.21 + * scsi-linux-sg.c 1.46 + * scsi-linux-pg.c 1.25 + * scsi-next.c 1.18 + better error messages into scgp->errstr + +Fri Jun 23 23:52:39 2000 Joerg Schilling + * scsi-linux-sg.c 1.45 + pvers && isold -> scglocal + +Fri Jun 23 23:23:33 2000 Joerg Schilling + * scsi-linux-sg.c 1.44 + Variable pvers only conditional for unused... warning + +Fri Jun 23 23:19:00 2000 Joerg Schilling + * scsi-linux-sg.c 1.43 + Support for SG_IO ioctl() + +Fri Jun 23 21:40:38 2000 Joerg Schilling + * scsitransp.h 1.29 + overbose new + +Thu Jun 22 15:20:18 2000 Joerg Schilling + * scsi-linux-sg.c 1.42 + SG_SCSI_RESET & SG_SET_RESERVED_SIZE new + +Wed Jun 21 10:34:52 2000 Joerg Schilling + * scsi-linux-pg.c 1.24 + Test with ATAPI SCSI status code + +Wed Jun 21 10:33:31 2000 Joerg Schilling + * scsitransp.c 1.51 + scsitransp.c split into scsitransp.c & scsi-sun.c + +Wed Jun 21 10:27:11 2000 Joerg Schilling + * scsihack.c 1.27 + scsi-sun.c new + +Tue Jun 20 07:20:40 2000 Joerg Schilling + * scsitransp.h 1.28 + secured _SCGIO_H -> _SCG_SCSISENSE_H + +Tue Jun 20 06:09:57 2000 Joerg Schilling + * scsi-bsd.c 1.28 + ATAPI Support for OpenBSD + +Sun Jun 4 00:55:02 2000 Joerg Schilling + * cdrecord.c 1.103 + #include for select() (autoconf Test for AIX), version -> 1.9a02 + +Sat Jun 3 17:31:06 2000 Joerg Schilling + * cdrecord.c 1.102 + New Option -shorttrack/-noshorttrack + +Fri Jun 2 22:37:51 2000 Joerg Schilling + * cdrecord.h 1.61 + New Flag TI_SHORT_TRACK & is_shorttrk() macro + +Fri Jun 2 22:32:59 2000 Joerg Schilling + * cdrecord.1 1.50 + New Optionen -shorttrack & -noshorttrack + +Fri Jun 2 21:44:43 2000 Joerg Schilling + * defaults.c 1.5 + Prevent a buffer overrrun with dev= option + +Fri Jun 2 21:43:16 2000 Joerg Schilling + * auinfo.c 1.5 + Check for buffer ovverun + +Fri Jun 2 00:03:13 2000 Joerg Schilling + * drv_mmc.c 1.54 + Set Pregapsize to 1 if the drive does not support 0 + free(cue) if cuep == NULL + +Tue May 30 02:46:22 2000 Joerg Schilling + * diskid.c 1.25 + Restructured + +Tue May 30 01:06:32 2000 Joerg Schilling + * diskid.c 1.24 + New manufacturers: "WEALTH FAIR INVESTMENT LIMITE", "General Magnetics Ld", "MPO" + +Tue May 30 00:59:12 2000 Joerg Schilling + * scsitransp.h 1.27 + debug Parameter -> odebug + +Mon May 29 19:07:56 2000 Joerg Schilling + * scsi-next.c 1.17 + Typo corrected max_scsibus -> scglocal(scgp)->max_scsibus + +Mon May 29 00:31:18 2000 Joerg Schilling + * scsireg.h 1.20 + Mode page 2A pw_in_lead_in & side_change new + +Mon May 29 00:13:25 2000 Joerg Schilling + * scsi_cdr.c 1.92 + More Page 2A bits for cdrecord -prcap + +Sun May 28 18:52:11 2000 Joerg Schilling + * scsi-vms.c 1.16 + scsi_close() now works + +Sun May 28 18:40:55 2000 Joerg Schilling + * cdrecord.1 1.49 + -fix hint for CDR-50 & CDR-55 specified + +Sun May 7 16:52:20 2000 Joerg Schilling + * scsi_cdr.c 1.91 + * scsilog.c 1.10 + * scsi_scan.c 1.8 + * auinfo.c 1.4 + * cd_misc.c 1.7 + * audiosize.c 1.14 + * cdr_drv.c 1.20 + * fifo.c 1.22 + * defaults.c 1.4 + * wm_packet.c 1.12 + * modes.c 1.14 + * cdrecord.c 1.101 + * drv_sony.c 1.40 + * drv_simul.c 1.15 + * drv_philips.c 1.37 + * drv_mmc.c 1.53 + * drv_jvc.c 1.50 + * drv_dvd.c 1.46 + * scsierrs.c 2.22 + * scsitransp.c 1.50 + #include + +Sun May 7 16:46:39 2000 Joerg Schilling + * scsi_cdr.c 1.90 + New DVD recognition, to allow Ricoh 9060 + +Sun May 7 16:11:09 2000 Joerg Schilling + * scsihack.c 1.26 + Support for new Mac OS X + +Mon May 1 20:06:37 2000 Joerg Schilling + * scsitransp.c 1.49 + scsi_maxmdma() cleaned up + +Thu Apr 27 15:06:42 2000 Joerg Schilling + * cdrecord.1 1.48 + Examples for cdda2wav + +Thu Apr 27 14:22:19 2000 Joerg Schilling + * drv_mmc.c 1.52 + No more error message forSony & long write in progress when Fixating + +Thu Apr 27 14:17:01 2000 Joerg Schilling + * diskid.c 1.23 + Better message for illegal ID (CD-RW) + all old CD-R's now print ILLEGAL OLD CODE + +Wed Apr 26 11:50:19 2000 Joerg Schilling + * cdrecord.c 1.100 + * cdrecord.h 1.60 + * scsi_cdr.c 1.89 + * drv_jvc.c 1.49 + * drv_dvd.c 1.45 + scsi_close_tr_session()/scsi_blank() with immed Parameter + +*************** Release 1.8.1 ******************* + +Thu Apr 27 14:22:19 2000 Joerg Schilling + * drv_mmc.c 1.52 + No error message for Sony & long write in progress while fixating + +Thu Apr 27 14:17:01 2000 Joerg Schilling + * diskid.c 1.23 + Better printout with illegal ID for CD-RW, all old CD-R's now give ILLEGAL OLD CODE + +Wed Apr 26 11:50:19 2000 Joerg Schilling + * cdrecord.c 1.100 + * cdrecord.h 1.60 + * scsi_cdr.c 1.89 + * drv_jvc.c 1.49 + * drv_dvd.c 1.45 + scsi_close_tr_session()/scsi_blank() with immed Parameter + +Mon Apr 24 12:32:14 2000 Joerg Schilling + * cdrecord.c 1.99 + Version -> 1.8.1 final, exitcode == 0 only if fixating in Dummy Mode fails + +Sat Apr 22 15:37:05 2000 Joerg Schilling + * diskid.c 1.22 + New manufacturer "VICTOR COMPANY OF JAPAN, LIMITED", "VIVASTAR AG" + +Sun Apr 16 17:07:55 2000 Joerg Schilling + * cdrecord.1 1.47 + BURN-Proof Option for Sanyo + +Sun Apr 16 17:07:11 2000 Joerg Schilling + * drv_mmc.c 1.51 + BURN-Proof Support for Sanyo + +Sun Apr 16 17:06:30 2000 Joerg Schilling + * cdrecord.c 1.98 + New Option driveropts= + better -dao usage + +Sun Apr 16 03:11:26 2000 Joerg Schilling + * scsi_cdr.c 1.88 + display BURN-Proof for cdrecord -prcap + +Sun Apr 16 03:08:58 2000 Joerg Schilling + * defaults.c 1.3 + * cdrecord.dfl 1.2 + driveropts new + +Sun Apr 16 02:16:29 2000 Joerg Schilling + * drv_sony.c 1.39 + * cdrecord.h 1.59 + * drv_simul.c 1.14 + * drv_philips.c 1.36 + * drv_jvc.c 1.48 + * drv_dvd.c 1.44 + open_session() now with cdr_t * Parameter for BURN-Proof + +Mon Apr 3 21:05:37 2000 Joerg Schilling + * scsi-linux-pg.c 1.23 + #include for strlen() + +Sat Apr 1 21:59:19 2000 Joerg Schilling + * diskid.c 1.21 + New manufaturer: "TAROKO INTERNATIONAL CO.,LTD.", "UNIDISC TECHNOLOGY CO.,LTD", "Hong Kong Digital Technology Co., Ltd.", "VIVA MAGNETICS LIMITED" + +Sat Mar 11 12:31:09 2000 Joerg Schilling + * scsi_cdr.c 1.87 + Sanyo CRD-R24S -> Philips CDD 521 + +Sat Mar 11 12:30:06 2000 Joerg Schilling + * drv_mmc.c 1.50 + send_opc_mmc() now calls send_opc() and suppresses ILLEGAL_REQUEST + +Sat Mar 11 12:26:37 2000 Joerg Schilling + * cdrecord.1 1.46 + WeB address changed + +Sun Feb 20 21:54:33 2000 Joerg Schilling + * cdrecord.h 1.58 + * cdrecord.c 1.97 + * cdrecord.1 1.45 + New Option -waiti for multi session from Pipe from mkisofs + +Sun Feb 20 20:56:09 2000 Joerg Schilling + * cdrecord.c 1.96 + scsi_in_progress() Test and usleep(100000) if Long Write in Progress + +Sun Feb 20 20:54:06 2000 Joerg Schilling + * drv_mmc.c 1.49 + scsi_in_progress() test for scsi_flush_cache() in fixate, send_cue() -> LOCAL + +Sun Feb 20 20:52:49 2000 Joerg Schilling + * cdrecord.h 1.57 + scsi_in_progress() new, send_cue() removed + +Sun Feb 20 20:52:15 2000 Joerg Schilling + * scsi_cdr.c 1.86 + scsi_in_progress() new + +Sat Feb 19 00:38:35 2000 Joerg Schilling + * cdrecord.c 1.95 + read Sectorsize from read_capacity too, for drivs without Blockdescriptor, dp->cdr_opc() new + +Sat Feb 19 00:33:54 2000 Joerg Schilling + * scsi_cdr.c 1.85 + send_opc() new + +Sat Feb 19 00:24:37 2000 Joerg Schilling + * cdrecord.h 1.56 + * drv_sony.c 1.38 + * drv_simul.c 1.13 + * drv_philips.c 1.35 + * drv_mmc.c 1.48 + * drv_jvc.c 1.47 + * drv_dvd.c 1.43 + Separate OPC code in driver interface + +Sun Feb 6 08:27:21 2000 Joerg Schilling + * scsi-sgi.c 1.20 + * scsi-openserver.c 1.17 + * scsi-linux-sg.c 1.41 + * scsi-aix.c 1.20 + * scsi-bsd-os.c 1.14 + * scsi-hpux.c 1.18 + * scsi-linux-pg.c 1.22 + * scsi-bsd.c 1.27 + added missing brackets in scsi_close() to make sure that scsi_close() really closes files + +Sun Feb 6 08:25:14 2000 Joerg Schilling + * scsi-linux-sg.c 1.40 + Maxdma now is correcteven if only a prallel port is present + +*************** Release 1.8 ******************* + +Fri Jan 28 10:01:48 2000 Joerg Schilling + * drv_mmc.c 1.47 + * drv_dvd.c 1.42 + load_media() with new doexit Parameter + Reload now does not make problems with notebook type drives + +Fri Jan 28 09:51:26 2000 Joerg Schilling + * drv_philips.c 1.34 + * cdrecord.h 1.55 + * cdrecord.c 1.94 + load_media() with new doexit Parameter + +Fri Jan 28 09:50:51 2000 Joerg Schilling + * scsi_cdr.c 1.84 + wait_unit_ready() does not print error message if scgp->silent >= 1 + +Wed Jan 26 11:48:08 2000 Joerg Schilling + * scsi_scan.c 1.7 + Initiator-ID test past havebus() + +Sun Jan 23 16:39:01 2000 Joerg Schilling + * cdrecord.c 1.93 + Better error message for open_scsi() + +Sun Jan 23 16:07:46 2000 Joerg Schilling + * scsi-unixware.c 1.9 + New code from SCO, -scanbus now works + +Sun Jan 23 00:44:28 2000 Joerg Schilling + * scsihack.c 1.25 + scsi-sco.c -> scsi-openserver.c + +Tue Jan 18 00:02:33 2000 Joerg Schilling + * cdrecord.c 1.92 + Version -> 1.8, mlockall()/setpri() problems do not cause abort + Note to -pad option for audio Files with wrong length + #include for SCO Openserver + +Thu Jan 13 01:32:35 2000 Joerg Schilling + * diskid.c 1.20 + Problems with m_digitalstor (97:27/01) in table docuented + +Thu Jan 13 01:11:45 2000 Joerg Schilling + * defaults.c 1.2 + CDR_DEVICE now superseedes /etc/default/cdrecord + +Tue Jan 11 01:46:47 2000 Joerg Schilling + * scsi-hpux.c 1.17 + sprintf(.../dev/rscsi...) now uses hex digits for tgt 0..15 + +Sat Jan 8 23:42:25 2000 Joerg Schilling + * scsi_cdr.c 1.83 + scsi_read() now looks for is_atapi to allow mkisofs & ATAPI to do multi-session + +Fri Jan 7 02:24:28 2000 Joerg Schilling + * scsihack.c 1.24 + Dummyfunctions fuor new Interface + +Fri Jan 7 02:22:36 2000 Joerg Schilling + * cdr_drv.c 1.19 + set_cdrcmds() now calls return() past exit() for lint's sake + +Wed Dec 29 14:01:03 1999 Joerg Schilling + * cdrecord.c 1.91 + exargs Strukt new + Setting to 2048 bytes/sector earlier for -msinfo + new function exscsi() + exfifo() -> excdr() + +Wed Dec 29 02:14:11 1999 Joerg Schilling + * cdrecord.h 1.54 + * fifo.c 1.21 + wait_faio() new + +Wed Dec 29 00:38:52 1999 Joerg Schilling + * diskid.c 1.19 + New manufacturer: "Hile Optical Disc Technology Corp." + "Friendly CD-Tek Co." + "Sound Sound Multi-Media Development Limited" + "kdg mediatech AG" + +Wed Dec 29 00:34:39 1999 Joerg Schilling + * cdrecord.1 1.44 + better dociumentation for SUID Installation + +Fri Dec 24 01:59:35 1999 Joerg Schilling + * fifo.c 1.20 + sp null pointer Problem in fifo_stats() fixed + input-buffer -> input buffer + +Tue Dec 7 01:07:24 1999 Joerg Schilling + * cdrecord.1 1.43 + added missing .TP + +Sun Dec 5 13:37:16 1999 Joerg Schilling + * fifo.c 1.19 + kill_fifo() now kil only if faio_pid > 0 + +Sat Dec 4 21:36:38 1999 Joerg Schilling + * diskid.c 1.18 + New manufacturer: EXIMPO & Seantram Technology Inc. + Seantram has been guessed before + +Sat Dec 4 14:15:16 1999 Joerg Schilling + * cdrecord.c 1.90 + intfifo()/exfifo() new + kill FIFO on comerr() and signals + +Sat Dec 4 14:12:41 1999 Joerg Schilling + * drv_dvd.c 1.41 + isgui as with drv_mmc.c added + +Tue Nov 30 14:48:12 1999 Joerg Schilling + * scsihack.c 1.23 + * scsi-linux-pg.c 1.21 + pg.h now locally available + +Sat Nov 27 21:38:54 1999 Joerg Schilling + * scsi-os2.c 1.12 + SRB in scsi_send() and scsi_reset() -> static to prevent core dump + +Sat Nov 20 17:49:38 1999 Joerg Schilling + * scsi-os2.c 1.11 + scgfiles array removed + set_error() new + added some ux_errno = EIO + wait_post() now calls DosResetEventSem() in any case + +Sat Nov 20 14:21:09 1999 Joerg Schilling + * scsi-os2.c 1.10 + DEBUG2/SCANDEBUG code removed + +Sat Nov 20 07:23:59 1999 Joerg Schilling + * diskid.c 1.17 + New manufacturer: Customer Pressing Oosterhout + Harmonic Hall Optical Disc Ltd. + DELPHI TECHNOLOGY INC. + +Sat Nov 20 06:45:18 1999 Joerg Schilling + * cdrecord.c 1.89 + Version -> 1.8a32 + 5 missing set_secsize(.. oldsize) added + +Sat Nov 20 06:44:02 1999 Joerg Schilling + * cdr_drv.c 1.18 + Kodak PDC-600 in driver recognition + +Sat Nov 20 06:43:12 1999 Joerg Schilling + * drv_mmc.c 1.46 + next_wr_addr() in driver struct for CD-ROM -> cmd_ill() + +Sat Nov 20 06:41:39 1999 Joerg Schilling + * fifo.c 1.18 + fixed typo for HAVE_DOSALLOCSHAREDMEM + +Fri Nov 12 10:00:19 1999 Joerg Schilling + * scsitransp.c 1.48 + scsi_yes() now global + +Fri Nov 12 09:59:49 1999 Joerg Schilling + * scsitransp.h 1.26 + scsi_yes() new + +Mon Oct 18 02:38:11 1999 Joerg Schilling + * cdrecord.c 1.88 + always set TAO mode on startup to make checkdsize() working + +Mon Oct 18 01:34:34 1999 Joerg Schilling + * scsilog.c 1.9 + * scsi_cdr.c 1.82 + i_to_short() -> i_to_2_byte() + +Mon Oct 18 01:15:21 1999 Joerg Schilling + * scsilog.c 1.8 + * scsi_cdr.c 1.81 + * drv_dvd.c 1.40 + * drv_mmc.c 1.45 + * drv_philips.c 1.33 + * iso9660.h 1.4 + a_to_u_short() -> a_to_u_2_byte() + +Mon Oct 18 01:04:17 1999 Joerg Schilling + * isosize.c 1.6 + utypes.h wegen intcvt.h + +Mon Oct 18 00:38:01 1999 Joerg Schilling + * scsi_cdr.c 1.80 + * drv_sony.c 1.37 + * drv_jvc.c 1.46 + * drv_dvd.c 1.39 + a_to_3_byte() -> a_to_u_3_byte() + +Mon Oct 18 00:10:18 1999 Joerg Schilling + * drv_dvd.c 1.38 + * drv_sony.c 1.36 + * drv_jvc.c 1.45 + * drv_philips.c 1.32 + i_to_long() -> i_to_4_byte() + +Mon Oct 18 00:04:43 1999 Joerg Schilling + * scsi_cdr.c 1.79 + * isosize.c 1.5 + * drv_dvd.c 1.37 + * drv_mmc.c 1.44 + * drv_jvc.c 1.44 + * drv_sony.c 1.35 + * drv_philips.c 1.31 + * audiosize.c 1.13 + * cdrecord.c 1.87 + modified to use intcvt.h and a_to_4_byte() + +Sun Oct 17 23:21:40 1999 Joerg Schilling + * iso9660.h 1.3 + removed i_to_* and a_to_* macros -> intcvt.h + +Sun Oct 17 22:51:51 1999 Joerg Schilling + * scsireg.h 1.19 + struct scsi_capacity modified to use Int32_t + +Sat Oct 16 13:52:29 1999 Joerg Schilling + * scsi_cdr.c 1.78 + * drv_mmc.c 1.43 + * auinfo.c 1.3 + * drv_sony.c 1.34 + malloc() casts for K&R C + +Fri Oct 15 20:28:25 1999 Joerg Schilling + * cdrecord.h 1.53 + * cdr_drv.c 1.17 + * cdrecord.c 1.86 + set_cdrmds() if 2. Parameter is NULL returns BOOL + for cdrecord to check for dvd driver or not + +Fri Oct 15 20:19:36 1999 Joerg Schilling + * scsi_cdr.c 1.77 + Optima Dis Covery 650 CD-R Inquiry recognition new + +Fri Oct 15 20:17:17 1999 Joerg Schilling + * scsi-beos.c 1.9 + * scsi-osf.c 1.12 + typos removed + +Thu Oct 7 15:33:17 1999 Joerg Schilling + * scsi-bsd-os.c 1.13 + * scsi-aix.c 1.19 + mising bracket in scsi_open() fixed + +Fri Sep 17 17:59:18 1999 Joerg Schilling + * cdrecord.c 1.85 + Version -> 1.8a29 + libscg version check + #incude for win32 realtime pri Code + +Fri Sep 17 17:56:57 1999 Joerg Schilling + * scsi_cdr.c 1.76 + endless lookp in mmc_cap() removed: no medium (wait_unit_ready()) + +Fri Sep 17 15:48:09 1999 Joerg Schilling + * scsitransp.c 1.47 + HAVE_SCG #define earlier + +Fri Sep 17 15:42:39 1999 Joerg Schilling + * scsi-linux-pg.c 1.20 + duplicates with scsi-linux-sg.c fuer scg__version() removed + +Fri Sep 17 15:36:55 1999 Joerg Schilling + * scsitransp.c 1.46 + #ifdef HAVE_SCG for _scg_trans_version[] + +Fri Sep 17 15:09:54 1999 Joerg Schilling + * scsi-wnt.c 1.17 + * scsi-vms.c 1.15 + * scsi-unixware.c 1.8 + * scsi-sgi.c 1.19 + * scsi-osf.c 1.11 + * scsi-sco.c 1.13 + * scsi-os2.c 1.9 + * scsi-next.c 1.16 + * scsi-linux-sg.c 1.39 + * scsi-linux-pg.c 1.19 + * scsi-hpux.c 1.16 + * scsi-bsd.c 1.26 + * scsi-bsd-os.c 1.12 + * scsi-beos.c 1.8 + * scsi-aix.c 1.18 + * scsitransp.c 1.45 + * scsitransp.h 1.25 + scg_version() new + +Fri Sep 17 14:55:17 1999 Joerg Schilling + * scsihack.c 1.22 + Comment changed + +Tue Sep 14 10:57:29 1999 Joerg Schilling + * scsi-linux-sg.c 1.38 + scgfile variable in max_dma corrected from scgfile -> scglocal(scgp)->scgfile + +Fri Sep 10 14:06:19 1999 Joerg Schilling + * diskid.c 1.16 + Better text for Disk Typ (e.g. Long strategy type) + +Thu Sep 9 12:30:38 1999 Joerg Schilling + * auinfo.c 1.2 + isrc_illchar() Prorotype new + +Wed Sep 8 17:57:45 1999 Joerg Schilling + * diskid.c 1.15 + New manufacturer: Guann Yinn Co. Ltd. + Opti.Me.S. S.p.A. + Nacar Media srl + +Wed Sep 8 12:45:37 1999 Joerg Schilling + * scsi-wnt.c 1.16 + missing bracket at malloc(amt) + +Tue Sep 7 17:13:09 1999 Joerg Schilling + * scsi-wnt.c 1.15 + * scsi-unixware.c 1.7 + * scsi-vms.c 1.14 + * scsi-sgi.c 1.18 + * scsi-sco.c 1.12 + * scsi-osf.c 1.10 + * scsi-next.c 1.15 + * scsi-os2.c 1.8 + * scsi-linux-sg.c 1.37 + * scsi-linux-pg.c 1.18 + * scsi-hpux.c 1.15 + * scsi-bsd.c 1.25 + * scsi-beos.c 1.7 + * scsi-bsd-os.c 1.11 + * scsi-aix.c 1.17 + * scsitransp.c 1.44 + First error messages past scgp->errstr + less calls to comerr() + +Tue Sep 7 17:07:55 1999 Joerg Schilling + * scsitransp.h 1.24 + errstr & errptr new in SCSI * + open_scsi() with errs Parameter + +Tue Sep 7 16:47:21 1999 Joerg Schilling + * cdrecord.c 1.84 + Now using new open_scsi() + added some calls to flush() + +Tue Sep 7 16:46:04 1999 Joerg Schilling + * cdrecord.1 1.42 + 1.6 -> 1.8 + +Tue Sep 7 00:21:08 1999 Joerg Schilling + * drv_mmc.c 1.42 + * drv_jvc.c 1.43 + * drv_dvd.c 1.36 + flush() for Blanking new + +Fri Sep 3 11:57:35 1999 Joerg Schilling + * scsi-linux-sg.c 1.36 + * scsi-linux-pg.c 1.17 + scsi_initiator_id() in scsi-linux-pg.c -> pg_initiator_id() + +Thu Sep 2 18:57:59 1999 Joerg Schilling + * cdrecord.c 1.83 + 1.8a24 -> 1.8a26 + Ricoh DAO Bug (fwa != -150) workaround + Realtimepri for Win32 + +Thu Sep 2 14:42:14 1999 Joerg Schilling + * scsi_scan.c 1.6 + scsi_initiator_id() new + Now prints bus,tgt,lun before selektor + +Thu Sep 2 13:32:57 1999 Joerg Schilling + * scsitransp.h 1.23 + * scsi-wnt.c 1.14 + * scsi-vms.c 1.13 + * scsi-unixware.c 1.6 + * scsi-sco.c 1.11 + * scsi-sgi.c 1.17 + * scsi-osf.c 1.9 + * scsi-os2.c 1.7 + * scsi-next.c 1.14 + * scsi-linux-sg.c 1.35 + * scsi-hpux.c 1.14 + * scsi-linux-pg.c 1.16 + * scsi-bsd.c 1.24 + * scsi-bsd-os.c 1.10 + * scsi-aix.c 1.16 + * scsi-beos.c 1.6 + * scsitransp.c 1.43 + scsi_initiator_id() new + +Mon Aug 30 13:36:17 1999 Joerg Schilling + * scsitransp.c 1.42 + * drv_simul.c 1.12 + * fifo.c 1.17 + #include libport.h new + +Sun Aug 29 01:42:10 1999 Joerg Schilling + * fifo.c 1.16 + shared memory for OS/2 + +Sun Aug 29 00:52:56 1999 Joerg Schilling + * fifo.c 1.15 + Typo fixed (\f instead of \n) + +Tue Aug 10 21:34:03 1999 Joerg Schilling + * scsitransp.c 1.41 + * scsi-wnt.c 1.13 + * scsi-vms.c 1.12 + * scsi-unixware.c 1.5 + * scsi-sco.c 1.10 + * scsi-sgi.c 1.16 + * scsi-osf.c 1.8 + * scsi-os2.c 1.6 + * scsi-next.c 1.13 + * scsi-linux-sg.c 1.34 + * scsi-linux-pg.c 1.15 + * scsi-hpux.c 1.13 + * scsi-bsd.c 1.23 + * scsi-bsd-os.c 1.9 + * scsi-beos.c 1.5 + * scsi-aix.c 1.15 + Static locale variable removed + Test for openbydev + scsi_freebuf() new + +Mon Aug 9 00:39:37 1999 Joerg Schilling + * scsitransp.h 1.22 + SCSI *->bufbase & scsi_freebuf() new + +Sat Aug 7 22:24:46 1999 Joerg Schilling + * scsitransp.h 1.21 + running/curcmdname/local new in SCSI * + +Sat Aug 7 22:22:36 1999 Joerg Schilling + * scsitransp.c 1.40 + * scsi-wnt.c 1.12 + * scsi-vms.c 1.11 + * scsi-unixware.c 1.4 + * scsi-sgi.c 1.15 + * scsi-sco.c 1.9 + * scsi-osf.c 1.7 + * scsi-os2.c 1.5 + * scsi-next.c 1.12 + * scsi-linux-sg.c 1.33 + * scsi-linux-pg.c 1.14 + * scsi-hpux.c 1.12 + * scsi-bsd.c 1.22 + * scsi-bsd-os.c 1.8 + * scsi-beos.c 1.4 + * scsi-aix.c 1.14 + scg_maxdma removed + scsi_running/scsi_command -> SCSI * struct + +Sat Aug 7 21:05:51 1999 Joerg Schilling + * scsi-vms.c 1.10 + scsi_close() new + +Sun Aug 1 22:08:46 1999 Joerg Schilling + * fifo.c 1.14 + WRITER_MAXWAIT & READER_MAXWAIT -> 240s for SAO SCSI Timeout + usleep() debug code + +Sun Aug 1 17:14:54 1999 Joerg Schilling + * cdrecord.1 1.41 + Better documentation for -multi Option (DAO mode) + +Sun Aug 1 17:05:30 1999 Joerg Schilling + * cdrecord.c 1.82 + -msinfo now works even if drive is in DAO mode + Now corrects trackstart values for second session in DAO Mode + +Sun Aug 1 16:51:35 1999 Joerg Schilling + * drv_sony.c 1.33 + * drv_simul.c 1.11 + * drv_philips.c 1.30 + * drv_mmc.c 1.41 + * drv_jvc.c 1.42 + * drv_dvd.c 1.35 + speedp == 0 allowed if speed should remain as is + +Sun Aug 1 16:10:40 1999 Joerg Schilling + * drv_sony.c 1.32 + * drv_simul.c 1.10 + * drv_mmc.c 1.40 + * drv_jvc.c 1.41 + * drv_dvd.c 1.34 + recovery_needed()/recover()/reserve_track() References to Philips driver removed + +Sun Aug 1 16:02:03 1999 Joerg Schilling + * drv_philips.c 1.29 + * scsi_cdr.c 1.75 + * cdr_drv.c 1.16 + * cdrecord.h 1.52 + Several functions scsi_cdr.c -> drv_philips.c + new function cmd_ill() + +Sun Aug 1 13:25:42 1999 Joerg Schilling + * drv_dvd.c 1.33 + phys_end in dvd_structure_00 may be 0 for empty session + +Sun Jul 25 13:52:02 1999 Joerg Schilling + * scsitransp.c 1.39 + scsi_close() new + __scgp removed + +Sun Jul 25 13:36:47 1999 Joerg Schilling + * scsi-wnt.c 1.11 + * scsi-unixware.c 1.3 + * scsi-sgi.c 1.14 + * scsi-osf.c 1.6 + * scsi-sco.c 1.8 + * scsi-os2.c 1.4 + * scsi-next.c 1.11 + * scsi-linux-sg.c 1.32 + * scsi-linux-pg.c 1.13 + * scsi-hpux.c 1.11 + * scsi-bsd.c 1.21 + * scsi-bsd-os.c 1.7 + * scsi-beos.c 1.3 + * scsi-aix.c 1.13 + scsi_close() new + +Sun Jul 25 00:50:18 1999 Joerg Schilling + * scsitransp.h 1.20 + close_scsi() and scsi_smalloc()/scsi_sfree() new + +Sat Jul 24 22:26:22 1999 Joerg Schilling + * scsitransp.h 1.19 + scsi_close() new + +Sat Jul 24 22:25:39 1999 Joerg Schilling + * scsi-vms.c 1.9 + last changes fro Mr. Heuser + Max Timeout corrected + +Sat Jul 24 22:22:44 1999 Joerg Schilling + * scsi-next.c 1.10 + Kernel Driver is in undefined state if SCSI Bus is not valid -> bugfix & debug prints + +Sat Jul 24 20:43:47 1999 Joerg Schilling + * drv_mmc.c 1.39 + from BCD converson (debug) for Ricoh test + Trying to suppress error messages for newer MITSUMI ATAPI drives + +Sat Jul 24 19:27:06 1999 Joerg Schilling + * cdrecord.1 1.40 + Better documentation for -pad/padsize= + +Sat Jul 24 19:25:34 1999 Joerg Schilling + * diskid.c 1.14 + New manufacturer: OPTROM + AUDIO DISTRIBUTORS + Acer Media Technology + +Sat Jul 24 19:23:49 1999 Joerg Schilling + * cdrecord.c 1.81 + -> 1.8a24 & write_buf() Test Code + +Sat Jul 24 19:19:22 1999 Joerg Schilling + * cdrecord.c 1.80 + Check HAVE_SETPRIORITY and HAVE_NICE + +Sat Jul 24 19:17:30 1999 Joerg Schilling + * cdrecord.c 1.79 + Version -> 1.8a23 + Signalhandler for wait time before burning + O_BINARY define for win32 + setmode(TDIN, O_BINARY) for win32 + track[] Array now MAX_TRACKS+2 + Print Drive Buffer size and FIFO size + -force Flag to blank problematic CD-RW's + set sector size to 2k before burning for Plextor + set_speed...() now with speedp Parameter to allow MMC to send back actual values + DAO for MMC + new Options -atip/-useinfo/-force/-dao/mcn=text/isrc=text/index=list + first Test for continuous Drive buffer cap printouts + set_secsize() new (for Plextor & DAO) + EMX Wildcard expansion for OS/2 + Timeout for DAO -> minimal 200s + print_toc() \ removed for K&R C + print_toc() with CD-Text + DosSetPriority() now korrectly doing delta + setpregaps() sets values for lead-in/out + checktsize() checks for DAO + +Sun Jul 18 14:39:31 1999 Joerg Schilling + * cdrecord.h 1.51 + * scsi_cdr.c 1.74 + open_scsi() -> libscg + +Sat Jul 17 15:54:11 1999 Joerg Schilling + * scsitransp.c 1.38 + MAX DMA for Solaris x86 from 32k -> 56k + scsierr() checks for sense[0] != 0 + scsi_sense_{key!code!qual} return 0 if scsierr() == FALSE + +Sat Jul 17 15:37:00 1999 Joerg Schilling + * scsitransp.h 1.18 + open_scsi() for scsiopen.c new + +Mon Jun 28 01:11:18 1999 Joerg Schilling + * scsi-linux-pg.c 1.12 + set CDB to 0 past cdb_len + +Sun Jun 6 19:41:11 1999 Joerg Schilling + * drv_philips.c 1.28 + CDR_SWABAUDIO for pioneer_dws114x + +Sun Jun 6 19:40:29 1999 Joerg Schilling + * modes.c 1.13 + get_mode_params() now return FALSE if has_mode_page() returns FALSE + +Sun Jun 6 19:39:02 1999 Joerg Schilling + * scsi_cdr.c 1.73 + Hack for NT-4.0 ASPI ISE inquiry fake (bug in add_len) + workaround for Ricoh NOT_READY key in get Mode page 2A + +Thu May 13 16:55:13 1999 Joerg Schilling + * scsi-wnt.c 1.10 + #define for format to avoid hiding messages + Now uses dlopen() + ha_inquiry() new + better paraeters in scsi_open() + SRB_HaID/SRB_HaId unified + +Thu May 13 15:07:36 1999 Joerg Schilling + * scsi_cdr.c 1.72 + check scsi_open() return code for < 0 + +Thu May 13 15:00:48 1999 Joerg Schilling + * modes.c 1.12 + Cast for ANSI C comparison + +Thu May 13 15:00:07 1999 Joerg Schilling + * drv_sony.c 1.31 + Cast for ANSI C + fixed typo in error texts + +Thu May 13 14:31:50 1999 Joerg Schilling + * drv_jvc.c 1.40 + mods for ANSI C comparison + +Thu May 13 14:31:12 1999 Joerg Schilling + * cdrecord.1 1.39 + New Options -atip and index= + +Thu May 13 12:00:58 1999 Joerg Schilling + * scsierrs.c 2.21 + field_ptr now correctly used for progress printing on NOT_READY + +Wed May 12 01:42:18 1999 Joerg Schilling + * scsi-os2.c 1.3 + -scanbus support + +Wed May 12 01:01:54 1999 Joerg Schilling + * drv_philips.c 1.27 + * scsi_cdr.c 1.71 + * cdr_drv.c 1.15 + * scsidefs.h 1.21 + DEV_RICOH_RO_1060C new (preliminary) + +Mon May 3 01:30:22 1999 Joerg Schilling + * scsi-wnt.c 1.9 + changed names and indented + WBOOL definition to distinguish BOOL from Windows.h and BOOL from standard.h + busses new + compare busno with busses + Debug File removed + EventStatus as result of WaitForSingleObject() + set_error() new for correct error codes + scsiabort() new + +Tue Apr 27 23:11:59 1999 Joerg Schilling + * scsi-wnt.c 1.8 + Debug File removed + +Tue Apr 27 21:06:48 1999 Joerg Schilling + * scsi-wnt.c 1.7 + -scanbus now works + file matrix removed + check for nuber of SCSI Busses + +Mon Apr 26 22:37:40 1999 Joerg Schilling + * scsi-wnt.c 1.6 + Try to implement -scanbus + +Mon Apr 26 22:36:00 1999 Joerg Schilling + * scsi-wnt.c 1.5 + sp->u_scb.cmd_scb[0] = s.SRB_Status -> sp->u_scb.cmd_scb[0] = s.SRB_TargStat + error code SCG_FATAL -> SCG_RETRYABLE + +Mon Apr 26 22:35:00 1999 Joerg Schilling + * scsi-wnt.c 1.4 + Indented II + +Mon Apr 26 22:34:15 1999 Joerg Schilling + * scsi-wnt.c 1.3 + Indented + +Mon Apr 26 22:33:41 1999 Joerg Schilling + * scsi-wnt.c 1.2 + Better comment + +Mon Apr 26 22:32:32 1999 Joerg Schilling + * scsi-wnt.c 1.1 + date and time created 99/04/26 21:32:32 by joerg + +Sun Apr 25 09:48:05 1999 Joerg Schilling + * cdrecord.h 1.50 + is_copy()/is_scms() new + TI_COPY/TI_SCMS new + read_subchannel() new + pr_manufacturer()/disk_rcap() with rw/audio Parameters + +Sun Apr 25 09:46:03 1999 Joerg Schilling + * drv_mmc.c 1.38 + clear -dummy status by clearin -dummy state + COPY & SCMS handling + +Sat Apr 24 14:10:19 1999 Joerg Schilling + * diskid.c 1.13 + * drv_mmc.c 1.37 + pr_manufacturer()/disk_rcap() now using rw and audio Parameter + +Sat Apr 24 14:05:48 1999 Joerg Schilling + * drv_philips.c 1.26 + pr_manufacturer()/disk_rcap() now using rw and audio Parameter + Printing of ATIP "restricted" + +Sat Apr 24 14:04:38 1999 Joerg Schilling + * drv_sony.c 1.30 + pr_manufacturer()/disk_rcap() now using rw and audio Parameter + printf() Format (%l..) + +Sat Apr 24 14:02:11 1999 Joerg Schilling + * scsi_cdr.c 1.70 + read_subchannel() new + +Sat Apr 24 13:03:56 1999 Joerg Schilling + * scsihack.c 1.21 + scsi-wnt.c new + +Sun Apr 18 21:04:15 1999 Joerg Schilling + * defaults.c 1.1 + date and time created 99/04/18 20:04:15 by joerg + +Sun Apr 18 19:56:45 1999 Joerg Schilling + * drv_sony.c 1.29 + * drv_simul.c 1.9 + * drv_philips.c 1.25 + * drv_mmc.c 1.36 + * drv_jvc.c 1.39 + * cdr_drv.c 1.14 + * drv_dvd.c 1.32 + * cdrecord.h 1.49 + New driver function cdr_send_cue + +Sun Apr 18 19:28:03 1999 Joerg Schilling + * drv_jvc.c 1.38 + g6 & g7 test functions + +Sun Apr 18 18:40:56 1999 Joerg Schilling + * cdrecord.h 1.48 + index= Option new + +Sun Apr 18 18:40:54 1999 Joerg Schilling + * drv_mmc.c 1.35 + index= Option new + +Sun Apr 18 00:42:59 1999 Joerg Schilling + * cdrecord.h 1.47 + New Flags F_SAO/F_WRITE/F_PREGAP/F_FORCE + isrc in struct track + is_tao()/is_pregap() new + ds_cdrflags in struct disk_status + cdr_buffer_cap in struct cdr_cmd + cdr_set_speed_dummy with *speedp - to allow mmc to return value + Functions for auinfo.c + +Sun Apr 18 00:18:30 1999 Joerg Schilling + * scsi-linux-sg.c 1.31 + MAX_SCG & MAX_TGT -> 16 + Debug function for printing buscookies[] and scgfiles[][][] + sg_mapbus() now with Bus Parameter and spcial handling for holes in buscookies[] + sg_setup() doing range check + better handling of Status byte in extended Code for mk2 Interface + +Sun Apr 18 00:09:52 1999 Joerg Schilling + * scsi-linux-pg.c 1.11 + Search slot for PP Bus backwards, as buscookies[] may have holes + +Sat Apr 17 22:12:22 1999 Joerg Schilling + * drv_jvc.c 1.37 + New Function in Driver table to read Buffer capacity + buf_cap_teac(), read_peak_buffer_cap_teac (), buffer_inquiry_teac(), check_buffer_teac() new + +Sat Apr 17 19:32:41 1999 Joerg Schilling + * scsi_scan.c 1.5 + Enhancements for 16 SCSI busses and 17 Targets/Bus + +Sat Apr 17 19:29:25 1999 Joerg Schilling + * cdr_drv.c 1.13 + buf_dummy() new + New Function in Driver table to read Buffer capacity + +Sat Apr 17 19:28:27 1999 Joerg Schilling + * drv_sony.c 1.28 + * drv_mmc.c 1.34 + * drv_philips.c 1.24 + * drv_simul.c 1.8 + * drv_dvd.c 1.31 + New Function in Driver table to read Buffer capacity + +Sat Apr 17 19:25:47 1999 Joerg Schilling + * drv_sony.c 1.27 + Workaround for CDU 620 (can not read lead-in Start time) + +Sat Apr 17 18:57:36 1999 Joerg Schilling + * scsitransp.c 1.37 + MAX_SCG & MAX_TGT -> 16 + Workaround for /dev/scg if Target > 7 + +Sat Apr 17 18:55:26 1999 Joerg Schilling + * scsi-bsd-os.c 1.6 + * scsi-vms.c 1.8 + * scsi-unixware.c 1.2 + * scsi-sgi.c 1.13 + * scsi-sco.c 1.7 + * scsi-osf.c 1.5 + * scsi-os2.c 1.2 + * scsi-next.c 1.9 + * scsi-hpux.c 1.10 + * scsi-bsd.c 1.20 + * scsi-aix.c 1.12 + MAX_SCG & MAX_TGT -> 16 + +Sat Apr 17 18:47:39 1999 Joerg Schilling + * scsi-next.c 1.8 + scsi_setup() & scsi_havebus() with scgp Pointer (bug) + +Sat Apr 17 17:09:00 1999 Joerg Schilling + * scsitransp.c 1.36 + limit SunOS 4.x maxdma to 64k-1 + +Sat Apr 17 13:14:24 1999 Joerg Schilling + * cdrecord.1 1.38 + -force flag and -useinfo new + +Tue Apr 13 01:29:14 1999 Joerg Schilling + * diskid.c 1.12 + m_seantram Index 28 (typo) -> 83 + +Tue Apr 13 01:06:45 1999 Joerg Schilling + * modes.c 1.11 + Test in has_mode_page() if desired page is really available for JVC 2080 FW Bug + +Fri Apr 9 20:49:08 1999 Joerg Schilling + * drv_jvc.c 1.36 + speed -> *speedp Parameter in speed_select() + +Fri Apr 9 01:03:54 1999 Joerg Schilling + * scsi_cdr.c 1.69 + * drv_dvd.c 1.30 + * audiosize.c 1.12 + Signed/unsiged comparisons with cast + +Fri Apr 9 00:46:07 1999 Joerg Schilling + * scsilog.c 1.7 + cast for comparing unsigned > int + +Fri Apr 9 00:33:17 1999 Joerg Schilling + * scsi_cdr.c 1.68 + read_buff_cap() Ulong -> int + +Fri Apr 9 00:32:35 1999 Joerg Schilling + * diskid.c 1.11 + New manufacturer: "Woongjin Media corp" + "INFODISC Technology Co., Ltd." + "UNITECH JAPAN INC." + "AMS Technology Inc." + +Tue Apr 6 22:08:31 1999 Joerg Schilling + * drv_mmc.c 1.33 + speed -> *speedp Parameter in speed_select() + Read write speed Auslesen and set *speedp + Test for dsp->ds_cdrflags & RF_WRITE + first DAO enhancements + +Tue Apr 6 22:05:25 1999 Joerg Schilling + * scsi_cdr.c 1.67 + speed -> *speedp Parameter IN speed_select() + read_buffer() WITH mode Parameter + scsi_get_speed() new + read_buff_cap() prints Data if sp && fp == NULL and avoids division by 0 + read_cdtext() new + Workaround for Philips CDD-522 cannot do read TOC MSN + +Tue Apr 6 01:15:52 1999 Joerg Schilling + * drv_philips.c 1.23 + speed -> *speedp Parameter in speed_select() + Test for dsp->ds_cdrflags & RF_WRITE + +Tue Apr 6 01:13:14 1999 Joerg Schilling + * drv_sony.c 1.26 + ATIP Support + +Fri Apr 2 16:06:31 1999 Joerg Schilling + * diskid.c 1.10 + "Seantram Technology Inc." new (guess) + +Fri Apr 2 15:50:28 1999 Joerg Schilling + * drv_sony.c 1.25 + * drv_simul.c 1.7 + * drv_dvd.c 1.29 + speed -> *speedp Parameter in speed_select() + +Sun Mar 28 15:31:56 1999 Joerg Schilling + * scsimmc.h 1.4 + struct mmc_cue new + +Sun Mar 28 15:29:43 1999 Joerg Schilling + * cdrecord.1 1.37 + -dao and -audio default for .au & .wav + +Fri Mar 12 02:05:58 1999 Joerg Schilling + * auinfo.c 1.1 + date and time created 99/03/12 02:05:58 by joerg + +Sun Mar 7 22:30:42 1999 Joerg Schilling + * fifo.c 1.13 + roundup(bufsize, pagesize) to make each Segment page aligned + +Wed Mar 3 23:45:20 1999 Joerg Schilling + * diskid.c 1.9 + New manufacturers: vanguard, grandadv, taeil, kingpro, digitalstor + +Wed Mar 3 22:58:38 1999 Joerg Schilling + * diskid.c 1.8 + New RCAP Liste + +Sat Feb 20 00:00:44 1999 Joerg Schilling + * scsi_cdr.c 1.66 + read_buffer() new + timeout for read_toc_philips() -> 240s for TEAC + read_master_cue() new + send_cue_sheet() new + read_buff_cap() new + +Sun Jan 31 22:37:38 1999 Joerg Schilling + * wm_packet.c 1.11 + * cdrecord.c 1.78 + carriage Return to beginning of Track... Strings to make error message not overwrite position + +Sun Jan 31 19:50:01 1999 Joerg Schilling + * cdrecord.c 1.77 + ignore dev= values from /etc/default/cdrecord for -scanbus + +Sun Jan 31 19:23:53 1999 Joerg Schilling + * scsi_cdr.c 1.65 + Suport for ACER CR-4020C + +Sun Jan 31 19:23:05 1999 Joerg Schilling + * drv_philips.c 1.22 + scgp->inq->ansi_version = 1; -> scgp->inq->data_format = 1; to make Plasmon RF-4100 work again + +Sun Jan 31 18:55:45 1999 Joerg Schilling + * cdrecord.1 1.36 + Hint for SVr4 and POSIX Realtime scheduler + +Sun Jan 31 18:49:06 1999 Joerg Schilling + * scsi-bsd.c 1.19 + scsi_maxdma() from MAXPHYS -> DFLTPHYS + +Sat Dec 12 12:36:09 1998 Joerg Schilling + * scsi-beos.c 1.2 + sccsid[] -> __sccsid[] + +Sun Dec 6 13:16:25 1998 Joerg Schilling + * scsi-beos.c 1.1 + date and time created 98/12/06 13:16:25 by joerg + +Sun Dec 6 12:41:50 1998 Joerg Schilling + * scsihack.c 1.20 + BeOS new + +Sun Dec 6 12:41:30 1998 Joerg Schilling + * scsi-vms.c 1.7 + New Version past phone call with vaxinf@CHCLU.CHEMIE.UNI-KONSTANZ.DE + +Sun Dec 6 12:10:54 1998 Joerg Schilling + * cdrecord.1 1.35 + FreeBSD device name bug + New address for Mailing List + Documentation of /etc/default/cdrecord + +Sat Dec 5 13:46:27 1998 Joerg Schilling + * cdrecord.c 1.76 + HAVE_SYS_RESOURCE_H new (BeOS) + 1.8a13 -> 1.8a14 + cdr_defaults() new + +Sat Dec 5 13:38:16 1998 Joerg Schilling + * cdrecord.h 1.46 + default.c/cdr_defaults() new + +Sun Nov 29 19:40:50 1998 Joerg Schilling + * scsi-sco.c 1.6 + cleaned up and permission to use /dev/xxx:target,lun + +Sun Nov 29 19:27:55 1998 Joerg Schilling + * scsidefs.h 1.20 + fused + +Sun Nov 29 19:25:54 1998 Joerg Schilling + * scgio.h 2.14 + Splitted into scgcmd.h and scgio.h + +Sun Nov 29 19:23:33 1998 Joerg Schilling + * scsi-unixware.c 1.1 + date and time created 98/11/29 19:23:33 by joerg + +Sun Nov 29 19:22:45 1998 Joerg Schilling + * scsihack.c 1.19 + UNIXWARE new + +Sun Nov 29 19:15:04 1998 Joerg Schilling + * cdrecord.c 1.75 + scgio.h -> scgcmd.h/scgio.h, scgio.h scgcmd.h scsidefs.h scsireg.h scsitransp.h -> include/scg, 1.8a11 -> 1.8a13 + +Sun Nov 29 19:14:20 1998 Joerg Schilling + * scsierrs.c 2.20 + * scsitransp.c 1.35 + * cdr_drv.c 1.12 + * modes.c 1.10 + * scsilog.c 1.6 + * wm_packet.c 1.10 + * scsi_scan.c 1.4 + * scsi_cdr.c 1.64 + * audiosize.c 1.11 + * drv_sony.c 1.24 + * drv_simul.c 1.6 + * drv_philips.c 1.21 + * drv_mmc.c 1.32 + * drv_jvc.c 1.35 + * drv_dvd.c 1.28 + scgio.h -> scgcmd.h/scgio.h, scgio.h scgcmd.h scsidefs.h scsireg.h scsitransp.h -> include/scg + +Sun Nov 29 00:39:42 1998 Joerg Schilling + * scsi-sco.c 1.5 + Correctly return Sense Data, EIO if errno == 0 + +Sat Nov 28 12:32:00 1998 Joerg Schilling + * scsierrs.c 2.19 + asc <= 80 -> asc < 80 for invalid sense code + +Sat Nov 28 00:49:19 1998 Joerg Schilling + * scsierrs.c 2.18 + Missing NULL as terminator for sd_ccs_error_str[] added + +Wed Nov 25 22:23:07 1998 Joerg Schilling + * scsi-linux-pg.c 1.10 + pg_send() Prototyp new + +Wed Nov 25 22:22:46 1998 Joerg Schilling + * scsitransp.c 1.34 + HAVE_PARAM_H -> HAVE_SYS_PARAM_H (Typo) + +Sun Nov 22 15:50:37 1998 Joerg Schilling + * cdrecord.c 1.74 + 1.8a9 -> 1.8a11, DosSetPriority() new + +Sun Nov 22 15:26:16 1998 Joerg Schilling + * isosize.c 1.4 + * audiosize.c 1.10 + Now using statdefs.h + +Sat Nov 21 23:41:31 1998 Joerg Schilling + * scsitransp.c 1.33 + #ifdef HAVE_PARAM_H for VMS + +Sat Nov 21 21:38:31 1998 Joerg Schilling + * scsi_cdr.c 1.63 + unsigned int cast for char Parameter in i_to_short() + +Sat Nov 7 22:21:28 1998 Joerg Schilling + * cdrecord.c 1.73 + 1.8a8 -> 1.8a9 + +Fri Nov 6 23:49:59 1998 Joerg Schilling + * scsi-linux-sg.c 1.30 + Typo in scsi_send() header + +Mon Nov 2 22:22:23 1998 Joerg Schilling + * scsi-bsd.c 1.18 + Typ bus -> busno for CAM removed + +Mon Nov 2 14:55:22 1998 Joerg Schilling + * scsi-os2.c 1.1 + date and time created 98/11/02 14:55:22 by joerg + +Mon Nov 2 13:24:30 1998 Joerg Schilling + * scsihack.c 1.18 + Now completely using SCSI *scgp as Function parameter + scsi-os2.c new + +Mon Nov 2 14:27:10 1998 Joerg Schilling + * scsi-vms.c 1.6 + * scsi-sgi.c 1.12 + * scsi-sco.c 1.4 + * scsi-osf.c 1.4 + * scsi-next.c 1.7 + * scsi-linux-sg.c 1.29 + * scsi-linux-pg.c 1.9 + * scsi-hpux.c 1.9 + * scsi-bsd.c 1.17 + * scsi-bsd-os.c 1.5 + * scsi-aix.c 1.11 + * scsierrs.c 2.17 + * scsitransp.c 1.32 + * scsitransp.h 1.17 + * cdrecord.c 1.72 + * cdrecord.h 1.45 + * cdr_drv.c 1.11 + * drv_mmc.c 1.31 + * drv_philips.c 1.20 + * drv_jvc.c 1.34 + * drv_dvd.c 1.27 + * drv_simul.c 1.5 + * drv_sony.c 1.23 + * scsi_cdr.c 1.62 + * modes.c 1.9 + * scsi_scan.h 1.2 + * scsi_scan.c 1.3 + * scsilog.c 1.5 + * wm_packet.c 1.9 + Now completely using SCSI *scgp as Function parameter + +Thu Oct 29 15:59:52 1998 Joerg Schilling + * scsihack.c 1.17 + * scsitransp.h 1.16 + * scsitransp.c 1.31 + * scsi-sgi.c 1.11 + * scsi-vms.c 1.5 + * scsi-sco.c 1.3 + * scsi-osf.c 1.3 + * scsi-next.c 1.6 + * scsi-linux-pg.c 1.8 + * scsi-linux-sg.c 1.28 + * scsi-hpux.c 1.8 + * scsi-bsd.c 1.16 + * scsi-bsd-os.c 1.4 + * scsi-aix.c 1.10 + Globale Variables removed and replaced by SCSI *scgp + +Thu Oct 29 15:45:38 1998 Joerg Schilling + * scsi-sco.c 1.2 + Indented and scsi_isatapi() new + +Thu Oct 29 15:30:53 1998 Joerg Schilling + * scsi-sco.c 1.1 + date and time created 98/10/29 15:30:53 by joerg + +Thu Oct 29 15:21:52 1998 Joerg Schilling + * cdrecord.c 1.70 + Lowlevel SCSI transport Routines now have scgp Parameter, 1.8a6 -> 1.8a7 + +Thu Oct 29 15:21:09 1998 Joerg Schilling + * scsi_cdr.c 1.61 + * drv_sony.c 1.22 + * modes.c 1.8 + * scsilog.c 1.4 + * drv_philips.c 1.19 + * drv_mmc.c 1.30 + * drv_jvc.c 1.33 + * drv_dvd.c 1.26 + Lowlevel SCSI transport Routines now have scgp Parameter + +Wed Oct 28 22:20:25 1998 Joerg Schilling + * scsi-aix.c 1.9 + dev=device:b,t,l Syntax new + +Mon Oct 26 03:18:37 1998 Joerg Schilling + * diskid.c 1.7 + manufacturer_id() new + mi_num new in struct disk_man + +Mon Oct 26 03:17:34 1998 Joerg Schilling + * cdrecord.h 1.44 + manufacturer_id() new + +Mon Oct 26 00:27:22 1998 Joerg Schilling + * diskid.c 1.6 + New manufacturer: Xcitec Inc. + Doremi Media Co., Ltd. + Matsushita Electric Industrial Co.,Ltd. + CDA Datenträger Albrechts GmbH. + +Sun Oct 25 13:00:22 1998 Joerg Schilling + * cdrecord.c 1.71 + #ifdef HAVE_SYS_MMAN_H new + +Sat Oct 24 01:41:22 1998 Joerg Schilling + * scsi-vms.c 1.4 + * scsi-osf.c 1.2 + * scsi-sgi.c 1.10 + * scsi-next.c 1.5 + * scsi-hpux.c 1.7 + * scsi-bsd.c 1.15 + * scsi-bsd-os.c 1.3 + * scsi-aix.c 1.8 + Blind changes for 1st stage of SCSI lib: Globale Variables removed and replaced by SCSI *scgp + +Sat Oct 24 00:22:01 1998 Joerg Schilling + * cdrecord.c 1.69 + * scsi_cdr.c 1.60 + open_scsi(dev, timeout, verboseopen) -> open_scsi(dev, debug, verboseopen) + +Fri Oct 23 23:46:23 1998 Joerg Schilling + * wm_packet.c 1.8 + * scsi_cdr.c 1.59 + scsi_settimeout() -> do not divide by 100 + +Fri Oct 23 15:53:37 1998 Joerg Schilling + * cdrecord.c 1.68 + XXX scgp->cap->c_bsize = 2048; XXX Hack init !!! + +Fri Oct 23 03:14:46 1998 Joerg Schilling + * scsihack.c 1.16 + scsi-sco.c new + +Fri Oct 23 16:01:44 1998 Joerg Schilling + * scsi-linux-sg.c 1.27 + * scsi-linux-pg.c 1.7 + * scsitransp.c 1.30 + * scsitransp.h 1.15 + * scsierrs.c 2.16 + * scsi_cdr.c 1.58 + * scsidefs.h 1.19 + * cdrecord.c 1.67 + * drv_dvd.c 1.25 + * drv_philips.c 1.18 + * drv_sony.c 1.21 + * drv_jvc.c 1.32 + * cdr_drv.c 1.10 + * drv_mmc.c 1.29 + * modes.c 1.7 + * scsi_scan.c 1.2 + * scsilog.c 1.3 + Globale Variables removed and replaced by SCSI *scgp + +Thu Oct 22 18:49:06 1998 Joerg Schilling + * scsi-next.c 1.4 + Now using scsi_open(device, busno, tgt, tlun) Interface + +Tue Oct 20 18:31:25 1998 Joerg Schilling + * scsi_cdr.c 1.57 + CDD521/02 (Kodak PCD-200) + +Sun Oct 18 14:54:35 1998 Joerg Schilling + * cdrecord.c 1.66 + 1.6.1 -> 1.7.1 + +*************** Release 1.6.1 ******************* + +Sun Oct 18 14:47:55 1998 Joerg Schilling + * cdrecord.c 1.65 + O_BINARY for Tracks + Restore old sector size on exit() + Better handling for lba (512/2048) in read_toc() + +Sun Oct 18 14:40:35 1998 Joerg Schilling + * scsi_cdr.c 1.56 + * cdrecord.h 1.43 + sense_secsize() new + +Sat Oct 17 16:39:41 1998 Joerg Schilling + * fifo.c 1.12 + #ifdef SHM_LOCK to allow compilation of SysV shm on AIX + +Fri Oct 9 14:21:38 1998 Joerg Schilling + * scsi-bsd.c 1.14 + sp->ux_errno = EIO; for old Transport Interface + +Fri Oct 9 22:19:30 1998 Joerg Schilling + * modes.c 1.24 + * cd_misc.c 1.6 + * fifo.c 1.11 + * diskid.c 1.5 + * port.c 1.8 + #include new + +Fri Oct 9 14:21:38 1998 Joerg Schilling + * cd_misc.c 1.5 + * wm_packet.c 1.7 + * wm_session.c 1.2 + * wm_track.c 1.2 + #include & #include new + +Thu Oct 8 15:43:50 1998 Joerg Schilling + * cdrecord.h 1.42 + u_char -> Uchar + +Wed Oct 7 18:08:46 1998 Joerg Schilling + * cdrecord.c 1.64 + 1.7a2 -> 1.7, -fix -eject corrected + wait_unit_ready(120); after a load + +Wed Oct 7 18:07:41 1998 Joerg Schilling + * scsi_cdr.c 1.55 + IMMED hack in close track/session added + +Wed Oct 7 18:06:02 1998 Joerg Schilling + * drv_mmc.c 1.28 + new function waitfix_mmc() + -dummy error hiding better + +Wed Oct 7 17:54:02 1998 Joerg Schilling + * scsi-linux-pg.c 1.6 + EIO on SCG_RETRYABLE + +Tue Oct 6 12:53:11 1998 Joerg Schilling + * scsi-vms.c 1.3 + next version from vaxinf@CHCLU.CHEMIE.UNI-KONSTANZ.DE and my remarks + +Tue Oct 6 12:21:50 1998 Joerg Schilling + * scsi-vms.c 1.2 + next version from vaxinf@CHCLU.CHEMIE.UNI-KONSTANZ.DE + +Tue Oct 6 02:09:14 1998 Joerg Schilling + * scsi-linux-pg.c 1.5 + * scsi-linux-sg.c 1.26 + * scsi-bsd-os.c 1.2 + New device:@ Syntax + +Tue Oct 6 02:04:46 1998 Joerg Schilling + * scsi_cdr.c 1.54 + New device:@ Syntax + sscanf() -> scsi_scandev() + +Tue Oct 6 01:50:13 1998 Joerg Schilling + * cdrecord.1 1.34 + new dev= Syntax (dev=device:@ / dev=device:@,lun) inserted + +Tue Oct 6 01:05:29 1998 Joerg Schilling + * scsi-bsd.c 1.13 + modified to use -lcam & cam_open_btl(busno, tgt, tlun, O_RDWR, NULL); + +Thu Oct 1 01:15:57 1998 Joerg Schilling + * scsi-bsd.c 1.12 + Mods for dev=devname:@,l + +Mon Sep 21 01:24:45 1998 Joerg Schilling + * scsi-linux-sg.c 1.25 + scsi_settimeout() -> sg_settimeout() + +Sat Sep 19 21:49:11 1998 Joerg Schilling + * scsi-osf.c 1.1 + date and time created 98/09/19 20:49:11 by joerg + +Tue Sep 15 02:55:28 1998 Joerg Schilling + * drv_philips.c 1.17 + capacity_philips() with Philips CDD-2600 Support new + *_attach() now uses cdr_t * Parameter + cdr_kodak_pcd600 new + Pioneer DW-S114X from open_track_yamaha -> open_track_oldphilips + +Tue Sep 15 02:39:44 1998 Joerg Schilling + * scsi-bsd.c 1.11 + #ifndef BSD_CAM -> #ifndef HAVE_CAMLIB_H + +Tue Sep 15 02:37:58 1998 Joerg Schilling + * cdrecord.c 1.63 + Now uses: fctldefs.h, strdefs.h + SECURITY new + 1.7a1 -> 1.7a2 + open_scsi() check return value and print error message + Blanking time print + #ifdef _SC_PRIORITY_SCHEDULING around sysconf() + #ifdef PRIO_PROCESS around setpriority() for WNT + +Tue Sep 15 02:31:16 1998 Joerg Schilling + * drv_jvc.c 1.31 + Now uses: fctldefs.h, strdefs.h + blank_jvc() new + +Tue Sep 15 02:30:11 1998 Joerg Schilling + * drv_sony.c 1.20 + Now uses: fctldefs.h, strdefs.h + +Tue Sep 15 02:22:12 1998 Joerg Schilling + * cdrecord.h 1.41 + struct index -> struct tindex to allow #define index strchr + +Tue Sep 15 02:21:24 1998 Joerg Schilling + * drv_mmc.c 1.27 + Now uses: fctldefs.h, strdefs.h, timdefs.h + Sony 928 Support new + For drives that don't support read ATIP use data from read_diskinfo + Try to handle "early Return" fixating syndrom from Mitsumi drives + no error messages when fixating using -dummy + +Tue Sep 15 02:13:49 1998 Joerg Schilling + * scsi_cdr.c 1.53 + Now uses: fctldefs.h, strdefs.h + +Tue Sep 8 01:32:08 1998 Joerg Schilling + * scsihack.c 1.15 + Conditional compilation for Linux pg driver to support old Linux releases + +Mon Sep 7 02:30:15 1998 Joerg Schilling + * scsi-bsd.c 1.10 + Typo in scsi_fileno() fixed + +Sun Sep 6 18:47:16 1998 Joerg Schilling + * scsi-bsd.c 1.9 + first FreeBSD CAM Support + +Sun Sep 6 18:22:13 1998 Joerg Schilling + * scsi-bsd.c 1.8 + Enhancements for NetBSD & ATAPI + +Sun Sep 6 01:39:22 1998 Joerg Schilling + * cdr_drv.c 1.9 + cdr_mmc_sony new + +Sun Sep 6 00:43:43 1998 Joerg Schilling + * drv_simul.c 1.4 + * drv_dvd.c 1.24 + Now uses: strdefs.h + +Sat Sep 5 23:23:31 1998 Joerg Schilling + * scsitransp.c 1.29 + Now uses: timedefs.h fctldefs.h + +Mon Aug 31 01:50:12 1998 Joerg Schilling + * scsi-linux-pg.c 1.4 + pgbus init from -1 -> -2 + +Mon Aug 31 01:39:52 1998 Joerg Schilling + * scsi-linux-sg.c 1.24 + /dev/sga... to /dev/sgz instead of /dev/sgy now checked + return nopen to allow recognition of bad dev= parameters + +Mon Aug 31 01:38:08 1998 Joerg Schilling + * scsi-linux-pg.c 1.3 + Debug print for pgbus + if scsibus >= 0 ist do nothing if busno is wrong + +Mon Aug 31 01:03:17 1998 Joerg Schilling + * scsi_cdr.c 1.52 + write_xg5() new + +Mon Aug 31 01:02:00 1998 Joerg Schilling + * scsi_cdr.c 1.51 + open_scsi() now checks dev=devicename:b,t,l + read_trackinfo() now don't prints Cannot read TOC Meldung in silent mode + +Mon Aug 31 00:43:31 1998 Joerg Schilling + * scsitransp.c 1.28 + scsiprintresult() new + +Mon Aug 31 00:40:32 1998 Joerg Schilling + * scsitransp.h 1.14 + scsiprintcdb()/scsiprintwdata()/scsiprintrdata()/scsiprintresult() new + +Sun Aug 30 12:55:35 1998 Joerg Schilling + * drv_dvd.c 1.23 + g5_cdbaddr()/g5_cdblen() -> scgio.h + +Sun Aug 30 12:54:37 1998 Joerg Schilling + * scsihack.c 1.14 + USE_PG -> USE_PG_ONLY + +Sun Aug 30 12:54:02 1998 Joerg Schilling + * scgio.h 2.13 + g0_cdblen()/g5_cdblen() & g5_cdbaddr() new + +Sun Aug 30 12:53:06 1998 Joerg Schilling + * cdrecord.h 1.40 + write_xg5() new + +Sat Aug 29 22:15:37 1998 Joerg Schilling + * cd_misc.c 1.4 + pr_manufacturer() reference removed from print_min_atip() + +Sat Aug 29 21:57:01 1998 Joerg Schilling + * cdrecord.1 1.33 + PP tranport documented, -scanbus doc corrected + +Sat Aug 29 21:01:59 1998 Joerg Schilling + * scsi-linux-pg.c 1.2 + #include statt "pg.h" + support for integrated parallel Port Adapter & SCSI + timeout code corrected + DMA overrun now recognized + +Sat Aug 29 20:48:28 1998 Joerg Schilling + * scsi-linux-sg.c 1.23 + Support for integrated parallel Port Adapter & SCSI + +Sat Aug 29 20:22:10 1998 Joerg Schilling + * cd_misc.c 1.3 + * cdrecord.h 1.39 + print_min_atip() new in cd_misc.c + +Tue Aug 25 20:23:20 1998 Joerg Schilling + * scsihack.c 1.13 + scsi_isatapi() defined, for default SCSI code + +Sun Aug 23 13:42:44 1998 Joerg Schilling + * scsi-linux-sg.c 1.22 + Fix for misaligned integer access in sg_header for Linux/sparc if valloc() DMA Buffer is used + +Thu Aug 20 10:05:14 1998 Joerg Schilling + * scsi-aix.c 1.7 + errno == Reference removed + +Thu Aug 20 01:24:33 1998 Joerg Schilling + * cdrecord.1 1.32 + dev=devicename:target,lun documented + +Tue Aug 18 04:41:56 1998 Joerg Schilling + * scsihack.c 1.12 + scsi-next.c & scsi-vms.c new + +Mon Aug 17 23:08:36 1998 Joerg Schilling + * scsi-vms.c 1.1 + date and time created 98/08/17 22:08:36 by joerg + +Mon Aug 17 22:35:19 1998 Joerg Schilling + * scsihack.c 1.11 + scsi-linux-pg.c new use with USE_PG + +Mon Aug 17 22:34:55 1998 Joerg Schilling + * scsi-linux-pg.c 1.1 + * scsi-bsd-os.c 1.1 + date and time created 98/08/17 21:24:24 by joerg + +Mon Aug 17 22:22:04 1998 Joerg Schilling + * scsi-linux-sg.c 1.21 + MAX_SCG -> 8 + search /dev/sg0... before /dev/sfg... + +Mon Aug 17 21:47:35 1998 Joerg Schilling + * scsi-linux-sg.c 1.20 + Support new sg driverinterface + scgfile new to use with global ioctl's + MAX_DMA_LINUX -> 4k if SG_BIG_BUFF undefined + SG_MAX_SENSE -> 16 if not declared + SG_GET_BUFSIZE ioctl new + scsi_isatapi() new + +Sun Aug 16 23:47:48 1998 Joerg Schilling + * misc.c 1.1 + date and time created 98/08/16 22:47:48 by joerg + +Sun Aug 16 23:47:06 1998 Joerg Schilling + * cdrecord.h 1.38 + misc.c: timevaldiff() new + +Sun Aug 16 23:34:35 1998 Joerg Schilling + * scsi-bsd.c 1.7 + scsi_isatapi() new + /dev/scgx may be replaced by dev=/dev/xxx:0,0 + +Sun Aug 16 23:32:42 1998 Joerg Schilling + * scsitransp.h 1.13 + * scsitransp.c 1.27 + * scsi-sgi.c 1.9 + * scsi-aix.c 1.6 + * scsi-hpux.c 1.6 + scsi_isatapi() new + +Fri Jul 17 03:44:13 1998 Joerg Schilling + * scsihack.c 1.10 + BSDI new -> scsi-bsd-os.c + +Fri Jun 19 19:59:07 1998 Joerg Schilling + * scsitransp.h 1.12 + * scsitransp.c 1.26 + * scsihack.c 1.9 + * scsi-sgi.c 1.8 + * scsi-hpux.c 1.5 + * scsi-bsd.c 1.6 + * scsi-aix.c 1.5 + * scsi-linux-sg.c 1.19 + Use scsi_open(device, busno, tgt, tlun) with parameters + +Tue Jun 9 01:44:46 1998 Joerg Schilling + * drv_dvd.c 1.22 + korrekte Indizierung bei tracksize virtual tracklist + +Sat Jun 6 00:16:40 1998 Joerg Schilling + * port.c 1.7 + #include -> #include wegen sys/time.h + +Wed Jun 3 02:20:27 1998 Joerg Schilling + * cdrecord.1 1.31 + bytes= Option removed + Introduced Mailing List + +Wed Jun 3 02:18:47 1998 Joerg Schilling + * drv_dvd.c 1.21 + Treshold for printing the Virtual Trackliste corrected + Abort if first virt Track is not a multiple of the sectorsize + +Wed Jun 3 01:35:24 1998 Joerg Schilling + * diskid.c 1.4 + disk_rcap List new + +Wed Jun 3 01:04:49 1998 Joerg Schilling + * cdrecord.c 1.62 + CD -> CD/DVD + +Wed Jun 3 01:01:53 1998 Joerg Schilling + * cdrecord.c 1.61 + #if defined(_POSIX_PRIORITY_SCHEDULING) -> #if defined(_POSIX_PRIORITY_SCHEDULING) && !defined(HAVE_SYS_PRIOCNTL_H) bei LOCAL declaration + +Tue Jun 2 00:41:37 1998 Joerg Schilling + * drv_dvd.c 1.20 + attach_???() new now implementing the side effects from identify_???() + +Tue Jun 2 00:41:36 1998 Joerg Schilling + * drv_mmc.c 1.26 + attach_???() neu mit den Nebeneffekten aus identify_???() + +Mon Jun 1 23:34:26 1998 Joerg Schilling + * scsi_cdr.c 1.50 + Cast for malloc(): not every malloc() is void * + +Mon Jun 1 23:33:21 1998 Joerg Schilling + * drv_sony.c 1.19 + * drv_jvc.c 1.30 + * cdr_drv.c 1.8 + * cdrecord.h 1.37 + * cdrecord.c 1.60 + attach Routine now uses cdr_t * Parameter + +Mon Jun 1 22:24:42 1998 Joerg Schilling + * drv_dvd.c 1.19 + * scsilog.c 1.2 + Superfluous & in a_to_u_short() removed + +Sun May 31 21:38:00 1998 Joerg Schilling + * scsihack.c 1.8 + OSF1 new + +Sun May 31 01:45:04 1998 Joerg Schilling + * scsitransp.c 1.25 + void * cast for valloc() return + +Sun May 31 00:39:54 1998 Joerg Schilling + * cdrecord.c 1.59 + Casts for tracksize & padsize + +Sat May 30 23:12:56 1998 Joerg Schilling + * drv_simul.c 1.3 + Verbose Message for islast + +Sat May 30 00:35:26 1998 Joerg Schilling + * cdrecord.c 1.58 + tracksize & padsize -> LLong + +Fri May 29 00:32:30 1998 Joerg Schilling + * cdrecord.c 1.57 + astoll() & getllnum() new + number() -> LLong + +Fri May 29 00:05:29 1998 Joerg Schilling + * cdrecord.1 1.30 + waw in .wav Typo + +Fri May 29 00:03:32 1998 Joerg Schilling + * drv_dvd.c 1.18 + Better comment and housekeeping + +Thu May 28 01:08:06 1998 Joerg Schilling + * drv_dvd.c 1.17 + next_wr_addr_dvd() now correct with read_rzone_info() + +Thu May 28 00:02:01 1998 Joerg Schilling + * drv_dvd.c 1.16 + Verbose level documented + set ds_maxblocks from rzone_info + rzone_size() new + phys size computation corrected + +Tue May 26 04:16:55 1998 Joerg Schilling + * drv_dvd.c 1.15 + Speed code removed + +Tue May 26 04:03:55 1998 Joerg Schilling + * drv_dvd.c 1.14 + Removed lines that have been commented out + +Tue May 26 04:01:03 1998 Joerg Schilling + * drv_dvd.c 1.13 + dvd check in identify_dvd() later + +Tue May 26 03:58:57 1998 Joerg Schilling + * drv_dvd.c 1.12 + fcntl.h + errno.h + sys/file.h removed + +Tue May 26 03:56:48 1998 Joerg Schilling + * drv_dvd.c 1.11 + scsiprbytes() with lverbose > 1 + multi Track Hack indented + +Tue May 26 03:49:19 1998 Joerg Schilling + * drv_dvd.c 1.10 + Superfluous Debugs in SCSI routines removed + +Tue May 26 00:02:51 1998 Joerg Schilling + * cdrecord.c 1.56 + checktsize() with Llong for total Tracksize in Bytes + checkdsize() now computed the remaining rest capacity + +Mon May 25 04:40:51 1998 Joerg Schilling + * drv_dvd.c 1.9 + Computations of the track split code -> long long + MAX tracks -> 99 + +Mon May 25 04:35:54 1998 Joerg Schilling + * drv_dvd.c 1.8 + close_Xtrack_dvd() code -> fixate_dvd() + +Mon May 25 04:30:05 1998 Joerg Schilling + * drv_dvd.c 1.7 + send_dvd_structure() & send_dvd0F() new + +Mon May 25 03:46:30 1998 Joerg Schilling + * drv_dvd.c 1.6 + print_laserlog() new + print_logpages() new + +Mon May 25 03:42:16 1998 Joerg Schilling + * drv_dvd.c 1.5 + przone() new + print_dvd00()/print_dvd01()print_dvd04()/print_dvd05()/print_dvd0D()/print_dvd0E()print_dvd0F() new + now reads 4096 Bytes DVD structure + +Mon May 25 03:17:14 1998 Joerg Schilling + * drv_dvd.c 1.4 + print_dvd_info() new + +Mon May 25 02:31:56 1998 Joerg Schilling + * scsilog.c 1.1 + date and time created 98/05/25 01:31:56 by joerg + +Mon May 25 02:05:22 1998 Joerg Schilling + * scsimmc.h 1.3 + rzone_info new + dvd_structure_XX new + +Sat May 23 22:41:54 1998 Joerg Schilling + * drv_simul.c 1.2 + #include unixstd.h new + +Sat May 23 21:32:13 1998 Joerg Schilling + * scsi_cdr.c 1.49 + New Mode Page 2A Heuristic (min length 0x14 -> 0x10): ATAPI LITEON only gives 0x12: No Write Speed. + +Wed May 20 23:49:35 1998 Joerg Schilling + * cdrecord.c 1.55 + islast bug (|| instead of &&) fixed + bytes= Option removed + +Tue May 19 04:11:02 1998 Joerg Schilling + * drv_dvd.c 1.3 + struct disk_info & struct track_info -> scsimmc.h + scsilog.h new + +Sat May 16 13:15:21 1998 Joerg Schilling + * scsimmc.h 1.2 + u_char -> Uchar + +Sun May 10 00:12:04 1998 Joerg Schilling + * scsimmc.h 1.1 + date and time created 98/05/09 23:12:04 by joerg + +Sun May 10 00:04:17 1998 Joerg Schilling + * auheader.h 1.2 + generic Copyright comment + +Sun May 10 00:02:27 1998 Joerg Schilling + * drv_mmc.c 1.25 + Strukturdefinitionen -> scsimmc.h + +Thu May 7 22:43:07 1998 Joerg Schilling + * scsi_cdr.c 1.48 + strindex() -> strbeg() + vendor_info / prod_ident / prod_revision new because of array index problems + Kodak PCD-600 new + +Thu May 7 21:38:58 1998 Joerg Schilling + * cdrecord.h 1.36 + getnum() now extern + is_mmc() with DVD recognition + disk_rcap() new + +Thu May 7 21:38:13 1998 Joerg Schilling + * cdr_drv.c 1.7 + DRV_DVD new + cdr_kodak_pcd600 / cdr_cdr_simul / cdr_dvd_simul new + DEV_PIONEER_DVDR_S101 new + DVD recognition in is_mmc() nee + +Thu May 7 21:15:19 1998 Joerg Schilling + * cdrecord.c 1.54 + 1.6 -> 1.7a1 + getnum() LOCAL -> EXPORT + test_unit_ready() before load Medium + Allow Medium removal if not ready on load_media() + +Thu May 7 10:43:00 1998 Joerg Schilling + * diskid.c 1.3 + Vendor list actualalized + +Wed May 6 02:52:16 1998 Joerg Schilling + * cdrecord.1 1.29 + simulation driver documented + +Wed May 6 02:41:33 1998 Joerg Schilling + * audiosize.c 1.9 + .wav files that are smaller than expected are handled correctly + +Mon May 4 02:09:55 1998 Joerg Schilling + * drv_dvd.c 1.2 + Function names *_mmc -> *_dvd + ds_maxblock -> ds_maxblocks + getdisktype_dvd() now includes more tests + write_type -> WT_SAO + Hack for virtual track list + +Sun May 3 19:37:17 1998 Joerg Schilling + * scsi_cdr.c 1.47 + mode_select_sg0()/mode_sense_sg0() cnt usage corrected + mode_sense_sg0() movebytes() count corrected + +Sat May 2 00:46:07 1998 Joerg Schilling + * drv_simul.c 1.1 + date and time created 98/05/01 23:46:07 by joerg + +Fri May 1 19:26:22 1998 Joerg Schilling + * scsi_cdr.c 1.46 + DEV_PCD_600 new + is_mmc() now uses dvdp Arg + +Fri May 1 19:08:34 1998 Joerg Schilling + * scsidefs.h 1.18 + PCD_600 new + +*************** Release 1.6 ******************* + +Fri Apr 17 12:53:59 1998 Joerg Schilling + * scsi_cdr.c 1.45 + & before ibuf removed because it is an array + +Fri Apr 17 12:45:38 1998 Joerg Schilling + * scsi_cdr.c 1.44 + min/sec/frame -> amin/asec/aframe because of min() Macro + +Thu Apr 16 01:43:26 1998 Joerg Schilling + * cdrecord.1 1.26 + -ignsize new + web page for cdrecord added + +Thu Apr 16 00:55:39 1998 Joerg Schilling + * diskid.c 1.2 + Print if Manufacturer is in none of the tables + +Thu Apr 16 00:52:13 1998 Joerg Schilling + * drv_mmc.c 1.24 + ds_maxblock -> ds_maxblocks + do get_atip() always, but print if lverbose is set + +Thu Apr 16 00:32:50 1998 Joerg Schilling + * cdrecord.h 1.35 + * cdrecord.c 1.53 + ds_maxblock -> ds_maxblocks + new Option -ignsize + +Thu Apr 16 00:31:32 1998 Joerg Schilling + * drv_jvc.c 1.29 + * drv_philips.c 1.16 + ds_maxblock -> ds_maxblocks + +Sun Apr 12 16:14:07 1998 Joerg Schilling + * scsi_cdr.c 1.43 + Smart & Friendly CD-R4012 (TEAC CDR-55S) new + +Sun Apr 12 02:15:15 1998 Joerg Schilling + * scsitransp.c 1.24 + scsiprintcdb()/scsiprintwdata()/scsiprintrdata() new + print scsiprintcdb() on errors + +Sun Apr 12 01:58:26 1998 Joerg Schilling + * cdrecord.h 1.34 + * cdrecord.c 1.52 + Real Blocks new + 1.6a14 -> 1.6 + +Wed Apr 1 03:28:36 1998 Joerg Schilling + * cdrecord.c 1.51 + checkgui() now has verbose print + +Wed Apr 1 01:36:59 1998 Joerg Schilling + * drv_jvc.c 1.28 + lberbose > 1 for all subcode Messages + teac_wr_pma()/teac_rd_pma() new + JVC Errorcodes new + check for cdrecord -fix without Parameter + hide Illegal Command errorcode for next_wr_addr_teac() + +Wed Apr 1 01:29:49 1998 Joerg Schilling + * scsitransp.c 1.23 + * scsi_cdr.c 1.42 + * drv_mmc.c 1.23 + GCC Warnings removed: printf format errors + +Tue Mar 31 20:58:07 1998 Joerg Schilling + * cdrecord.c 1.50 + ->1.6a14, LOAD & EJECT works for CD-ROM too + GUI test on STDERR + first Trackno -> track[0] as Hack + +Tue Mar 31 20:56:43 1998 Joerg Schilling + * cdrecord.1 1.25 + CREDITS + better Documentation for tsize= & TEAC + +Sun Mar 29 15:31:08 1998 Joerg Schilling + * cdrecord.1 1.24 + -vv/-VV mods + -fix: not for TEAC + -load new + timeout= Option + tsize= description because of tracksize and TEAC + nice/SunOS -> nice/others + +Sun Mar 29 15:26:19 1998 Joerg Schilling + * drv_philips.c 1.15 + open_session() with tracks & trackp Parameters + Philips CDD-521 old/dumb new + Pioneer DW-S114X new + +Sun Mar 29 15:22:29 1998 Joerg Schilling + * drv_mmc.c 1.22 + open_session() with tracks & trackp Parameters + Check for zeroed ATIP Info + wait_unit_ready() for ATAPI - sorry not working + +Sat Mar 28 23:43:07 1998 Joerg Schilling + * cdrecord.c 1.49 + check_recovery() now uses flags for unload_media() + call unload_media() on input buffer, wait error, and for blank media error + open_session() now usees tracks & trackp Parameters for Sizecheck + Printing of is_swab() with audio fixed + +Sat Mar 28 23:22:30 1998 Joerg Schilling + * drv_jvc.c 1.27 + teac_open_session() checks tracksize ( <= 0 is not possible) + +Sat Mar 28 23:21:08 1998 Joerg Schilling + * scsi_cdr.c 1.41 + wait_unit_ready() now handles BUSY + mode_sense_sg0() movebytes() count handling corrected (amt-4) + better (komplete) Inquiry printing with -V + JVC XR-W2001 / Plilips CDD521/00 / Traxdata CDR4120 / Pioneer CD-WO DW-S114X / Pinnacle RCD-1000 new + +Sat Mar 28 23:06:05 1998 Joerg Schilling + * scsireg.h 1.18 + SCSI Status codes + +Fri Mar 27 01:04:50 1998 Joerg Schilling + * drv_sony.c 1.18 + * cdrecord.h 1.33 + open_session() with tracks & trackp parameters + +Thu Mar 26 22:42:29 1998 Joerg Schilling + * cdr_drv.c 1.6 + Pioneer DW-S 114, old Philips, dumb Philips new + +Tue Mar 24 21:30:08 1998 Joerg Schilling + * cdrecord.h 1.32 + is_*() Macros now clearer: != 0 + +Tue Mar 24 21:29:18 1998 Joerg Schilling + * scsidefs.h 1.17 + DEV_CDD_521_OLD new + +Mon Mar 16 00:48:34 1998 Joerg Schilling + * drv_dvd.c 1.1 + date and time created 98/04/20 00:48:34 by joerg + +Sat Mar 14 17:49:09 1998 Joerg Schilling + * scsi-bsd.c 1.5 + MAX_DMA_BSD 64k -> 60k + +Thu Mar 12 23:48:19 1998 Joerg Schilling + * drv_jvc.c 1.26 + set ds_maxblock + next_wr_addr_jvc() uses read_B0() if track == 0 + use trackp[i].trackno for TOC + Lead-out Start time now uses frames + teac_calibrate() inits lba_addr from read_B0() + next_wr_addr_teac() with Parameters + +Thu Mar 12 23:42:09 1998 Joerg Schilling + * cdrecord.c 1.48 + use real Track nubmers + -v/-V now Inc type Flag + print remaining capacity + Pregapsize || bug fixed + Trackno in struct track + wait_unit_ready() new + +Thu Mar 12 23:35:26 1998 Joerg Schilling + * drv_philips.c 1.14 + Print computed ATIP only for empty Disk + ATIP printout now prints Lead-out start time too + compute Disk capacity + +Thu Mar 12 22:33:50 1998 Joerg Schilling + * drv_sony.c 1.17 + close_track_sony() -> track = 0 ! + mode_sense() -> get_mode_params() + +Thu Mar 12 22:24:10 1998 Joerg Schilling + * cdrecord.h 1.31 + Strukt track now includes trackno + CDR_DVD new + from_bcd()/to_bcd() new + wait_unit_ready() new + read_B0() new + +Thu Mar 12 22:20:40 1998 Joerg Schilling + * scsi_cdr.c 1.40 + unit_ready() now checks for UNIT_ATTENTION + wait_unit_ready() new + toc struktures char -> Uchar + read_tochdr()/read_trackinfo() may have NULL Pointer Args + read_B0() new + +Thu Mar 12 22:12:16 1998 Joerg Schilling + * scsitransp.c 1.22 + Print data if verbose > 1 + +Thu Mar 12 01:21:58 1998 Joerg Schilling + * cd_misc.c 1.2 + from_bcd()/to_bcd() new + +Tue Mar 10 00:07:50 1998 Joerg Schilling + * cdrecord.c 1.47 + * drv_mmc.c 1.21 + checkgui() & isgui new + +Mon Mar 9 23:29:02 1998 Joerg Schilling + * drv_mmc.c 1.20 + Read ATIP non-fatal + warnung in fixation with correct lverbose flag + +Sun Mar 8 15:02:13 1998 Joerg Schilling + * scsi_cdr.c 1.39 + SAF CD-R2006PRO CD-R2006, JVC R2626 new + +Sun Mar 8 14:59:31 1998 Joerg Schilling + * cdrecord.c 1.46 + Default Timeout -> 40s + flags int -> long + new Option -load + Print Lead-out start + 90 Min value corrected + +Sun Mar 8 14:56:53 1998 Joerg Schilling + * cdrecord.h 1.30 + fsamples()/frames() new + +Fri Mar 6 01:11:56 1998 Joerg Schilling + * scsitransp.c 1.21 + print SCSI command names before ABORT + +Thu Mar 5 01:15:26 1998 Joerg Schilling + * scsierrs.c 2.15 + referres -> refers + +Thu Mar 5 01:15:02 1998 Joerg Schilling + * scsitransp.h 1.11 + * scsitransp.c 1.20 + scsi_sense_qual() new + +Mon Mar 2 22:50:12 1998 Joerg Schilling + * drv_mmc.c 1.19 + msf_to_lba()/lba_to_msf() -> cd_misc.c + len += 2 to correct length for TOC & disk Info + failed read ATIP is no fatal error + better print_atip() + +Mon Mar 2 22:45:53 1998 Joerg Schilling + * cd_misc.c 1.1 + date and time created 98/03/02 22:45:53 by joerg + +Mon Mar 2 22:39:02 1998 Joerg Schilling + * cdrecord.h 1.29 + F_LOAD new + All Flags sorted + msf_to_lba()/lba_to_msf() new + +Mon Mar 2 22:36:10 1998 Joerg Schilling + * drv_philips.c 1.13 + philips_getlilo() new + print disk manufacturer new + +Mon Mar 2 21:56:53 1998 Joerg Schilling + * scsi_cdr.c 1.38 + Pinnacle RCD 4X4, SAF CD-RW226 new + +Mon Feb 23 22:32:27 1998 Joerg Schilling + * scsi_cdr.c 1.37 + read_toc_philips() same parameters as read_toc() (ses -> fmt) + +Mon Feb 23 22:30:57 1998 Joerg Schilling + * drv_mmc.c 1.18 + msf_to_lba() corrected (+-150 bug) + lba_to_msf() new + Check for Complete Disk: 0xFF:0xFF/0xFF + pr_manufacturer() new with lverbose + different Formatting + +Mon Feb 23 21:54:28 1998 Joerg Schilling + * cdrecord.c 1.45 + 80 Minute limit -> 90 Minutes + +Mon Feb 23 21:51:56 1998 Joerg Schilling + * diskid.c 1.1 + date and time created 98/02/23 21:51:56 by joerg + +Sun Feb 22 23:23:22 1998 Joerg Schilling + * fifo.c 1.10 + fifo_percent() with Parameter + FIFO Bug (duoubling of a segment at end of writing) fixed + +Sun Feb 22 22:54:46 1998 Joerg Schilling + * cdrecord.c 1.44 + fifo_percent() with Parameter + unit_ready() for UNLOAD removed + print Disk capacity + +Sun Feb 22 22:52:53 1998 Joerg Schilling + * wm_packet.c 1.6 + fifo_percent() with Parameter + +Sun Feb 22 22:47:51 1998 Joerg Schilling + * cdrecord.h 1.28 + fifo_percent() with Parameter + msf_t typedef + pr_manufacturer() new + +Sun Feb 15 21:01:03 1998 Joerg Schilling + * audiosize.c 1.8 + getWavShort() & getWavLong() Definitions removed + +Tue Feb 10 01:00:48 1998 Joerg Schilling + * cdrecord.c 1.43 + New option timeout=# + +Mon Feb 9 12:44:40 1998 Joerg Schilling + * scsi-linux-sg.c 1.18 + timeout from 1/100 sec -> 1/HZ sec + +Sun Feb 8 21:56:01 1998 Joerg Schilling + * scsi-linux-sg.c 1.17 + Missing bracket at read() inserted + +Sun Feb 8 18:45:19 1998 Joerg Schilling + * scsi_cdr.c 1.36 + Tayo Yuden CD-WO EW-50 better Inquiry + +Sun Feb 8 15:52:15 1998 Joerg Schilling + * fifo.c 1.9 + fifo_percent() returns -1 if buflen == 0 + dummy fifo_percent() always -1 + +Sun Feb 8 15:50:43 1998 Joerg Schilling + * wm_packet.c 1.5 + * cdrecord.c 1.42 + Copyright -> 1998 + fs Reference in fifo_percent() removed + fifo_percent() in wm_packet new + +Sun Feb 8 13:54:25 1998 Joerg Schilling + * cdrecord.1 1.23 + fs= - administrative part + .au & .wav description + better -swab description + +Sun Feb 8 13:30:33 1998 Joerg Schilling + * scsi-linux-sg.c 1.16 + Fix for sendcommand() befor scsi_getbuf() call + read() < 0 now handled + +Sun Feb 8 13:28:38 1998 Joerg Schilling + * audiosize.c 1.7 + Definitions for WAVE better + better WAV recognition from Dave + +Sat Feb 7 23:20:14 1998 Joerg Schilling + * drv_jvc.c 1.25 + close_track_teac() fixed only audio uses no run-out blocks + +Sat Feb 7 23:18:43 1998 Joerg Schilling + * cdrecord.c 1.41 + rezero_unit() now silent not supported by all drives + +Sat Feb 7 23:14:03 1998 Joerg Schilling + * scsi_cdr.c 1.35 + Kodak CDR-240 new + +Sun Feb 1 23:17:33 1998 Joerg Schilling + * fifo.c 1.8 + HAVE_SHM -> HAVE_USGSHM was a typo + +Sun Feb 1 21:20:48 1998 Joerg Schilling + * scsi_cdr.c 1.34 + DVD enhancements in mmv_getval() & print_capabilities() + +Sun Feb 1 20:35:06 1998 Joerg Schilling + * scsireg.h 1.17 + DVD Definitions in Mode Page 2A + +Sun Feb 1 19:56:10 1998 Joerg Schilling + * scsi-linux-sg.c 1.15 + scsi_getbuf() hat nun char *ret wegen pointer Aritmetik + sizeof() cast comparison to int + scsi_send(): superfluous ; before scsi_settimeout() removed + +Sun Feb 1 19:45:21 1998 Joerg Schilling + * cdrecord.c 1.40 + filename new in struct track + Errorcode and exit() in audio*size() + +Sun Feb 1 19:44:08 1998 Joerg Schilling + * auheader.h 1.1 + date and time created 98/02/01 19:44:08 by joerg + +Sun Feb 1 19:44:00 1998 Joerg Schilling + * audiosize.c 1.6 + auheader.h new + Errorcodes + +Sun Feb 1 19:43:26 1998 Joerg Schilling + * cdrecord.h 1.27 + filename new in struct track + cd_mode_page_2A *cdr_cdcap new in struct cdr_cmd + +Sun Feb 1 19:42:28 1998 Joerg Schilling + * drv_philips.c 1.12 + * drv_sony.c 1.16 + * drv_mmc.c 1.17 + * drv_jvc.c 1.24 + cd_mode_page_2A *cdr_cdcap new in struct cdr_cmd + +Sun Feb 1 16:03:29 1998 Joerg Schilling + * drv_mmc.c 1.16 + ATIP Enhanced + +Sun Feb 1 15:56:31 1998 Joerg Schilling + * drv_mmc.c 1.15 + mmv_check() -> mmc_cap()/mmc_getval() + Handle non-trayload drives + warning for dummy/verbose while fixating + +Sun Feb 1 15:49:17 1998 Joerg Schilling + * scsidefs.h 1.16 + DEV_MMC_DVD, DEV_PIONEER_DVDR_S101 new + +Sun Feb 1 15:46:50 1998 Joerg Schilling + * scsi_cdr.c 1.33 + mmc_getval() & mmv_check() with dvdp + DEV_MMC_DVD new + Pioneer DVD-R S101, TEAC CD-R55S new + allow_atapi() in print_capabilities() + heuristic with speed >= 176 according to mmc2 + +Sun Feb 1 15:46:17 1998 Joerg Schilling + * cdrecord.c 1.39 + better CD-Recorder warning + +Sun Feb 1 14:53:02 1998 Joerg Schilling + * cdrecord.c 1.38 + Honour file sizes + better usage() Output + .au & .wav Filesize recognition + early recognition of "incompatible medium" + sched_setscheduler() error code (< 0) is correct + +Sun Feb 1 14:39:27 1998 Joerg Schilling + * cdrecord.h 1.26 + mmc_getval() & mmv_check() with dvdp + TI_WAV & is_wav() removed + +Sun Feb 1 14:33:39 1998 Joerg Schilling + * audiosize.c 1.5 + Complete recognition of a Wavheader (with Hilfe from Heiko) + +Mon Jan 26 01:56:21 1998 Joerg Schilling + * scsi-aix.c 1.4 + valloc() re-implemented (not available in AIX libc) + scsi sense handling ready + +Mon Jan 26 01:51:58 1998 Joerg Schilling + * scsi_cdr.c 1.32 + mmc_cap(), mmc_getval() new + Strings for printcap() static for K&R + +Mon Jan 26 01:07:27 1998 Joerg Schilling + * audiosize.c 1.4 + Filesize - header for Sun .au Files, data_size is not always correct + +Sun Jan 25 23:08:00 1998 Joerg Schilling + * audiosize.c 1.3 + Sun .au Header new + +Sun Jan 25 22:58:58 1998 Joerg Schilling + * cdrecord.h 1.25 + TI_NOWAV -> TI_NOAUHDR, is_auname() & ausize() new + +Sun Jan 25 18:10:47 1998 Joerg Schilling + * cdrecord.h 1.24 + TI_NOWAV, mmc_cap() & mmg_getval(), is_wavname() new + +Sun Jan 25 16:16:23 1998 Joerg Schilling + * audiosize.c 1.2 + is_wavname() new + +Sun Jan 25 16:02:26 1998 Joerg Schilling + * audiosize.c 1.1 + date and time created 98/01/25 16:02:26 by joerg + +Sun Jan 25 13:38:40 1998 Joerg Schilling + * drv_jvc.c 1.23 + Errortexts for CD-R55S + +Sat Jan 24 17:52:52 1998 Joerg Schilling + * wm_packet.c 1.4 + * fifo.c 1.7 + Honour file sizes + +Fri Jan 23 02:08:22 1998 Joerg Schilling + * scsi-linux-sg.c 1.14 + scsi_initdev() new to allow concurrent cdrecord's + +Fri Jan 23 02:04:01 1998 Joerg Schilling + * drv_jvc.c 1.22 + * drv_mmc.c 1.14 + * drv_sony.c 1.15 + * scsireg.h 1.16 + * scgio.h 2.12 + Uint for Bitfields -> Ucbit + +Sun Jan 18 14:25:01 1998 Joerg Schilling + * scsitransp.c 1.19 + flush() calls to correctly mix stderr/stdout + +Sun Jan 18 14:23:33 1998 Joerg Schilling + * cdrecord.h 1.23 + TI_WAV, is_wav(), wavsize() nee + +Sat Jan 17 22:07:03 1998 Joerg Schilling + * cdrecord.1 1.22 + * cdrecord.c 1.37 + -reset Option new + +Sat Jan 17 21:53:58 1998 Joerg Schilling + * cdrecord.h 1.22 + F_RESET, F_PRATIP, F_PRDINFO, SES_UNDEF new + Definitios for disk status and session status + dstat_t enhanced + CDR_NOLOLIMIT & CDR_ALLOC new + fifo_percent(), allow_atapi(), mode_sense_??()/mode_select_??() new + +Sat Jan 17 21:35:54 1998 Joerg Schilling + * fifo.c 1.6 + undef FIFO if no shared mamory + SHM_LOCK for Linux + Stat buffer for fifosize + removed sp->cont because it is not secure (use diff) + fifo_percent() new + +Sat Jan 17 21:20:57 1998 Joerg Schilling + * cdrecord.c 1.36 + -reset new + fifo_percent() printing for -v + +Sat Jan 17 21:09:24 1998 Joerg Schilling + * cdrecord.1 1.21 + Better description of dev= and -scanbus + +Tue Dec 23 01:26:35 1997 Joerg Schilling + * scsi_cdr.c 1.31 + Plextor PX-R24CS + S&F CD-R2006PLUS + Wearns CDR-632P new + +Tue Dec 23 01:23:34 1997 Joerg Schilling + * scsi_cdr.c 1.30 + Uint in Bitfields -> Ucbit + +Thu Dec 11 19:30:31 1997 Joerg Schilling + * scsitransp.c 1.18 + Print command execution time for each failed (non-silent) command + +Sun Nov 9 18:33:48 1997 Joerg Schilling + * drv_mmc.c 1.13 + Remove get Page 0x2A for Matsushita CW-7502 + has_mode_page() checks "current" instead of "default" + +Sat Nov 8 16:11:51 1997 Joerg Schilling + * cdrecord.c 1.35 + Disk size check -> checkdsize() : new + +Fri Nov 7 00:02:20 1997 Joerg Schilling + * scsi-aix.c 1.3 + timeout counts in seconds + +Fri Nov 7 00:04:11 1997 Joerg Schilling + * scsireg.h 1.15 + * scgio.h 2.11 + * scsi_cdr.c 1.29 + * drv_sony.c 1.14 + * drv_mmc.c 1.12 + * drv_jvc.c 1.21 + u_char in Bitfields -> Uint + +Thu Nov 6 20:27:08 1997 Joerg Schilling + * scsihack.c 1.7 + Typo __AIX -> defined(_IBMR2) || defined(_AIX) + +Thu Nov 6 20:26:23 1997 Joerg Schilling + * scsi-aix.c 1.2 + sccsid[] -> __sccsid[], fd -> f Typo, #include + +Thu Nov 6 20:22:14 1997 Joerg Schilling + * cdrecord.1 1.20 + Typo corrected + +Thu Nov 6 20:19:26 1997 Joerg Schilling + * scsitransp.c 1.17 + * scsierrs.c 2.14 + * scsi_cdr.c 1.28 + * scsi.c 1.4 + * drv_sony.c 1.13 + * drv_philips.c 1.11 + * drv_mmc.c 1.11 + * drv_jvc.c 1.20 + #include for AIX + +Thu Nov 6 20:18:25 1997 Joerg Schilling + * cdrecord.c 1.34 + #ifdef RLIMIT_NOFILE fuer AIX + +Wed Nov 5 18:01:32 1997 Joerg Schilling + * cdrecord.1 1.19 + Better doc for fs= + +Wed Nov 5 17:57:50 1997 Joerg Schilling + * drv_mmc.c 1.10 + msf_to_lba() new, get_diskinfo() new, di_to_dstat() new, getdisktype_mmc() new, additions for Matsushita CW-7502 + +Wed Nov 5 17:43:41 1997 Joerg Schilling + * fifo.c 1.5 + switch -> if then else + +Wed Nov 5 17:15:45 1997 Joerg Schilling + * cdrecord.c 1.33 + init struct disk_status, better aritmetic for disk size + +Wed Nov 5 17:14:29 1997 Joerg Schilling + * fifo.c 1.4 + print FIFO min fill in percent + +Tue Nov 4 11:20:22 1997 Joerg Schilling + * scsi_cdr.c 1.26 + return (mode_select_g0(dp, cnt, smp, pf)) was missing in mode_select() + +Tue Nov 4 10:35:02 1997 Joerg Schilling + * scsi-linux-sg.c 1.13 + Check for NULL at return of valloc() + +Tue Nov 4 00:13:35 1997 Joerg Schilling + * drv_jvc.c 1.19 + New flag CDR_NO_LOLIMIT + +Sun Nov 2 16:17:10 1997 Joerg Schilling + * scsi_cdr.c 1.25 + SCSI mode(6/10) conversion for ATAPI, distinguish between S&F 2006PLUS / S&F 2006PLUS + +Sun Nov 2 14:57:57 1997 Joerg Schilling + * scsitransp.c 1.16 + Print finish time + +Sun Nov 2 14:54:50 1997 Joerg Schilling + * scgio.h 2.10 + i_to_4_byte new + +Thu Oct 23 19:21:19 1997 Joerg Schilling + * scsihack.c 1.6 + AIX Support + +Thu Oct 23 19:20:25 1997 Joerg Schilling + * scsi-aix.c 1.1 + date and time created 97/10/23 18:20:25 by joerg + +Thu Oct 23 19:12:02 1997 Joerg Schilling + * drv_mmc.c 1.9 + Enhancements for packet writing + +Thu Oct 23 01:35:02 1997 Joerg Schilling + * cdrecord.1 1.18 + New options -prcap, -packet, pktsize =#, -noclose + +Wed Oct 22 23:50:44 1997 Joerg Schilling + * drv_jvc.c 1.18 + * wm_packet.c 1.3 + * cdrecord.c 1.32 + fflush(stdout) -> flush(), flush() after Fixating... + +Wed Oct 22 23:49:12 1997 Joerg Schilling + * scsi_cdr.c 1.24 + scsi_close-session() -> scsi_close_tr_session() + +Wed Oct 22 23:49:11 1997 Joerg Schilling + * cdrecord.h 1.21 + scsi_close-session() -> scsi_close_tr_session() + +Sun Oct 19 15:41:35 1997 Joerg Schilling + * scsi_cdr.c 1.23 + * cdrecord.c 1.31 + Prevent medium removal problems fixed (read TOC) & Matsushita CD-750? + +Sun Oct 19 15:40:32 1997 Joerg Schilling + * scsidefs.h 1.15 + Matsushita CW-7501 & CW-7502 + +Sun Oct 19 02:08:53 1997 Joerg Schilling + * drv_sony.c 1.12 + * drv_philips.c 1.10 + * drv_jvc.c 1.17 + * wm_packet.c 1.2 + * cdrecord.h 1.20 + * cdrecord.c 1.30 + next_wr_address() has track_t * added + +Sun Oct 19 01:37:02 1997 Joerg Schilling + * drv_jvc.c 1.16 + read_disk_info() -> read_disk_info_teac(), zero pre-gap audio support, opt_power_judge() timeout -> 60 sec + +Sun Oct 19 01:33:21 1997 Joerg Schilling + * scsi_cdr.c 1.22 + read_disk_info() new, print_capabilities() new + +Sun Oct 19 00:40:36 1997 Joerg Schilling + * cdrecord.c 1.29 + * cdrecord.h 1.19 + get_buf() new, -prcap & print_capabilities() new, -packet new, pktsize=# new + +Sun Oct 19 00:36:32 1997 Joerg Schilling + * wm_track.c 1.1 + * wm_session.c 1.1 + * wm_packet.c 1.1 + date and time created 97/10/18 23:36:31 by joerg + +Sat Oct 18 19:14:05 1997 Joerg Schilling + * scsi.c 1.3 + stdlib.h -> stdxlib.h, unistd.h -> unixstd.h + +Sat Oct 18 01:34:19 1997 Joerg Schilling + * modes.c 1.3 + Ausgabe der Mode Parameter wenn mode_select() nicht klappt & return FALSE + +**** 1.6a3 *** + +Sun Oct 12 20:00:21 1997 Joerg Schilling + * cdrecord.1 1.17 + * cdrecord.c 1.28 + New options pregap= defpregap= + +Sun Oct 12 19:30:45 1997 Joerg Schilling + * cdrecord.h 1.18 + is_first() & is_last() new + +Sat Oct 11 18:01:28 1997 Joerg Schilling + * cdrecord.c 1.27 + islast debug printf deleted + +Sat Oct 11 17:57:43 1997 Joerg Schilling + * scsi_cdr.c 1.21 + * drv_sony.c 1.11 + * drv_philips.c 1.9 + * drv_mmc.c 1.8 + * drv_jvc.c 1.15 + * cdrecord.h 1.17 + * cdrecord.c 1.26 + islast for TEAC & no run-out blocks for disksize computing + +Sat Oct 11 14:54:03 1997 Joerg Schilling + * drv_jvc.c 1.14 + OLD_CLOSE_TRACK re-aktiviert, clear_subcode() in open_track(), set_limits() in open_track() for audio without run-out, dummy sector -> static to be zeroed + +Thu Oct 9 14:14:24 1997 Joerg Schilling + * drv_jvc.c 1.13 + Audio Tracks have no link&run-in + +Thu Oct 9 02:01:23 1997 Joerg Schilling + * drv_jvc.c 1.12 + SWABAUDIO Flag new + +Wed Oct 8 17:24:40 1997 Joerg Schilling + * scsi_cdr.c 1.20 + * drv_sony.c 1.10 + * drv_philips.c 1.8 + * drv_mmc.c 1.7 + * cdrecord.h 1.16 + * cdrecord.c 1.25 + Modification of data structures for JVC/TEAC + +Wed Oct 8 17:23:41 1997 Joerg Schilling + * fifo.c 1.3 + WRITER_MAXWAIT 20 -> 120 s + +Wed Oct 8 17:14:04 1997 Joerg Schilling + * drv_jvc.c 1.11 + Enhancements for audio and multi track disks + +Wed Oct 8 14:48:06 1997 Joerg Schilling + * cdrecord.1 1.16 + Better doc for padsize & fs= + +Mon Oct 6 20:37:39 1997 Joerg Schilling + * drv_jvc.c 1.10 + Modified to use pad_track() + +Mon Oct 6 20:32:11 1997 Joerg Schilling + * cdrecord.c 1.24 + In pad_track(): if (bytesp != 0) check was missing ->coredump + +Mon Oct 6 20:29:22 1997 Joerg Schilling + * scsi_cdr.c 1.19 + SMART&FRIENDLY CD-R2006 + +Sun Oct 5 16:53:45 1997 Joerg Schilling + * drv_mmc.c 1.6 + verbose printing modified + +Sun Oct 5 16:53:09 1997 Joerg Schilling + * cdrecord.c 1.23 + Check for bytesp != 0 in pad_track() + +Sat Oct 4 01:09:56 1997 Joerg Schilling + * cdrecord.c 1.22 + realtime raisepri Problem for HP-UX fixed (function present bot not working) + +Fri Oct 3 21:33:13 1997 Joerg Schilling + * scsi_cdr.c 1.18 + * drv_sony.c 1.9 + * drv_philips.c 1.7 + * drv_mmc.c 1.5 + * drv_jvc.c 1.9 + * cdrecord.h 1.15 + * cdrecord.c 1.21 + * cdrecord.1 1.15 + * cdr_drv.c 1.5 + new option blank=type for CD-RW + +Fri Oct 3 16:23:00 1997 Joerg Schilling + * cdrecord.c 1.20 + pad_track() new, await_faio() new & init_faio() befor wait loop, always pad to 300 sectors , padsize= option new, DEFAULT_FIFOSIZE new + +Thu Oct 2 02:02:10 1997 Joerg Schilling + * fifo.c 1.2 + MIN_BUFFERS -> 3, await_faio() new, kill_faio() new, stdin EOF check, Messages only for debug + +Thu Oct 2 01:38:39 1997 Joerg Schilling + * cdrecord.1 1.14 + padsize Option new, nice --18 bug, 's' & 'f' mult for getnum() + +Thu Oct 2 01:31:28 1997 Joerg Schilling + * drv_jvc.c 1.8 + sleep()'s added to cure fixating problems ??? + +Thu Oct 2 01:19:46 1997 Joerg Schilling + * cdrecord.h 1.14 + DEFAULT_FIFOSIZE, roundup(), tracksize & padsize -> long, pad_track() new, await_fifo() & kill_fifo() new, minutes() cast to int + +Wed Sep 24 00:02:39 1997 Joerg Schilling + * cdrecord.c 1.19 + Fifo & tracksize Option + +Tue Sep 23 23:46:27 1997 Joerg Schilling + * scsi-sgi.c 1.7 + Bug with resid != 0 fixed + +Sun Sep 21 23:20:15 1997 Joerg Schilling + * cdrecord.1 1.13 + fs= Option, tsize= Option, mkisofs | cdrecord with fs= EXAMPLE + +Sun Sep 21 22:58:34 1997 Joerg Schilling + * fifo.c 1.1 + date and time created 97/09/21 21:58:34 by joerg + +Sun Sep 21 22:45:08 1997 Joerg Schilling + * cdrecord.h 1.13 + faio_get_buf() & fifo_stats() + +Sun Sep 21 01:12:43 1997 Joerg Schilling + * cdrecord.h 1.12 + fifo code + +Wed Sep 17 13:55:57 1997 Joerg Schilling + * drv_jvc.c 1.7 + Typo in cdr_write_teac() EXPORT -> LOCAL + +Wed Sep 17 13:55:06 1997 Joerg Schilling + * cdrecord.c 1.18 + raisepri() has Parameter (n below Max), _POSIX_PRIORITY_SCHEDULING, _POSIX_MEMLOCK + +*************** Release 1.5 ******************* + +Mon Sep 15 16:46:16 1997 Joerg Schilling + * README 1.9 + Anpassungen fuer release 1.5 + +Wed Sep 10 18:40:49 1997 Joerg Schilling + * cdrecord.c 1.17 + Print always Copyright except for -msinfo + +Wed Sep 10 18:12:59 1997 Joerg Schilling + * scsi_cdr.c 1.17 + Inquiry debug data indented + Mode Parameters only for verbose + +Wed Sep 10 17:57:32 1997 Joerg Schilling + * cdrecord.c 1.16 + Flags defs von cdrecord.c -> cdrecord.h + load_media() new + load/unload_madia() global + Track verbose output after inquiry + Test errorcodes while burning + Dummy blocks added for close_track() is not an error + -nofix Flag activated + Exit code for burning errors: -2 + Swabaudio automatic + +Wed Sep 10 17:43:12 1997 Joerg Schilling + * cdrecord.h 1.11 + Flag defs from cdrecord.c + getdisktype() with cdr_t * + load_media() new + load/unload_madia() global + +Wed Sep 10 17:42:13 1997 Joerg Schilling + * cdr_drv.c 1.4 + * drv_jvc.c 1.6 + getdisktype() with cdr_t * + +Wed Sep 10 17:41:02 1997 Joerg Schilling + * drv_philips.c 1.6 + philips_getdisktype() new for automatic eject on "Command Sequence Error" + +Wed Sep 10 16:50:56 1997 Joerg Schilling + * cdrecord.1 1.12 + Scsibus , typo removed + +Wed Sep 10 15:10:03 1997 Joerg Schilling + * cdrecord.1 1.11 + 1.4 -> 1.5 + +Wed Sep 10 15:04:26 1997 Joerg Schilling + * drv_sony.c 1.8 + new_track_sony() return valoe corrected + +Wed Sep 10 15:03:36 1997 Joerg Schilling + * cdrecord.1 1.10 + Changes for cdrecord-1.5 + +Thu Sep 4 19:26:00 1997 Joerg Schilling + * scsi-linux-sg.c 1.12 + Use channel on multi channel controlers + +Thu Sep 4 19:09:10 1997 Joerg Schilling + * drv_jvc.c 1.5 + * drv_sony.c 1.7 + * scsi_cdr.c 1.16 + inq.ansi_version -> inq.data_format for all mode_select() calls + for Philips CDD-522 (version == 1 , format == 2) + +Wed Sep 3 02:00:33 1997 Joerg Schilling + * scsi-linux-sg.c 1.11 + scsi_mapbus() new + better timeout handling + copy Struct now automatic Variable + Sense Data error = SCG_RETRYABLE + +Mon Sep 1 01:25:16 1997 Joerg Schilling + * scsi-sgi.c 1.6 + * scsi-linux-sg.c 1.10 + * scsi-hpux.c 1.4 + * scsi-bsd.c 1.4 + Last tuning make all implementations equal + Open only one file if possible. + Better bound checking + +Sun Aug 31 23:21:06 1997 Joerg Schilling + * scsi-hpux.c 1.3 + Array again has 8 Luns + havebus tests bounds + +Sun Aug 31 23:18:35 1997 Joerg Schilling + * scsi-sgi.c 1.5 + MAX_* introduced, open max 1 lun (for now) + +Sun Aug 31 20:14:02 1997 Joerg Schilling + * scsi-hpux.c 1.2 + MAX_LUN now 1 + +Sun Aug 31 20:10:25 1997 Joerg Schilling + * scsi-hpux.c 1.1 + date and time created 97/08/31 19:10:25 by joerg + +Sun Aug 31 18:00:16 1997 Joerg Schilling + * scsihack.c 1.5 + HP-UX added + +Tue Aug 26 19:37:15 1997 Joerg Schilling + * cdrecord.c 1.15 + init dp in main now correctly + +Tue Aug 26 17:50:20 1997 Joerg Schilling + * scsi-sgi.c 1.4 + Support complete without using -lds + +Tue Aug 26 17:47:35 1997 Joerg Schilling + * scsi_cdr.c 1.15 + scsibus/target/lun now now -1 if bus is scanned + to make sure that not ony one target can be opened. + +Tue Aug 26 17:46:22 1997 Joerg Schilling + * cdrecord.c 1.14 + test_unit_ready() after select_target() (SCANBUS) + +Tue Aug 26 01:47:41 1997 Joerg Schilling + * scsi-sgi.c 1.3 + unused includes removed + +Mon Aug 25 22:02:35 1997 Joerg Schilling + * scgio.h 2.9 + * scsitransp.c 1.15 + * scsi-sgi.c 1.2 + * scsi-linux-sg.c 1.9 + * scsi-bsd.c 1.3 + errno -> ux_errno in scg_cmd for POSIX multithread + +Mon Aug 25 21:27:55 1997 Joerg Schilling + * scsi-sgi.c 1.1 + date and time created 97/08/25 20:27:55 by joerg + +Mon Aug 25 18:10:12 1997 Joerg Schilling + * cdrecord.c 1.13 + raisepri() not always done + +Sun Aug 24 22:58:37 1997 Joerg Schilling + * drv_jvc.c 1.4 + First pre-aplha makes one data track only + +Sun Aug 24 17:03:05 1997 Joerg Schilling + * cdrecord.c 1.12 + New options: driver=name -checkdrive -inq -scanbus -nofix + set_trsizes() later + get_cdr_cmds() new + first simple sizecheck + "swap" output from print_data_track() removed + +Sun Aug 24 16:54:31 1997 Joerg Schilling + * cdrecord.h 1.10 + struct disk_status new + is_unknown_dev() new + is_mmc() new + mmc_check() new + set_cdrcmds() new + +Sun Aug 24 16:53:09 1997 Joerg Schilling + * scsi_cdr.c 1.14 + is_unknown_dev() new + is_mmc() new + mmc_check() new + open_scsi() modified for scsi_scan() + Device recognition new for CD-R + scsi_load() now correct + +Sun Aug 24 16:22:22 1997 Joerg Schilling + * cdrecord.1 1.9 + -nofix new + driver=name new + -checkdrive new + -inq new + -scanbus new + Sense Output uses new form + +Sun Aug 24 16:19:42 1997 Joerg Schilling + * drv_mmc.c 1.4 + CDR_SWABAUDIO new + cd_mode* pages -> scsireg.h + identify_mmc() uses mmc_check() + +Sun Aug 24 16:18:00 1997 Joerg Schilling + * cdr_drv.c 1.3 + set_cdrcmds() new + get_cdrcmds() enhanced + +Sun Aug 24 15:47:30 1997 Joerg Schilling + * drv_sony.c 1.6 + * drv_philips.c 1.5 + CDR_SWABAUDIO Flag new + +Sun Aug 24 14:51:43 1997 Joerg Schilling + * scsidefs.h 1.14 + CDD-2000 & CDD-2600 new + MMC Definitionen new + +Sun Aug 24 14:18:47 1997 Joerg Schilling + * scsireg.h 1.14 + CD mode pages 05 & 2A + +Sun Aug 10 19:29:38 1997 Joerg Schilling + * drv_philips.c 1.4 + * drv_sony.c 1.5 + * drv_mmc.c 1.3 + * cdrecord.h 1.9 + * cdrecord.c 1.11 + cdr_driver -> cdr_drname + cdr_drtext + open_track() with track_info * instead of many arguments + +Sun Aug 10 18:10:14 1997 Joerg Schilling + * scsi_cdr.c 1.13 + LOAD (A6) command now uses correct SCSI definition + +Sun Aug 10 17:43:35 1997 Joerg Schilling + * scsi-linux-sg.c 1.8 + Buffer overflow in sg_rq corrected + timeout corrected (semicolon past if) + 12 Byte Hack now OK + +Sun Aug 10 17:42:06 1997 Joerg Schilling + * scgio.h 2.8 + SCSI g5 command struct now ansi compliant + +Sun Aug 10 17:40:30 1997 Joerg Schilling + * scsihack.c 1.4 + SGI include + +Fri Jul 18 13:41:46 1997 Joerg Schilling + * scsi_cdr.c 1.12 + read_capacity() new + scsi_load_unload() new + scsi_set_sped() new + write_xg1() new + read_toc() for SCSI-3 new + read_toc_philips() from old name + read_track_info() -> read_track_info_philips() + read_track_info() new + scsi_close_session() new + first_writable_address() with address Pointer + read_tochdr() with cdr_t * ???? + read_session_offset() with offset Pointer + Version for SCSI-3 + is_cdrecorder() removed, Taiyo Yuden new + +Fri Jul 18 12:35:02 1997 Joerg Schilling + * scsi-linux-sg.c 1.7 + with new ioctl() SCSI_IOCTL_GET_BUS_NUMBER more SCSI busses + +Fri Jul 18 02:49:46 1997 Joerg Schilling + * cdrecord.1 1.8 + -version + better -isosize Doku + -multi warning removed + +Fri Jul 18 02:44:11 1997 Joerg Schilling + * cdrecord.c 1.10 + fix_it now past open_session() + next_writable_address() and read_session_offset() now with adress Pointer + -version usage() + superfluous argument removed with lout + +Fri Jul 18 02:31:23 1997 Joerg Schilling + * cdrecord.h 1.8 + * drv_mmc.c 1.2 + SCSI-3/mmc first implementation + +Fri Jul 18 02:25:10 1997 Joerg Schilling + * drv_jvc.c 1.3 + * drv_philips.c 1.3 + * drv_sony.c 1.4 + next_writable_address now has adress pointer + read_session_offset_philips() extracted + +Thu Jul 17 18:12:43 1997 Joerg Schilling + * scsi-bsd.c 1.2 + ifdef for BSD SENSE bug + +Thu Jul 17 17:43:10 1997 Joerg Schilling + * isosize.c 1.3 + filedescriptor sense (seek) test. + +Tue Jul 15 21:27:29 1997 Joerg Schilling + * isosize.c 1.2 + & before vd.vd_type deleted + +Tue Jul 15 21:26:57 1997 Joerg Schilling + * drv_sony.c 1.3 + & before mode deleted + +Tue Jul 15 21:16:46 1997 Joerg Schilling + * cdrecord.c 1.9 + version string + write_track_data() with startsec parameter + cd_recorder/drive recognition now uses cdr_t + print_toc() with cdr_t parameter + open_session() with multi parameter + Progress printing in write_track_data() now uses correct rounding + dbtype with -multi corrected + read_session_offset() with cdr_t parameter + print_toc() prints sector numbers correctly and 'lout' for 0xAA + +Tue Jul 15 13:34:04 1997 Joerg Schilling + * cdr_drv.c 1.2 + drive_identify may modify cdr_t struct pointer + Yamaha CDR-400 correct with cdr_mmc + +Tue Jul 15 13:24:49 1997 Joerg Schilling + * drv_philips.c 1.2 + * drv_jvc.c 1.2 + * drv_sony.c 1.2 + open_track() with dbtyp arg + open_session() with multi arg + struct cdr_t driver flags filled in + driver type string + +Tue Jul 8 19:42:42 1997 Joerg Schilling + * scsi-linux-sg.c 1.6 + /dev/sg0 ... tested too + +Tue Jul 8 18:00:39 1997 Joerg Schilling + * scsi-bsd.c 1.1 + date and time created 97/07/08 17:00:39 by joerg + +Tue Jul 8 17:59:20 1997 Joerg Schilling + * scsihack.c 1.3 + New Implementation for *BSD + +Sun Jun 22 19:58:40 1997 Joerg Schilling + * scsi_cdr.c 1.11 + Smart & Friendly Support + +*************** Release 1.4 ******************* + +Sat Mai 21 19:58:42 1997 Joerg Schilling + * cdrecord.1 1.7 + Updates for release 1.4 + +Sat Mai 21 18:11:25 1997 Joerg Schilling + * scsi.c 1.2 + scsireg.h Include + +Sat Mai 21 00:52:33 1997 Joerg Schilling + * drv_sony.c 1.1 + date and time created 97/05/20 23:52:33 by joerg + +Sat Mai 21 00:27:56 1997 Joerg Schilling + * drv_philips.c 1.1 + date and time created 97/05/20 23:27:56 by joerg + +Sat Mai 21 00:27:50 1997 Joerg Schilling + * drv_mmc.c 1.1 + date and time created 97/05/20 23:27:50 by joerg + +Sat Mai 21 00:27:43 1997 Joerg Schilling + * drv_jvc.c 1.1 + date and time created 97/05/20 23:27:43 by joerg + +Sat Mai 21 00:27:14 1997 Joerg Schilling + * scsi_cdr.c 1.10 + mode_select() uses inq.ansi_version >= 2 + +Sat Mai 21 00:26:42 1997 Joerg Schilling + * cdrecord.h 1.7 + attach_unknown() new + +Sat Mai 21 00:26:05 1997 Joerg Schilling + * cdr_drv.c 1.1 + date and time created 97/05/20 23:26:05 by joerg + +Thu Mai 19 23:46:54 1997 Joerg Schilling + * cdrecord.c 1.8 + Struct track -> cdrecord.h + DB_XXX Data block types + cdr_cmd Struct as Drive Abstraction Layer + -eject Flag + checktsize() new + CDR_SPEED & CDR_DEVICE + +Thu Mai 19 16:59:44 1997 Joerg Schilling + * cdrecord.h 1.6 + struct track from cdrecord.c + DB_XXX Data block types + cdr_cmd Struct as Drive Abstraction Layer + +Thu Mai 19 15:42:53 1997 Joerg Schilling + * scsi_cdr.c 1.9 + Prototypes lokal too + scsi_load_unload() -> load_unload_philips() + start_stop_unit() now with eject + close_track_philips() new + recover with track parameter + mode_sense() new + speed_select splitted + inquiry news new drives + scsi_cdr_write() + +Mon Mai 16 15:46:48 1997 Joerg Schilling + * config.h 1.1 + date and time created 97/05/16 14:46:48 by joerg + +Mon Mai 16 15:46:48 1997 Joerg Schilling + * scsi.c 1.1 + date and time created 97/05/16 14:46:48 by joerg + +Fri May 23 22:09:21 1997 Joerg Schilling + * scsitransp.c 1.14 + bad 2. Parameter in gettimeofday -> struct timezone * + +Fri Apr 23 22:08:16 1997 Joerg Schilling + * scsierrs.c 2.13 + missing %s in Formatstring added + +Wed Apr 14 00:54:03 1997 Joerg Schilling + * scsireg.h 1.13 + new scsi device types + +Wed Apr 14 00:53:28 1997 Joerg Schilling + * scsitransp.c 1.13 + scsireset() into hack part + scsi_setnonstderrs() new, scsierrmsg() chganges + new scsi devicetype codes, Solaris x86 dmasize without gethostid() + +Wed Apr 14 00:46:27 1997 Joerg Schilling + * scsitransp.h 1.10 + Changes for scsierrs.c enhancements + +Wed Apr 14 00:45:26 1997 Joerg Schilling + * scsierrs.c 2.12 + Enhancements for SCSI-2 & SCSI-3 + +Tue Apr 6 17:15:43 1997 Joerg Schilling + * scsidefs.h 1.13 + Different order & Yamaha CDR-400, Sony CDU-924, Ricoh RO-1420, Teac CD-R50 new + +Tue Apr 6 16:36:38 1997 Joerg Schilling + * scgio.h 2.7 + Enhancements for SCSI-2 & SCSI-3 + +Tue Apr 6 14:10:35 1997 Joerg Schilling + * scsi-linux-sg.c 1.5 + CCD-> CCS Typo + +Tue Apr 6 13:59:16 1997 Joerg Schilling + * scsihack.c 1.2 + scsireset() -> transport specific part + +Tue Apr 6 13:59:16 1997 Joerg Schilling + * scsi-linux-sg.c 1.4 + scsireset() -> transport specific part + +*************** Release 1.3 ******************* + +Fri Mar 4 19:48:35 1997 Joerg Schilling + * README 1.6 + Changes for Release 1.3 + +Fri Mar 4 18:57:02 1997 Joerg Schilling + * cdrecord.1 1.6 + release 1.3 + +Fri Mar 4 18:46:37 1997 Joerg Schilling + * cdrecord.1 1.5 + Changes for Release 1.3 + +Fri Mar 4 11:55:28 1997 Joerg Schilling + * scsi-linux-sg.c 1.3 + scsihack.c & scsi-linux-sg.c splitted + +Fri Mar 4 11:53:59 1997 Joerg Schilling + * scsihack.c 1.1 + date and time created 97/03/04 10:53:59 by joerg + +Fri Mar 4 11:52:42 1997 Joerg Schilling + * iso9660.h 1.2 + Quick hack for ANSI C + +Wed Mar 2 17:16:35 1997 Joerg Schilling + * scsi_cdr.c 1.8 + open_scsi() with verbose arg + write_track() & write_track_info() isaudio/preemp -> sectype + read_toc() new, read_header() new, read_track_info() new + first_writable_addr() now working + read_tochdr() new, read_trackinfo() new, read_session_offset() new + is_cddrive() new read_scsi() now korrekt with G0_MAXADDR & cnt < 256 + HACK XXX scsi_capacity to 2048 bytes Sectorsize initialized for mkisofs-1.10 + +Wed Mar 2 16:51:24 1997 Joerg Schilling + * scsitransp.c 1.12 + BAD -> EX_BAD, BOOL scsi_havebus() new + scsi_fileno(bus, tgt, lun) new with 3 Parameters, MAX_DMA_SUN386 new + +Wed Mar 2 16:46:44 1997 Joerg Schilling + * scsi-linux-sg.c 1.2 + better Kommentar + +Wed Mar 2 16:35:04 1997 Joerg Schilling + * scsitransp.h 1.9 + BOOL scsi_havebus() new, scsi_fileno(bus, tgt, lun) new with 3 Parameters + +Wed Mar 2 16:33:18 1997 Joerg Schilling + * scgio.h 2.6 + intriduced _SCGIO_H & bei __STDC__ 0xFF000000UL + +Wed Mar 2 16:14:35 1997 Joerg Schilling + * scsidefs.h 1.12 + BAD -> EX_BAD + +Wed Mar 2 16:14:04 1997 Joerg Schilling + * port.c 1.6 + include fmt.h only if #ifdef FMT + +Wed Mar 2 16:07:53 1997 Joerg Schilling + * scsi-linux-sg.c 1.1 + date and time created 97/03/02 15:07:53 by joerg + +Wed Mar 2 15:49:56 1997 Joerg Schilling + * iso9660.h 1.1 + date and time created 97/03/02 14:49:56 by joerg + +Wed Mar 2 15:48:55 1997 Joerg Schilling + * isosize.c 1.1 + date and time created 97/03/02 14:48:55 by joerg + +Wed Mar 2 15:40:32 1997 Joerg Schilling + * cdrecord.c 1.7 + toctname[] * sectname[] new + ldebug -> debug, HAVE_MLOCKALL, -msinfo new, -toc new + -audio/-mode2/-xa1/-xa2/-cdi new, -isosize new + better Check for options, print_msinfo() new, print_toc() new + HAVE_SYS_PRIOCNTL_H new + +Wed Mar 2 15:30:26 1997 Joerg Schilling + * cdrecord.h 1.5 + BAD -> EX_BAD in standard.h, TOC_* defines, ST_* defines, struct msf + several Interface changes for Prototypes + +Wed Jan 19 00:23:11 1997 Joerg Schilling + * cdrecord.c 1.6 + Changed to use scsi_buf_size() & scsi_getbuf(), better gcc Kompat. + +Wed Jan 12 23:11:18 1997 Joerg Schilling + * scsitransp.c 1.11 + Sbufsize -> long, scsi_maxdma() new + +Wed Jan 12 22:10:33 1997 Joerg Schilling + * scsitransp.h 1.8 + Sbufsize -> long + +Fri Jan 7 21:10:26 1997 Joerg Schilling + * port.c 1.5 + ANSI C & printf %ld + +Thu Jan 6 22:45:03 1997 Joerg Schilling + * scsitransp.h 1.7 + scsi_sense_key() & scsi_sense_code() from fmt.c + +Thu Jan 6 22:45:02 1997 Joerg Schilling + * scsitransp.c 1.10 + scsi_sense_key() & scsi_sense_code() from fmt.c + +Mon Jan 3 14:47:53 1997 Joerg Schilling + * scsitransp.h 1.6 + scsi_bufsize() & scsi_getbuf() new + +Mon Jan 3 14:47:52 1997 Joerg Schilling + * scsitransp.c 1.9 + scsi_bufsize() & scsi_getbuf() new + +Fri Dec 31 17:16:13 1996 Joerg Schilling + * scsireg.h 1.12 + Defekt List: length & list_block -> char[] for Byteorder + +Tue Dec 28 20:51:42 1996 Joerg Schilling + * scgio.h 2.5 + #error beseitigt for SunOS cc + +Tue Dec 28 14:28:01 1996 Joerg Schilling + * scsitransp.c 1.8 + debug -> kdebug + +Tue Dec 28 14:19:16 1996 Joerg Schilling + * scgio.h 2.4 + debug -> kdebug + +Sun Dec 19 16:18:18 1996 Joerg Schilling + * scsi_cdr.c 1.7 + Mitsumi + +Sun Dec 19 16:14:12 1996 Joerg Schilling + * README 1.5 + Performance X86 & Mitsumi + +Sat Dec 18 12:37:38 1996 Joerg Schilling + * scsierrs.c 2.11 + param.h, sys/buf.h, sun/dklabel.h, sun/dkio.h eliminated + +Sat Dec 18 03:26:04 1996 Joerg Schilling + * README 1.4 + Changes for Release 1.2 + +Sat Dec 18 03:24:14 1996 Joerg Schilling + * cdrecord.1 1.4 + Changes for Release 1.2 + +Sat Dec 18 03:13:41 1996 Joerg Schilling + * cdrecord.c 1.5 + -swab new + LOCAL functions + timings, new timeout for fixating + countdown timer before Start + write_track_info() disabled + -pad for audio, pad to 2352 bytes. + +Sun Dec 12 21:09:24 1996 Joerg Schilling + * scsi_cdr.c 1.6 + Flush cache & Fixation with big Timeout. + +Thu Nov 26 10:54:18 1996 Joerg Schilling + * scsierrs.c 2.10 + New Codes for CDD-2000 & Support for Yamaha CDR-100 + +Mon Dec 16 16:19:54 1996 J. Schilling + + * Added -swab option to support Yamaha audio + Thanks to (Fred) vecoven@montefiore.ulg.ac.be + for the hint. + * Added counter for quit time (9 seconds) + +Wed Dec 12 21:09:24 1996 J. Schilling + + * Flush cache & Fixation with separate bigger timeout, + other timeout reduced to 20sec. + +Mo Dec 3 13:03:30 1996 J. Schilling + + * Set sector size on all drive types before writing, + * Omwith the write_track_info Mode Select before write_track + even for Philips drives (this is currently not needed because + we don't support ISRC codes at this time). + +Tue Nov 26 10:54:18 1996 J. Schilling + + * New error codes for CDD-2000 & error code support for Yamaha CDR-100 + +Sun Nov 3 22:58:21 1996 J. Schilling + + * scsireset() aded to scsitransport.[hc] + * Timings for Track and Fixation + +Fri Oct 4 11:45:13 1996 J. Schilling + + * Version 1.1 released. + +Mon Aug 19 22:25:18 1996 J. Schilling + + * Read access test to allow cdrecord to run savely suid root + +Sun Aug 18 12:11:20 1996 J. Schilling + + * bit ordering problems solved + Thanks to Gert Poletiek for testing + +Tue Jun 18 21:38:51 1996 J. Schilling + + * several changes in scgio.h + +Sun Jun 16 15:56:35 1996 J. Schilling + + * Ansi C Protytypes + * priocntl added for Solaris + Thanks to Anders Lundgren + +Sun Feb 4 19:14:46 1996 J. Schilling + + * Initial release 1.0 diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..59ba1b8 --- /dev/null +++ b/INSTALL @@ -0,0 +1,335 @@ +Short overview for those who don't read manuals: + + Calling configure manually is outdated because this is a task of the + makefile system. + + There is no 'configure', simply call 'make' on the top level + directory. + + ***** If this does not work for you, read the rest if this file ***** + ***** If you have any problem, also first read the topic specific ***** + ***** README.* files (e.g. README.linux for Linux problems). ***** + + All results in general will be placed into a directory named + OBJ// in the current projects leaf directory. + + You **need** either my "smake" program, the SunPRO make + from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x) + or GNU make to compile this program. Read README.gmake for + more information on gmake and a list of the most annoying bugs in gmake. + + All other make programs are either not smart enough or have bugs. + + My "smake" source is at: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + It is easy to compile and doesn't need a working make program + on your machine. If you don't have a working "make" program on the + machine where you like to compile "smake" read the file "BOOTSTRAP". + + If you have the choice between all three make programs, the + preference would be + + 1) smake (preferred) + 2) SunPRO make + 3) GNU make (this is the last resort) + + Important notice: "smake" that comes with SGI/IRIX will not work!!! + This is not the Schily "smake" but a dumb make program from SGI. + + ***** If you are on a platform that is not yet known by the ***** + ***** Schily makefilesystem you cannot use GNU make. ***** + ***** In this case, the automake features of smake are required. ***** + + Please read the README's for your operating system too. + + WARNING + Do not use 'mc' to extract the tar file! + All mc versions before 4.0.14 cannot extract symbolic links correctly. + + The versions of WinZip that support tar archives cannot be used too. + The reason is that they don't support symbolic links. + Star and Gnutar do support symbolic links even on win32 systems. + To support symbolic links on win32, you need to link with the + Cygwin32 POSIX library. + + To unpack an archive use: + + gzip -d < some-arch.tar.gz | tar -xpf - + + Replace 'star' by the actual archive name. + + If your Platform does not support hard links or symbolic links, you + first need to compile "star" and then call: + + star -xpz -copy-links < some-arch.tar.gz + + If your platform does not support hard links but supports + symbolic links, you only need to call the command above once. + If your platform does not support symbolic links, you need to call + the command twice because a symbolic link may occur in the archive + before the file it points to. + + + +Here comes the long form: + + +PREFACE: + + Calling configure manually is outdated because this is a task of the + makefile system. + + You don't have to call configure with this make file system. + + Calling 'make' or 'make all' on the top level directory will create + all needed targets. Calling 'make install' will install all needed + files. + + This program uses a new makefilesystem. This makefilesystem uses + techniques and ideas from the 1980s and 1990s, is designed in a + modular way and allows sources to be combined in a modular way. + For mor information on the modular features read README.SSPM. + + The makefilesystem is optimized for a program called 'smake' + Copyright 1985 by Jörg Schilling, but SunPro make (the make program + that comes with SunOS >= 4.0 and Solaris) as well as newer versions + of GNU make will work also. BSDmake could be made working, if it + supports pattern matching rules correctly. + + The makefile system allows simultaneous compilation on a wide + variety of target systems if the source tree is accessible via NFS. + + +Finding Compilation Results: + + To allow this, all binaries and results of a 'compilation' in any form + are placed in sub-directories. This includes automatically generated + include files. Results in general will be placed into + a directory named OBJ// in the current projects + leaf directory, libraries will be placed into a directory called + libs// that is located in the source tree root directory. + + will be something like 'sparc-sunos5-cc' + + This is the main reason why simultaneous compilation is possible on + all supported platforms if the source is mounted via NFS. + + +How to compile: + + To compile a system or sub-system, simply enter 'smake', 'make' or + 'Gmake'. Compilation may be initialized at any point of the source + tree of a system. If compilation is started in a sub tree, all objects + in that sub tree will be made. + + +How to install results: + + To install the product of a compilation in your system, call: + + smake install + + at top level. The binaries will usually be installed in + /opt/schily/bin. The directory /opt// has been agreed + on by all major UNIX vendors in 1989. Unfortunately, still not all + vendors follow this agreement. + + If you want to change the default installation directory, edit the + appropriate (system dependent) files in the DEFAULTS directory + (e.g. DEFAULTS/Defaults.sunos5). + + ***** If "smake install" doesn't do anything, you are on a broken ***** + ***** File System. Remove the file INSTALL in this case (the FS ***** + ***** does not handle upper/lower case characters correctly). ***** + ***** This is true for all DOS based filesystems and for Apple's ***** + ***** HFS+ filesystem. ***** + + +Using a different installation directory: + + If your system does not yet use the standard installation path /opt + or if you don't like this installation directory, you can easily + change the installation directory. You may edit the DEFAULTS file + for your system and modify the macro INS_BASE. + + You may use a different installation directory without editing the + DEFAULTS files. If you like to install everything in /usr/local, call: + + + If your make program supports to propagate make macros to sub make programs + which is the case for recent smake releases as well as for a recent gnumake: + + smake INS_BASE=/usr/local install + or + gmake INS_BASE=/usr/local install + + If you make program doesn't propagate make macros (e.g. SunPRO make) call: + + env INS_BASE=/usr/local make -e install + + +Using a different C-compiler: + + If the configured default compiler is not present on the current machine, + the makefilesystem will try an automatic fallback to GCC. For this reason + in most cases you will not need to manually select a compiler. + + The default C-compiler can be modified in the files in the + DEFAULT directory. If you want to have a different compiler + for one compilation, call: + + make CCOM=gcc + or + make CCOM=cc + + This works even when your make program doesn't propagate make macros. + + +Creating 64 bit executables on Solaris: + + If you like to create 64 bit executables you always need first to + remove any old make results. This includes all autoconf results. In + order to make sure that the source tree is in a "clean" state, call: + + ./.clean + + at the top level directory. Then configure and compile everything by + calling: + + smake COPTX=-xarch=v9 LDOPTX=-xarch=v9 + + To do this with GCC, you need at least GCC-3.1. It is the first 64 bit + aware GCC. With GCC, call on Solaris: + + smake CCOM=gcc COPTX=-m64 LDOPTX=-m64 + + It is not clear if GCC already supports other platforms in 64 bit mode. + As all GCC versions before 3.1 did emit hundreds of compilation + warnings related to 64 bit bugs when compiling itself, there is little + hope that other platforms are already supported in 64 bit mode. + + +Getting help from make: + + For a list of targets call: + + make .help + + +Getting more information on the make file system: + + The man page makefiles.4 located in man/man4/makefiles.4 contains + the documentation on general use and for leaf makefiles. + + The man page makerules.4 located in man/man4/makerules.4 contains + the documentation for system programmers who want to modify + the make rules of the makefile system. + + For further information read + + ftp://ftp.berlios.de/pub/makefiles/PortableSoftware.ps.gz + + +Hints for compilation: + + The makefile system is optimized for 'smake'. Smake will give the + fastest processing and best debugging output. + + SunPro make will work as is. GNU make need some special preparation. + + Read README.gmake for more information on gmake. + + To use GNU make create a file called 'Gmake' in your search path + that contains: + + #!/bin/sh + MAKEPROG=gmake + export MAKEPROG + exec gmake "$@" + + and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make' + on Linux is really a gmake. + + 'Gmake' and 'Gmake.linux' are part of this distribution. + + Some versions of gmake are very buggy. There are e.g. versions of gmake + on some architectures that will not correctly recognize the default + target. In this case call 'make all' or ../Gmake all'. + + Note that pseudo error messages from gmake similar to: + + gmake[1]: Entering directory `cdrtools-1.10/conf' + ../RULES/rules.cnf:58: ../incs/sparc-sunos5-cc/Inull: No such file or directory + ../RULES/rules.cnf:59: ../incs/sparc-sunos5-cc/rules.cnf: No such file or directory + + Are a result of a bug un GNU make. The make file system itself is + correct (as you could prove by using smake). + If your gmake version still has this bug, send a bug report to: + + "Paul D. Smith" + + He is the current GNU make maintainer. + + If you like to use 'smake', please always compile it from source. + The packages are located on: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + Smake has a -D flag to see the actual makefile source used + and a -d flag that gives easy to read debugging info. Use smake -xM + to get a makefile dependency list. Try smake -help + + +Compiling the project using engineering defaults: + + The defaults found in the directory DEFAULTS are configured to + give minimum warnings. This is made because many people will + be irritated by warning messages and because the GNU c-compiler + will give warnings for perfectly correct and portable c-code. + + If you want to port code to new platforms or do engineering + on the code, you should use the alternate set of defaults found + in the directory DEFAULTS_ENG. + You may do this permanently by renaming the directories or + for one compilation by calling: + + make DEFAULTSDIR=DEFAULTS_ENG + + +Compiling the project to allow debugging with dbx/gdb: + + If you like to compile with debugging information for dbx or gdb, + call: + + make clean + make COPTX=-g LDOPTX=-g + + + If you want to see an example, please have a look at the "star" + source. It may be found on: + + ftp://ftp.berlios.de/pub/star + + Have a look at the manual page, it is included in the distribution. + Install the manual page with + + make install first and include /opt/schily/man in your MANPATH + + Note that some systems (e.g. Solaris 2.x) require you either to call + /usr/lib/makewhatis /opt/schily/man or to call + + man -F + +Author: + +Joerg Schilling +Seestr. 110 +D-13353 Berlin +Germany + +Email: joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de + schilling@fokus.fhg.de + +Please mail bugs and suggestions to me. diff --git a/PORTING b/PORTING new file mode 100644 index 0000000..4702c41 --- /dev/null +++ b/PORTING @@ -0,0 +1,142 @@ +Porting FAQ for SING (Schily Is Not Gnu) utilities. + +- The base for porting is the makefile system. + Always look into: + ftp://ftp.berlios.de/pub/makefiles + for a version that might be newer than the one used + inside the program that should be ported. + + If you want to know more about the makefile system, + read the man pages makefiles4 and makerules.4, + they are located in man/man4/* + + to convert a manpage troff->postscript use: + gtroff -man file.tr | grops > file.ps + + to convert a manpage troff->Terminal use: + nroff -man file.tr | more -s + + +- To be able to use the makefile system, you need a + make program that meets the minimum requirements + for a make program (see makerules(4) man page) + Currently, the following make programs meet this + minimum requirements: Smake (my program), SunPro Make and Gmake + + A good idea is to first compile 'smake' if you don't + have it already. + + The smake source can be found on: + + ftp://ftp.berlios.de/pub/smake/ + or + ftp://ftp.berlios.de/pub/smake/alpha + + for the most recent version. + +- To be able to use the makefile system with gmake, + the operating system must have a command named 'uname'. + If not, you have to provide it as a shell script. + + +1) If you are using smake release 1.1 or newer and + a recent makefile system, the next step should be done + automagically (smake-1.1 or newer implement a -version + option to retrieve the version number). + + If you are using gmake, you need to do this by hand. + + First step for adding a new architecture is creating + the appropriate rule files in the RULES directory: + + RULES/os-{newos}.id For OS identification + RULES/os-{newos}.def For OS definition (man style) + RULES/{newarch}-{newos}-cc.rul + RULES/{newarch}-{newos}-gcc.rul + + And create a file: + + DEFAULTS/Defaults.{newos} + + Have a look in similar files for a template. + + If the files hae been generated automagically by smake, + please check the content and mail me a working set for your OS. + +2) All C-porting control is located in include/mconfig.h + and in the file incs/{newarch}-{newos}-{cc!gcc}/xconfig.h + The later file is created automatically using GNU + configure. The File conf/xconfig.h.in contains all + templates and comments for the various things that are tested. + + In any case, it is recommended to carefully watch the + outout from the 'configure' run (which is automatically + started from within 'make'). You may also wish to check all + files that are created in the directory + incs/{newarch}-{newos}-{cc!gcc}/ + +3) Everything should compile now. + If not, try to hack the files and mail me your problems. + + You should have a closer look at the sources as it may be that + the first attempt to port a utility will not support + all possible features of the new OS. + If your OS supportes these features in a non standard way, + you need to hack conf/configure.in and the source and add + support for the non standard behaviour of your OS. + + This is definitely recommended if you want to port programs + like 'cdrecord' 'star' and similar which need fork(2) and + mmap(2) or setprioriry(2) or if you check programs on + non POSIX operating systems like W95/W98/WNT OS/2 and + similar. + + +Notice for porting tools, that use the SCSI library libscg: + +I) Cdrecord should compile at this moment if you are using + a new architecture. The SCSI transport however will not work. + Check this! + + All files that contain low level code for SCSI transport are + located in the directory libscg/ + +II) Implementing a SCSI Transport Layer for your architecture: + + You need to add a new block into scsihack.c that will add + support for your OS. Copy the block: + + #ifdef __NEW_ARCHITECTURE + #define SCSI_IMPL /* We have a SCSI implementation for XXX */ + /* + * Add new hacks here + */ + #include "scsi-new-arch.c" + #endif + + and rename __NEW_ARCHITECTURE to reflect your new architecture. + + Add a new file that will be called scsi-{newarch}.c + Have a look into scsi-linux-sg.c for a template how to do this. + + More hints for writing the needed SCSI low level transport functions + is in: + + ftp://ftp.berlios.de/pub/cdrecord/README.scsi-IF + +4) Test your ported program. + +5) You may check other programs from me to see if everything compiles + and works. + +6) Send me your changes + +Joerg Schilling + +schilling@fokus.fhg.de +joerg@schily.isdn.cs.tu-berlin.de +js@cs.tu-berlin.de + + + + diff --git a/READMEs/README b/READMEs/README new file mode 100644 index 0000000..b419ade --- /dev/null +++ b/READMEs/README @@ -0,0 +1,460 @@ +# @(#)README 1.25 02/12/25 Copyright 1996-2002 J. Schilling + +This is Version 2.0 of cdrecord + +Cdrecord allows you to create CD's on a CD-Recorder. +Cdrecord runs on: + +SunOS 4.1.3 or later: m68k sparc +Solaris 2.3 or later: sparc x86 ppc. + +Linux: alpha x86 IA-64 m68k mips mipsel parisc parisc64 ppc s390 sparc sparc64 strongarm + +FreeBSD: alpha arm IA-64 powerpc sparc sparc64 x86 x86-64 +NetBSD: alpha amiga x86 m68k sparc +OpenBSD: x86 + +AIX: rs6000 +AmigaOS m68k +Apollo Domain/OS m68k ??? +Apple Rhapsody: ppc, x86 +Apple MacOS X: ppc +Apple Darwin: ppc +BeOS: m68k x86 +BSD/OS (BSDi): sparc x86 +Caldera OpenUnix: x86 +HP-UX: hppa +GNU HURD: x86 +NeXt Step: mc68xxx x86 and hppa +OS/2: x86 +OSF1: alpha +SCO Openserver 5.x: x86 +SCO Unixware 2.x: x86 +SCO Unixware 7.x: x86 +SGI IRIX: mips +Win95: x86 +Win98: x86 +WinME: x86 +WinNT: x86 +WinNT-5 (aka Win2000): x86 +WinNT-5.1 (aka WinXP): x86 +VMS: *VAX alpha +QNX: x86 (coming soon) + + +To learn how to compile and install cdrecord, read README.compile + +To compile on currently unknown platforms you definitely need 'smake' +from ftp.berlios.de/pub/smake or ftp.berlios.de/pub/smake +GNUmake is too dump to do this job as it does not include automake features +like 'smake' does. + +For multi session please read README.multi + +In general, it is a good idea to read all README's and check whether +they may apply for your needs/problems. + +Cdrecord runs without problems on a loaded Solaris system. +On Solaris, cdrecord uses the SVr4 priocntl() call to establish +SVr4 real-time scheduling which grants to run cdrecord in a even higher +priority than all kernel processes. On system that provide POSIX real-time +scheduling the result may be slightly worse as not all POSIX RT implementations +grant decent real time behaviour. + +The cdrtools distribution contains a SCSI user level transport library +called libscg. The SCSI library is suitable to talk to any SCSI device without +having a special device specific driver for it. +Cdrecord may be easily ported to any system that has a generic SCSI device +driver similar to the scg driver. + +On SunOS/Solaris: +You *need* the SCSI general driver 'scg' in order to run cdrecord. + +SunOS 4.1.3 only: + The 'scg' driver is Copyright 1986-1995 Jörg Schilling, + it is supplied binary in a loadable format. + There is no future support, there is no non loadable support. + +Solaris only: + The 'scg' driver is Copyright 1986-1995 Jörg Schilling, + it is supplied binary in pkgadd(1m) format and is tested + on Solaris 2.3, Solaris 2.4 & Solaris 2.5 (sparc). + +Solaris only: + It is _nice to have_ the 'fbk' driver to mount files that contain + images of file systems. Fbk means File simulates Block Device. + + The 'fbk' driver is Copyright 1988-1995 Jörg Schilling, + it is supplied binary in pkgadd(1m) format and is tested + on Solaris 2.3, Solaris 2.4 & Solaris 2.5 (sparc). + +On other OS, libscg uses the SCSI drivers that are present on the system. + +Cdrecord-1.3 or later adopts the right BUF_SIZE for each architecture. +This is to reduce some performance problems on Solaris x86. +It may be that the reason for this performance problems is that +the PC-architecture has no IO-MMU and therefore is not able to do DVMA. +If this points out to be the reason, I have to +change the scg driver & cdrecord, but this would +be needed on Linux anyway. + +Cdrecord is currently maintained with the following drives: + + Plextor PX-W4824A + Plextor PX-W4012A + Plextor PX-W2410A + Plextor PX-W1210S + Plextor PX-W1210A + Plextor PX-W124 + Plextor PX-W8220 + Plextor PX-W4220 + Plextor PX-R820 + Plextor PX-R412C + Yamaha F-1 + Yamaha CRW-2200S + Yamaha CRW-2200A + Yamaha CRW-2100S + Yamaha CRW-4416 + Yamaha CDR-400 + Ricoh MP-7040A + Ricoh MP-7040S + Ricoh MP-7060S (available only to Thomas Niederreiter and Heiko Eißfeld) + Ricoh MP-7063A + Ricoh MP-7080A + Ricoh MP-7083A + Ricoh MP-9060A + Ricoh MP-7163A + Ricoh DVD+RW MP5125 (DVD+ writing not yet supported) + HP DVD-200i (DVD+ writing not yet supported) + Philips DVD-RW 1208 (DVD+ writing not yet supported) + TEAC CD-R55S + TEAC CD-R58S + TEAC CD-W54E + TEAC CD-W28E + Sanyo CDR-Bp2 + Sanyo CDR-Bp3A + Sony CDU948S + Sony CRX-145E + Sony CRX-200E (DDCD writing not supported) + COMPRO/Matsushita/Panasonic CW-7502 + COMPRO/Matsushita/Panasonic CW-7586 + Philips CDD-2000 + Philips PCRW-804 + Goldstar LG 8080 + AOPEN CRW-4048 + Cyberdrive CW-038D + Cyberdrive CW-078D + Pioneer DVD-R A03 + +It should run also on: + + All SCSI-3/mmc compliant drives + All ATAPI/mmc compliant drives + + NOTE: + + It seems that all drives that have been initially released in 1999 + or later are MMC compliant. If a recent drive does not work with + cdrecord, you most likely found a firmware bug in this drive. + Contact your drive vendor in this case. + +Drives that have been reported to work or should work because +Andy MCFadden (see also http://www.fadden.com/cdrfaq/faq05.html) listed +them to be identical to working drives. Note that this list may be outdated + + ACER CR-1420C + ACER CDRW 6206A + AOPEN CRW9420 (Re-writable) + BTC BCE 621E + COMPRO CW-7502 + COMPRO/Matsushita/Panasonic CW-7586 + Dysan CR-622 ???? See Wearnes 622 + Dysan CR-1622 + DynaTec CDM-240J (see Pinnacle RCD-4x4) + DynaTec CDM-240 (use cdrecord driver=yamaha_cdr100 and report inquiry) + DynaTec CDM-400 (use cdrecord driver=yamaha_cdr100 and report inquiry) + Grundig CDR-100 + Hewlett Packard 4020i + Hewlett Packard 6020i + HP C4324/C4325 (HP SureStore 4020i/6020i) + HP 7100 + HP 7110 + HP 7200 + HP 8100 + HP 8210 + HP CD-Writer+ M820 + Hi-Val CD-R (see Pinnacle RCD-4x4) + IMATION CD-RW IMW040420 + JVC XR-W2001 (uses TEAC code - see below - audio not working) + JVC XR-W2010 (uses TEAC code - see below - audio not working) + JVC XR-W2020 (uses TEAC code - see below - audio not working) + JVC XR-W2080 (first MMC drive from JVC) + Kodak PCD-200 or Kodak PCD-200 Plus + Kodak PCD-225 + Kodak PCD-240 + Kodak PCD-600 + Matsushita CW-7502 + Matsushita CW-7503 + Matsushita CW-7582 + Matsushita CW-7586 + Memorex CR-622 ???? See Wearnes 622 + Memorex CR-1622 + Memorex CRW-1622 + Microboards PlayWrite 2000 (use cdrecord driver=sony_cdu924 and report inquiry) + Microboards PlayWrite 4000 (use cdrecord driver=yamaha_cdr100 and report inquiry) + Microboards PlayWrite 4001RW + MicroNet MasterCD Plus 4x4 (use cdrecord driver=yamaha_cdr100 and report inquiry) + MicroNet MasterCD Plus 4x6 + Mitsubishi MCA-CDRW 226 + Mitsumi CR-2401-TS + Mitsumi CR-2600-TE + Mitsumi CR-2801-TE + Mitsumi CR-4801-TE + Mitsumi CR-4802-TE ??? + Nomai 680.rw + Olympus CDS615E + Olympus CDS620E (use cdrecord driver=sony_cdu924 and report inquiry) + Olympus CD-R2x6 (use cdrecord driver=sony_cdu924 and report inquiry) + Optima Dis Kovery 650 CD-R + OTI CDRW 965 + OTI-975 Socrates 1.0 (CDRW) + Panasonic CW-7502 + Panasonic CW-7503 + Panasonic CW-7582 + Panasonic CW-7586 + Philips CDD 521 (CDD521/02 Revision: 2.06 has bad firmware - seems not to work) + Philips CDD 521 (upgraded units only: ID: CDD521/10 Revision: 2.07) + Philips CDD 522 + Philips CDD 2000 + Philips CDD 2600 + Philips CDD 3600 + Philips CDD 3610 + Philips CDRW400 + Philips Omniwriter 26 + Philips Omniwriter 26A + Philips CDD4201 CD-RW + Philips PCRW-804 + Pinnacle Micro RCD-1000 (see TEAC/JVC): Need to upgrade firmware to 2.35 + Pinnacle Micro RCD-5020 (see TEAC/JVC - audio not working) + Pinnacle Micro RCD-5040 (see TEAC/JVC - audio not working) + Pinnacle Micro RCD-4x4 + Pioneer DW-S114X + Plasmon CDR 4220 + Plasmon RF-4100 + Plasmon RF-4102 + Plasmon CDR 4400 (use cdrecord driver=yamaha_cdr100 and report inquiry) + Plasmon CDR 480 + Plextor PX-R24CS (use cdrecord driver=ricoh_ro1420c and report inquiry) + Plextor PX-R412C + Plextor PX-R820 + Plextor PX-W4220 + Plextor PX-W8220 + Plextor PX-W124 + Plextor PX-W1210S + Plextor PX-W1210A + Procom PCDR 4 (use cdrecord driver=yamaha_cdr100 and report inquiry) + Ricoh RO-1420C + Ricoh MP-6200 + Ricoh MP-6200I + Ricoh MP-6201 + Ricoh MP-7040A + Ricoh MP-7040S + Ricoh MP-7060S + Ricoh MP-7063A + Ricoh MP-7080A + Ricoh MP-7083A + Ricoh MP-9060A + Sanyo CDR-Bp2 + Sanyo CDR-Bp3 + Smart & Friendly CD-R1002 (use cdrecord driver=sony_cdu924 and report inquiry) + Smart & Friendly CD-R1004 (use cdrecord driver=yamaha_cdr100 and report inquiry) + Smart & Friendly CD-R2004 (use cdrecord driver=sony_cdu924 and report inquiry) + Smart & Friendly CD-R2006 PLUS + Smart & Friendly CD-R2006 PRO + Smart & Friendly CD-R4000 (use cdrecord driver=yamaha_cdr100 and report inquiry) + Smart & Friendly CD-R4006 + Smart & Friendly CD-R4012 + Smart & Friendly CD-RW226 + Smart & Friendly CD-R8020 + Sony CDU920S + Sony CDU924S + Sony CDU926S + Sony CDU928S + Sony CDU940S + Sony CDU948S + Sony CRX-100 + Sony CRX-140 + Sony CRX-145 + Taiyo Yuden CD-WO EW-50 + TEAC CD-R50S + TEAC CD-R55S + TEAC CD-R56S + TEAC CD-R58S + TEAC CD-W54E + That's Write CDR-N820S + Traxdata CDRW-2260EL-PRO + Traxdata CDR-4120 + Traxdata CDRW-4260 + Turtle Beach 2040R (use cdrecord driver=ricoh_ro1420c and report inquiry) + WAITEK WT2036 + Wearnes CD-R622 + Wearnes CD-R632P + Yamaha CDR-100 + Yamaha CDR-102 + Yamaha CDR-200 + Yamaha CDR-400(Firmware revision 1.0d and up otherwise upgrade) + Yamaha CDR-401 + Yamaha CRW-4001 + Yamaha CRW-2260 + Yamaha CRW-2261 + Yamaha CRW-4260 + Yamaha CRW-4261 + Yamaha CRW-4416 + Yamaha CRW-6416 + Yamaha CRW-8424 + Yamaha CRW-2100 + +Multi-session has not been tested with the Plasmon RF-4100 + +All companies that support me with SCSI command reference manuals and drives +will get (continued) support in the following releases. + +The following drives will never be supported by cdrecord because they are too old: + + JVC XR-W1001 + Pinnacle Micro RCD-202 + Ricoh RS-9200CD + +The following drives are currently not supported because I don't get specs: +(some of them may partially work: see above) + + Creative Labs CDR 4210 + JVC XR-W2001 + JVC XR-W2010 + JVC XR-W2020 + Pinnacle Micro RCD-1000 + Pinnacle Micro RCD-5020 + Pinnacle Micro RCD-5040 + Plasmon CDR-4240 + Sony CDW-900E + +The following drives may get support soon (If I get time to do so): + + Panasonic CW-7501 + Ricoh RS-1060C + +If you understang German, it makes sense to have a look at http://www.dchlb.de/ +and http://www.brennmeister.com/ for additional information. + +To install get: + +Solaris only: + SCHILYscg.sparc.tar.Z The scg driver in pkgadd format (sparc). + SCHILYfbk.sparc.tar.Z The fbk driver in pkgadd format (sparc). + SCHILYscg.i386.tar.Z The scg driver in pkgadd format (x86). + SCHILYfbk.i386.tar.Z The fbk driver in pkgadd format (x86). + +Note that the fbk driver packet is for Solaris 2.4 and not system independent. + +All Systems: + cdrtools-2.0.tar.gz The cdrtools for source distribution. + +NOTE: All 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. + +To unpack the archive use: + + gzip -d < cdrtools-2.0.tar.gz | tar -xpf - + + Replace 'cdrtools-2.0' by the actual archive name. + + If your Platform does not support hard links or symbolic links, you + first need to compile "star" and then call: + + star -xpz -copy-links < cdrtools-2.0.tar.gz + + If your platform does not support hard links but supports + symbolic links, you only need to call the command above once. + If your platform does not support symbolic links, you need to call + the command twice because a symbolic link may occur in the archive + before the file it points to. + + + + + +The files are located on: + +ftp://ftp.berlios.de/pub/cdrecord/ ... +ftp://ftp.berlios.de/pub/schily/kernel/scg/ ... +ftp://ftp.berlios.de/pub/schily/kernel/fbk/ ... + +Only use the mkisofs that is contained in this release. +All other mkisofs versions are too buggy. + + +Installation Process: + +Solaris only: + 1) scg driver + untar SCHILYscg.tar: + su + Password: xxxxx + cd /tmp + zcat SCHILYscg.tar | tar -xvf - + pkgadd -d . + reboot -- -r + + 2) fbk driver + similar to scg driver (see above) + + 3) Switch the CD-Writer to an unused target id (2 should do it) + + +NOTE: + Be very careful. pkgadd does not check for the right target + architecture. Do not install drivers for intel on sparc + and vice versa. You will get a corrupt system. + + You need to be root because you need access to /dev/scg? and to be + able to put cdrecord into the real-time scheduling class. + +All Systems: + +The SCSI transport library has been taken from the sformat program. +Sformat is the first SCSI disk formatting/analyzing/repairing that runs on +SunOS/Solaris. The first release of sformat has been made for SunOS 3.0 +(two years before Sun introduced their format utility). Sformat source +including 10 years of competence in SCSI disk handling is available +on: + ftp://ftp.berlios.de/pub/sformat + +I am interested to hear if someone is interested in a kernel based +filesystem for Solaris that uses packet writing on the CD-Recorder. +The filesystem will create a single session CD that may be finally converted +to a hybrid filesystem that allows to be read as +ISO-9660 with Rock Ridge extensions too. +Please mail suggestions to: wofs@schily.isdn.cs.tu-berlin.de + +If you want to use the CD-recorder as CD-ROM device, have a look at + +Solaris only: +ftp://ftp.berlios.de/pub/schily/kernel/sd + +Current information on cdrecord may be found on: + + http://www.fokus.fhg.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html + + + Joerg Schilling + + (really Jörg Schilling if you have ISO-8859-1) + +If you have questions mail to: + + HOME: joerg@schily.isdn.cs.tu-berlin.de + UNIVERSITY: js@cs.tu-berlin.de + WORK: schilling@fokus.fhg.de diff --git a/READMEs/README.ATAPI b/READMEs/README.ATAPI new file mode 100644 index 0000000..a5a5530 --- /dev/null +++ b/READMEs/README.ATAPI @@ -0,0 +1,578 @@ +# @(#)README.ATAPI 1.3 04/05/20 Copyright 1997-2004 J. Schilling + +People (with a Linux only background) often ask me why do you depend on +"ATAPI-SCSI emulation", why don't you support generic IDE? + + Well first a statement: There is no single IDE burner out! + Even a CD-ROM cannot be used decently if you use only IDE commands. + Opening/closing the door, playing audio and similar things + cannot be done using vanilla IDE commands - you will need SCSI commands + to do this. But how do we do this with a drive that uses an IDE + interface? + + ATAPI stands for ATA Packet Interface + + The ATAPI standard describes method of sending SCSI commands over IDE + transport with some small limitations to the "real" SCSI standard. + SCSI commands are send via IDE transport using the 'ATA packet' + command. There is no SCSI emulation - ATAPI drives include native + SCSI command support. For this reason, sending SCSI commands to ATAPI + drives is the native method of supporting ATAPI devices. Just imagine + that IDE is one of many SCSI low level transport mechanisms. + + This is a list of some known SCSI transports: + + - Good old Parallel SCSI 50/68 pin (what most people call SCSI) + - SCSI over fiber optics (e.g. FACL - there are others too) + - SCSI over a copper variant of FCAL (used in modern servers) + - SCSI over IEEE 1394 (Fire Wire) + - SCSI over USB + - SCSI over IDE (ATAPI) + + As you now see, the use of the naming convention "ATAPI-SCSI emulation" + is a little bit misleading. It should rather be called: + "IDE-SCSI host adapter emulation" + +Some naming explanations: + + ATA Attachment Adapter + IDE Integrated Drive Electronics (A Drive that includes ATA) + ATAPI ATA Packet Interface + +When cdrecord has problems with ATAPI drives on Linux this usually is a Linux +kernel problem. The Linux kernel maintainers unfortunately refuse to correct +their current IDE driver system setup which does not support ATAPI by default. +ATAPI _is_ SCSI over IDE transport. It is hard to understand why Linux still +uses a default driver setup that is designed for IDE CD-ROM drives made +before 1994 (using a IDE compat mode that only allows to use the drive +read-only) and does not handle to send SCSI commands to ATAPI drives by +default. This makes it hard for people who just started with Linux to do +CD-writing on Linux if they own an ATAPI drive. Both Linus Torvalds and +Alan Cox admit that they don't own a CD/DVD writer, how should they know about +the problems? + +There are bugs with the DMA implementation that are known for many years +but they don't get fixed. + +/*--------------------------------------------------------------------------*/ +Which Operating systems support ATAPI + +- AIX: Status unknown! Please report your experience... + +- Apple Mac OS X (Darwin): Supported + +- BeOS (libscg maps ATAPI to SCSI bus # >= 8 + +- BSD/OS: Status unknown! Please report your experience... + +- FreeBSD: + - YES for the latest default kernel. + It includes finally ATAPI-Cam + + - NO for the older kernels. + Yes, if you install a kernel patch from + Thomas Quinot + See http://www.cuivre.fr.eu.org/~thomas/atapicam/ + and README.FreeBSD + +- HP-UX: It looks like ATAPI does not work correctly due to kernel bugs. + + New information: + HP supports a HP A7853A B/C class machine (s700_800) with HP-UX-11.x + You need to install a patch: + + Patch Name: PHKL_27224 Patch Description: s700_800 11.00 IDE/ATAPI + cumulative patch + + +- Linux (unfortunately not in the default configuration) + + - It works more or less if you include ide-scsi + + - Linux-2.4.xx includes a CDROM Packet interface in the + IDE CD driver. For this driver libscg now includes + support in pre-alpha status. Use cdrecord dev=ATAPI -scanbus + to check for drives and e.g. cdrecord dev=ATAPI:0,0 .... + for writing. Note that this interface is not integrated into + the standard libscg device naming scheme. Support for + this interface has been included because it is the only + way to use a PCCARD/PCMCIA writer - trying to use ide-scsi + on a PCATA interface will cause a Linux kernel panic + or will block all ATAPI drives. + + - Starting with Linux-2.5.45, there is a new experimental + ATAPI interface initiated by Linus Torvalds. Unfortunately, + this interface does not fit well into the rest of the Linux + SCSI kernel transport naming scheme. Cdrecord allows to + use this interface by calling e.g. cdrecord dev=ATA:1,0,0 ... + + All Linux ATAPI transport implementations do not support DMA. + Current exceptions are: + + - ide-scsi with block size 2048 and if DMA has been enabled + + - The new experimental ATAPI interface starting with Linux-2.5.45 + allows DMA if DMA has been enabled and the sector size is a + multiple of 4. This allows to use DMA for audio CDs and + when writing any type of CD in RAW mode. + + Note that is a bad idea to first implement a new kernel + interface that also implements the named DMA implementation + bugs and later fix the DMA bug _only_ for this new + interface. It looks like the Linux kernel folks are not + very cooperative :-( + + RAW mode is needed for many new and cheap drives that have bugs when + writing in cooked mode. If there is no DMA, you cannot write faster + than approx 16x. + + +- NetBSD (releases 1.3 and newer) + +- NeXT: Status unknown! Please report your experience... + +- OpenBSD: (release 2.6 and newer) + +- OS/2 (you need to fetch and install ATAPI support first) + see: http://www.leo.org/pub/comp/os/os2/leo/drivers/dasd/daniatapi.zip/ + +- OSF-1 / True64 Status unknown! Please report your experience... + +- SCO-OpenServer: Supported with 5.0.6 and non-public patch or with + 5.0.7. I don't know whether you need a patch for 5.0.7 + +- SCO-UnixWare: partial support with UnixWare 7.1.3 - some SCSI commands + that are needed for cdda2wav and DVD writing are blocked. + 7.1.4 will have full ATAPI support. + +- SGI/IRIX: Status unknown! Please report your experience... + +- Solaris (you may need to use the USCSI transport interface to address + ATAPI if the IDE hostadapter idriver implementation does not follow + Sun's internal standards). + + ATAPI works fine on Solaris 7 sparc and on Solaris 7/8 intel. + + On Solaris 8 (intel) and newer, the ATAPI/SCSI subsystem is integrated + correctly according to Sun's SCSA white paper, so the 'scg' driver works. + This is not true for Solaris on sparc where the ATAPI driver do not conform + to Sun's internal structuring rules. You need to use the USCSI interface + on for ATAPI drives on Solaris sparc for this reason. + + Solaris 8 sparc has a ATA DMA bug that prevents cdrecord from working at all. + There is a fix from Sun available: the patch 108974-16 + Solaris 9 sparc works again, it has the fix for the ATA DMA bug included. + + Newer versions of Solaris 9 disable DMA for CD-ROM drives on IDE. + Read README.solaris-x86-ATAPI-DMA to learn how this may be circumvented. + +- VMS: works on recent versions! + +- Win32 using a recent ASPI Layer supports ATAPI + You nay need to exclude mini port drivers (see README.win32). + + Newer cdrecord versions also support the SPTI (SCSI Pass through ioctl). + Libscg uses SPTI by default if you are running NT-5.x or newer and are + administrator. With NT-4.x it may be possible to run cdrecord dev=SPTI:1,0.0 ... + But there are reports for blue screens (kernel crashes). + +- DOS DOS-7 from win98 includes a ATAPI aware aspi + For other versions have a look at README.msdos and use e.g. "oakaspi". + +/*--------------------------------------------------------------------------*/ +General hints: + +*********************** +NOTE: IDE/ATAPI doesn't have disconnect/reconnect! you cannot expect the needed + performance for CD-writing if you connect source and destination drive + to the same IDE cable. +*********************** + +If you never like to directly write a CD from CD-ROM source, this configuration +seems to be the best: + +IDE 0 MSTR -> HD1 +IDE 0 SLAV -> HD2 + +IDE 1 MSTR -> CD-writer +IDE 1 SLAV -> CD-ROM + +If you like to write from both HD source and CD-ROM source, you should have +the following configuration: + +IDE 0 MSTR -> HD1 (does _not_ hold CD mastering data) +IDE 0 SLAV -> CD-Writer + +IDE 1 MSTR -> HD2 (holds CD mastering data) +IDE 1 SLAV -> CD-ROM + +If cou cannot set up a decent cabling (e.g. because you use a notebook) +you may try to use cdrecord -immed ... +It runs slow commands in quick (immediate) return background mode and +tries to wait between the write commands to allow to free the IDE cable +so the cdrecord read process may fill the FIFO from the other drive +on the same IDE cable. + +/*--------------------------------------------------------------------------*/ +The rest of this file is only valid for Linux! + +This was taken out of mails from From: Dave Cohen +and From: Gadi Oxman +(slightly modified marked ***JS *** except typo corrects) + +As all actual Linux versions have ATAPI support for cdrecord, +I removed the patch section. If you are running a Linux version +that does not support ATAPI<->SCSI command transport, please upgrade. + +The basic driver design in Solaris would also allow to use ATAPI +drives but unfortunately, Sun made a mistake in the mid-level design. +If you want to use ATAPI drives with Solaris, ask Sun why they don't +support SCSI passthrough to IDE although they are using a common driver +concept. + +Please use cdrecord-1.6 final or later (if available), it includes the +modifications needed for ATAPI drives and is still working with other +SCSI drives. Older revisions of cdrecord do not support ATAPI drives. + +If you are using Linux Kernel version prior to 2.1.73 or prior to +2.0.35, please upgrade before you try to compile and use cdrecord. + +In any case, you need to configure a kernel with ATAPI/SCSI hostadapter +emulation. Read carefully the following instructions: + +In any case, you need to disable generic IDE/ATAPI CDROM support in +order to make ATAPI SCSI emulation working. + +Many people ask why I use ATAPI-SCSI emulation. + + The use of the naming convention "ATAPI-SCSI emulation" is a + little bit misleading. It should rather be called: + "SCSI host adapter emulation" + + The ATAPI standard describes method of sending SCSI commands over IDE + with some small limitations to the "real" SCSI standard. + For this reason ATAPI-SCSI emulation is the native method of + supporting ATAPI devices. + +If you have problems to talk to the device when it is jumpered as "slave" +try to use it as "master". If you connect a hard disk to the same IDE +cable as the CD writer or if you try to read/write data from another drive +that is connected to the same IDE cable as the CD writer you may get +problems too. + +NOTICE: + +With the newer 2.1.x or 2.2.x kernels it seems to be possible to run +SCSI/ATAPI hostadapter emulation and generic IDE at the same time by +selectively telling the kernel what to use for which drive. However, +this would not be needed if the Linux SCSI CD-ROM driver would be more +up to date and supports standard conforming drives. + +Jörg Schilling + +-------------------------------------------------- +Here is a hint from Alan Brown : + +To allow ATAPI cd and ide-scsi support on the same machine, add +`hd=ide-scsi` to the lilo.conf append entry, or use +`hd=ide-scsi` at the bootup lilo prompt. + +I have my HP-7200 RW drive as the primary drive on the second IDE +bus, so the statement used is "hdc=ide-scsi" + +-------------------------------------------------- + +Hope that the following is helpful to you. + +I recently purchased a HP-7110i CD-RW, which is the U.S. only version of +what you have. The HP 7100 and 7110 CD rewritables use the ATAPI +standard. Originally, the drives were not supported under Linux (due to +some inconsistencies with SCSI translations between the kernel and the +CD), but that problem has just recently been fixed. There are some kernel +and cdrecord patches that have been made to support this device that have +yet to be officially incorporated into cdwrite and the kernel. In order to +get your drive supported under Linux, you will have to do the following: + +1. Get the proper version of cdrecord. + +As of this writing, I am just getting ready to test Joerg's new cdrecord. +I am currently operational on cdrecord-1.5, so I know that works, and I +have attached patches for that version. + +If you are in a hurry, you can download ver. 1.5, apply patches, and +rock-n-roll. You may want to wait, though. Up to you ;). The version with +ATAPI support is cdrecord-1.6alpha5. I'm not sure if the current kernel +patches are valid for this version, but i'll know soon enough. +**** They are valid **** JS + +BTW, the new version of xcdroast now supports cdrecord - this version +is in beta testing, too (currently uses cdrecord-1.5 but cdrecord-1.6a5 +should work with the actual xcdroast too). + +2. Upgrade to kernel version 2.0.31 + +IDE/SCSI translation was first added in this kernel. Because your CD-RW is +an ATAPI device, it will support SCSI command sets. The translation +allows you to map the device as a SCSI generic device. This will allow +cdrecord to recognize it as a SCSI device. +**** 2.0.31 still needs patches, get 2.0.35 or later **** JS + +3. Get the patches and apply them + +Attached find kernel patches for kernel sources ide.h and ide-scsi.c, and +cdrecord source scsi_cdr.c (version 1.5 only). +**** Get cdrecord-1.6 or later **** JS + +3. Recompile kernel with SCSI emulation support + +If you do a "make menuconfig" or "make xconfig", select SCSI emulation +under the category "Floppy, IDE, and other block devices". + +WARNING: +Do not install SCSI support as a module - there is a bug in the makefile +structure that will cause the compile to fail. Compile directly into the +kernel. + +4. WARNING: Disable generic IDE/ATAPI CDROM support *** JS *** + +If you don't do this, the SCSI emulation will not work *** JS *** + +5. This is important too: +You also need to enable SCSI and SCSI generic support *** JS *** + +6. Make sure that /dev/sg* exists. +If they are missing, create them. + +Dave Cohen +dcohen@richmond.infi.net +(Patch instructions below) + +----------------------------------------------------------------- +From: Danilo Fiorenzano + +Anyway, here's what I did, using kernel version 2.0.33 I believe this +is the proper way to get an HP-7100i to work (and as far as I can tell, +any other IDE CD-writer unit): + +1) patch the kernel as described by README.ATAPI + +2) save your current kernel config to an alternate file, then run + "make mrproper" + +3) run 'make menuconfig' or 'make xconfig', then choose "load config + from alternate file" to restore the original configuration + +4) In "Floppy, IDE and other block devices", disable "IDE/ATAPI CD-ROM + support" and enable instead "scsi emulation" + +5) in "SCSI support" enable "SCSI support", "SCSI CD-ROM support" and + "SCSI generic support", everything directly in the kernel. + +6) compile, install kernel/modules, reboot. Now, if everything went + fine, your CDROM units should show up with a message like: + "hdb: HP CD-Writer+ 7100, ATAPI CDROM drive - enabling SCSI emulation" + +7) run "cdrecord -scanbus" to make sure cdrecord can see the unit and + talk to it. The end. + +Don't forget that now -all- of your CD drives are seen as -SCSI- units +by all programs (/dev/scd0 etc.), so you might want to relink +/dev/cdrom to the proper scd in order to get xcdplay or whatever to +work again. + + +------------------------------------------------------------------------------- +NOTE: + +1) Actual cdrecord releases support ATAPI + +2) Linux 2.0.35 or Linux 2.1.73 or later include ATAPI support +------------------------------------------------------------------------------- +From whampton@staffnet.com Fri Jan 14 05:21:34 2000 +From: "W. Wade, Hampton IV" + +You may wish to include/append these notes to your ATAPI notes.... + +I have my 4X Acer CD-R/RW ATAPI drive working with Linux. My platform +is +RedHat 6.1 with kernel 2.2.14. My first ATAPI CD device is a DVD with +the second +the CD-R. I made the following changes: + +Steps: + +1. Identify which device is the CD-R -- in my case the fourth ATAPI +device, /dev/hdd. + +2. Compile the kernel to include ATAPI CDROM and SCSI emulation: + + Under the block devices menu: + Y or M Include IDE/ATAPI CDROM support + Y or M SCSI emulation + +3. Build and install the upgraded kernel. + +4. If you selected modules, add them to the /etc/conf.modules file. + +5. In the /etc/lilo.conf file add an append line for ide-scsi, in my +case: + append = "hdc=ide-scsi hdd=ide-scsi" + +6. Reboot to the new kernel and make sure the ide-scsi module is loaded + + /sbin/lsmod | grep ide-scsi + +7. Make a link from the proper SCSI device to a symbolic, e.g., +/dev/cdrom: + In my case the DVD is the first CD, hence appears as /dev/scd0 to +scd7 + (cat /proc/scsi/scsi to get a full list of devices -- the first +CD-ROM will + appear as scd0, etc.) With the current ATAPI-SCSI module, each CD + + device appears as 8 SCSI devices (different logical units). If +you have + two devices, like I do, you may have to make a node for the second +device. + In my case I had to make scd8: + + cd /dev + mknod scd8 b 11 8 + + Then make links, in my case: + + ln -s scd0 cdrom + ln -s scd8 cdr + + Note, many CD-ROM player programs expect the audio CD drive to + be located at /dev/cdrom (xplaycd, etc.), hence this link is +recommended. + + If you try to use /dev/hdc (or wherever your CD or CD-R is) +after loading + the ide-scsi module, you may not be able to mount CD's or play +audio + discs -- you have to use the new SCSI names for the device. + +8. Fix your /etc/fstab file to mount the /dev/cdrom and /dev/cdr + + +/*--------------------------------------------------------------------------*/ +From: Eduard Bloch + +Situation: + Linux: Kernel 2.2.15 (Debian package kernel-image-2.2.15) + Distribution: Debian Potato (deep freeze), i386 + Devices: one CDRW-Writer, one CDROM-drive, both ATAPI + +1. Become root, try "grep hd.: /var/log/kern.log" to find out where your + ATAPI-devices are connected to (hd?-names). +2. Edit your boot configuration file, eg. /etc/lilo.conf if you use + lilo or the batch-file if you boot via loadlin. +3. Find a line where you can append additional kernel parameters, eg. + "append=" in lilo.conf or the loadlin-line in the batch file. +4. Append sth. like this: "hdb=ide-scsi hdc=ide-scsi max_scsi_luns=1" + The hdX-parameters defines devices that should be mapped to SCSI + latter. You may do it with non-writers too, since the emulation layer + is almost complete, or let them out so the devices will use their + native drivers. +5. Save the file, reinstall the bootloader (ie. running "/sbin/lilo") +6. Call "modconf", load "sg" and "ide-scsi" from the SCSI-section +7. Reboot Debian, watch while booting, you should see a line like this + "Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0". + Your old ATAPI devices virtually don't exist any longer, use the + SCSI equivalents instead. +8. Become root, setup devices: + cd /dev + MAKEDEV sg scd + ln -s scd0 cdrom # NOTE: or cdrw, first check which drive is here + ln -s scd1 cdrw # NOTE: see above, maybe cdrom + Check the new SCSI settings: + cdrecord -scanbus + Setup cdrecord's environment - edit /etc/default/cdrecord: + CDR_DEVICE=cdrw + cdrw=1,0,0 4 8m + cdrom=1,2,0 0 0m + Input the right values, the fields are described in the manpage + of cdrecord. Alternatively, you may use this values as + cdrecord-parameter or take a frontend with an own configuration + scheme, then you don't need to modify /etc/default/cdrecord. +9. It's done! Insert a CD and try "cdrecord -v -toc" +/*--------------------------------------------------------------------------*/ +He had constant buffer underrun problems: + +From: "Trenton D. Adams" + +I enabled DMA, and 32-bit mode on the CD-Writer using "hdparm". +This fixed the writing problem. + +/*--------------------------------------------------------------------------*/ +From: "Mario Moder" +----- +TEAC CD-W54E + +I recently installed a TEAC CD-W54E (an ATAPI CD-RW-Recorder) and I had +problems with buffer underruns and other errors when burning a CD (with +Linux and Windows 2000). My system has an old ASUS P/I-P55T2P4 Pentium +mainboard with Intel PCI-Bus-Master-IDE (I think the chipset is an Intel +430HX and the IDE controller is an 82371SB). The harddisk is the master on +the primary IDE channel, and the CD-Recorder is the master on the secondary +IDE channel. + +After turning off DMA for the CD-Recorder AND the harddisk, the drive had no +longer problems with burning a CD. You can try the following things to make +it work, if you have similar problems with a similar hardware configuration: + +For Linux (Kernel 2.2.19): +Turn off "Enable DMA by default" in the kernel (and then compile a new +kernel), if you had it turned on or use "hdparm" to turn of DMA for both the +CD-Recorder and the harddisk + +For Windows 2000: +In the Device Manager go to "IDE ATA/ATAPI-Controller" and open the +properties for the first and second IDE channel. There you change the mode +of the devices from DMA to PIO. +----- + +/*--------------------------------------------------------------------------*/ + +Hints for the Linux Packet code in ide-cdrom.c: + + WARNING! It seems that this driver does not allow to send all + SCSI commands. A command that definitely fails is READ FULL TOC. + For this reason, you cannot read those 'defective' audio CDs + with broken TOC when you use this interface. + + Thanks to Alexander Kern 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. + diff --git a/READMEs/README.BSDi b/READMEs/README.BSDi new file mode 100644 index 0000000..88d1c99 --- /dev/null +++ b/READMEs/README.BSDi @@ -0,0 +1,12 @@ +It seems that some include files that are needed to compile +e.g. the SCSI transport stuff are only present if you install +the kernel building stuff. + +If you have problems to compile because some include files are +missing, look into /sys and verify if all files are present or +(if they are symlinks) point to present files. + +There is no working mapping between the SCSI bus,target,lun +notation and device node names. To use a SCSI device, you need +to specify dev=devname:@,lun e.g. dev=/dev/rsr0a:@,0 + diff --git a/READMEs/README.DiskT@2 b/READMEs/README.DiskT@2 new file mode 100644 index 0000000..a8d69b6 --- /dev/null +++ b/READMEs/README.DiskT@2 @@ -0,0 +1,63 @@ +New driveropts= option "tattoofile=". Use together with -checkdrive +to write an image of the right size to disk. + + DiskT@2 hints: + + In order to have "DISKTATTOO" listed in the "Driver flags", + the disk currently inserted must be usable for the DiskT@2 feature. + This means that there needs to be enough space on it. + + You need an B&W image with 3744 pixels per line + + Best start with a 3744 x 320 pixel image. + The correct size may be retrieved with + cdrecord driveropts=tattooinfo -checkdrive + + To get RAW image data: + + - Take 'xv' and save the image in PBM/PGM/PPM (raw) mode + + - use a binary aware (must support unlimited linelength) + editor such as 'ved' and remove the header lines. + These lines look like: + + P5 + # CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2) + # CREATOR: XV Version 3.10a Rev: 12/29/94 (PNG patch 1.2) + 3744 144 + 255 + + Now you should have (in case of the file above) a file that + has exactly 539136 Bytes. + + - Note that the tattoo image must be left to right flipped + (a mirror image). + +From a hint from "E. Robert Bogusta" : + +Take an image, and do: + + djpeg myface.jpg | ppmtopgm | pnmflip -lr | + pnmscale -xsi 3744 -ysi 320 | sed '1,/255/d' >myface.tattoo + +So: + djpeg extracts ppm from a jpeg. Use your favorite other way of getting +this far is you wish. + + ppmtopgm changes color to grey scale + + pnmflip -lr flips left to right, the small image is faster + + pnmscale makes it 3644x320 regardless of starting size. This may make it +look really odd on the CD if it doesn't start off the right size. More on +this after I try it. + + sed strips from the first line to the line containing 255, which is the +last header line. + +Note that it would be better to use the actual height of the applicable image instead +of the maximum value of 320 and it would be even more correct to create an +image that has the right width/height ratio for the target on CD in order +get an undistorted view of the image on CD. + +For best visibility, use black text on light background. diff --git a/READMEs/README.FreeBSD b/READMEs/README.FreeBSD new file mode 100644 index 0000000..d005a65 --- /dev/null +++ b/READMEs/README.FreeBSD @@ -0,0 +1,95 @@ +Important notice for ATAPI support on FreeBSD: + +A long time it was not possible to decently write CD's using ATAPI drives +on FreeBSD because ATAPI was not supported in an orthogonal way on FreeBSD. + +These days (in the mid of november 2001) first ATAPI support for FreeBSD is +available as patch. Please read: + +http://www.freebsd.org/cgi/getmsg.cgi?fetch=136602+0+/usr/local/www/db/text/2001/freebsd-current/20011111.freebsd-current + +and get the FreeBSD kernel patch from: + +http://www.cuivre.fr.eu.org/~thomas/atapicam/ + +Thanks to Thomas Quinot for the patch. + +We tested the patch with a collegue today (23.11.2001), here is the result: + +- From our tests, it compiles with FreeBSD 4.x and FreeBSD current (5.0) + but does not boot with FreeBSD current so we used 4.x for our tests + I hope that Thomas Quinot and + Kenneth D. Merry will help to make it work with + FreeBSD current soon. + +- The Author of the patch, Thomas Quinot , observed + that it runs on *some* -CURRENT machines and hangs on *some* -STABLE + machines so you may want to test what works best for you. + +- It does not run the SCSI commands in silent mode so the ATAPI low level + code prints unwanted kernel messages when you start cdrecord. + +- cdrecord runs without problems so far it has been tested! + +You need to apply the patch, change your kernel configuration to include + +options ATAPICAM + +and then recompile install and boot the new kernel. +Make enough /dev/pass* devices and start testing..... + +/*--------------------------------------------------------------------------*/ +From shamrock@cypherpunks.to Mon May 3 07:35:50 1999 +Received: from pakastelohi.cypherpunks.to (pakastelohi.cypherpunks.to [212.26.192.194]) + by mailhub.fokus.gmd.de (8.8.8/8.8.8) with ESMTP id HAA18680 + for ; Mon, 3 May 1999 07:35:48 +0200 (MET DST) +Received: from localhost (shamrock@localhost) + by pakastelohi.cypherpunks.to (8.9.1a/8.9.1) with SMTP id HAA26150 + for ; Mon, 3 May 1999 07:35:44 +0200 (CEST) +Date: Mon, 3 May 1999 07:35:44 +0200 (CEST) +From: Lucky Green +To: schilling@fokus.gmd.de +Subject: Re: Cdrecord "RR-scheduler not available" (fwd) +Message-ID: +MIME-Version: 1.0 +Content-Type: TEXT/PLAIN; charset=US-ASCII +Status: R +Content-Length: 1423 + +Schily, +Please add the following info to your readme for FreeBSD. Enabling POSIX +scheduling as described below does in fact make the error message go away. + +Thanks, +-- Lucky Green PGP v5 encrypted email preferred. + +---------- Forwarded message ---------- +Date: Sun, 2 May 1999 14:46:57 +0200 (SAT) +From: Khetan Gajjar +Reply-To: Khetan Gajjar +To: Lucky Green +Cc: freebsd-questions@FreeBSD.ORG +Subject: Re: Cdrecord "RR-scheduler not available" + +On Sat, 1 May 1999, Lucky Green wrote: + +>Having spent a week on trying to get an ATAPI CD burner working, I saw the +>light and purchased a SCSI-based burner. It burns, but I am getting an +>error about the RR-scheduler not being available. What is an RR-scheduler +>and how do I make it available? (If I even need it....) + +Enable the Posix scheduling stuff in your kernel; you'll produce +more reliable burns at higher speeds if your machine is busy +(well, that's been my experience) + +options "P1003_1B" +options "_KPOSIX_PRIORITY_SCHEDULING" +options "_KPOSIX_VERSION=199309L" +--- +Khetan Gajjar (!kg1779) * khetan@iafrica.com ; khetan@os.org.za +http://www.os.org.za/~khetan * Talk/Finger khetan@chain.freebsd.os.org.za +FreeBSD enthusiast * http://www2.za.freebsd.org/ +Security-wise, NT is a OS with a "kick me" sign taped to it + + + diff --git a/READMEs/README.NetBSD b/READMEs/README.NetBSD new file mode 100644 index 0000000..dcfb901 --- /dev/null +++ b/READMEs/README.NetBSD @@ -0,0 +1,21 @@ +NOTE: you should also read README.xxxBSD + +Cdrecord now supports ATAPI drives on NetBSD + +The sparc hostadapter driver software in NetBSD has a bug: + +An internal copy of the SCSI status byte will never be updated. +However, this internal copy is always returned so the +SCSI library always believes that an error occurred. + +As this implementation bug makes it impossible to sense +other error/exception conditions the driver needs to be fixed. + +As a workaround you can activate a hack in the file scsi-bsd.c +by using + +./Gmake COPTX=-DBSD_SCSI_SENSE_BUG + +to compile cdrecord + +Jörg diff --git a/READMEs/README.OpenBSD b/READMEs/README.OpenBSD new file mode 100644 index 0000000..2da9e83 --- /dev/null +++ b/READMEs/README.OpenBSD @@ -0,0 +1,47 @@ +On OpenBSD releases between December 11th and December 30th 2002 +there is a bug in /usr/include/ctype.h, it #defines EOF ignoring +POSIX rules. As the schily make environment relies on EOF as an +indicator to check whether stdio.h has been included, there may +be problems to compile things. If you find compile problems, +you may try to include + +#undef EOF + +directly after #include + +Cdrecord has been tested and known to work on OpenBSD, however, +the current OpenBSD port will not be able to scan the SCSI bus +for a CD-Recorder as it does on other operating systems. + +In other words, 'cdrecord -scanbus' most likely will not work. + +Both regular SCSI and ATAPI devices are supported. For ATAPI support +you need OpenBSD-2.6 or newer. + +Libscg sends Generic scsi commands that are only supported for the +"whole disk" partition. For example, 'cdrecord dev=/dev/rcd0c -checkdrive'. +See the cd(4), atapiscsi(4), and cdrecord(1) manpages for more details. + +There are at least two ways to figure out what SCSI CD devices are +on the machine: + + From /var/run/dmesg.boot: + $ egrep "^cd.+ at scsibus" /var/run/dmesg.boot + cd0 at scsibus0 targ 0 lun 0: SCSI0 5/cdrom removable + cd1 at scsibus1 targ 0 lun 0: SCSI0 5/cdrom removable + + From sysctl: + $ sysctl hw.disknames + hw.disknames = wd0,cd0,cd1,fd0 + +In these examples, 'cd0' and 'cd1' are the SCSI CD devices on the +system, and they should be accessed by '/dev/rcd0c' and '/dev/rcd1c', +respectively. + +In December 2002 there have been reports that the atapiscsi(4) driver has +some bugs that may cause cdrecord to hang for a while. While this is +annoying, it is harmless. The command will eventually timeout (the default +timeout is 40 seconds, but can be changed with timeout=%d). Trying to kill +the "hung" process may leave the device unusable until the system is rebooted +(which would be another bug of the atapiscsi(4) driver as killing a process +should do all necessary housekeeping for the dead process), so just be patient. diff --git a/READMEs/README.QNX b/READMEs/README.QNX new file mode 100644 index 0000000..918896d --- /dev/null +++ b/READMEs/README.QNX @@ -0,0 +1,3 @@ +To compile on QNX you will need smake-1.2a3 or later. +It looks like GNUmake has a bug that prevents a compilation +using GNUmake. diff --git a/READMEs/README.SSPM b/READMEs/README.SSPM new file mode 100644 index 0000000..7f9d42b --- /dev/null +++ b/READMEs/README.SSPM @@ -0,0 +1,51 @@ + A new milestone in modular portable programming is ready! + +The "Slottable Source Plugin Module" system (SSPM) is an idea that +really is more than 3 years old but I was hesitating to announce it +earlier. Now I can tell you that the new makefile system has been +under test during the last 6 months and nobody complained about any +problem caused by the SSPM. + +The portability overhead is currently about 2 MB. This turns a medium +sized application like 'star' which is about 500 kB of pure source +into a packet that is 5x as big as the pure source size. + +As all my applications are based on the Schily SING makefile system +and share a common portability base it makes sense to share the +advantages of the Schily makefile system with all users. + +Simple ideas like the SSPM are usually hard to understand by people +from outside, so I try to describe the new system by giving you an +example on how it is used: + +-------------------- +You may test the new system by first downloading the latest +cdrtools package + + ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-1.11a11.tar.gz + +or newer. Then unpack the source tarball, chdir into the top level +directory of the cdrtools package. Run 'make' and wait until the +compilation has finished. + +So far, there is nothing new (except that some people may recognize +that this is a 'smooth' fully integrated compilation and you don't need +to call 'configure'. + +Now, to understand what a "Slottable Source Plugin Module" is, fetch +another source. There is currently only one demo source that is ready +for testing: + + ftp://ftp.berlios.de/pub/star/alpha/star-1.4a08-sspm.tar.gz + +Unpack this tarball in the top level directory of cdrtools and +call 'make' again. The Schily makefile system does recognize that there +is additional (uncompiled) source and will compile these new parts. +As there is no need to run 'configure' again, compilation of the +additional 'star' sources is much faster than the compilation of the +complete 'star' source package would take. + +To understand how the "Slottable Source Plugin Module" system works, +have a look into the TARGETS directory..... + +------------------- diff --git a/READMEs/README.WORM b/READMEs/README.WORM new file mode 100644 index 0000000..d3e2ace --- /dev/null +++ b/READMEs/README.WORM @@ -0,0 +1,10 @@ +CD-R drives are anything but WORM drives, but older drives identify themselves +as WORM drives. +A Worm drive is able to write each sector once at any time without preparation. +A CD-R drives is not and never will be able to do this. +However some old drives identify as WORM drives. + +For this reason the SCSI-3 standard tells CD-R drives simply CD drives +with multi media extensions. + + diff --git a/READMEs/README.aix b/READMEs/README.aix new file mode 100644 index 0000000..4922a52 --- /dev/null +++ b/READMEs/README.aix @@ -0,0 +1,32 @@ +You need to use GNUmake or my smake to compile on AIX + +Read the file README.compile before compiling. + +NOTE: AIX seems to have a kernel bug in the mmap() part + that may cause kernel panics. + +If you observe this kernel panic, try to add a line: + +COPTS += -DUSE_USGSHM + +to the file cdrecord/Makefile + +or compile the package using: + +make COPTX=-DUSE_USGSHM + +It seems that SVrx style shared memory does not have this kernel bug +In newer AIX releases, the mmap() kernel problem seems to be fixed. + +If you like to create bootable CD's for AIX on the CHRP architecture: + + The /usr/sbin/mkcd command starting shipping with + AIX 4.3.3 back in Oct 99'. It's installed by default with the system. + There's more info about it in /usr/lpp/bos.sysmgt/mkcd.README.html. + + +NOTE: there is currently no real SCSI generic support for AIX, so + cdrecord -scanbus will not work. + + /dev/rcd0 is mapped to dev=0,0,0 + /dev/rcd1 is mapped to dev=0,1,0 diff --git a/READMEs/README.apple b/READMEs/README.apple new file mode 100644 index 0000000..3ba5556 --- /dev/null +++ b/READMEs/README.apple @@ -0,0 +1 @@ +For CD-Recording please read the README.volmgt too. diff --git a/READMEs/README.audio b/READMEs/README.audio new file mode 100644 index 0000000..28c3927 --- /dev/null +++ b/READMEs/README.audio @@ -0,0 +1,50 @@ +Why do I hear only noise from my first audio CD? + +You may have a byte swapping problem, try cdrecord -swab +but note that is is most unlikely that you need to use the -swab +option from cdrecord unless your input files are broken. +It makes more sense to find out why the inout files are not OK. + +Cdrecord assumes Motorola/Network byte order (big-endian) on input +regardless of the byte order of the CD-Recorder. If Cdrecord +encounters a .wav file, byte order is corrected to match the byte order +of the .wav file. + +Cdrecord by default uses Track at once. This always gives 2 seconds +pause between two audio tracks and loweres the audio quality. + +For best audio CD quality, use cdrecord -dao (to write in Session At Once) +ot cdrecord -raw (to write in RAW mode). Note that there are a lot of drives +notably from Lite-ON that have defective firmware and will write defective +CDs if you use either TAO or SAO mode. In RAW mode, cdrecord has the +full control over the complete CD and the chance that the CD is OK +is much higher. + +The 2 seconds pause between two audio tracks is the CD ***standard*** + +The standard says: + Each track starts with 2 seconds of silence + followed by at least 4 seconds of audio data. + +For that reason the 2 second pause is generated by the CD-R drive in +Track at once (TAO) mode. + +CD's that have no pause between two tracks are illegal (compared to RED BOOK). +These illegal disks may be made with Disk At Once (DAO) only. +In DAO mode the writing software needs to send the 2 seconds pause as +binary zeroes and therefore is able to create illegal disks by +sending audio data instead. + +Some drives don't accept to write illegal disks even in SAO mode. +In this case, use the RAW mode. In RAW mode, the drive does not even +"know" what is going on and thus cannot prevent you from writing such +a disk. + +This audio data (the last two seconds of a track in this case) +however are part of the next track from viewing the TOC of the disk. +Digital Audio Extraction programs that work correctly (as intended by the +CD standard) split the content of a CD into files by including the +pre-gap (usually holding 2 seconds of pause) at the end of the previous +track. + +Joerg Schilling diff --git a/READMEs/README.cdplus b/READMEs/README.cdplus new file mode 100644 index 0000000..7431415 --- /dev/null +++ b/READMEs/README.cdplus @@ -0,0 +1,72 @@ +Cdrecord allows you to create multi-session CD's with all +supported drives. Cdrecord comes with a hacked mkisofs +that allows you to that on even on systems that don't support +a sectorsize 2048 Bytes (e.g. SGI IRIX and old versions of Solaris) +or systems that don't support raw device access (e.g. OS/2 W95/W98/WNT). +This is possible because this hacked version of mkisofs +uses my scg driver to read the old session from the CD-Recorder. + +According to www.cd-info.com, a CD+ is a CD with two sessions. +The first session is an audio session, the second session a data +session. + +Creating a CD+ is first writing an audio session in +multi session mode and then writing a data session. + +If you like to append a filesystem to a audio CD, first extract the +CD by calling: + + cdda2wav -B -vall + +This first audio session may be written in TAO mode with the command + + cdrecord -multi -audio file1 .... + +or in DAO mode with the command + + cdrecord -dao -multi -useinfo -audio file1 .... + +To add the second session that contains the data track, you need +to create an ISO-9660 file system that starts not at sector 0. + +With the current mkisofs (1.12), you must use the following method: + + +- First call cdrecord -msinfo for your prepared multi-session audio CD. + + you will get something like 0,12345 + +- Now call mkisofs: + + mkisofs -o fs.raw -C 0,12345 root_directory_for_new_cd + + replace 0,12345 with your actual cdrecord -msinfo output. + +the image in fs.raw may now be written with cdrecord as second session. + +See my README.multi for more info on how to create multi session CD's + + +The procedure again in short form: + + cdda2wav -vall -B + + cdrecord -multi -audio audio_tracks .... +or + cdrecord -dao -useinfo -multi -audio audio_tracks .... + + cdrecord -msinfo .... + (output is e.g. 0,12345) + + mkisofs -R -o cd_plus.raw -C 0,12345 root_dir_of_fs + + cdrecord -data cd_plus.raw +or + cdrecord -multi cd_plus.raw + + +Note: If you want to create an HFS hybrid as the data track, then you must +use the '-part' option to mkisofs. Otherwise, the data track will be mounted +as an ISO9660/Joliet CD when used on a Mac. + +Jörg diff --git a/READMEs/README.cdrw b/READMEs/README.cdrw new file mode 100644 index 0000000..2e6999f --- /dev/null +++ b/READMEs/README.cdrw @@ -0,0 +1,13 @@ +Using CD-RW media Mini Howto FAQ + +CD-RW drives usually support packet writing, but as there +is currently no usable UDF filesystem support you may only use +the simple cdrecord approach. + +Cdrecord writes to CD-RW media in exactly the same way as it +does with CD-R. + +You may erase a complete disk in preparation to reuse it. +Check the man page entry for the blank= option of cdrecord. +Not all drives support all blanking modes. Usually +blank=fast or blank=full are working. diff --git a/READMEs/README.cdtext b/READMEs/README.cdtext new file mode 100644 index 0000000..fd09bd0 --- /dev/null +++ b/READMEs/README.cdtext @@ -0,0 +1,61 @@ +CD-Text Usage (to copy CD-Text from master CD): + + cdda2wav -D 6,0 -vall -B # To extract audio information + cdrecord dev=6,0 -vv -toc # To extract CD-Text information + + and then + + cdrecord dev=6,0 -v -dao textfile=cdtext.dat -useinfo *.wav + or + cdrecord dev=6,0 -v -raw96r textfile=cdtext.dat -useinfo *.wav + + If the CD-Text information contains more CRC errors than + cdrecord can correct, you need to reload the CD and to + re-read the CD-Text information from the 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: not all writers that support MMC SAO mode support + to write CD-Text in this write mode. + If you have a drive that does not support CD-Text + but supports RAW/RAW96R mode use this mode as + in RAW/RAW96R mode the drive does not need to know + about CD-Text. This way even old drives like the + Plextor PX-R 412C will write CD-Text. + + NOTE that cdda2wav will read CD-Text and fill in the + CD-Text fields in the *.inf files if vou use -vall. + + The new cdda2wav option cddb= allows you to tell cdda2wav to + retrieve CDDB information from freedb.freedb.org. + cddb=0 means ask if ambiguous, cddb=1 means take first entry. + The information in this case is filled into the fields + in the *.inf files. + +Creating a CD with CD-Text based on CDDB information from freedb.freedb.org: + + Tell cdda2wav to fetch data from freedb.freedb.org, call + + cdda2wav -D 6,0 -vall -B cddb=1 # To extract audio information/fetch CDDB data + + and then call + + cdrecord dev=6,0 -v -dao -text -useinfo *.wav + or + cdrecord dev=6,0 -v -raw96r -text -useinfo *.wav + + +If you like to create your own CD-text data for a CD use the +following method: + + First extract all tracks with cdda2wav -vall (see above), + + then edit the *.inf Files and add album and song titles. + + Now call cdrecord as if the *.nf files contain CD-Text + information. + + Note that it is recommended to use less that 160 characters + for a single string. diff --git a/READMEs/README.clone b/READMEs/README.clone new file mode 100644 index 0000000..9450ccd --- /dev/null +++ b/READMEs/README.clone @@ -0,0 +1,26 @@ +Hints for how to copy a CD using the clone method: + +Step 1 (read master CD): + + Call "readcd dev=b,t,l -clone f=somefile" and the files + + somefile + and + somefile.toc + + will be generated. + + If the disk contains many sectors that are unreadable by intention, + call "readcd dev=b,t,l -clone -nocorr f=somefile" + + +Step 2 (write copy): + + Call "cdrecord dev=b,t,l -raw96r -clone -v somefile" + +If cdrecord complains that your drive does not support -raw96r, but the +drive is able to do clone writing at all, then cdrecord will propose you +a different write mode that works with the drive. + + + diff --git a/READMEs/README.compile b/READMEs/README.compile new file mode 100644 index 0000000..59ba1b8 --- /dev/null +++ b/READMEs/README.compile @@ -0,0 +1,335 @@ +Short overview for those who don't read manuals: + + Calling configure manually is outdated because this is a task of the + makefile system. + + There is no 'configure', simply call 'make' on the top level + directory. + + ***** If this does not work for you, read the rest if this file ***** + ***** If you have any problem, also first read the topic specific ***** + ***** README.* files (e.g. README.linux for Linux problems). ***** + + All results in general will be placed into a directory named + OBJ// in the current projects leaf directory. + + You **need** either my "smake" program, the SunPRO make + from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x) + or GNU make to compile this program. Read README.gmake for + more information on gmake and a list of the most annoying bugs in gmake. + + All other make programs are either not smart enough or have bugs. + + My "smake" source is at: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + It is easy to compile and doesn't need a working make program + on your machine. If you don't have a working "make" program on the + machine where you like to compile "smake" read the file "BOOTSTRAP". + + If you have the choice between all three make programs, the + preference would be + + 1) smake (preferred) + 2) SunPRO make + 3) GNU make (this is the last resort) + + Important notice: "smake" that comes with SGI/IRIX will not work!!! + This is not the Schily "smake" but a dumb make program from SGI. + + ***** If you are on a platform that is not yet known by the ***** + ***** Schily makefilesystem you cannot use GNU make. ***** + ***** In this case, the automake features of smake are required. ***** + + Please read the README's for your operating system too. + + WARNING + Do not use 'mc' to extract the tar file! + All mc versions before 4.0.14 cannot extract symbolic links correctly. + + The versions of WinZip that support tar archives cannot be used too. + The reason is that they don't support symbolic links. + Star and Gnutar do support symbolic links even on win32 systems. + To support symbolic links on win32, you need to link with the + Cygwin32 POSIX library. + + To unpack an archive use: + + gzip -d < some-arch.tar.gz | tar -xpf - + + Replace 'star' by the actual archive name. + + If your Platform does not support hard links or symbolic links, you + first need to compile "star" and then call: + + star -xpz -copy-links < some-arch.tar.gz + + If your platform does not support hard links but supports + symbolic links, you only need to call the command above once. + If your platform does not support symbolic links, you need to call + the command twice because a symbolic link may occur in the archive + before the file it points to. + + + +Here comes the long form: + + +PREFACE: + + Calling configure manually is outdated because this is a task of the + makefile system. + + You don't have to call configure with this make file system. + + Calling 'make' or 'make all' on the top level directory will create + all needed targets. Calling 'make install' will install all needed + files. + + This program uses a new makefilesystem. This makefilesystem uses + techniques and ideas from the 1980s and 1990s, is designed in a + modular way and allows sources to be combined in a modular way. + For mor information on the modular features read README.SSPM. + + The makefilesystem is optimized for a program called 'smake' + Copyright 1985 by Jörg Schilling, but SunPro make (the make program + that comes with SunOS >= 4.0 and Solaris) as well as newer versions + of GNU make will work also. BSDmake could be made working, if it + supports pattern matching rules correctly. + + The makefile system allows simultaneous compilation on a wide + variety of target systems if the source tree is accessible via NFS. + + +Finding Compilation Results: + + To allow this, all binaries and results of a 'compilation' in any form + are placed in sub-directories. This includes automatically generated + include files. Results in general will be placed into + a directory named OBJ// in the current projects + leaf directory, libraries will be placed into a directory called + libs// that is located in the source tree root directory. + + will be something like 'sparc-sunos5-cc' + + This is the main reason why simultaneous compilation is possible on + all supported platforms if the source is mounted via NFS. + + +How to compile: + + To compile a system or sub-system, simply enter 'smake', 'make' or + 'Gmake'. Compilation may be initialized at any point of the source + tree of a system. If compilation is started in a sub tree, all objects + in that sub tree will be made. + + +How to install results: + + To install the product of a compilation in your system, call: + + smake install + + at top level. The binaries will usually be installed in + /opt/schily/bin. The directory /opt// has been agreed + on by all major UNIX vendors in 1989. Unfortunately, still not all + vendors follow this agreement. + + If you want to change the default installation directory, edit the + appropriate (system dependent) files in the DEFAULTS directory + (e.g. DEFAULTS/Defaults.sunos5). + + ***** If "smake install" doesn't do anything, you are on a broken ***** + ***** File System. Remove the file INSTALL in this case (the FS ***** + ***** does not handle upper/lower case characters correctly). ***** + ***** This is true for all DOS based filesystems and for Apple's ***** + ***** HFS+ filesystem. ***** + + +Using a different installation directory: + + If your system does not yet use the standard installation path /opt + or if you don't like this installation directory, you can easily + change the installation directory. You may edit the DEFAULTS file + for your system and modify the macro INS_BASE. + + You may use a different installation directory without editing the + DEFAULTS files. If you like to install everything in /usr/local, call: + + + If your make program supports to propagate make macros to sub make programs + which is the case for recent smake releases as well as for a recent gnumake: + + smake INS_BASE=/usr/local install + or + gmake INS_BASE=/usr/local install + + If you make program doesn't propagate make macros (e.g. SunPRO make) call: + + env INS_BASE=/usr/local make -e install + + +Using a different C-compiler: + + If the configured default compiler is not present on the current machine, + the makefilesystem will try an automatic fallback to GCC. For this reason + in most cases you will not need to manually select a compiler. + + The default C-compiler can be modified in the files in the + DEFAULT directory. If you want to have a different compiler + for one compilation, call: + + make CCOM=gcc + or + make CCOM=cc + + This works even when your make program doesn't propagate make macros. + + +Creating 64 bit executables on Solaris: + + If you like to create 64 bit executables you always need first to + remove any old make results. This includes all autoconf results. In + order to make sure that the source tree is in a "clean" state, call: + + ./.clean + + at the top level directory. Then configure and compile everything by + calling: + + smake COPTX=-xarch=v9 LDOPTX=-xarch=v9 + + To do this with GCC, you need at least GCC-3.1. It is the first 64 bit + aware GCC. With GCC, call on Solaris: + + smake CCOM=gcc COPTX=-m64 LDOPTX=-m64 + + It is not clear if GCC already supports other platforms in 64 bit mode. + As all GCC versions before 3.1 did emit hundreds of compilation + warnings related to 64 bit bugs when compiling itself, there is little + hope that other platforms are already supported in 64 bit mode. + + +Getting help from make: + + For a list of targets call: + + make .help + + +Getting more information on the make file system: + + The man page makefiles.4 located in man/man4/makefiles.4 contains + the documentation on general use and for leaf makefiles. + + The man page makerules.4 located in man/man4/makerules.4 contains + the documentation for system programmers who want to modify + the make rules of the makefile system. + + For further information read + + ftp://ftp.berlios.de/pub/makefiles/PortableSoftware.ps.gz + + +Hints for compilation: + + The makefile system is optimized for 'smake'. Smake will give the + fastest processing and best debugging output. + + SunPro make will work as is. GNU make need some special preparation. + + Read README.gmake for more information on gmake. + + To use GNU make create a file called 'Gmake' in your search path + that contains: + + #!/bin/sh + MAKEPROG=gmake + export MAKEPROG + exec gmake "$@" + + and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make' + on Linux is really a gmake. + + 'Gmake' and 'Gmake.linux' are part of this distribution. + + Some versions of gmake are very buggy. There are e.g. versions of gmake + on some architectures that will not correctly recognize the default + target. In this case call 'make all' or ../Gmake all'. + + Note that pseudo error messages from gmake similar to: + + gmake[1]: Entering directory `cdrtools-1.10/conf' + ../RULES/rules.cnf:58: ../incs/sparc-sunos5-cc/Inull: No such file or directory + ../RULES/rules.cnf:59: ../incs/sparc-sunos5-cc/rules.cnf: No such file or directory + + Are a result of a bug un GNU make. The make file system itself is + correct (as you could prove by using smake). + If your gmake version still has this bug, send a bug report to: + + "Paul D. Smith" + + He is the current GNU make maintainer. + + If you like to use 'smake', please always compile it from source. + The packages are located on: + + ftp://ftp.berlios.de/pub/smake/alpha/ + + Smake has a -D flag to see the actual makefile source used + and a -d flag that gives easy to read debugging info. Use smake -xM + to get a makefile dependency list. Try smake -help + + +Compiling the project using engineering defaults: + + The defaults found in the directory DEFAULTS are configured to + give minimum warnings. This is made because many people will + be irritated by warning messages and because the GNU c-compiler + will give warnings for perfectly correct and portable c-code. + + If you want to port code to new platforms or do engineering + on the code, you should use the alternate set of defaults found + in the directory DEFAULTS_ENG. + You may do this permanently by renaming the directories or + for one compilation by calling: + + make DEFAULTSDIR=DEFAULTS_ENG + + +Compiling the project to allow debugging with dbx/gdb: + + If you like to compile with debugging information for dbx or gdb, + call: + + make clean + make COPTX=-g LDOPTX=-g + + + If you want to see an example, please have a look at the "star" + source. It may be found on: + + ftp://ftp.berlios.de/pub/star + + Have a look at the manual page, it is included in the distribution. + Install the manual page with + + make install first and include /opt/schily/man in your MANPATH + + Note that some systems (e.g. Solaris 2.x) require you either to call + /usr/lib/makewhatis /opt/schily/man or to call + + man -F + +Author: + +Joerg Schilling +Seestr. 110 +D-13353 Berlin +Germany + +Email: joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de + schilling@fokus.fhg.de + +Please mail bugs and suggestions to me. diff --git a/READMEs/README.copy b/READMEs/README.copy new file mode 100644 index 0000000..40afacf --- /dev/null +++ b/READMEs/README.copy @@ -0,0 +1,52 @@ +Ho to copy CD's and CD-R/CD-RW's + +Copying audio CD's: + +If you want to copy audio CD's, look for 'cdda2wav'. Be sure tu use use +at least a cdda2wav-0.95beta or later. Older releases will not read correctly +from SCSI-3/mmc compliant drives. + +Copying data CD's: + +The best way to copy a data disk is to copy the raw data on the master CD. +This may be done by reading the data from the raw device by using 'readcd'. + + +NOTE: All CD-R's written in Track At Once mode end in two unreadable + run-out sectors. If the disk has been written with a Yamaha CD-R100 + or with a Yamaha CD-R102, there are even more run-out sectors. + +For this reason, you will not be able to read such a CD correctly with 'dd'. + +I recommend to write all disks in Disk at Once mode if your drive +is supported in DAO mode with cdrecord. In addition, you may wish to +add padding (see cdrecord / mkisofs man pages). + +If you want to copy such a CD directly with cdrecord, you may call: + + cdrecord -v dev=... -isosize /dev/rdsk/c0t6d0s0 + +But this may fail if the master gives read errors. To copy such a CD to a file +you may use the program 'readcd' from this package + +Call 'readcd [target] [lun] [scsibusno]' and select function 11. +Or call readcd -help to get alternate usage. +To prevent readcd from reading the run-out sectors, reduce the +number of sectors to copy by 2. + +Recent readcd versions may be called: readcd dev=b,t,l f=outfile +To reduce the numbers of sectors to copy you may use the sectors= option. + +If the master disk is made of several partitions (like a Solaris boot CD), +the best way to copy a CD is to use the program 'readcd'. It ignores +the partition info and does raw SCSI reads. + +If you like to copy audio CD's in a way that preserves as much accuracy as +possible, use: + +cdda2wav -vall -D... -B +cdrecord -v dev=... -dao -useinfo *.wav + +This will preserve pre-gap sizes, indices ... + + diff --git a/READMEs/README.gmake b/READMEs/README.gmake new file mode 100644 index 0000000..49ea21a --- /dev/null +++ b/READMEs/README.gmake @@ -0,0 +1,47 @@ +Gmake compliance is included for convenience because it may +be found on many systems and most make programs are worse +than gmake. + + ***** If you are on a platform that is not yet known by the ***** + ***** Schily makefilesystem you cannot use GNU make. ***** + ***** In this case, the automake features of smake are required. ***** + +The major problem with gmake is that it does not handle the +include directive correctly. The general rule for a make program is +to first try to "make" any object it should look on. Gmake +does not try to "make" any makefile it should include. One result +is many warnings about non-existent files (which you could ignore). +The other problem with gmake and include files is hat gmake +includes the files in the opposite order than expected. The result is +that dependencies may not handled correctly. + +If you have problems with the make file system and gmake, +you are out of luck. Gmake has a debug option, but it gives +tons of debug messages. Less than 1% of these debug messages are +useful. Important things are missing in these debug messages. + +Gmake has bug with the VPATH= option. Some of the macros are +not expanded correctly. I had to remove all occurrences of +$@ $* and $^ on some places for this reason. + +On some platforms (e.g. OSF1), gmake is not able to correctly recognize +the default target. If gmake complains about this, call ./Gmake all + +To use GNU make create a file called 'Gmake' in you search path +that contains: + +#!/bin/sh +MAKEPROG=gmake +export MAKEPROG +exec gmake "$@" + +and call 'Gmake' instead of gmake. On Linux and on Cygwin there is +no gmake, 'make' on Linux and on Cygwin is really a gmake. + +'Gmake' and 'Gmake.linux' are part of this distribution. + +Note that makefile versions past 98/10/13 are trying to recognize +gmake by assuming that $(MAKE_COMMAND) is only present if you +are running gmake. So it may be worth to try to just call 'gmake' +or even 'make' if your system uses gmake as the default make program. + diff --git a/READMEs/README.hpux b/READMEs/README.hpux new file mode 100644 index 0000000..0bd2350 --- /dev/null +++ b/READMEs/README.hpux @@ -0,0 +1,139 @@ + I M P O R T A N T + +On HP-UX-11.x the maximal data size (allocated data) of a 32 bit program is +64 MB. + +One solution is to build a 64 bit binary, for those the default process memory +limit is 1 GB. + +64bit binaries can be created with + + cc +DA2.0w + cc +DD64 + +if you have the HP C-ANSI-C compiler. + +To compile in 64 bit mode, first call ./.clean then call + + make COPTX=+DD64 LDOPTX=+DD64 + make COPTX=+DD64 LDOPTX=+DD64 install + + +If you have an older GNU gcc, you need a 64bit compiled gcc. Older GNU gcc versions +are not capable of switching, so you need a separate compiler installation for either: + +l1:/u/usr/merijn 102 > file /usr/local/pa*/bin/gcc +/usr/local/pa20_32/bin/gcc: PA-RISC2.0 shared executable dynamically linked -not stripped +/usr/local/pa20_64/bin/gcc: ELF-64 executable object file - PA-RISC 2.0 (LP64) +l1:/u/usr/merijn 103 > + +With a newer GCC, you may call ./.clean then call: + + make COPTX=-mlp64 LDOPTX=-mlp64 + make COPTX=-mlp64 LDOPTX=-mlp64 install + + +The other way is to alter some kernel parameters which require a reboot. +The default kernel parameter seem to look like: + +Kernel param. Value +maxdsiz 67108864 +maxdsiz_64bit 1073741824 +maxfiles 200 +maxfiles_lim 2048 +maxssiz 8388608 +maxssiz_64bit 8388608 +maxswapchunks 3250 +maxtsiz 67108864 +maxtsiz_64bit 1073741824 + +The important one is maxdsiz, 64 MB is the default and it is rather low. +There is some information page at http://www.uwsg.iu.edu/hp/hpux-tune.html#maxdsiz +and they recommend to increase it to 1.9 GB. Sounds extreme. + +At http://forums.itrc.hp.com/cm/QuestionAnswer/1,,0x08afe7613948d5118fef0090279cd0f9,00.html +they recommend 500 MB. + +maxssiz shouldn't be a problem either since it has to do with swap and such as +storing arrays and recursion etc. + +If you like to know how to create 64 bit binaries on Solaris, please +read README.compile. I hope this helps. If you found the right way for HP-UX, +please send me a mail. + + + +The Schily makefile system usually should be able to find the best C-compiler +on HP-UX automatically. If it does not work, here is a way force to use a different +compiler. + + +You may compile with the HP ANSI C-Compiler using: + + make CCOM=cc + +To compile with the free K&R C-compiler call: + + gmake CCOM=cc 'COPTS= ' +or + smake CCOM=cc 'COPTS= ' +/*--------------------------------------------------------------------------*/ + +HP-UX SCSI hints: + +Note that there are no device nodes for userland SCSI on HP-UX, +you have to call the included shell script MKNOD.hpux first. + +If you own a HP-9000-800 series machine, you need to install +the file MKNOD.hpux-800 in the /etc init shell script directory +in order to call it after each boot. + +This script will create the files in /dev/scsi/... and /dev/rscsi/... +The permissions will be set to read/write for root only. + + +HP does not handle CD-ROMs as well as it should. On the HP have a look at +the man pages for + pfs + pfsd + pfs_mount +and anymore that they refer too. + +/*--------------------------------------------------------------------------*/ + +From: +H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/) + +As of Jun 2002, there are some patches available to HP-UX 11.00 and 11i that +prevent the need for pfs, and these are highly recommended, since Rock-Ridge +extensions are now supported from the kernel level. + +For 11.00: + +a5:/ 103 # swlist | grep -i rock + PHCO_26449 1.0 Add Rock Ridge extension to mount_cdfs(1M) + PHKL_26448 1.0 Y2k; Rock Ridge extension for ISO-9660 + PHKL_26450 1.0 Rock Ridge extension for ISO-9660 +a5:/ 104 # + +PHKL_26448 is not recommended, but I never had any trouble with it. I still +have to install PHKL_28060 over PHKL_26448 + + PHKL_28060 1.0 Y2k; Rock Ridge extension for ISO-9660 + +For 11i: + + PHKL_28025 1.0 Rock Ridge extension for ISO-9660 + PHKL_26269 1.0 Rock Ridge extension for ISO-9660 + PHCO_25841 1.0 Add Rock Ridge extension to mount_cdfs(1M) + +I don't have 11i (yet), so I got this from HP-UX' patch database. + +The problem is that they did /not/ enable RR by default, but made it a mount +option. D'uh! But you can add it in /etc/fstab, and never worry again :) + +a5:/ 104 # grep cd /etc/fstab +/dev/cd0 /cdrom cdfs ro,rr,noauto 0 0 +a5:/ 105 # + + diff --git a/READMEs/README.install b/READMEs/README.install new file mode 100644 index 0000000..5c45e9c --- /dev/null +++ b/READMEs/README.install @@ -0,0 +1,32 @@ +To install makefiles, just take the tar archive makefiles.tar +and untar it on the source root of your new project. + +The tar file contains: + +- the RULES directory with the main make rules +- two different DEFAULT directories with predefined project settings +- a directory containing templates for all purpose +- a skeleton directory structure for the new project +- some README files that will be useful for developers and users + +If you want to see a better example, please have a look at the "star" +source. It may be found on: + +ftp://ftp.berlios.de/pub/star + +Have a look at the manual page, it is included in the distribution. +Install the manual page with + +make install first and include /opt/schily/man in your MANPATH + +Author: + +Joerg Schilling +Seestr. 110 +D-13353 Berlin +Germany + +Email: joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de + schilling@fokus.fhg.de + +Please mail bugs and suggestions to me. diff --git a/READMEs/README.linux b/READMEs/README.linux new file mode 100644 index 0000000..6c7a4c3 --- /dev/null +++ b/READMEs/README.linux @@ -0,0 +1,189 @@ +WARNING: Do not use 'mc' to extract the tar file! +All mc versions before 4.0.14 cannot extract symbolic links correctly. + +Linux is the most self incompatible OS I know. If you have any problem, +first carefully read this file. + +Linux includes the gnu make program by default but it is called 'make' on linux. +You will definitely need the shell script Gmake.linux to use gmake +on a linux system. + +Install it as /usr/bin/Gmake with: + +cp Gmake.linux /usr/bin/Gmake + +Then compile the system by calling: + +/usr/bin/Gmake +or ./Gmake.linux + +NOTE for all Linux 2.5.x versions and all Linux versions before 2.6.8: + + Linux did ship with defective kernel include files starting + with 2.5.x. These defective kernel include files did prevent + compilation. If you have problems compiling software and see + error messages related to include/scsi/scsi.h & include/scsi/sg.h + either upgrade to Linux-2.6.8 or newer or remove /usr/src/linux + +NOTE for all Linux versions using libc.so.6: + + Libc.so.6 is definitely a big problem in binary compatibility. + First you should note that Linux is not a OS but only a kernel. + + Creating a OS from kernel, libraries and applications is done + by various companies that create "Linux distributions". It seems + that these companies (e.g. SuSE and Red Hat) are fighting wars + against each other. + + There is no guarantee that a binary that has been compiled + on one Linux distribution will run correctly on a different + release of the same vendor or on a distribution from a different + vendor. You cannot copy binaries between different Linux + versions, always compile the sources by yourself. + + We should consider that the name libc.so.6 is burned out for + these incompatibility reasons. But stop: Don't be too fast. + The dynamic linker on Linux does not work correctly. It has + been derived from the SunOS 4.x linker (which worked correctly) + but the Linux version does not even warn if it could not + find a library with the right major version number. Until + this is fixed it makes no sense to switch to libc.so.7 + + See below for more information. + + +NOTES for S.u.S.E distributions: If the "make" run aborts with strange messages, +then you need to unset an environment variable called PROMPT_COMMAND +It contains illegal values for a make file system. + + I M P O R T A N T + + please carefully read all notes: + +Newer Linux kernels (from 2.3.51) moved SVSv shared memory into a filesystem. +If you get messages with error code EINVAL related to shared memory, you +most likely installed a newer kernel on an old system that does not mount +the new shared memory filesystem. +For information on this filesystem please read README.linux-shm + +If you have any problems to access a device on the SCSI bus, check your +/dev/sg devices first. Your system should either only have /dev/sga... +or /dev/sg0... The newer Linux kernel use /dev/sg0... so the actual +SCSI transport code checks for /dev/sg0... first. Many Linux installations +have too few /dev/sg* device nodes. This is because of the funny device +mapping. It may be possible that one SCSI device eats up 8 /dev/sg* entries. +I recommend to have at least 20 /dev/sg* device nodes. + +In any case: first read the man page for hints how to specify the device. +If nothing helps, first run e.g. cdrecord -scanbus. If this does not find +your device, the problem is in your kernel or system installation. +If scanning the bus finds the device, you are using the wrong device name. +If nothing help try to call e.g. strace cdrecord + +Linux ATAPI hints: + +Read README.ATAPI to learn how to use ATAPI drives with the SCSI transport +library. + +Linux SCSI hints: + +If you want to use the user SCSI library on a target that is connected +to a SCSI hostadapter which is not the first, you need to apply a patch +to your Linux kernel code. This patch is located in the file + +Linux.scsi-patch + +Please chdir to /usr/src, call +patch < Linux.scsi-patch +and re-compile and re-install your kernel. + +Linux kernels past 2.0.30 will probably already have this patch included. + +I recommend to use Linux 2.0.35 or later or Linux 2.1.115 or later. +These versions of Linux will include ATAPI support in a way needed by cdrecord. +Linux 2.1.115 or newer will in addition support the Parallel Port / ATAPI +adapters found in some CD-R or CD-RW drives. + +IMPORTANT: + +- Linux driver design oddities ****************************************** + Although cdrecord supports to use dev=/dev/sgc, it is not recommended + and it is unsupported. + + The /dev/sg* device mapping in Linux is not stable! Using dev=/dev/sgc + in a shell script may fail after a reboot because the device you want + to talk to has moved to /dev/sgd. For the proper and OS independent + dev=,, syntax read the man page of cdrecord. + +- Linux Kernel bug ****************************************************** + In some architectures (at least on sparc / alpha / ppc) kernels prior + to 2.0.32 are not usable because the call to mlockall() kills cdrecord. + +- You configured you kernel the wrong way ******************************* + If you get a message like: + + cdrecord: Function not implemented. shmget failed + + You need to look for three possible reasons: + + - You are using a Linux Kernel 2.3.51 or newer. + Read README.linux-shm + + - You removed SVSv IPC from your kernel. You need to enable it again. + Run a Linux kernel config and recompile with SYSv IPC. + + - The allowed amount of shared memory in the kernel is + not sufficient. See next main point for a solution: + +- Linux kernel oddities ************************************************* + You may need to edit /usr/src/linux/include/asm*/shmparam.h to allow at least + 4 MB of shared memory for your architecture by modifying SHMMAX + and re-compile/re-install Linux ! + (note that Linux for Intel by default allows 16 MB) + + Do this by e.g. changing the #define for SHMMAX to: + + #define SHMMAX 0x1000000 /* max shared seg size (bytes) */ + + This will allow 16 MB for shared memory. + +- Linux kernel memory management **************************************** + If you get the message: "Cannot allocate memory. Cannot send SCSI cmd via ioctl" + Your kernel/include files are inconsistent. + + This seems to be the case with most actual Linux kernels!!!!!! + + Make sure, that the include file /usr/src/linux/include/scsi/sg.h + reflects the actual kernel. Usually, the files /usr/include/scsi/sg.h + and /usr/src/linux/include/scsi/sg.h should be identical. + + **** Never change the content of /usr/src/linux/include/scsi/sg.h without + properly recompiling the kernel. Cdrecord depends on the fact that + the value of the define SG_BIG_BUFF uses the same value as the actual + kernel. Use cdrecord -scanbus -debug to get the value of SG_BIG_BUFF + with cdrecord has been compiled. An output of: + + scsi_getbuf: 32768 bytes + + indicates that cdrecord has been compiled with 32k SG_BIG_BUF + + The Linux 'sg' driver is the worst driver design, I've ever seen. + +- Linux Binary incompatibility ***************************************** + If any of the options that take a equal sign ('=') in the middle does + not work correctly (e.g. dev= or if=) you are using a binary that + does not work correctly on your current OS distribution. + + If dev=0,0,0 does not work but -dev=0,0,0 works you found this + incompatibility. This problem is caused by an incompatibility + in ctype.h and it seems that there are other compatibility problems + e.g. with reading /etc/default/cdrecord. + + You cannot copy binaries between different Linux versions, + always compile the sources by yourself. + + If a hint from a user is correct then even a RPM binary built for + RH-6.2 did not work on RH-6.2 because of these binary incompatibilities. + + +Joerg diff --git a/READMEs/README.linux-shm b/READMEs/README.linux-shm new file mode 100644 index 0000000..d4ae4a2 --- /dev/null +++ b/READMEs/README.linux-shm @@ -0,0 +1,25 @@ +System V IPC +CONFIG_SYSVIPC + Inter Process Communication is a suite of library functions and + system calls which let processes (running programs) synchronize and + exchange information. It is generally considered to be a good thing, + and some programs won't run unless you say Y here. In particular, if + you want to run the DOS emulator dosemu under Linux (read the + DOSEMU-HOWTO, available from + http://www.linuxdoc.org/docs.html#howto ), you'll need to say Y + here. + + You can find documentation about IPC with "info ipc" and also in + section 6.4 of the Linux Programmer's Guide, available from + http://www.linuxdoc.org/docs.html#guide . + + Shared memory is now implemented using a new (minimal) virtual file + system, which you need to mount before programs can use shared memory. + To do this automatically at system startup just add the following line + to your /etc/fstab: + + none /var/shm shm defaults 0 0 + + Saying Y here enlarges your kernel by about 18 KB. Just say Y. + + diff --git a/READMEs/README.macosX b/READMEs/README.macosX new file mode 100644 index 0000000..c9ed0c6 --- /dev/null +++ b/READMEs/README.macosX @@ -0,0 +1,98 @@ +February 25, 2002 + +MacOS 10.1 driver now in the tree in libscg/scsi-mac-iokit.c. + +It supports: + * Firewire, USB, and ATAPI MMC-3 compliant burners + * SCSI parallel bus attached burners (requires MacOS X.1.3) + +It does not support: + * Older non MMC-3 burners + * CD-ROM drives/DVD-ROM drives (i.e. non-burners) + +Note that this is a limitation of MacOS X and not of the driver. +See the end of the document if you're curious why. + +If you just want to burn ISO images, you may want to consider using Apple's +hdiutil program, but it is not clear how standard compliant this method is. + +Building +-------- + +Note if you installed MacOS X on a HFS+ volume, make install will fail if +there is a file called INSTALL in the directory tree because this Filesystem +is not POSIX compliant. POSIX requires to honor character case but HFS+ +ignores the character case. If you like to use "make install" rename +INSTALL to something else. (e.g. INSTALL.txt) + + +Device Naming +------------- + +You need to pass a device name on the command line to the cdrecord utility + +CD burners: (probably) IOCompactDiscServices +DVD burners: (probably) IODVDServices + +# ./cdrecord dev=IOCompactDiscServices -toc + +or if you have multiple drives, you can append a number to differentiate + +# ./cdrecord dev=IOCompactDiscServices/2 -toc + +That should talk to the second CD-R on the system (NOT TESTED). + +Sharing nicely with the Finder +------------------------------ + +The MacOS 10.1 Finder will offer to burn any blank media you put into +the burner. However, you don't want to use the Finder, you want to +use cdrecord! So, how do you get around this problem? + +When you insert the media, the Finder asks "Do you want to prepare this +disc?". Click on the "Ignore" button. + +The Finder will then say "No volumes found. Click Continue to continue +without ejecting". Click on the "Continue" button. + + +Common Errors +------------- + +No matching device ... found: +Make sure you typed the device names correctly. See above. Use ioreg +-l to find if there is an IOCompactDiscServices or IODVDServices in +the device tree. + +Unable to get exclusive access: +Another programs (usually the Finder) has exclusive access to the drive. +See "Sharing Nicely with the Finder" + +Unable to get plugin interface: +The SCSI Architecture Family of drivers (supports Firewire, ATAPI, and +USB) has a special module that allows user code like libscg to send +SCSI commands to a device. This module is only attached, though, if +the kernel device driver thinks the device is sufficiently interesting +(e.g. the kernel thinks it's a burner). + +You can see if the module is loaded by looking for +SCSITaskUserClientIniter in the output of ioreg -l. + +Why doesn't it support my SCSI device? +-------------------------------------- + +Apple's kernel drivers enforces the rule that application cannot send +SCSI commands to devices for which they feel they have enough kernel +support. This includes hard disks and CD/DVD ROMs. They make an exception +for burners, though. + +There are two possible work-arounds, neither of which has been +implemented. One is to write a kernel driver that wraps the Apple +kernel drivers and exposes a raw SCSI interface, overriding the Apple +kernel drivers. The other is to write a SCSI device emulator at user +mode that translates SCSI commands into the appropriate interface +calls to IOKit. + +Bugs +---- +Send bugs to: csapuntz@stanford.edu diff --git a/READMEs/README.macosX-old-versions b/READMEs/README.macosX-old-versions new file mode 100644 index 0000000..eac3ee6 --- /dev/null +++ b/READMEs/README.macosX-old-versions @@ -0,0 +1,104 @@ +********************************************************************************* +* * +* WARNING * +* * +* This is only valid for OLD MacOS X versions * +* This are versions _before_ MacOS X-10.1 (Darwin-1.4) * +* * +* * +********************************************************************************* + +If uname -a does print something like: + +Darwin HOST 1.4 Darwin Kernel Version 1.4: Sun Sep 9 15:39:59 PDT 2001; root:xnu/xnu-201.obj~1/RELEASE_PPC Power Macintosh powerpc + +or a version > 1.4 then you should rather read README.macosX + +/*--------------------------------------------------------------------------*/ + +Unfortunately, Apple does not deliver a consistent Mac OS-X system +The longer they work on it, the more bugs they introduce... + +In addition, there is no visible 'clean' road of development. +Release names (from 'uname') are confusing and don't help to find out what +release they refer to. + +/*--------------------------------------------------------------------------*/ + The next hint is for Mac OS X versions up to January 2000 only: + +The file tries to include which cannot +be found. + +To be able to compile, I suggest to create a symlink: + +System/Library/Frameworks/System.framework/Versions/B/Headers/kern -> kernserv + +To do this, chdir to: + +System/Library/Frameworks/System.framework/Versions/B/Headers/ + +and call + +ln -s kernserv kern + +as root. +/*--------------------------------------------------------------------------*/ + + +/*--------------------------------------------------------------------------*/ + This hint is for Mac OS X version starting ~ April 2000: + +Apple did remove the generic SCSI transport driver for unknown reasons! +Cdrtools compile, but as there is no SCSI transport, you may only write +CD's connected to other systems using the REMOTE SCSI protocol. +/*--------------------------------------------------------------------------*/ + +/*--------------------------------------------------------------------------*/ + This hint is for Mac OS X versions starting around March 2001: + +If your compile log looks like this: + + ==> MAKING "all" ON SUBCOMPONENT ".../libschily.mk" + ==> COMPILING "OBJ/powerpc-darwin-cc/cmpbytes.o" +cmpbytes.c: In function `cmpbytes': +cmpbytes.c:49: invalid operands to binary | +make[1]: *** [OBJ/powerpc-darwin-cc/cmpbytes.o] Error 1 +make: *** [all] Error 2 + +You are hit by the Apple developers. Some time ago they started to introduce +a file which uses types defines in +While the buggy types are ignored in they are used if found +in . + +As a workaround, you may edit + + incs/power-macintosh-darwin-cc/xconfig.h + +after it has been created by autoconf and make the lint containing +HAME_INTTYPES_H this way: + +/* #undef HAVE_INTTYPES_H */ /* to use UNIX-98 inttypes.h */ + +This will tell the autoconf using code to ignore the system supplied + and use the internal version. + +IMPORTANT: Don't forget to tell the Apple support that MacOSX sucks until they +fix such fundamental bugs in the system include files! + +In case you are interested in the full details: the reason why cdrecord +does not compile is that MacOS X defines a type + +typedef int * intptr_t; +typedef unsigned int * uintptr_t; + +instead of the correct: + +typedef long intptr_t; +typedef unsigned long intptr_t; + +... a result of either Apple developers being unwilling to read or unable to +understand simple standards written in English :-( + +See: http://www.opengroup.org/onlinepubs/7908799/xsh/inttypes.h.html + +/*--------------------------------------------------------------------------*/ diff --git a/READMEs/README.mingw32 b/READMEs/README.mingw32 new file mode 100644 index 0000000..61dfd25 --- /dev/null +++ b/READMEs/README.mingw32 @@ -0,0 +1,13 @@ + +How to compile: + +- Download (http://www.mingw.org) and install the following Mingw32 packages: + + MinGW-3.1.0-1.exe + MSYS-1.0.10.exe + +- Set PATH environment variable using command: + + set path=c:\msys\1.0\bin;c:\mingw\bin;%path% + +- enter 'make' command in top level directory of the unpacked project diff --git a/READMEs/README.mkisofs b/READMEs/README.mkisofs new file mode 100644 index 0000000..221c030 --- /dev/null +++ b/READMEs/README.mkisofs @@ -0,0 +1,16 @@ +Cdrtools carries is the official version of mkisofs. + +To compile mkisofs correctly on all supported platforms (> 30) you +need to use the Schily makefilesystem to get the systematic portability +support. + +Read the file README.multi to learn how to create multi-session +CD-R's with this release of cdrecord and mkisofs. + +Read the file README.cdplus to learn how to create CD-plus/CD-extra +CD-R's with this release of cdrecord and mkisofs. + +You definitely need this release of mkisofs to +create multi-session CD-R's on SunOS/Solaris/SGI-IRIX OS/2 and Win32. + +Jörg Schilling diff --git a/READMEs/README.msdos b/READMEs/README.msdos new file mode 100644 index 0000000..3f205a0 --- /dev/null +++ b/READMEs/README.msdos @@ -0,0 +1,89 @@ +# @(#)README.msdos 1.2 04/06/07 J. Schilling + +You cannot compile this program on DOS directly, you need a win32 environment. +See below for more information. You need DJGPP for a compilation. + +The DOS/DJGPP have been made with help from + Alex Kopylov + +You may like to check his Web Page: http://bootcd.narod.ru/index_e.htm too. + +Compilation under DJGPP is fully integrated into the Schily Makefile System, +however you need to use 'smake' (version 1.2a20 or newer). It seems that +GNU make and other make programs don't work. + +As the file names of a typical UNIX project don't fit into the DOS 8.3 naming +scheme, you must have long names support, i.e. you must use a Windows DOS-box +instead pure DOS + +To compile under DJGPP: + +- Unpack the following DJGPP packages into c:\djgpp directory: + + ftp://ftp.delorie.com/pub/djgpp/current/v2/beta/djdev204.zip + ftp://ftp.delorie.com/pub/djgpp/alpha/v2gnu/bsh205bb.zip + ftp://ftp.delorie.com/pub/djgpp/alpha/v2gnu/gcc340b.zip + ftp://ftp.delorie.com/pub/djgpp/alpha/v2gnu/gpp340b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/bnu214b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/dif28b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/fil41b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/grep251b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gwk311b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gzip135b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/mak380b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/pat253b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/sed407b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/shl2011b.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/tar112ab.zip + ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/txt20b.zip + +Note that these are the best files on 21.05.2004, things may change in future. + +- Set environment variables using commands: + + set path=c:\djgpp\bin;%path% + set djgpp=c:\djgpp\djgpp.env + + If you are using an smake version before 1.2a23, you also need: + + set djgpp_sh=c:\djgpp\bin\sh.exe + + +- Unpack the source archive using command: + + tar -xpz < package-name.tar.gz + + If you like to use star, you need star-1.5a36 or newer. + Use a command line like: + + star -xpz < package-name.tar.gz + +- Enter 'smake' command in top level directory of the unpacked project + (to make 'smake' itself, use a command 'dos_make' instead). + + Note that in case you don't have a 'smake' binary for DOS, you need to + compile one before or fetch a binary from: + + http://bootcd.narod.ru/index_e.htm + +In order to run commands on MS-DOS that use SCSI commands, you must have an +ASPI manager installed in your config.sys. For example: + + SCSI devices: + + device = aspi2dos.sys (not tested!) + device = aspi4dos.sys (not tested!) + device = aspi8dos.sys + device = aspi8u2.sys (not tested!) + + ATAPI devices: + + device = oakaspi.sys + + USB devices: + + device = usbaspi.sys (not tested!) + +The ASPI managers may be fetched from: + + http://bootcd.narod.ru/index_e.htm diff --git a/READMEs/README.multi b/READMEs/README.multi new file mode 100644 index 0000000..fa44c7f --- /dev/null +++ b/READMEs/README.multi @@ -0,0 +1,190 @@ +Creating multi-session CD's Mini Howto FAQ + +Multi-session filesystems are a trick that comes from the Kodak photo CD. +The OS mounts the last session that contains the sum of the current session +and all previous sessions. + +To test (with Linux): + +Create a iso-9660 filesystem image with mkisofs-1.10 or later. +mkisofs is included in the cdrecord release (including +SunOS/Solaris multi-session support) +Use the -R flag to add Rock Ridge extensions (this is important). + +Assuming that the CD-R drive is connected to target 2 on the SCSI bus. + +Write the first session with: + +cdrecord -v speed=2 dev=2,0 -eject -multi isoimage.raw + +Note that all Sony drives do no support XA2 disks in firmware - read README.sony +for more information. + +This must be a iso9660 image with Rock Ridge extensions (see above) + +Note the number of sectors written and check the disk, it should be mountable. + +Next step is to check if cdrecord is able to retrieve the following data: + + 1) The first block (sector) number in the first track of the last session + This must be '0' in our case. + + 2) The next writable address in the unwritten session following the current. + This should be the number of sectors written in the first + run + ~ 11400 sectors for about 22MB lead out/in + + For the first additional session this is 11250 sectors lead-out/lead-in + overhead + 150 sectors for the pre-gap of the first track after the + lead-in = 11400 sectors. + + For all further session this is 6750 sectors lead-out/lead-in + overhead + 150 sectors for the pre-gap of the first track after the + lead-in = 6900 sectors. + +To get this information type: + +cdrecord -msinfo dev=2,0 + +The output should be two numbers separated by a comma. + + e.g.: 0,204562 + +The first number is (1), the second number is (2). + +Create the image for the next session with mkisofs-1.12 or later. +It is included in the cdrecord distribution. + +2nd session: +You should create a directory that contains a second directory with data in it +for this purpose. + + e.g.: + first_dir/ + second_dir/ + file_1 + file_2 + ... + +call: + +On Linux: +mkisofs -o isoimage_2.raw -R -C xx,yy -M /dev/cdwriter_blk_dev first_dir + +On SunOS: +mkisofs -o isoimage_2.raw -R -C xx,yy -M target,lun first_dir + +Note that the name "first_dir" is not important. + +If you still keep the old raw image of the first session and there is only +one previous session on the CD you may also call: + +mkisofs -o isoimage_2.raw -R -C xx,yy -M isoimage.raw first_dir + + +The argument of -C is the output of cdrecord -msinfo +- On Linux, the argument of -M is a device that would allow you to mount + the current CD in the CD-writer +- On SunOS, target and lun refer to the SCSI target and lun of the + CD-R device with the same notation as for cdrecord dev=xxx,yyy . + + +If you want to check, whether mkisofs make everything right, you should create +another image by using the following command line. + +On Linux: +mkisofs -o isoimage_2.raw -R -C xx,0 -M /dev/cdwriter_blk_dev first_dir + +On SunOS: +mkisofs -o isoimage_2.raw -R -C xx,0 -M target,lun first_dir + +Where xx is the first number of the pair returned by cdrecord -msinfo + +You may check ***this** image by mounting it with my "fbk" on Solaris +or the loopback driver on Linux. + +On Linux type: + mount isoimage_2.raw -r -t iso9660 -o loop /mnt + +On SunOS type: + mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage_3.raw /mnt + +For Solaris 8 and later you may also use the Sun lofi driver (see README.sun-lofi) + +If you list /mnt, you should see all directories that have been in the first +session and the directory "second_dir". If you try to read a file from the +first session, you will get an I/O error or bad data (depending on the +block address), don't worry about that. If you try to read a file from +the second session, you will see everything correctly. + +To write the second session to CD, call: + +cdrecord -v speed=2 dev=2,0 -eject -multi isoimage_2.raw + +If you mount this CD, you should see the first session and the second directory +from 2nd session added to the root directory of the CD. + + +Additional check: + +call: + +cdrecord -msinfo dev=2,0 + +The first number should be the first writable address which was retrieved by the +first call to cdrecord -msinfo after creating the first session. +The second number should be the first number + number of sectors of the second session ++ ~ 11400 sectors. + +Note: The first lead-out is 1:30 (6750 sectors) the lead-in is 1:00 (4500 sectors) +All following sessions need only 0:30 for lead-out (2250 sectors), the lead-in +is also 1:00. So in theory, the can be 44 sessions on s 74 minute disk if you +take into account that the minimum track size is 4 seconds. + +The total amount of the overhead is 11250 + 150 sectors for the first additional +session and 6750 + 150 sectors for all subsequent sessions. +The 150 additional sectors are the pre-gap sectors for the first track after +the current session. + +Some notes on multi-session CD's that contain only Joliet but no Rock Ridge: + +Joliet is a really bad idea in general: + +- There is no way to find a relation between a ISO-9660 name and a Joliet + name. If the file has a size, you may try to match the starting sector # + but if the size in 0 it's impossible. + + +- Joliet does not allow long filenames (it limits names to 64 chars). + +- Joliet does not allow all (usually used) characters in filenames. + + All code points between (00)(00) and (00)(1F), inclusive. (Control Characters) + (00)(2A) '*'(Asterisk) + (00)(2F) '/' (Forward Slash) + (00)(3A) ':' (Colon) + (00)(3B) ';' (Semicolon) + (00)(3F) '?' (Question Mark) + (00)(5C) '\' (Backslash) + + While '/' is not a real problem ;-) other characters may cause trouble. + +All notes above prevent you from doing reliable multi-session if the CD does +only contain Joliet but des not contain Rock Ridge attributes. + +In addition, please read README.joliet in the mkisofs directory. + +This is the answer to a commonly asked question is why can't I continue a +multisession CD that has been started on a Microsoft system using mkisofs. + + +Note: It is not possible to create a multi-session HFS CD. If you create +a multi-session CD using any of the HFS options, then each new HFS +session will ignore HFS files from any previous sessions. A warning will +be printed if you attempt this. However, if you use the '-part' option to +mkisofs for each session you create, then each session will appear as +separate volumes when mounted on a Mac. In this case, it is worth using the +'-V' or '-hfs-volid' option to give each session a unique volume name, +otherwise each "volume" will appear on the Desktop with the same name. + + +Joerg Schilling diff --git a/READMEs/README.next b/READMEs/README.next new file mode 100644 index 0000000..3ba5556 --- /dev/null +++ b/READMEs/README.next @@ -0,0 +1 @@ +For CD-Recording please read the README.volmgt too. diff --git a/READMEs/README.openserver b/READMEs/README.openserver new file mode 100644 index 0000000..39ce5d6 --- /dev/null +++ b/READMEs/README.openserver @@ -0,0 +1,84 @@ +CDRTOOLS compiles without changes on any SCO OpenServer 5.0.4 +or later installation having the SCO DevSys or GCC-2.95 and +smake-1.2a04 or later installed. + +You can get pre-packaged, custom installable binaries from: + + http://www.sco.com/skunkware/cdrtools + +Some general notes on CDRTOOLS are available from: + + http://www.sco.com/skunkware/cdrtools/SCO-NOTES.html + + +Limitations for CDRTOOLS-1.8 on SCO OpenServer 5: + +1) SCO OpenServer 5.0.0 and 5.0.2 are unsupported! + +2) There is only support for SCSI devices + +3) There no support for AHA 154X scsi controllers + +=================================================================== +NOTE: cdrecord now supports the -scanbus option. Therefore the + old addressing methods are NO LONGER AVAILABLE !!! +=================================================================== + +As there is no real generic SCSI driver, cdrecord uses the pass through +ioctl of the cdrom target driver (Srom). + +The correct dev= syntax on SCO Openserver 5 is: + + dev=scsibus,target,lun (and scsibus is scsibus now!!!) + +A sample output from cdrecord -scanbus looks like: + +#cdrecord -scanbus +Cdrecord 1.8 (i686-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 Jörg Schilling +Using libscg version 'schily-0.1' +scsibus0: + 0,0,0 0) 'SEAGATE ' 'ST34573LC ' '5960' Disk + 0,1,0 1) 'SEAGATE ' 'ST34573LC ' '5960' Disk + 0,2,0 2) 'SEAGATE ' 'ST34573LC ' '5960' Disk + 0,3,0 3) * + 0,4,0 4) * + 0,5,0 5) 'PIONEER ' 'CD-ROM DR-U06S ' '1.05' Removable CD-ROM + 0,6,0 6) 'TEAC ' 'CD-R56S ' '1.0E' Removable CD-ROM + 0,7,0 7) * + +The first column showing the triple x,y,z tells you the address to use. + +As you can see the TEAC CD-R56S CD-Writer does have the following address: + + dev=0,6,0 + +=================================================================== + THE OLD ADDRESSING IS NO LONGER AVAILABLE! + + PLEASE ADJUST YOUR /etc/default/cdrecord FILES! +=================================================================== + +Running cdrecord with the old address method will result in an error! + +#cdrecord dev=/dev/rcd1:6,0 -inq +Cdrecord 1.8 (i386-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 Jörg Schilling +scsidev: '/dev/rcd1:6,0' +devname: '/dev/rcd1' +scsibus: 0 target: 6 lun: 0 +cdrecord: Invalid argument. Open by 'devname' no longer supported on this OS. Cannot open SCSI driver. +cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root. + + +MAKE SURE YOU HAVE MEDIA IN YOUR CD-ROM DEVICES, SO THAT CDRECORD CAN +OPEN THE DEVICE FOR PASS-THROUGH ACCESS! + + +To compile cdrtools, you need 'smake' version 1.2a04 or later from: + + ftp://ftp.sco.com/skunkware/osr5/vols + + +Please make sure you use smake-1.2a04 or later, cause smake-1.2 versions +before a04 will coredump on the compilation of cdrtools on OpenServer. + + diff --git a/READMEs/README.os2 b/READMEs/README.os2 new file mode 100644 index 0000000..74944fb --- /dev/null +++ b/READMEs/README.os2 @@ -0,0 +1,25 @@ +Compiling on OS/2: + +1) Install EMX + +2) You need /bin/sh, /bin/rm, /bin/mv + + Create a directory /bin and put /bin/sh into this directory + mkdir /bin + cp -p d:/emx/bin/sh.exe /bin + cp -p d:/emx/bin/rm.exe /bin + cp -p d:/emx/bin/mv.exe /bin + + + + +/*--------------------------------------------------------------------------*/ +Note that the Joliet implementation on OS/2 is buggy: + +It expects the file in the directories in the wrong order. +While Microsoft wants the files to be in ASCII (binary) order, +OS/2 likes to have the files in lexical order (uppercase and +lowercase together). This makes CD's with Joliet attributes +unreadable on OS/2 if there are files that start the same way +but differ in case. +/*--------------------------------------------------------------------------*/ diff --git a/READMEs/README.parallel b/READMEs/README.parallel new file mode 100644 index 0000000..b792439 --- /dev/null +++ b/READMEs/README.parallel @@ -0,0 +1,55 @@ +This file is intended to help with ATAPI <-> Parallel Port devices on Linux + +Before you start, read + + http://www.torque.net/parport/paride.html + +Make sure that your parallel port device is set up to EPP mode +from within the BIOS. In many cases it is best to set the PP delay to 0. + +Here is a short explanation how to make the FreeCom Traveller work +in 4x speed on a notebook: + +1.) Set BIOS for parallel port to 'EPP'. + +2.) Load drivers in default mode: + + # modprobe paride + # modprobe + # modprobe pg + +in case of a FreeCom Traveller this is: + + # modprobe paride + # modprobe friq + # modprobe pg + +3.) Check kernel log for paride messages: + + # dmesg + ... + paride: version 1.04 installed + paride: friq registered as protocol 0 + ... + parport0: PC-style at 0x378 [SPP,PS2,EPP] + parport0: no IEEE-1284 device present. + ... + pg: pg version 1.02, major 97 + pg0: Sharing parport0 at 0x378 + pg0: friq 1.01, Freecom IQ ASIC-2 adapter at 0x378, mode 4 (EPP-32), delay 1 + pg0: CD-R/RW RW8040A, master + ... + +4.) load module again but use different parameters: + 'drive0=IO-Port,Protocol,Unit,Mode,Master/Slave,Delay drive1=...' + if you have only one drive at the parallel port + 'drive0=IO-Port,0,0,-1,-1,Delay' e.g. for Delay = 0: + + # modprobe -r pg + # modprobe pg drive0=0x378,0,0,-1,-1,0 + +5.) Check for optimum delay using for maximum speed using cdrecord -dummy + +6.) Use the file rc.pp and modify for your needs + +7.) Your CD drive now appears as /dev/pcd? diff --git a/READMEs/README.ppc b/READMEs/README.ppc new file mode 100644 index 0000000..f1b4cae --- /dev/null +++ b/READMEs/README.ppc @@ -0,0 +1,62 @@ +If your system uses the SVr4 ABI (designed by Motorola), you will only +be able to compile my library files lib/format.c and lib/getargs.c if your +C-compiler supports the macro va_copy() or __va_copy() from stdarg.h. + +Mach/Next STep/Apple Rhapsody on ppc use a 'void *' for the type va_list +so you don't need to make changes on these systems. + +Solaris/ppc (made in 1992) is the first UNIX implementation for the PPC. +It includes the va_copy() macro that allows you to assign a C object of the +type va_list in a system independent way. + +Linux/ppc uses exactly the same construct as Solaris for the type va_list. +You will only be able to compile lib/format.c and lib/getargs.c if your +C-compiler includes the macro va_copy() or __va_copy(). If this is not the +case, you will need to upgrade your C-compiler first. GCC 2.8.0 and later +includes this macro. + +Here is what Solaris /usr/include/sys/varargs.h looks like: + +/* + * va_copy is a Solaris extension to provide a portable way to perform + * a variable argument list ``bookmarking'' function. + */ +#if defined(__ppc) +#define va_copy(to, from) ((to)[0] = (from)[0]) +#else +#define va_copy(to, from) ((to) = (from)) +#endif + +To be able to compile my lib/format.c and lib/getargs.c on a OS +implementation that uses an array for va_list, you will need +this va_copy() enhancement too. + +The files mentioned above already compile on a PPC Apple Rhapsody system. +But as mentioned before, Rhapsody uses a void * for va_list (maybe because +Apple includes badly designed international printf code from BSD 4.4 +that requires va_list to be void * to work). + +Notice: lib/format.c allows a %r format that needs additional features + in stdarg.h. You need to know whether va_list is an array. + I hope that GCC will include some definitions in future versions + that allow to propagate va_list type objects from var args + in function calls. + +GCC +=== + +If you are not using GCC 2.8.0, you can add the following definition +to va-ppc.h : + +/usr/lib/gcc-lib/*-linux-gnulibc1/2.*/include/va-ppc.h + +#define va_copy(to, from) ((to)[0] = (from)[0]) + +and to all other va-*.h files: + +#define va_copy(to, from) ((to) = (from)) + +Important: Check before if you don't have a GCC that is already patched. + +Joerg + diff --git a/READMEs/README.raw b/READMEs/README.raw new file mode 100644 index 0000000..10fe444 --- /dev/null +++ b/READMEs/README.raw @@ -0,0 +1,69 @@ +Tips 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) + + NOTE that the MMC standard does not allow -dummy in RAW mode. + There may be drives which allow it but don't bother if it does not work. + + Indices are fully supported in RAW mode. + + MCN & ISRC are not yet supported in RAW mode, they are silently discarded. + + 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 compliant enough for cdrecord. + +EXAMPLES: + + cdrecord dev=1,0 -v -raw96r *.wav + + will write a audio CD in raw mode using (computed) 2448 byte sectors + with raw P-W subchannels. This works e.g. with Plextor drives. + + + cdrecord dev=1,0 -v -raw16 *.wav + + will write a audio CD in raw mode using (computed) 2368 byte sectors + with raw P+Q subchannels. This works e.g. with Philips drives. + + + NOTE: The input sector size always is 2352 bytes for audio. + +IMPORTANT: + + - if the drive supports RAW/R96R among with other raw write modes, + use -raw96r + + - if the drive does _only_ supports RAW/R16, use -raw16 + + - ... else if the drive supports RAW/R96P, use -raw96p + + The packed raw mode (RAW/R96P) is buggy in Plextor drives and + the RAW/R16 mode is buggy in TEAC drives. Plextor creates + unreadable disks and TEAC hangs the drive. + + For this reason, it is important to select the raw writing + mode accoding to the notes above. + diff --git a/READMEs/README.rscsi b/READMEs/README.rscsi new file mode 100644 index 0000000..bdaea1c --- /dev/null +++ b/READMEs/README.rscsi @@ -0,0 +1,126 @@ +The Remote-SCSI protocol gives you SCSI-Anywhere features. + +There are three possible ways to control access to the remote users: + + - Let the remote scsi lib log in as a standard user. + In this case rscsi will be called via sh -c /opt/schily/sbin/rscsi + NOTE: In this case, rscsi must be installed suid root. + --- This would need to allow any valid local user to access SCSI ---- + It could be a security problem. + + - Log in as root and call rscsi via sh -c /opt/schily/sbin/rscsi + NOTE that this will fore you to allow remote logins as root + which is considered to be a security hole. + + - Create one or more special user(s) that have /opt/schily/sbin/rscsi + as login shell with their own home directory. + You then may create special .rhosts files for each user. + NOTE: In this case, rscsi must be installed suid root. + **** This is the preferred method **** + +To enable remote SCSI via the login shell method you should do the following: + + - Add an entry to /etc/passwd in the form: + + rscsi:x:1999:1000:Tape:/export/home/rscsi:/opt/schily/sbin/rscsi + + (modify this according to your OS). And don't forget to + modify /etc/shadow the way it needs to be on your OS. + + - Create a home directory for this user and add a .rhosts file + to allow access to all users you like. + + - Install rscsi suid root into /opt/schily/sbin + + - Install a file /etc/default/rscsi and define access rights. + Without this file, rscsi will not work at all. + + The template for this file is: rscsi/rscsi.dfl + +RSCSI Security: + +- When rscsi starts, it checks if /etc/default/rscsi exists. + If not, it dies. + +- If rscsi is not called by a user listed in /etc/default/rscsi + it dies. + +- To access a SCSI target there must be an entry that lists the user + rcsi hast been started from, the hostname and the SCSI target. + + rscsi compares the hostname field in /etc/default/rscsi + to the peername retrived from STDIN: + + - legal host name IP connection + - "ILLEGAL_SOCKET" Not an IP socket + - "NOT_IP" Not a socket + +RSCSI Security hints: + +- Do not generally allow other users to see your boot disk via RSCSI. + All people who see this disk may edit your passwd file. + +- If you are in doubt, only export CD-ROM drives, scanners and similar + devices that are not directly security sensitive. + +If anybody sees a security hole in my security precautions, please send me a mail! + +RSCSI usage: + +- To use remote SCSI devices you need to know how to access a specific remote + SCSI target. + + - dev=REMOTE:host: or dev=REMOTE:host + will allow you to do SCSI bus scanning while you log in as yourself + + - dev=REMOTE:user@host: or dev=REMOTE:user@host + will allow you to do SCSI bus scanning while you log in as "user" + + If you use the setup described above, you should use: + + dev=REMOTE:rscsi@babbel: + + to do SCSI Bus scanning on host babbel + + - To access a specific SCSI device, you must specify + dev=REMOTE:host: or dev=REMOTE:user@host: + is the SCSI target specification as it is needed + on the remote host + + dev=REMOTE:rscsi@babbel:1,3,0 + + Will let you log in as rscsi on host babbel and open Target 3 lun 0 + on SCSI bus #1 + + - If you use cdrecord -vv ...., cdrecord will on startup print some + information about the remote libscg version used for the connection. + +- To be able to use the remote SCSI client code from win32 you need to create + a file /etc/passwd with a correct entry for the user you are on win32. + Call 'id' to get the right user id. + Note that remote SCSI has not yet been tested on Win32. + +RSCSI speed: + +- On a Ultra-10 running Solaris 8, the command overhead time is 400 usec. + You may achieve up to 9900 kB/s via a 100MB/s ethernet connection + between two of such machines. + +- With 100 MB/s, 12x recording should be no problem. + +- With 10 MB/s, 4x recording is the maximum. Do tests before! + +- Logging into a remote machine and running cdrecord on the remote machine + causes the buffer cache on that machine to be trashed. The main user + is disturbed. + +- Doing cdrecording via Remote SCSI causes only the rscsi command with less + than 200kB to be needed on the remote machine hosting the CD recorder. + The main user on that machine is not disturbed. + The buffer cache of the machine running cdrecord is trashed. + +- It is desirable to use a Burn-Proof recorder to make sure that network + load will not cause buffer underruns. + + +- USER= test and test for hostname are using a pattern matcher. diff --git a/READMEs/README.sgi b/READMEs/README.sgi new file mode 100644 index 0000000..d1b5a82 --- /dev/null +++ b/READMEs/README.sgi @@ -0,0 +1,30 @@ +On IRIX there is a program from SGI which is called 'smake' too. +Be sure to call the Schily smake when compiling. The IRIX smake +is too dumb. + +SGI apearantly has a bug in its mlock*() implementation. + +This shows up as a total system freeze for approx. 60 sec at the startup of cdrecord +if cdrecord uses the FIFO. + +It can be fixed by: + +- IRIX 6.2: applying patches (see freeware.sgi.com/Installable/cdrecord-1.8.html) + +- IRIX 6.5: Using 6.5.7m or above. + +/*--------------------------------------------------------------------------*/ +Note: IRIX 6.2 requires the latest rollup patches for mlockall and for + POSIX 1003.1b scheduling (patches 3771 and 3704 or their successors). +/*--------------------------------------------------------------------------*/ + +I am using my SCSI library, you don't need to link the program with -lds + +This cdrecord distribution contains a mkisofs that runs on SGI +and allows you th read a filesystem from a CD-R device with 2048 bytes +sector size. This is done with the SCSI user level library. + + +*** Important: IRIX has problems with drives that do disconnects on the SCSI +after an odd number of transferred bytes. It seems that there is a patch for this +problem. Search google for "wd93" to find pointers. diff --git a/READMEs/README.solaris b/READMEs/README.solaris new file mode 100644 index 0000000..a071e93 --- /dev/null +++ b/READMEs/README.solaris @@ -0,0 +1,82 @@ +Never compile anything in a locale other than "C" unless you are sure +that your C-compiler and the program 'nm' has been patched. +This is not needed with Solaris 2.6 or later and with the Workshop 5.0 +compiler or later. + +Even if you are a recent Solaris version, use locale "C" in case of problems. + +To ensure that locale "C"' is set, do + +setenv LC_ALL C + +in csh +or + +LC_ALL=C +export LC_ALL +in sh + +before running make. Or simply call + +env LC_ALL=C make + +The reason: + +1) On Solaris before 2.5.1 'nm' dumps core in any other locale. + For that reason lorder will not work. + *** no patch available **** but fixed on Solaris 2.5.1 + according to Sun + +2) The SunPro C-compiler will not convert floating + point numbers correctly if e.g. in "de" locale (Germany) + 1.3 will be interpreted as 1.0!!!! + *** patch available *** + +3) /usr/xpg4/bin/tr does not work correctly if locale is not "C" + Try: + echo ABC | env LC_ALL=de /usr/xpg4/bin/tr 'A-Z' 'a-z' + + it prints: + + BCD + + + +If you want to do compilations on Solaris, it is best not have /usr/ucb +in your PATH. If you want to have /usr/ucb in the PATH it must be the last +entry. You also should put /usr/ccs/bin/ before /usr/xpg4/bin/ in the PATH +to make sure that /usr/ccs/bin/make is used and not /usr/xpg4/bin/make. + +To be able to use 'make' 'as' and 'ld' you need to make sure that +/usr/ccs/bin is in your path. + +Avoid /usr/ucb and /usr/xpg4/bin in your PATH if you have problems. + +Make sure - even if you use GCC - you don't use GNU as, GNU ld +and GNU tsort/lorder. + +For CD-Recording please read the README.volmgt too. + +On Solaris you need to stop the volume management if you like to use the USCSI +fallback SCSI transport code. Even things like cdrecord -scanbus +will not work if the volume management is running. + +If you run Solaris 7 FCS, install patch 107465-02 to fix a read ahead bug in the +hsfs code. + +If you have problems with 12 byte SCSI commands on Solaris (mainly x86) get +Patch 108779-01 + +If you have problems with ISO-9660 partitions > 4 GB where Solaris wraps to +offset mod 4 GB when reading from the FS install patch 113277-04. + + + IMPORTANT information for Solaris x86 + +If have no DMA, you will get problems with buffer underruns and may never use +the maximum write speed of current CD/DVD drives. + +For more information, read README.solaris-x86-ata-DMA and README.solaris-x86-ATAPI-DMA +and take care that the locations for patching may change in future versions. + + diff --git a/READMEs/README.solaris-x86-ATAPI-DMA b/READMEs/README.solaris-x86-ATAPI-DMA new file mode 100644 index 0000000..11d6537 --- /dev/null +++ b/READMEs/README.solaris-x86-ATAPI-DMA @@ -0,0 +1,79 @@ +A tip from From: Juergen Keil + +Solaris 9 x86 will not allow DMA for ATAPI CD/DVD-ROM drives even if +the eeprom command shows: + + atapi-dma-enabled=1 + +Here is a patch to the file /platform/i86pc/kernel/drv/ata +that allows you to use DMA again. Note that you need to be extremely careful +when applying the patch because it may completely break your installation +if you don't do it right. + +% adb /platform/i86pc/kernel/drv/ata +ata_init_drive_pcidma,10?ia +ata_init_drive_pcidma: pushl %ebp +ata_init_drive_pcidma+1: movl %esp,%ebp +ata_init_drive_pcidma+3: subl $4,%esp +ata_init_drive_pcidma+6: movl +8(%ebp),%eax +ata_init_drive_pcidma+9: cmpb $1,+0x1ad(%eax) +ata_init_drive_pcidma+0x10: jne +0x111 +ata_init_drive_pcidma+0x16: movl +0xc(%ebp),%eax +ata_init_drive_pcidma+0x19: movl +0x204(%eax),%eax +ata_init_drive_pcidma+0x1f: andl $1,%eax +ata_init_drive_pcidma+0x22: je +0x1a +ata_init_drive_pcidma+0x24: movl +0xc(%ebp),%eax +ata_init_drive_pcidma+0x27: movzwl +4(%eax),%eax +ata_init_drive_pcidma+0x2b: sarl $8,%eax +ata_init_drive_pcidma+0x2e: andl $0x1f,%eax +ata_init_drive_pcidma+0x31: cmpl $5,%eax +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the check for a type 5 ATAPI device +ata_init_drive_pcidma+0x34: jne +8 +ata_init_drive_pcidma+0x36: + +Here's a patch that replaces the "cmpl $5" with a "cmpl $55", so +that all ATAPI devices will perform DMA transfers: + +# cd /platform/i86pc/kernel/drv +# cp ata ata-orig +# echo 'ata_init_drive_pcidma+0x31?W 7555f883' | adb -w ata + +Note that the exact position of the instruction that needs to be patched +may vary depending on the version of Solaris you use. Be extremely careful +when applying the patch. + + IMPORTANT NOTE FOR AMD64 Systems + +cd /platform/i86pc/kernel/drv/amd64 +cp ata ata.orig +adb -w ata +ata_init_drive_pcidma,17?ia +0x50f0: pushq %rbp +0x50f1: xorl %edx,%edx +0x50f3: movq %rsp,%rbp +0x50f6: subq $0x20,%rsp +0x50fa: movq %rbx,-0x18(%rbp) +0x50fe: movq %r12,-0x10(%rbp) +0x5102: movq %rdi,%rbx +0x5105: movq %r13,-0x8(%rbp) +0x5109: movq $0x0,0x0(%rip) +0x5114: movq %rsi,%r12 +0x5117: cmpb $0x1,0x321(%rdi) +0x511e: je +0x12 <0x5130> +0x5120: movq -0x18(%rbp),%rbx +0x5124: movq -0x10(%rbp),%r12 +0x5128: movl %edx,%eax +0x512a: movq -0x8(%rbp),%r13 +0x512e: leave +0x512f: ret +0x5130: testb $0x1,0x208(%rsi) +0x5137: je +0xe <0x5145> +0x5139: movzbl 0x9(%rsi),%eax +0x513d: andl $0x1f,%eax +0x5140: cmpl $0x5,%eax +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the check for a type 5 ATAPI device + +0x5140?W7455f883 <<< This changes the code +0x5140: 0x7405f883 = 0x7455f883 +?i +0x5140: cmpl $0x55,%eax diff --git a/READMEs/README.solaris-x86-ata-DMA b/READMEs/README.solaris-x86-ata-DMA new file mode 100644 index 0000000..9ebbb9e --- /dev/null +++ b/READMEs/README.solaris-x86-ata-DMA @@ -0,0 +1,92 @@ +If you have a IBM IDE hard disk on Solaris x86 and did enable DMA for ata, +then your system may hang after a reboot due to a firmware bug in the IBM +drive. On Solaris 9 you may edit the config file /platform/i86pc/kernel/drv/ata.conf +see also man ata. + +On earlier versions, you need to patch the ata driver (see below): + +Juergen Keil + +Bruce posted a patch for this problem some time ago: + +http://groups.google.com/groups?q=solaris+DMA+IBM+timeout&hl=en&lr=&safe=off&site=groups + +http://groups.google.com/groups?hl=en&safe=off&th=28213cb0f9e4067b,8&seekm=wywvaq7dvy.fsf%40tools.de#p + +/*--------------------------------------------------------------------------*/ + +> >> "Bruce Adler" writes: +> >> ... +> >> > Here's a patch that will change the Solaris 8 FCS ata driver's 0xCC +> >> > command into a 0x66: +> >> > +> >> > cd /platform/i86pc/kernel/drv +> >> > cp ata ata.SAVE +> >> > adb -w ata< >> > ata_devo_reset+0x54?w 0xaa68 ;; was 0xcc68 +> >> > EOF +> >> +> >> Small typo, that should be +> >> +> >> ata_devo_reset+0x54?w 0x6668 +> >> +> >> > This should change the "pushl 0xcc" into a "pushl 0xaa" just before +> >> > the call to ata_set_feature(). +> >> +> >> Indeed, changing the "pushl 0xcc" into a "pushl 0x66" fixes the reboot +> >> problem! +/*--------------------------------------------------------------------------*/ +ata_devo_reset,50?ai +ata_devo_reset: +ata_devo_reset: pushl %ebp +ata_devo_reset+1: movl %esp,%ebp +ata_devo_reset+3: subl $4,%esp +ata_devo_reset+6: pushl %ebx +ata_devo_reset+7: pushl %esi +ata_devo_reset+8: pushl %edi +ata_devo_reset+9: cmpl $0,+0xc(%ebp) +ata_devo_reset+0xd: je +0xb +ata_devo_reset+0xf: xorl %eax,%eax +ata_devo_reset+0x11: popl %edi +ata_devo_reset+0x12: popl %esi +ata_devo_reset+0x13: popl %ebx +ata_devo_reset+0x14: movl %ebp,%esp +ata_devo_reset+0x16: popl %ebp +ata_devo_reset+0x17: ret +ata_devo_reset+0x18: pushl +8(%ebp) +ata_devo_reset+0x1b: call +1 +ata_devo_reset+0x20: addl $4,%esp +ata_devo_reset+0x23: pushl %eax +ata_devo_reset+0x24: pushl 0 +ata_devo_reset+0x2a: call +1 +ata_devo_reset+0x2f: addl $8,%esp +ata_devo_reset+0x32: movl %eax,%edi +ata_devo_reset+0x34: testl %edi,%edi +ata_devo_reset+0x36: je +0x8d +ata_devo_reset+0x3c: movl $1,-4(%ebp) +ata_devo_reset+0x43: xorl %esi,%esi +ata_devo_reset+0x45: nop +ata_devo_reset+0x46: nop +ata_devo_reset+0x47: nop +ata_devo_reset+0x48: movl %esi,%eax +ata_devo_reset+0x4a: shll $6,%eax +ata_devo_reset+0x4d: movl +0xc(%edi,%eax),%ebx +ata_devo_reset+0x51: testl %ebx,%ebx +ata_devo_reset+0x53: je +0x4d +ata_devo_reset+0x55: movl +0x204(%ebx),%eax +ata_devo_reset+0x5b: andl $2,%eax +ata_devo_reset+0x5e: je +0x13 +ata_devo_reset+0x60: pushl $0 +ata_devo_reset+0x62: pushl $0x66 <<<======== War vorher pushl $0xcc +ata_devo_reset+0x67: pushl %ebx +ata_devo_reset+0x68: pushl %edi +ata_devo_reset+0x69: call +0x1846 +ata_devo_reset+0x6e: addl $0x10,%esp +ata_devo_reset+0x71: movl +0x204(%ebx),%eax +ata_devo_reset+0x77: andl $1,%eax +ata_devo_reset+0x7a: je +0x11 + + +Note that the exact position of the instruction that needs to be patched +may vary depending on the version of Solaris you use. Be extremely careful +when applying the patch. diff --git a/READMEs/README.sony b/READMEs/README.sony new file mode 100644 index 0000000..aabc771 --- /dev/null +++ b/READMEs/README.sony @@ -0,0 +1,29 @@ +The Sony CDU-924 was the first drive that has no hardware support +for CDROM XA2 mode 1. If you want to create a multi session disk, +you need to switch back to -data (plain CD-ROM) + +If you have a Sony drive that gives you problems with multi session disks, +please always check the following: + + For some Sony drives you may need to call cdrecord -multi -data + if you like to create multi-session CD's. + + Some Sony drives do not allow to write XA2 tracks with + hardware support of the drive. + +There is currently a bug in the Sony code (for _old_ non MMC drives) +of cdrecord that does not allow you to have different track types +in one session. + +All Sony drives that have CDUxxx type names are _old_ non MMC drives. + Here I expect that no XA support is in the firmware. + +All Sony drives that have CRXxxx type names are MMC compliant. + These drives should support XA-mode2-form1 as it is mandatory with MMC. + +NOTE: many HP CD-writers are nased on Sony OEM drives. + + +NOTE: As for 18.5.2001, a fix was introduced that prevented cdrecord + to do multi session with new MMC compliant Sony drives. + diff --git a/READMEs/README.sun-lofi b/READMEs/README.sun-lofi new file mode 100644 index 0000000..532a63b --- /dev/null +++ b/READMEs/README.sun-lofi @@ -0,0 +1,20 @@ +Starting with Solaris 8 (2000), Sun introduced a lofi driver which is +very similar to my fbk driver from 1988. + +The lofiadm command seems to implement the basic idea of my fbkset program. + +# lofiadm -a /var/tmp/image.iso +/dev/lofi/1 +# mount -F hsfs -o ro /dev/lofi/1 /mnt +# ls /mnt +etc. + +To remove this, you need to: +# umount /mnt +# lofiadm -d /dev/lofi/1 + +The /dev/lofi/.. string may change depending on how many other loopback +devices you have configured. + +It is explained quite clearly in the man page, but you may wish to update +the README and cdrecord man page to reflect the new way of doing this. diff --git a/READMEs/README.sunos b/READMEs/README.sunos new file mode 100644 index 0000000..b2f6389 --- /dev/null +++ b/READMEs/README.sunos @@ -0,0 +1,11 @@ +It seems that at there is a structure alignment problem +with the structure scsi_cmd at least with gcc. + +If you get a message: 'XXX + +If you want to run cdrecord on SunOS 4.x on a sparc system +please make sure that you are using the old Sun cc +by typing: + + make CCOM=cc + diff --git a/READMEs/README.unixware b/READMEs/README.unixware new file mode 100644 index 0000000..146a16c --- /dev/null +++ b/READMEs/README.unixware @@ -0,0 +1,89 @@ +CDRTOOLS compiles without changes on any UnixWare 7.0.1 or later installation +having the UnixWare/OpenServer DevKit (UODK) or GCC-2.95 and smake-1.2 +installed. + +You can get pre-packaged, pkgadd installable binaries from: + + http://www.sco.com/skunkware/cdrtools + +Some general notes on CDRTOOLS are available from: + + http://www.sco.com/skunkware/cdrtools/SCO-NOTES.html + + +Limitations for CDRTOOLS-1.8 on UnixWare: + +1) SCO UnixWare 2.1.X and UnixWare 7.0.0 are not supported + - UW2.1.X will compile/work with little changes + - UW7.0.0 wasn't tested at all + +2) There is only support for SCSI devices + +3) UnixWare 7.0.1 requires additional PTF's to enable some + host bus adapters to work with a logical block size of more than + 512 bytes. (Please see the above SCO_NOTES document for details!) + +=================================================================== +NOTE: cdrecord now supports the -scanbus option. Therefore the + old addressing methods are NO LONGER AVAILABLE !!! + + As UnixWare 7.1.1 doesn't allow to open the passthrough + interface for disks, this is disabled by default. + cdrecord -scanbus will therefore only list devices other + than disks. To enable the scanning of disks, you need to + set an environment variable "LIBSCG_SCAN_ALL". + + Be warned, doing so might lock your disk subsystem! +=================================================================== + +The correct dev= syntax on UnixWare 7 is: + + dev=scsibus,target,lun (and scsibus is scsibus now!!!) + +A sample output from cdrecord -scanbus looks like: + +#cdrecord -scanbus +Cdrecord 1.8 (i586-sco-sysv5uw7.0.1) Copyright (C) 1995-2000 Jörg Schilling +Using libscg version 'schily-0.1' +scsibus0: + 0,0,0 0) 'SEAGATE ' 'ST34573LC ' '5960' Disk + 0,1,0 1) 'SEAGATE ' 'ST34573LC ' '5960' Disk + 0,2,0 2) 'SEAGATE ' 'ST34573LC ' '5960' Disk + 0,3,0 3) * + 0,4,0 4) * + 0,5,0 5) 'PIONEER ' 'CD-ROM DR-U06S ' '1.05' Removable CD-ROM + 0,6,0 6) 'TEAC ' 'CD-R56S ' '1.0E' Removable CD-ROM + 0,7,0 7) * + +The first column showing the triple x,y,z tells you the address to use. + +As you can see the TEAC CD-R56S CD-Writer does have the following address: + + dev=0,6,0 + +=================================================================== + THE OLD ADDRESSING IS NO LONGER AVAILABLE! + + PLEASE ADJUST YOUR /etc/default/cdrecord FILES! +=================================================================== + +Running cdrecord with the old address method will result in an error! + +#cdrecord dev=/dev/rcdrom/cdrom1:6,0 -inq +Cdrecord 1.8 (i386-pc-sco3.2v5.0.5) Copyright (C) 1995-2000 Jörg Schilling +scsidev: '/dev/rcd1:6,0' +devname: '/dev/rcd1' +scsibus: 0 target: 6 lun: 0 +cdrecord: Invalid argument. Open by 'devname' no longer supported on this OS. Cannot open SCSI driver. +cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root. + + +To compile cdrtools, you need 'smake' from: + + ftp://ftp.sco.com/skunkware/uw7/Packages + + +or 'gmake'. Smake is preferred as gmake bugs will cause bogus warnings +and may confuse about the state of the make run. + + diff --git a/READMEs/README.verify b/READMEs/README.verify new file mode 100644 index 0000000..11305d5 --- /dev/null +++ b/READMEs/README.verify @@ -0,0 +1,81 @@ +Mini-Howto for verifying a selfmade CD + +1) verifying the data layer + + To verify if all data on the disk can be read, + use SCSI verify. This can be done with the + sformat utility. + + use: sformat -verify [target] [lun] [scsibus] + + If the CD-R device is connected to target 2 on SCSI bus 0 + sformat -verify 2 0 + + sformat can be found on ftp://ftp.berlios.de/pub/sformat + + NOTE: Not all CD-ROm drives support verifying + NOTE: All TAO tracks end in 2 unreadable run-out sectors + +2) verifying the filesystem layer + + A quick check is to mount the CD and to use star to read + all files on the filesystem. + + mount -r /dev/cdrom /cdrom (modify for your OS) + cd /cdrom + star -cPM . >/dev/null + + If no errors can be found, all files are readable. + + star can be found on ftp://ftp.berlios.de/pub/star + + + You also may want to compare the filesystem on the CD + with the original data. This can be done with star too. + + + (cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v) + +2a) verifying the iso image before creating the CD + + You may check the filesystem image by mounting it with my + "fbk" on Solaris or the loopback driver on Linux. + + On Linux type: + mount isoimage.raw -r -t iso9660 -o loop /mnt + + On SunOS type: + mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage.raw /mnt + +For Solaris 8 and later you may also use the Sun lofi driver (see README.sun-lofi) + + The check the filesystem with: + + (cd /master_for_cd; star -cPM .)|(cd /mnt; star -diff -v) + + +When doing this you have to know about the bugs in Linux/Solaris + +Mkisofs before 1.10 and Linux have a bug with timezones. +If you are using mkisofs-1.10 and newer on Linux, you need to disable +comparing times: + +(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!times) + +The same is needed if you are using mkisofs pre-1.10 on Solaris + +Solaris has a bug with hardlinks. It generates different inode numbers +for the hardlinks to a file. This makes it impossible for star to +check hard links. Use + +(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!hardlink) + +in this case. + +NOTE: Some operating systems have a read ahead bug that causes I/O errors for +the last file(s) on a CD. This seems at least to be true for all Linux versions +and for Solaris 7 FCS. For Solaris 7 there is a patch (107465-02) that you should +install. This I/O error problem does not occur with DAO disks and with TAO disks +that have been written with cdrecord -pad. + +Joerg Schilling diff --git a/READMEs/README.vms b/READMEs/README.vms new file mode 100644 index 0000000..1ca0b26 --- /dev/null +++ b/READMEs/README.vms @@ -0,0 +1,140 @@ +This README was written by Dr. Eberhard Heuser-Hofmann + vaxinf@chclu.chemie.uni-konstanz.de + +If you are looking for a *.zip file instead of the tar archive, +check this address: + +ftp://v36.chemie.uni-konstanz.de/cdrecord_vms/ + +/*--------------------------------------------------------------------------*/ +Hi, + +this is the OpenVMS Version of J.Schilling's cdrecord-program. + +There is a command-procedure called build_all.com in the [.cdrecord] subdir, +that compiles and links the code. The cdrecord-program is been produced in +[.cdrecord.vms] subdirectory. + +Define this program as a symbol via + +$ cdrecord:==$disk:[dir]cdrecord.exe + +$ cdrecord -help gives an idea about the options, that are possible: + +cdrecord -help +Usage: cdrecord.exe [options] track1...trackn +Options: + -version print version information and exit + dev=target SCSI target to use as CD/DVD-Recorder + gracetime=# set the grace time before starting to write to #. + timeout=# set the default SCSI command timeout to #. + debug=#,-d Set to # or increment misc debug level + kdebug=#,kd=# do Kernel debugging + -verbose,-v increment general verbose level by one + -Verbose,-V increment SCSI command transport verbose level by one + -silent,-s do not print status of failed SCSI commands + driver=name user supplied driver name, use with extreme care + driveropts=opt a comma separated list of driver specific options + -checkdrive check if a driver for the drive is present + -prcap print drive capabilities for MMC compliant drives + -inq do an inquiry for the drive and exit + -scanbus scan the SCSI bus and exit + -reset reset the SCSI bus with the cdrecorder (if possible) + -overburn allow to write more than the official size of a medium + -ignsize ignore the known size of a medium (may cause problems) + -useinfo use *.inf files to overwrite audio options. + speed=# set speed of drive + blank=type blank a CD-RW disc (see blank=help) + -load load the disk and exit (works only with tray loader) + -eject eject the disk after doing the work + -dummy do everything with laser turned off + -msinfo retrieve multi-session info for mkisofs >= 1.10 + -toc retrieve and print TOC/PMA data + -atip retrieve and print ATIP data + -multi generate a TOC that allows multi session + In this case default track type is CD-ROM XA2 + -fix fixate a corrupt or unfixated disk (generate a TOC) + -nofix do not fixate disk after writing tracks + -waiti wait until input is available before opening SCSI + -immed Try to use the SCSI IMMED flag with certain long lasting commands + -force force to continue on some errors to allow blanking bad disks + -dao Write disk in SAO mode. This option will be replaced in the future. + -raw Write disk in RAW mode. This option will be replaced in the future. + -raw96r Write disk in RAW/RAW96R mode. This option will be replaced in the future. + -raw96p Write disk in RAW/RAW96P mode. This option will be replaced in the future. + -raw16 Write disk in RAW/RAW16 mode. This option will be replaced in the future. + tsize=# Length of valid data in next track + padsize=# Amount of padding for next track + pregap=# Amount of pre-gap sectors before next track + defpregap=# Amount of pre-gap sectors for all but track #1 + mcn=text Set the media catalog number for this CD to 'text' + isrc=text Set the ISRC number for the next track to 'text' + index=list Set the index list for the next track to 'list' + -text Write CD-Text from information from *.inf files + textfile=name Set the file with CD-Text data to 'name' + -audio Subsequent tracks are CD-DA audio tracks + -data Subsequent tracks are CD-ROM data mode 1 (default) + -mode2 Subsequent tracks are CD-ROM data mode 2 + -xa1 Subsequent tracks are CD-ROM XA mode 1 + -xa2 Subsequent tracks are CD-ROM XA mode 2 + -cdi Subsequent tracks are CDI tracks + -isosize Use iso9660 file system size for next data track + -preemp Audio tracks are mastered with 50/15 µs preemphasis + -nopreemp Audio tracks are mastered with no preemphasis (default) + -copy Audio tracks have unlimited copy permission + -nocopy Audio tracks may only be copied once for personal use (default) + -scms Audio tracks will not have any copy permission at all + -pad Pad data tracks with 15 zeroed sectors + Pad audio tracks to a multiple of 2352 bytes + -nopad Do not pad data tracks (default) + -shorttrack Subsequent tracks may be non Red Book < 4 seconds if in SAO or RAW mode + -noshorttrack Subsequent tracks must be >= 4 seconds + -swab Audio data source is byte-swapped (little-endian/Intel) +The type of the first track is used for the toc type. +Currently only form 1 tracks are supported. + +One important point is how the CDR-device is being selected: + +dev=i,j,k + +where: +i: 0 1 2 3 4 5 6 7 8 9 ... 32 33 + dka dkb dkc dkd gka gkb gkc gkd dqa dqb ... dqy dqz + +j: scsi-id +k: sub-lun (usually 0) + +As an example: + +dev=1,5,2 selects dkb502: + +An typical example how to put virtual disk data onto a cd-rom is given here: + +$ cdrecord -speed 2 dev=0,4,0 dka200:[000000]vda0.dsk + +Additional hints: + +1. Due to timeout problems use -immed switch for IDE-burners under OpenVMS 7.3 + or modify the timeout value in the dqdriver source. + +2. HP has written a command procedure, that calls cdrecord. You should + modify this com-file to activate the cdrecord burnproof option: + "driveropts=burnproof". + +Be aware that cdrecord has copyright on it. + +Eberhard + +=============================================================================== + +Dr. Eberhard Heuser-Hofmann +Univ. Konstanz +Fakultaet fuer Chemie +Universitaets-Strasse 10 +D-78464 Konstanz +Germany +Phone: +49-7531-88-2026, FAX: +49-7531-88-3139 +email: vaxinf@chclu.chemie.uni-konstanz.de + +=============================================================================== + diff --git a/READMEs/README.volmgt b/READMEs/README.volmgt new file mode 100644 index 0000000..e7c9ae6 --- /dev/null +++ b/READMEs/README.volmgt @@ -0,0 +1,44 @@ +If you are on NeXT-Step/Apple Rhapsody, +you must disable volume management before creating a CD. +On older Solaris versions, you may also need to disable the volume management. + +This is needed because newer drives identify themselves correctly +as CD-ROM drives. Unfortunately, the volume management daemon from +Sun/Apple does not grok, that there may be a recordable medium in the drive. + +You do this on Solaris permanently by editing /etc/vold.conf +NeXT-Step/Apple Rhapsody will only work correctly if you reboot while +the CD-R drive is powered off. + +On Solaris you need to stop the volume management if you like to use the USCSI +fallback SCSI transport code. Even things like cdrecord -scanbus +will not work if the volume management is running. + +If the Solaris version you are running is recent enough, libscg will try to +interace with the volume management. However, Solaris does not allow you to +access a drive that is maintained by the volume management but does not +include a medium. Cdrecord will mark this fact by printing a '?' during +a -scanbus run. + +Cdrecord-ProDVD-Clone 2.01a23 (i386-pc-solaris2.9) Copyright (C) 1995-2003 Jörg Schilling +scsidev: 'USCSI:' +devname: 'USCSI' +scsibus: -1 target: -1 lun: -1 +Warning: Using USCSI interface. +Warning: Volume management is running, medialess managed drives are invisible. +Using libscg version 'schily-0.7'. +scsibus1: + 1,0,0 100) ? + 1,1,0 101) 'HP ' 'DVD Writer 200j ' '1.36' Removable CD-ROM + 1,2,0 102) * + 1,3,0 103) * + 1,4,0 104) * + 1,5,0 105) * + 1,6,0 106) * + 1,7,0 107) * + +If you insert a medium and close the tray, the medium becomes visible again. +Note that for this reason, it is impossible to use cdrecord with automated +scripts if the volume manager is configured to include a CD/DVD writer +as it is impossible to close the door of the drive. + diff --git a/READMEs/README.win32 b/READMEs/README.win32 new file mode 100644 index 0000000..741062f --- /dev/null +++ b/READMEs/README.win32 @@ -0,0 +1,207 @@ +# @(#)README.win32 1.7 02/12/16 Copyright 2000 J. Schilling + +cdrecord-1.8a22 or later can be compiled on Win9X/NT4 using Cygnus' cygwin +which is freely available from: + + http://sourceware.cygnus.com/cygwin/ +or + http://sources.redhat.com/cygwin/ + +To compile on Cygwin, get Cygwin by executing setup.exe + +You will need approx. 120 MB to install a full cygwin developer release. + +Get the tar'ed cdrtools source and unpack it with 'gnutar' or 'star', + +e.g. Start a bash command line window and type: + + star -xpz < cdrtools-1.10.tar.gz + + don't use winzip to unpack the tar archive, it will not + unpack symlinks correctly. + +Then (from the bash command line window) run 'make' ... + +If you have problems with GNU make, get 'smake' from: + + ftp://ftp.berlios.de/pub/smake/alpha/ + +/*--------------------------------------------------------------------------*/ +A bash window is available from the START -> Programs -> Cygnus Solutions +menu or by clicking at the Cygwin Logo on the desktop. +/*--------------------------------------------------------------------------*/ +Pre-compiled current 'cdrtools' Win32 binaries which should run on +W95, W98 and WNT are available from: + + ftp://ftp.berlios.de/pub/cdrecord/alpha/win32 + +To use the pre-compiled binary, put the files cygwin1.dll, mount.exe as well +as the files: + +cdrecord.exe - The CD recording program +cdda2wav.exe - The DAE (Digital Audio Extraction) program +mkisofs.exe - The ISO-9660/Rock Ridge/Joliet Filesystem formatter +readcd.exe - A simple program to extract CD-ROM raw data to a file + +in your WINDOWS binary directory and from a Command/MS-DOS (or bash) window +type: + cdrecord -help + +for usage, see also: + +http://www.fokus.fhg.de/research/cc/glone/employees/joerg.schilling/private/man/cdrecord.html + +All programs in this directory are Unix command line utilities and know +nothing about DOS/WIN. They run in a POSIX subsystem that is supplied by +cygwin1.dll. Therefore all directory names are given in Unix (POSIX) format +(i.e. use '/' for a directory separator, not '\'). To access files on another +disks (i.e. floppy, CDROM and network disk), you need to use the supplied "mount" +command e.g. + + mount a: /a + mount d: /cdrom + +i.e. files on the floppy disk are accessed as being in directory /a and +files on the CDROM are accessed as /cdrom (assuming your CDROM is drive d:) + +Yu may also use the new /cygpath notation by typing /cygpath/a for +your local floppy. + +The notation //a/dir as a replacement for the DOS directory name a:\dir +may not work in future releases of Cygwin. + +The following command creates a CD image in the current directory +using a source directories on the CDROM drive, a sub-directory and the +floppy drive: + + mkisofs -o hsfs.iso -J -R /cdrom/subdir dir1 /a + +If you use the options noted above, the hsfs.iso image is ISO-9660 +compliant and includes both Rock Ridge (IEEE P1282) and +Joliet (Microsoft proprietary) extensions. + +If your CD writer is on target 6, type + + cdrecord dev=6,0 -v speed=4 hsfs.iso + +to write the image at speed 4 in TAO mode, or + + cdrecord dev=6,0 -v speed=4 -dao hsfs.iso + +to write the image in DAO mode. + +If you don't like to create the image file 'hsfs.iso' you may use a PIPE +to connect mkisofs's output to cdrecord's input by calling: + + mkisofs -J -R /cdrom/subdir dir1 /a | cdrecord dev=6,0 -v speed=4 - + +IMPORTANT NOTE: If you use PIPE's on Win32, you definitely need a POSIX + compliant shell to start the programs. Native Win32 PIPE's + are not POSIX compliant and will not work with POSIX compliant + programs. + +/*--------------------------------------------------------------------------*/ +If you don't know which target your CD-writer is, call + + cdrecord -scanbus + +This gives output similar to: + +Cdrecord-ProDVD sparc-sun-solaris2.4 release 1.8a39 Copyright (C) 1995-2000 Jörg Schilling +Using libscg version 'schily-0.1' +scsibus0: + 0,0,0 0) 'Quantum ' 'XP34300 ' 'F76D' Disk + 0,1,0 1) 'SEAGATE ' 'ST11200N ' '8334' Disk + 0,2,0 2) * + 0,3,0 3) 'TOSHIBA ' 'MK537FB/ ' '6258' Disk + 0,4,0 4) 'WANGTEK ' '5150ES SCSI-36 ' 'ESB6' Removable Tape + 0,5,0 5) 'EXABYTE ' 'EXB-8500-85QUE ' '0428' Removable Tape + 0,6,0 6) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM + 0,7,0 7) HOST ADAPTOR +scsibus1: + 1,0,0 100) 'IBM ' 'DCAS-34330 ' 'S65A' Disk + 1,1,0 101) * + 1,2,0 102) * + 1,3,0 103) * + 1,4,0 104) 'PLEXTOR ' 'CD-R PX-W8220T' '1.00' Removable CD-ROM + 1,5,0 105) 'YAMAHA ' 'CRW4416S ' '1.0f' Removable CD-ROM + 1,6,0 106) * + 1,7,0 107) HOST ADAPTOR + +The numbers on the labels are SCSIbus# * 100 + target# + +You then call cdrecord dev=bus#,target#,0 + +If you e.g. like to talk to the Yamaha drive from the list above, you need to +call: + + cdrecord dev=1,5,0 ...... + +/*--------------------------------------------------------------------------*/ + + NOTE + +If "cdrecord -scanbus" dumps core (dies from program fault), you have +a broken ASPI driver on your PC. + +If you cannot see your drive(s), the following registry changes should make +them visible: + + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Aspi32] + "ErrorControl"=dword:00000001 + "Start"=dword:00000001 + "Type"=dword:00000001 + + [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Aspi32\Parameters] + "ExcludeMiniports"="" + + +If you like to use the tools with SCSI or ATAPI, you need a working +ASPI32 driver and dll on your system. If you don't have it already, +look for 'aspi_me'. You need to set you clock back to a time before +Jan 1st 1999 to be able to install it. Note that 'aspi_me' contains +original Adaptec drivers and is banned from most ftp servers for this +reason. + +You need a special ASPI driver version on NT-5.0 (Win2000) + +************************************ Seems to be dead +You may get one by downloading + + http://www.poikosoft.com/writer/download.html + +and unpacking the file mightywriter121.exe using unzip. +after you renamed ntaspi32.dll to wnaspi32.dll, cdrecord should work. +************************************ Seems to be dead + +But here is a new source for ASPI drivers: + +http://www.fortunecity.com/skyscraper/solo/719/aspi_drivers.htm + + + IMPORTANT + +In order to avoid damaging CD blanks because Win is trying to access +the drive while cdrecord writes to it, you definitely should edit +your registry and set the value of + +HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\Autorun + +to '0'. + +The Registry entry noted above is valid for WNT, I don't know +if you need to do this for W95 or W98, nor do I know the +correct Registry entry for these systems. + +/*--------------------------------------------------------------------------*/ + + For binary only users: + +Error messages and help output is directed to stderr. Win32 command +interpreters don't know about stderr. I recommend to install bash.exe +because it is a POSIX compliant shell and allow working PIPE's and +it also gives you a command line history that may be edited using +cursor commands. + +Otherwise you may want to install the Cygwin light version which +only includes the user commands. diff --git a/READMEs/README.xxxBSD b/READMEs/README.xxxBSD new file mode 100644 index 0000000..900f81d --- /dev/null +++ b/READMEs/README.xxxBSD @@ -0,0 +1,86 @@ +The current *BSD port will not yet be able to scan the SCSI bus +for a CD-Recorder as it is on other architectures. + +User level SCSI seems not be be well tested on *BSD + +It would be nice if the kernel hackers of all *BSD flavors could agree in +adding decent and useful SCSI user land transport support. +This would cause the following changes: + + - Add a driver that is present by default and offeres an + easy to address interface to the /dev/ namespace. + - Create device file entries for this driver by default. + - allow to send all commands on this driver even if the main + driver entry is in use, At least allow: + INQUIRY + TEST_UNIT_READY + REQUEST_SENSE + to be able to scan the SCSI bus for drives. + +NOTE: This changed with FreeBSD/cam cdrecord -scanbus works on FreeBSD/cam + +Workaround: + +If /dev/su0-0-0 ... does not exist on your system, you may try +to create the devices with the MAKEDEV.su script below. + +If /dev/su0-0-0 ... do not work on your system, you may try +use dev=/dev/rcd0a:@,0 od dev=/dev/rcd0a:@ +If the CD-Recorder is on /dev/cd0a + +Read the man page for more information. + +There is no way to get the device node entry from the numerical target +specification on *BSD. You must specify the appropriate device node name: +e.g. dev=/dev/cd0.ctl:6,0 together with the numerical target specification. +A short form is: + + dev=/dev/cd0.ctl:@ + +But this syntax may not work on all *BSD flavours as not all *BSD flavours +support mapping back the target/lun numbers from a device. + +In any case: read the cdrecord man page and try to find the /dev/* entry for +your CD-recorder that allows to be used with ioctl's. + +On FreeBSD/cam, you will be able to access the CD-Recorder as on other +systems. If your CD-Recorder is on SCSI Bus 0, Target 2, lun 0 +type: + +cdrecord dev=0,2,0 ..... + +Jörg + +------------------------- MAKEDEV.su------------------ +#!/bin/sh + +# +# You must check which minor base is really needed for your system +# The su driver seems not to be well tested on *BSD +# +# If nothing else helps, create a link /dev/scgx to the right +# /dev/ entry (an entry that responds right with /sbin/scsi) +# for your needed device. +# +minorbase="536870912 + 2" +#minorbase="0" +#minorbase="0 + 2" +#minorbase="0 + 3" + +mknod /dev/su0-0-0 c 18 `expr $minorbase + 0 '*' 8` +mknod /dev/su0-1-0 c 18 `expr $minorbase + 1 '*' 8` +mknod /dev/su0-2-0 c 18 `expr $minorbase + 2 '*' 8` +mknod /dev/su0-3-0 c 18 `expr $minorbase + 3 '*' 8` +mknod /dev/su0-4-0 c 18 `expr $minorbase + 4 '*' 8` +mknod /dev/su0-5-0 c 18 `expr $minorbase + 5 '*' 8` +mknod /dev/su0-6-0 c 18 `expr $minorbase + 6 '*' 8` +mknod /dev/su0-7-0 c 18 `expr $minorbase + 7 '*' 8` + +mknod /dev/su1-0-0 c 18 `expr $minorbase + 1 '*' 64 + 0 '*' 8` +mknod /dev/su1-1-0 c 18 `expr $minorbase + 1 '*' 64 + 1 '*' 8` +mknod /dev/su1-2-0 c 18 `expr $minorbase + 1 '*' 64 + 2 '*' 8` +mknod /dev/su1-3-0 c 18 `expr $minorbase + 1 '*' 64 + 3 '*' 8` +mknod /dev/su1-4-0 c 18 `expr $minorbase + 1 '*' 64 + 4 '*' 8` +mknod /dev/su1-5-0 c 18 `expr $minorbase + 1 '*' 64 + 5 '*' 8` +mknod /dev/su1-6-0 c 18 `expr $minorbase + 1 '*' 64 + 6 '*' 8` +mknod /dev/su1-7-0 c 18 `expr $minorbase + 1 '*' 64 + 7 '*' 8` diff --git a/START b/START new file mode 100644 index 0000000..b76c9a8 --- /dev/null +++ b/START @@ -0,0 +1 @@ +./cdrecord -dummy -v speed=2 dev=2,0 /usr/home/joerg/cd.raw diff --git a/btcflash/Makefile b/btcflash/Makefile new file mode 100644 index 0000000..817e2df --- /dev/null +++ b/btcflash/Makefile @@ -0,0 +1,26 @@ +#ident %W% %E% %Q% +########################################################################### +SRCROOT= .. +RULESDIR= RULES +include $(SRCROOT)/$(RULESDIR)/rules.top +########################################################################### + +INSDIR= bin +TARGET= btcflash +CPPOPTS += -DUSE_LARGEFILES +CFILES= skel.c \ + io.c cd_misc.c scsi_cdr.c \ + scsi_scan.c \ + modes.c misc.c getnum.c \ + defaults.c + +HFILES= +LIBS= -lrscg -lscg $(LIB_VOLMGT) -ldeflt -lschily $(SCSILIB) $(LIB_SOCKET) +XMK_FILE= Makefile.man + +########################################################################### +include $(SRCROOT)/$(RULESDIR)/rules.cmd +########################################################################### +count: $(CFILES) $(HFILES) + count $r1 + diff --git a/btcflash/Makefile.man b/btcflash/Makefile.man new file mode 100644 index 0000000..a45e140 --- /dev/null +++ b/btcflash/Makefile.man @@ -0,0 +1,18 @@ +#ident %W% %E% %Q% +########################################################################### +# Sample makefile for installing manual pages +########################################################################### +SRCROOT= .. +RULESDIR= RULES +include $(SRCROOT)/$(RULESDIR)/rules.top +########################################################################### + +MANDIR= man +TARGETMAN= btcflash +MANSECT= $(MANSECT_CMD) +MANSUFFIX= $(MANSUFF_CMD) +MANFILE= btcflash.1 + +########################################################################### +include $(SRCROOT)/$(RULESDIR)/rules.man +########################################################################### diff --git a/btcflash/btcflash.1 b/btcflash/btcflash.1 new file mode 100644 index 0000000..e14ee87 --- /dev/null +++ b/btcflash/btcflash.1 @@ -0,0 +1,395 @@ +.\" @(#)btcflash.1 1.2 06/02/08 Copyr 2006 J. Schilling +.\" Manual page for btcflash +.\" +.if t .ds a \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'a +.if t .ds o \v'-0.55m'\h'0.00n'\z.\h'0.45n'\z.\v'0.55m'\h'-0.45n'o +.if t .ds u \v'-0.55m'\h'0.00n'\z.\h'0.40n'\z.\v'0.55m'\h'-0.40n'u +.if t .ds A \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'A +.if t .ds O \v'-0.77m'\h'0.25n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.70n'O +.if t .ds U \v'-0.77m'\h'0.30n'\z.\h'0.45n'\z.\v'0.77m'\h'-0.75n'U +.if t .ds s \\(*b +.if t .ds S SS +.if n .ds a ae +.if n .ds o oe +.if n .ds u ue +.if n .ds s sz +.TH BTCFLASH 1L "06/02/08" "J\*org Schilling" "Schily\'s USER COMMANDS" +.SH NAME +btcflash \- Firmware flash utility for BTC DRW1008 DVD+/-RW recorder +.SH SYNOPSIS +.B +btcflash +.BI dev= device +[ +.I options +] +[ +.BI f= firmwarefile +] +.SH DESCRIPTION +.B Btcflash +is used to read update the Firmware for a BTC DRW1008 DVD+/-RW recorder. +.PP +Be very careful when writing firmware as this program does not check +for the correctness of the target device. +.PP +The +.I device +refers to +.IR scsibus / target / lun +of the drive. Communication on +.I SunOS +is done with the SCSI general driver +.B scg. +Other operating systems are using a library simulation of this driver. +Possible syntax is: +.B dev= +.IR scsibus , target , lun +or +.B dev= +.IR target , lun . +In the latter case, the drive has to be connected to the default +SCSI bus of the machine. +.IR Scsibus , +.I target +and +.I lun +are integer numbers. +Some operating systems or SCSI transport implementations may require to +specify a filename in addition. +In this case the correct syntax for the device is: +.B dev= +.IR devicename : scsibus , target , lun +or +.B dev= +.IR devicename : target , lun . +If the name of the device node that has been specified on such a system +refers to exactly one SCSI device, a shorthand in the form +.B dev= +.IR devicename : @ +or +.B dev= +.IR devicename : @ , lun +may be used instead of +.B dev= +.IR devicename : scsibus , target , lun . + +.PP +To access remote SCSI devices, you need to prepend the SCSI device name by +a remote device indicator. The remote device indicator is either +.BI REMOTE: user@host: +or +.BR +.BI REMOTE: host: +.br +A valid remote SCSI device name may be: +.BI REMOTE: user@host: +to allow remote SCSI bus scanning or +.BI REMOTE: user@host:1,0,0 +to access the SCSI device at +.I host +connected to SCSI bus # 1,target 0 lun 0. + +.PP +To access SCSI devices via alternate transport layers, +you need to prepend the SCSI device name by a transport layer indicator. +The transport layer indicator may be something like +.B USCSI: +or +.BR ATAPI: . +To get a list of supported transport layers for your platform, use +.B dev= +.IR HELP : + +.PP +To make +.B btcflash +portable to all \s-2UNIX\s0 platforms, the syntax +.B dev= +.IR devicename : scsibus , target , lun +is preferred as is hides OS specific knowledge about device names from the user. +A specific OS must not necessarily support a way to specify a real device file name nor a +way to specify +.IR scsibus , target , lun . + +.PP +.I Scsibus +0 is the default SCSI bus on the machine. Watch the boot messages for more +information or look into +.B /var/adm/messages +for more information about the SCSI configuration of your machine. +If you have problems to figure out what values for +.IR scsibus , target , lun +should be used, try the +.B \-scanbus +option of +.BR btcflash . +.SH OPTIONS +.TP +.B \-help +Prints a short summary of the +.B p +options and exists. +.TP +.B \-version +Print version information and exit. +.TP +.BI dev= target +Sets the SCSI target for the drive, see notes above. +A typical device specification is +.BI dev= 6,0 +\&. +If a filename must be provided together with the numerical target +specification, the filename is implementation specific. +The correct filename in this case can be found in the system specific +manuals of the target operating system. +On a +.I FreeBSD +system without +.I CAM +support, you need to use the control device (e.g. +.IR /dev/rcd0.ctl ). +A correct device specification in this case may be +.BI dev= /dev/rcd0.ctl:@ +\&. +.sp +On Linux, drives connected to a parallel port adapter are mapped +to a virtual SCSI bus. Different adapters are mapped to different +targets on this virtual SCSI bus. +.sp +If no +.I dev +option is present, +.B cdrecord +will try to get the device from the +.B CDR_DEVICE +environment. +.sp +If the argument to the +.B dev= +option does not contain the characters ',', '/', '@' or ':', +it is interpreted as an label name that may be found in the file +/etc/default/cdrecord (see FILES section). +.TP +.BI timeout= # +Set the default SCSI command timeout value to +.IR # " seconds. +The default SCSI command timeout is the minimum timeout used for sending +SCSI commands. +If a SCSI command fails due to a timeout, you may try to raise the +default SCSI command timeout above the timeout value of the failed command. +If the command runs correctly with a raised command timeout, +please report the better timeout value and the corresponding command to +the author of the program. +If no +.I timeout +option is present, a default timeout of 40 seconds is used. +.TP +.BI debug= "#, " -d +Set the misc debug value to # (with debug=#) or increment +the misc debug level by one (with -d). If you specify +.I -dd, +this equals to +.BI debug= 2. +This may help to find problems while opening a driver for libscg. +as well as with sector sizes and sector types. +Using +.B \-debug +slows down the process and may be the reason for a buffer underrun. +.TP +.BR kdebug= "#, " kd= # +Tell the +.BR scg -driver +to modify the kernel debug value while SCSI commands are running. +.TP +.BR \-silent ", " \-s +Do not print out a status report for failed SCSI commands. +.TP +.B \-v +Increment the level of general verbosity by one. +This is used e.g. to display the progress of the process. +.TP +.B \-V +Increment the verbose level with respect of SCSI command transport by one. +This helps to debug problems +during the process, that occur in the CD-Recorder. +If you get incomprehensible error messages you should use this flag +to get more detailed output. +.B \-VV +will show data buffer content in addition. +Using +.B \-V +or +.B \-VV +slows down the process. +.TP +.BI f= file +Specify the filename where the firmware should be read from. +.TP +.B \-scanbus +Scan all SCSI devices on all SCSI busses and print the inquiry +strings. This option may be used to find SCSI address of the +devices on a system. +The numbers printed out as labels are computed by: +.B "bus * 100 + target +.TP +.BR ts= # +Set the maximum transfer size for a single SCSI command to #. +The syntax for the +.B ts= +option is the same as for cdrecord fs=# or sdd bs=#. +.sp +If no +.B ts= +option has been specified, +.B btcflash +defaults to a transfer size of 256 kB. If libscg gets lower values from the +operating system, the value is reduced to the maximum value that is possible +with the current operating system. +Sometimes, it may help to further reduce the transfer size or to enhance it, +but note that it may take a long time to find a better value by experimenting +with the +.B ts= +option. + + +.SH EXAMPLES +.SH ENVIRONMENT +.TP +.B RSH +If the +.B RSH +environment is present, the remote connection will not be created via +.BR rcmd (3) +but by calling the program pointed to by +.BR RSH . +Use e.g. +.BR RSH= /usr/bin/ssh +to create a secure shell connection. +.sp +Note that this forces +.B cdrecord +to create a pipe to the +.B rsh(1) +program and disallows +.B cdrecord +to directly access the network socket to the remote server. +This makes it impossible to set up performance parameters and slows down +the connection compared to a +.B root +initiated +.B rcmd(3) +connection. +.TP +.B RSCSI +If the +.B RSCSI +environment is present, the remote SCSI server will not be the program +.B /opt/schily/sbin/rscsi +but the program pointed to by +.BR RSCSI . +Note that the remote SCSI server program name will be ignored if you log in +using an account that has been created with a remote SCSI server program as +login shell. +.SH "SEE ALSO" +.BR cdrecord (1), +.BR scg (7), +.BR rcmd (3), +.BR ssh (1). +.SH NOTES +.SH DIAGNOSTICS +.PP +A typical error message for a SCSI command looks like: +.sp +.RS +.nf +btcflash: I/O error. test unit ready: scsi sendcmd: no error +CDB: 00 20 00 00 00 00 +status: 0x2 (CHECK CONDITION) +Sense Bytes: 70 00 05 00 00 00 00 0A 00 00 00 00 25 00 00 00 00 00 +Sense Key: 0x5 Illegal Request, Segment 0 +Sense Code: 0x25 Qual 0x00 (logical unit not supported) Fru 0x0 +Sense flags: Blk 0 (not valid) +cmd finished after 0.002s timeout 40s +.fi +.sp +.RE +The first line gives information about the transport of the command. +The text after the first colon gives the error text for the system call +from the view of the kernel. It usually is: +.B "I/O error +unless other problems happen. The next words contain a short description for +the SCSI command that fails. The rest of the line tells you if there were +any problems for the transport of the command over the SCSI bus. +.B "fatal error +means that it was not possible to transport the command (i.e. no device present +at the requested SCSI address). +.PP +The second line prints the SCSI command descriptor block for the failed command. +.PP +The third line gives information on the SCSI status code returned by the +command, if the transport of the command succeeds. +This is error information from the SCSI device. +.PP +The fourth line is a hex dump of the auto request sense information for the +command. +.PP +The fifth line is the error text for the sense key if available, followed +by the segment number that is only valid if the command was a +.I copy +command. If the error message is not directly related to the current command, +the text +.I deferred error +is appended. +.PP +The sixth line is the error text for the sense code and the sense qualifier if available. +If the type of the device is known, the sense data is decoded from tables +in +.IR scsierrs.c " . +The text is followed by the error value for a field replaceable unit. +.PP +The seventh line prints the block number that is related to the failed command +and text for several error flags. The block number may not be valid. +.PP +The eight line reports the timeout set up for this command and the time +that the command really needed to complete. + +.SH BUGS +.SH AUTHOR +.nf +J\*org Schilling +Seestr. 110 +D-13353 Berlin +Germany +.fi +.PP +Additional information can be found on: +.br +http://www.fokus.fhg.de/usr/schilling/cdrecord.html +.PP +If you have support questions, send them to: +.PP +.B +cdrecord-support@berlios.de +.br +or +.B +other-cdwrite@lists.debian.org +.PP +If you have definitely found a bug, send a mail to: +.PP +.B +cdrecord-developers@berlios.de +.br +or +.B +schilling@fokus.fhg.de +.PP +To subscribe, use: +.PP +.B +http://lists.berlios.de/mailman/listinfo/cdrecord-developers +.br +or +.B +http://lists.berlios.de/mailman/listinfo/cdrecord-support diff --git a/btcflash/btcflash.c b/btcflash/btcflash.c new file mode 100644 index 0000000..922fb6d --- /dev/null +++ b/btcflash/btcflash.c @@ -0,0 +1,291 @@ +/* @(#)btcflash.c 1.8 04/05/25 2004 J. Schilling */ +#ifndef lint +static char _sccsid[] = + "@(#)btcflash.c 1.8 04/05/25 2004 J. Schilling"; +#endif +/*--------------------------------------------------------------------------*/ +/* + * Firmware flash utility for BTC DRW1008 DVD+/-RW recorder + * Version 2004/04/29 + * By David Huang + * This work is dedicated to the public domain + * + * This utility may also work with other BTC DVD recorders, such as + * the DRW1004 and DRW1108, but they have not been tested. + * + * USE AT YOUR OWN RISK! + * btcflash is provided AS IS, with NO WARRANTY, either expressed or implied. + * + * Firmware files may be obtained by running BTC's Windows flash + * utility, then searching in the WINDOWS\TEMP or WINNT\TEMP directory + * for a *.HEX file. It will probably be in a subdirectory named + * PAC*.tmp.DIR, and the HEX file will be named Vnnnn.HEX, where nnnn + * is the firmware version number. You'll also find IDEFLASH.EXE or + * BTCFLASH.EXE in the same directory. + * + * This utility will also accept firmware files in ".BIN" format. + */ + +#ifdef DO_INCLUDE +#include +#include +#include +#include +#endif + +#define FLASHSIZE 0x100000 /* BTC flash is 1MB */ + +unsigned char *loadfirmware(const char *); +int getbyte(char **); +unsigned short calcsum(unsigned char *); +LOCAL int btcmain __PR((SCSI *scgp, const char *fwfile)); + + +unsigned char * +loadfirmware(const char *firmware) +{ + FILE *f; + char line[80]; + char *p; + unsigned char *fwbuf; + int bank; + int length; + int offset; + int type; + int hexsum; + int i; + int b; + + fwbuf = malloc(FLASHSIZE); + if (!fwbuf) { + fprintf(stderr, "Could not allocate memory for firmware\n"); + return (NULL); + } + + f = fopen(firmware, "r"); + if (!f) { + fprintf(stderr, "%s: Unable to open: ", firmware); + perror(NULL); + return (NULL); + } + + /* + * Get length of file. If it's exactly FLASHSIZE, assume it's a + * .bin file. Otherwise, try to read it as a .hex file. + */ + fseek(f, 0, SEEK_END); + if (ftell(f) == FLASHSIZE) { + rewind(f); + if (fread(fwbuf, 1, FLASHSIZE, f) != FLASHSIZE) { + fprintf(stderr, "%s: Short read\n", firmware); + return (NULL); + } + fclose(f); + return (fwbuf); + } + + rewind(f); + memset(fwbuf, 0xff, FLASHSIZE); + + bank = 0; + while (fgets(line, sizeof (line), f)) { + if (line[0] != ':') + continue; + + p = line + 1; + + length = getbyte(&p); + offset = getbyte(&p) << 8 | getbyte(&p); + type = getbyte(&p); + if (length < 0 || offset < 0 || type < 0 || + (type != 0 && length != 0)) { + errmsgno(EX_BAD, "Malformed line: %.79s\n", line); + return (NULL); + } else if (length == 0) { + if (strncmp(line, ":00000155AA", 11) == 0) { + if (++bank >= 16) { + errmsgno(EX_BAD, + "Firmware file larger than 1MB\n"); + return (NULL); + } + continue; + } else if (strncmp(line, ":00000001FF", 11) == 0) { + break; + } else { + errmsgno(EX_BAD, "Malformed line: %.79s\n", line); + return (NULL); + } + } + + hexsum = (length + (offset >> 8) + (offset & 0xff)) & 0xff; + for (i = 0; i < length; i++, offset++) { + b = getbyte(&p); + hexsum = (hexsum + b) & 0xff; + if (b < 0) { + errmsgno(EX_BAD, "Short line: %.79s\n", line); + return (NULL); + } + fwbuf[(bank << 16) | offset] = (char)b; + } + hexsum = (0x100 - hexsum) & 0xff; + if (hexsum != getbyte(&p)) { + errmsgno(EX_BAD, "Checksum mismatch: %.79s", line); + return (NULL); + } + } + + fclose(f); + + if (bank != 15) { + errmsgno(EX_BAD, "Firmware file too small\n"); + return (NULL); + } + + return (fwbuf); +} + +int +getbyte(char **pp) +{ + int h; + int l; + + h = **pp; + if (h >= '0' && h <= '9') + h -= '0'; + else if (h >= 'A' && h <= 'F') + h -= 'A' - 10; + else if (h >= 'a' && h <= 'f') + h -= 'a' - 10; + else + return (-1); + + l = *(*pp+1); + if (l >= '0' && l <= '9') + l -= '0'; + else if (l >= 'A' && l <= 'F') + l -= 'A' - 10; + else if (l >= 'a' && l <= 'f') + l -= 'a' - 10; + else + return (-1); + + *pp += 2; + return ((h << 4) | l); +} + +unsigned short +calcsum(unsigned char *fwbuf) +{ + unsigned int flashsum; + unsigned int i; + + for (flashsum = 0, i = 0; i < FLASHSIZE; i++) + flashsum += fwbuf[i]; + + return ((flashsum & 0xffff)); +} + +LOCAL int +btcmain(scgp, fwfile) + SCSI *scgp; + const char *fwfile; +{ + char confirm[5]; + unsigned char *fwbuf; + unsigned char inq[128]; + unsigned char csbuf[32]; + unsigned short checksum; + unsigned int offset; + + printf("BTC DVD+/-RW firmware flash utility release %s %s\n", "1.8", "04/05/25"); + printf("USE AT YOUR OWN RISK!\n\n"); + + if (!(fwbuf = loadfirmware(fwfile))) + return (1); + + checksum = calcsum(fwbuf); + + printf("Loaded firmware from %s\nFirmware checksum is %04X\n", + fwfile, checksum); + + if (inquiry(scgp, (char *)inq, 36) < 0) + return (1); + + printf("Drive is currently: [%.8s][%.16s][%.4s]\n", + inq+8, inq+16, inq+32); + printf("Firmware appears to be: [%.8s][%.16s][%.4s]\n\n", + fwbuf+0x40bc, fwbuf+0x40c4, fwbuf+0x40d4); + + if (strncmp((char *)inq + 8, (char *)fwbuf + 0x40bc, 24) != 0) + printf( + "***********************************************" + "***********\n" + "WARNING! THIS FIRMWARE DOES NOT SEEM TO BE FOR " + "THIS DRIVE!\n" + "***********************************************" + "***********\n"); + + printf("Type \"YES\" to proceed with flash: "); + fflush(stdout); + fgets(confirm, sizeof (confirm), stdin); + if (strcmp(confirm, "YES\n") != 0) { + printf("\nFlash canceled.\n"); + return (0); + } + + printf("\nUploading firmware...\n"); + + /* Upload firmware */ + for (offset = 0; offset < FLASHSIZE; offset += 0x1000) { + + if (write_buffer(scgp, (char *)fwbuf + offset, 0x1000, + 6 /* Download Microcode with Offsets */, + 0 /* Buffer ID 0 */, + offset + 0x20) < 0) { + errmsgno(EX_BAD, "Cannot write microcode\n"); + return (1); + } + } + + /* Upload checksum */ + memset(csbuf, 0, 32); + csbuf[30] = (checksum >> 8); + csbuf[31] = (checksum & 0xff); + + if (write_buffer(scgp, (char *)csbuf, 0x20, + 6 /* Download Microcode with Offsets */, + 0 /* Buffer ID 0 */, + 0 /* Offset 0 */ + ) < 0) { + errmsgno(EX_BAD, "Cannot write microcode checksum\n"); + return (1); + } + + printf("Flashing drive...\n"); + + /* Firmware uploaded; now flash it! */ + if (write_buffer(scgp, NULL, 0, + 7 /* Download Microcode with Offsets and Save */, + 0 /* Buffer ID 0 */, + 0 /* Offset 0 */ + ) < 0) { + errmsgno(EX_BAD, "Cannot save microcode\n"); + return (1); + } + + sleep(50); /* Let drive sit for a while before bothering it */ + + scgp->silent++; + wait_unit_ready(scgp, 300); + scgp->silent--; + + if (inquiry(scgp, (char *)inq, 36) < 0) + return (1); + + printf("Drive is now: [%.8s][%.16s][%.4s]\n\n", + inq+8, inq+16, inq+32); + printf("Please reboot before using the drive.\n"); + + return (0); +} diff --git a/btcflash/cd_misc.c b/btcflash/cd_misc.c new file mode 120000 index 0000000..65a2c93 --- /dev/null +++ b/btcflash/cd_misc.c @@ -0,0 +1 @@ +../cdrecord/cd_misc.c \ No newline at end of file diff --git a/btcflash/cdrecord.h b/btcflash/cdrecord.h new file mode 120000 index 0000000..e8c4b26 --- /dev/null +++ b/btcflash/cdrecord.h @@ -0,0 +1 @@ +../cdrecord/cdrecord.h \ No newline at end of file diff --git a/btcflash/defaults.c b/btcflash/defaults.c new file mode 120000 index 0000000..dc7ca16 --- /dev/null +++ b/btcflash/defaults.c @@ -0,0 +1 @@ +../cdrecord/defaults.c \ No newline at end of file diff --git a/btcflash/defaults.h b/btcflash/defaults.h new file mode 120000 index 0000000..569924b --- /dev/null +++ b/btcflash/defaults.h @@ -0,0 +1 @@ +../cdrecord/defaults.h \ No newline at end of file diff --git a/btcflash/getnum.c b/btcflash/getnum.c new file mode 120000 index 0000000..2857ecc --- /dev/null +++ b/btcflash/getnum.c @@ -0,0 +1 @@ +../cdrecord/getnum.c \ No newline at end of file diff --git a/btcflash/io.c b/btcflash/io.c new file mode 120000 index 0000000..920d259 --- /dev/null +++ b/btcflash/io.c @@ -0,0 +1 @@ +../readcd/io.c \ No newline at end of file diff --git a/btcflash/misc.c b/btcflash/misc.c new file mode 120000 index 0000000..56793bb --- /dev/null +++ b/btcflash/misc.c @@ -0,0 +1 @@ +../cdrecord/misc.c \ No newline at end of file diff --git a/btcflash/modes.c b/btcflash/modes.c new file mode 120000 index 0000000..934f8d9 --- /dev/null +++ b/btcflash/modes.c @@ -0,0 +1 @@ +../cdrecord/modes.c \ No newline at end of file diff --git a/btcflash/scsi_cdr.c b/btcflash/scsi_cdr.c new file mode 120000 index 0000000..355df9a --- /dev/null +++ b/btcflash/scsi_cdr.c @@ -0,0 +1 @@ +../cdrecord/scsi_cdr.c \ No newline at end of file diff --git a/btcflash/scsi_scan.c b/btcflash/scsi_scan.c new file mode 120000 index 0000000..a268652 --- /dev/null +++ b/btcflash/scsi_scan.c @@ -0,0 +1 @@ +../cdrecord/scsi_scan.c \ No newline at end of file diff --git a/btcflash/scsi_scan.h b/btcflash/scsi_scan.h new file mode 120000 index 0000000..81f6a04 --- /dev/null +++ b/btcflash/scsi_scan.h @@ -0,0 +1 @@ +../cdrecord/scsi_scan.h \ No newline at end of file diff --git a/btcflash/scsimmc.h b/btcflash/scsimmc.h new file mode 120000 index 0000000..91d74ed --- /dev/null +++ b/btcflash/scsimmc.h @@ -0,0 +1 @@ +../cdrecord/scsimmc.h \ No newline at end of file diff --git a/btcflash/skel.c b/btcflash/skel.c new file mode 100644 index 0000000..fd3fa1a --- /dev/null +++ b/btcflash/skel.c @@ -0,0 +1,487 @@ +/* @(#)skel.c 1.10 06/02/08 Copyright 1987, 1995-2006 J. Schilling */ +#ifndef lint +static char sccsid[] = + "@(#)skel.c 1.10 06/02/08 Copyright 1987, 1995-2006 J. Schilling"; +#endif +/* + * Skeleton for the use of the scg genearal SCSI - driver + * + * Copyright (c) 1987, 1995-2006 J. Schilling + */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; see the file COPYING. If not, write to the Free Software + * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef HAVE_PRIV_H +#include +#endif + +#if defined(__CYGWIN32__) || defined(__EMX__) || defined(__DJGPP__) +#include /* for setmode() prototype */ +#endif + +#include +#include +#include + +#include "scsi_scan.h" +#include "cdrecord.h" +#include "defaults.h" + +char skel_version[] = "1.1"; + +extern BOOL getlong __PR((char *, long *, long, long)); +extern BOOL getint __PR((char *, int *, int, int)); + +struct exargs { + SCSI *scgp; + int old_secsize; + int flags; + int exflags; + char oerr[3]; +} exargs; + +LOCAL void usage __PR((int ret)); +EXPORT int main __PR((int ac, char **av)); +LOCAL void intr __PR((int sig)); +LOCAL void exscsi __PR((int excode, void *arg)); +LOCAL void excdr __PR((int excode, void *arg)); +LOCAL int prstats __PR((void)); +LOCAL int prstats_silent __PR((void)); +LOCAL void doit __PR((SCSI *scgp)); +LOCAL void dofile __PR((SCSI *scgp, char *filename)); + +struct timeval starttime; +struct timeval stoptime; +int didintr; +int exsig; + +char *Sbuf; +long Sbufsize; + +int help; +int xdebug; +int lverbose; +int quiet; +BOOL is_suid; + +LOCAL void +usage(ret) + int ret; +{ + error("Usage:\tbtcflash [options] f=firmwarefile\n"); + error("options:\n"); + error("\t-version print version information and exit\n"); + error("\tdev=target SCSI target to use\n"); + error("\tf=filename Name of firmware file to read from\n"); + error("\tts=# set maximum transfer size for a single SCSI command\n"); + error("\ttimeout=# set the default SCSI command timeout to #.\n"); + error("\tdebug=#,-d Set to # or increment misc debug level\n"); + error("\tkdebug=#,kd=# do Kernel debugging\n"); + error("\t-quiet,-q be more quiet in error retry mode\n"); + error("\t-verbose,-v increment general verbose level by one\n"); + error("\t-Verbose,-V increment SCSI command transport verbose level by one\n"); + error("\t-silent,-s do not print status of failed SCSI commands\n"); + error("\t-scanbus scan the SCSI bus and exit\n"); + exit(ret); +} + +char opts[] = "debug#,d+,kdebug#,kd#,timeout#,quiet,q,verbose+,v+,Verbose+,V+,x+,xd#,silent,s,help,h,version,scanbus,dev*,ts&,f*"; + +EXPORT int +main(ac, av) + int ac; + char *av[]; +{ + char *dev = NULL; + int fcount; + int cac; + char * const *cav; + int scsibus = -1; + int target = -1; + int lun = -1; + int silent = 0; + int verbose = 0; + int kdebug = 0; + int debug = 0; + int deftimeout = 40; + int pversion = 0; + int scanbus = 0; + SCSI *scgp; + char *filename = NULL; + + save_args(ac, av); + + cac = --ac; + cav = ++av; + + if (getallargs(&cac, &cav, opts, + &debug, &debug, + &kdebug, &kdebug, + &deftimeout, + &quiet, &quiet, + &lverbose, &lverbose, + &verbose, &verbose, + &xdebug, &xdebug, + &silent, &silent, + &help, &help, &pversion, + &scanbus, + &dev, + getnum, &Sbufsize, + &filename) < 0) { + errmsgno(EX_BAD, "Bad flag: %s.\n", cav[0]); + usage(EX_BAD); + } + if (help) + usage(0); + if (pversion) { + printf("btcflash %s (%s-%s-%s) Copyright (C) 1987, 1995-2006 Jörg Schilling (C) 2004 David Huang\n", + skel_version, + HOST_CPU, HOST_VENDOR, HOST_OS); + exit(0); + } + + fcount = 0; + cac = ac; + cav = av; + + while (getfiles(&cac, &cav, opts) > 0) { + fcount++; + if (fcount == 1) { + if (*astoi(cav[0], &target) != '\0') { + errmsgno(EX_BAD, + "Target '%s' is not a Number.\n", + cav[0]); + usage(EX_BAD); + /* NOTREACHED */ + } + } + if (fcount == 2) { + if (*astoi(cav[0], &lun) != '\0') { + errmsgno(EX_BAD, + "Lun is '%s' not a Number.\n", + cav[0]); + usage(EX_BAD); + /* NOTREACHED */ + } + } + if (fcount == 3) { + if (*astoi(cav[0], &scsibus) != '\0') { + errmsgno(EX_BAD, + "Scsibus is '%s' not a Number.\n", + cav[0]); + usage(EX_BAD); + /* NOTREACHED */ + } + } else { + scsibus = 0; + } + cac--; + cav++; + } +/*error("dev: '%s'\n", dev);*/ + + cdr_defaults(&dev, NULL, NULL, NULL); + if (debug) { + printf("dev: '%s'\n", dev); + } + if (!scanbus && dev == NULL && + scsibus == -1 && (target == -1 || lun == -1)) { + errmsgno(EX_BAD, "No SCSI device specified.\n"); + usage(EX_BAD); + } + if (dev || scanbus) { + char errstr[80]; + + /* + * Call scg_remote() to force loading the remote SCSI transport + * library code that is located in librscg instead of the dummy + * remote routines that are located inside libscg. + */ + scg_remote(); + if (dev != NULL && + ((strncmp(dev, "HELP", 4) == 0) || + (strncmp(dev, "help", 4) == 0))) { + scg_help(stderr); + exit(0); + } + if ((scgp = scg_open(dev, errstr, sizeof (errstr), debug, lverbose)) == (SCSI *)0) { + int err = geterrno(); + + errmsgno(err, "%s%sCannot open SCSI driver.\n", errstr, errstr[0]?". ":""); + errmsgno(EX_BAD, "For possible targets try 'scgskeleton -scanbus'. Make sure you are root.\n"); + errmsgno(EX_BAD, "For possible transport specifiers try 'scgskeleton dev=help'.\n"); + exit(err); + } + } else { + if (scsibus == -1 && target >= 0 && lun >= 0) + scsibus = 0; + + scgp = scg_smalloc(); + scgp->debug = debug; + scgp->kdebug = kdebug; + + scg_settarget(scgp, scsibus, target, lun); + if (scg__open(scgp, NULL) <= 0) + comerr("Cannot open SCSI driver.\n"); + } + scgp->silent = silent; + scgp->verbose = verbose; + scgp->debug = debug; + scgp->kdebug = kdebug; + scg_settimeout(scgp, deftimeout); + + if (Sbufsize == 0) + Sbufsize = 256*1024L; + Sbufsize = scg_bufsize(scgp, Sbufsize); + if ((Sbuf = scg_getbuf(scgp, Sbufsize)) == NULL) + comerr("Cannot get SCSI I/O buffer.\n"); + +#ifdef HAVE_PRIV_SET + /* + * Give up privs we do not need anymore. + * We no longer need: + * file_dac_read,net_privaddr + * We still need: + * sys_devices + */ + priv_set(PRIV_OFF, PRIV_EFFECTIVE, + PRIV_FILE_DAC_READ, PRIV_NET_PRIVADDR, NULL); + priv_set(PRIV_OFF, PRIV_PERMITTED, + PRIV_FILE_DAC_READ, PRIV_NET_PRIVADDR, NULL); + priv_set(PRIV_OFF, PRIV_INHERITABLE, + PRIV_FILE_DAC_READ, PRIV_NET_PRIVADDR, PRIV_SYS_DEVICES, NULL); +#endif + /* + * This is only for OS that do not support fine grained privs. + */ + is_suid = geteuid() != getuid(); + /* + * We don't need root privilleges anymore. + */ +#ifdef HAVE_SETREUID + if (setreuid(-1, getuid()) < 0) +#else +#ifdef HAVE_SETEUID + if (seteuid(getuid()) < 0) +#else + if (setuid(getuid()) < 0) +#endif +#endif + comerr("Panic cannot set back effective uid.\n"); + + /* code to use SCG */ + + if (scanbus) { + select_target(scgp, stdout); + exit(0); + } + do_inquiry(scgp, FALSE); + allow_atapi(scgp, TRUE); /* Try to switch to 10 byte mode cmds */ + + exargs.scgp = scgp; + exargs.old_secsize = -1; +/* exargs.flags = flags;*/ + exargs.oerr[2] = 0; + + /* + * Install exit handler before we change the drive status. + */ + on_comerr(exscsi, &exargs); + signal(SIGINT, intr); + signal(SIGTERM, intr); + + if (filename) { + dofile(scgp, filename); + } else { + errmsgno(EX_BAD, "Firmware file missing.\n"); + doit(scgp); + } + + comexit(0); + return (0); +} + +/* + * XXX Leider kann man vim Signalhandler keine SCSI Kommandos verschicken + * XXX da meistens das letzte SCSI Kommando noch laeuft. + * XXX Eine Loesung waere ein Abort Callback in SCSI *. + */ +LOCAL void +intr(sig) + int sig; +{ + didintr++; + exsig = sig; +/* comexit(sig);*/ +} + +/* ARGSUSED */ +LOCAL void +exscsi(excode, arg) + int excode; + void *arg; +{ + struct exargs *exp = (struct exargs *)arg; + int i; + + /* + * Try to restore the old sector size. + */ + if (exp != NULL && exp->exflags == 0) { + for (i = 0; i < 10*100; i++) { + if (!exp->scgp->running) + break; + if (i == 10) { + errmsgno(EX_BAD, + "Waiting for current SCSI command to finish.\n"); + } + usleep(100000); + } + +#ifdef ___NEEDED___ + /* + * Try to set drive back to original state. + */ + if (!exp->scgp->running) { + if (exp->oerr[2] != 0) { + domode(exp->scgp, exp->oerr[0], exp->oerr[1]); + } + if (exp->old_secsize > 0 && exp->old_secsize != 2048) + select_secsize(exp->scgp, exp->old_secsize); + } +#endif + exp->exflags++; /* Make sure that it only get called once */ + } +} + +LOCAL void +excdr(excode, arg) + int excode; + void *arg; +{ + exscsi(excode, arg); + +#ifdef needed + /* Do several other restores/statistics here (see cdrecord.c) */ +#endif +} + +/* + * Return milliseconds since start time. + */ +LOCAL int +prstats() +{ + int sec; + int usec; + int tmsec; + + if (gettimeofday(&stoptime, (struct timezone *)0) < 0) + comerr("Cannot get time\n"); + + sec = stoptime.tv_sec - starttime.tv_sec; + usec = stoptime.tv_usec - starttime.tv_usec; + tmsec = sec*1000 + usec/1000; +#ifdef lint + tmsec = tmsec; /* Bisz spaeter */ +#endif + if (usec < 0) { + sec--; + usec += 1000000; + } + + error("Time total: %d.%03dsec\n", sec, usec/1000); + return (1000*sec + (usec / 1000)); +} + +/* + * Return milliseconds since start time, but be silent this time. + */ +LOCAL int +prstats_silent() +{ + int sec; + int usec; + int tmsec; + + if (gettimeofday(&stoptime, (struct timezone *)0) < 0) + comerr("Cannot get time\n"); + + sec = stoptime.tv_sec - starttime.tv_sec; + usec = stoptime.tv_usec - starttime.tv_usec; + tmsec = sec*1000 + usec/1000; +#ifdef lint + tmsec = tmsec; /* Bisz spaeter */ +#endif + if (usec < 0) { + sec--; + usec += 1000000; + } + + return (1000*sec + (usec / 1000)); +} + +LOCAL void +doit(scgp) + SCSI *scgp; +{ + int i = 0; + + for (;;) { + if (!wait_unit_ready(scgp, 60)) + comerrno(EX_BAD, "Device not ready.\n"); + + printf("0:read\n"); +/* printf("7:wne 8:floppy 9:verify 10:checkcmds 11:read disk 12:write disk\n");*/ + + getint("Enter selection:", &i, 0, 20); + if (didintr) + return; + + switch (i) { + +/* case 1: read_disk(scgp, 0); break;*/ + + default: error("Unimplemented selection %d\n", i); + } + } +} + +LOCAL int btcmain __PR((SCSI *scgp, const char *fwfile)); + +LOCAL void +dofile(scgp, filename) + SCSI *scgp; + char *filename; +{ + if (btcmain(scgp, filename) != 0) + exit(EX_BAD); +} + +/* + * Add your own code below.... + */ + +#include "btcflash.c" diff --git a/cdda2wav/Changelog b/cdda2wav/Changelog new file mode 100644 index 0000000..e510327 --- /dev/null +++ b/cdda2wav/Changelog @@ -0,0 +1,570 @@ +210 Einträge +Fri Apr 6 15:58:32 2001 Heiko Eissfeldt + * interface.c 1.16 + bugfix symbolic constant 'linux' -> 'LINUX', code cleanup + +Sun Mar 11 17:55:25 2001 Heiko Eissfeldt + * scsi_cmds.c 1.11 + schily changes + +Sun Mar 11 17:25:14 2001 Heiko Eissfeldt + * semshm.c 1.6 + change to new shared memory scheme. + +Mon Dec 25 11:13:42 2000 Heiko Eissfeldt + * config.h 1.3 + get rid of PRETEND_TO_USE, use ARGSUSED instead + +Sun Dec 10 16:49:56 2000 Heiko Eissfeldt + * scsi_cmds.c 1.10 + Large file type fix: u_char -> Uchar + +Sat Dec 9 23:41:42 2000 Heiko Eissfeldt + * Makefile 1.2 + add libraries for remote scsi + +Sat Dec 9 23:39:59 2000 Heiko Eissfeldt + * ioctl.c 1.9 + read toc in msf AND lba format. Use mins,secs,frms fields. + +Sat Dec 9 23:38:25 2000 Heiko Eissfeldt + * interface.h 1.6 + portability fix: change signed char to int for mins,secs,frms + +Sat Dec 9 23:37:18 2000 Heiko Eissfeldt + * scsi_cmds.c 1.9 + change mins, secs, frms to type int; use conversion function lba_2_msf + +Sat Dec 9 23:35:43 2000 Heiko Eissfeldt + * toc.c 1.15 + add conversion function lba_2_msf + +Fri Dec 1 14:37:10 2000 Heiko Eissfeldt + * interface.c 1.15 + change ReadToc_sim to define new toc struc members mins, secs, frms. + +Fri Dec 1 14:36:22 2000 Heiko Eissfeldt + * scsi_cmds.c 1.8 + change ReadToc to read in MSF as well as in LBA format. Store seperately. + +Fri Dec 1 14:35:04 2000 Heiko Eissfeldt + * interface.h 1.5 + add seperate fields in toc structure: mins, secs, frms for + msf can hold different data than lba (as seen by dvds) + +Mon Nov 6 21:14:11 2000 Heiko Eissfeldt + * cdda2wav.c 1.23 + fix from Joerg Schilling for better Cygwin old/new compatibility + +Wed Oct 25 23:48:02 2000 Heiko Eissfeldt + * cdda2wav.c 1.22 + don't try to get cd text info on discs with data tracks only + +Wed Oct 25 23:47:20 2000 Heiko Eissfeldt + * interface.c 1.14 + disable Read TOC cd text for Sony CRX100E reported by George Fisher (fisher@ssl.berkeley.edu) + +Tue Sep 19 21:30:57 2000 Heiko Eissfeldt + * cdda2wav.c 1.21 + fix from js for wait() declarations + +Fri Sep 15 12:51:43 2000 Heiko Eissfeldt + * cdda2wav.c 1.20 + adapt for Cygwin 1.0 header files + +Wed Sep 13 23:06:25 2000 Heiko Eissfeldt + * cdda2wav.c 1.19 + * interface.c 1.13 + * scsi_cmds.c 1.7 + (r)scsi interface changes + +Sun Aug 20 17:29:02 2000 Heiko Eissfeldt + * scsi_cmds.c 1.6 + * cdda2wav.c 1.18 + * interface.c 1.12 + adapt for new libscsi + +Sat Jun 24 07:57:38 2000 Heiko Eissfeldt + * cdda2wav.c 1.17 + use setpriority if available before nice + +Sat Jun 24 07:56:40 2000 Heiko Eissfeldt + * toc.c 1.14 + ISRC hardening II + +Fri Jun 16 00:12:21 2000 Heiko Eissfeldt + * mycdrom.h 1.4 + bugfix: FreeBSD should get the ioctl interface again + +Fri Jun 16 00:11:39 2000 Heiko Eissfeldt + * ioctl.c 1.8 + bugfix: FreeBSD ioctl should work again + +Sat Jun 10 22:27:43 2000 Heiko Eissfeldt + * toc.c 1.13 + recorder id detection and extended character range for ISRC + +Fri Jun 2 08:56:22 2000 Heiko Eissfeldt + * interface.c 1.11 + added schily header files + interface change for ReadCdRom* functions + now allocate always a SCSI structure for use of silent and verbose + thats it. + +Fri Jun 2 08:49:08 2000 Heiko Eissfeldt + * cdda2wav.c 1.16 + added schily header files + major changes for cds with illegal leadout positions + moved nSamplesToDo into the shared memory segment + added exit wrapper for portability under Max-OS-X + cleaned up ring buffer handling + bugfix for silent mode (call DisplayToc and Read_MCN_ISRC was needed) + +Fri Jun 2 08:37:12 2000 Heiko Eissfeldt + * toc.c 1.12 + added schily header files + made cd text detection more reliable for plextor/sony non-mmc drives + hardened cdda2wav against illegal ISRC codes + major changes for cds with illegal leadout positions + protected the index scan against illegal leadout positions + *** CHANGED *** 00/06/02 07:43:08 heiko + added schilys header files + +Fri Jun 2 08:33:44 2000 Heiko Eissfeldt + * aifc.c 1.4 + * aiff.c 1.4 + include schilys header files + +Fri Jun 2 08:32:28 2000 Heiko Eissfeldt + * semshm.c 1.5 + added schily headerfile + +Fri Jun 2 08:31:53 2000 Heiko Eissfeldt + * interface.h 1.4 + interface change for ReadCdRom*. Return int instead of void + +Fri Jun 2 08:30:51 2000 Heiko Eissfeldt + * scsi_cmds.c 1.5 + interface change: Read* function do not exit the program, when + sectors could not be read. Instead they signal this through the return value. + +Fri Jun 2 08:28:37 2000 Heiko Eissfeldt + * scsi_cmds.h 1.3 + interface change: Read* functions now return number of sectors read + added myscsierr function for scsi result checking + +Fri Jun 2 08:26:46 2000 Heiko Eissfeldt + * ioctl.c 1.7 + interface change: ReadCdrom and ReadCdromData return number of read sectors + schily include file added + default buffer size set to 8 sectors for ide on Linux + suppress errors when scgp->silent > 0 + +Fri Jun 2 07:39:55 2000 Heiko Eissfeldt + * ringbuff.c 1.4 + added a pointer for the new shared memory reference eorecording + +Fri Jun 2 07:38:48 2000 Heiko Eissfeldt + * ringbuff.h 1.4 + new variables in shared memory: + end_is_reached is set when the previously unknown leadout is encountered. + nSamplesToDo has been moved into shared memory to be visible for the writer. + +Fri Jun 2 07:36:11 2000 Heiko Eissfeldt + * local.cnf.in 1.3 + bugfixes: SunOS sound device, NetBSD inclusion of extralibs + +Fri Jun 2 07:34:37 2000 Heiko Eissfeldt + * configure.in 1.2 + bugfix. include detected libs in EXTRALIBS + +Fri Jun 2 07:29:12 2000 Heiko Eissfeldt + * global.h 1.4 + added two globals for detection of cds with illegal lead out positions + and one for a drive capability to read beyond the wrong leadout position. + +Tue May 2 21:41:40 2000 Heiko Eissfeldt + * resample.c 1.9 + fixed an signedness warning for buffer pointer for WriteSound() + +Thu Apr 27 23:53:49 2000 Heiko Eissfeldt + * cdda2wav.c 1.15 + -t4+4 -B now records only one track +4 is interpreted as a limit + +Sat Apr 22 23:37:57 2000 Heiko Eissfeldt + * setuid.c 1.3 + fixed a drop root forever bug, when we were currently nonroot + +Mon Apr 17 08:27:51 2000 Heiko Eissfeldt + * resample.c 1.8 + fixed 'wait for signal' + +Mon Apr 17 08:27:23 2000 Heiko Eissfeldt + * cdda2wav.c 1.14 + fixed info files generation, added warnings + +Mon Apr 17 08:26:37 2000 Heiko Eissfeldt + * toc.c 1.11 + fixed empty title display + +Thu Apr 13 00:38:04 2000 Heiko Eissfeldt + * cdda2wav.c 1.13 + added some consistency checks for info file generation + +Wed Apr 12 22:54:37 2000 Heiko Eissfeldt + * scsi_cmds.c 1.4 + fixed read cd text wrt reserved track/session field (now 0) + +Mon Apr 10 07:49:11 2000 Heiko Eissfeldt + * sndfile.h 1.3 + new interface methods for mp3 + +Thu Mar 30 00:03:38 2000 Heiko Eissfeldt + * toc.c 1.10 + add isrc and mcn retrieval for cd-extra + +Wed Mar 29 23:12:09 2000 Heiko Eissfeldt + * toc.c 1.9 + fixed a bug with gui-mode and quote() function usage + +Wed Mar 29 21:24:04 2000 Heiko Eissfeldt + * ioctl.c 1.6 + allow for sun type ioctl even on non_suns (HAVE_SYS_CDIO_H) + +Wed Mar 29 21:21:51 2000 Heiko Eissfeldt + * mycdrom.h 1.3 + disable HAVE_IOCTL_INTERFACE even if HAVE_SYS_CDIO_H (for Mac OS X) + +Sun Mar 26 23:17:47 2000 Heiko Eissfeldt + * resample.c 1.7 + change write call for sndfile to new sndfile method WriteSound + +Sun Mar 26 23:14:47 2000 Heiko Eissfeldt + * cdda2wav.c 1.12 + variable name change 'fill_buffer' -> 'he_fill_buffer' + prepare for new output format mp3 with lame (disabled with #ifdef USE_LAME) + +Sun Mar 26 23:10:19 2000 Heiko Eissfeldt + * ringbuff.c 1.3 + * ringbuff.h 1.3 + variable name change to avoid collision with fill_buffer from lame + +Sun Mar 26 23:09:14 2000 Heiko Eissfeldt + * interface.h 1.3 + mask SCSI depend declarations with NO_SCSI_STUFF define + +Sun Mar 26 23:08:27 2000 Heiko Eissfeldt + * toc.c 1.8 + fix an unimportant typo in resolve_id not active + +Sun Mar 26 22:14:53 2000 Heiko Eissfeldt + * aifc.c 1.3 + * aiff.c 1.3 + * raw.c 1.3 + * sun.c 1.3 + * wav.c 1.3 + prepared sndfile interface for additional functions needed for mp3 + +Tue Mar 21 21:42:10 2000 Heiko Eissfeldt + * interface.c 1.10 + added the DEC RRD47 drive as not mmc/readCD capable + +Tue Mar 21 20:25:44 2000 Heiko Eissfeldt + * cdda2wav.c 1.11 + fixed an cd extra detection bug + disabled .cddb and .cdindex file generation with --gui + +Tue Mar 21 20:22:26 2000 Heiko Eissfeldt + * Makefile.man 1.1 + date and time created 00/03/21 20:22:26 by heiko + +Tue Mar 21 20:17:28 2000 Heiko Eissfeldt + * toc.c 1.7 + added cactus data shield copy protection recognition + fixed display for cd extra (track times) + fix for sony crx140s (delivers Qsubchannel position data in bcd instead of hex) + fixed screen output during index scan cosmetically + +Tue Mar 21 20:06:19 2000 Heiko Eissfeldt + * ioctl.c 1.5 + added rough debugging messages for -V + fixed index scanning for Linux and FreeBSD + +Tue Mar 21 18:45:30 2000 Heiko Eissfeldt + * interface.c 1.9 + included inquiry message, added rough ioctl debugging messages + +Sun Feb 20 23:07:27 2000 Heiko Eissfeldt + * resample.c 1.6 + fixed a compiler warning + +Sun Feb 20 23:07:16 2000 Heiko Eissfeldt + * interface.c 1.8 + fixed missing global.in_lendian substitutes + +Thu Feb 17 22:00:32 2000 Heiko Eissfeldt + * cdda2wav.c 1.10 + made deemphasizing automatic + adjusted info files accordingly + allow non-root users to fail on realtimescheduling (and continue) + get shared memory initialization from interface.c now based on nsectors and + overlap values. + add more checks for buffers and nsectors. + increase buffers and nsectors, if necessary + +Thu Feb 17 21:56:22 2000 Heiko Eissfeldt + * interface.c 1.7 + moved shared memory allocation to cdda2wav.c + open linux ioctl devices with O_NONBLOCK + +Thu Feb 17 21:52:15 2000 Heiko Eissfeldt + * resample.c 1.5 + fix synchronization with channel swaps or deemphasizing + +Thu Feb 17 21:50:59 2000 Heiko Eissfeldt + * scsi_cmds.c 1.3 + avoid error message, if speedselectMMC fails (is optional) + +Thu Feb 17 21:50:00 2000 Heiko Eissfeldt + * toc.c 1.6 + fix compiler warnings, fix index scanning + +Thu Feb 17 21:48:43 2000 Heiko Eissfeldt + * semshm.c 1.4 + moved free_sem() in order to compile properly + +Thu Feb 17 21:47:04 2000 Heiko Eissfeldt + * global.h 1.3 + add input endianess variable for SCSI setup + +Wed Feb 16 21:26:40 2000 Heiko Eissfeldt + * semshm.c 1.3 + fixed comments and variable names for child/parent role swap + +Sun Feb 13 22:28:42 2000 Heiko Eissfeldt + * resample.c 1.4 + changed deemphasizing (now for marked tracks) + +Sun Feb 13 22:27:34 2000 Heiko Eissfeldt + * cdda2wav.c 1.9 + automatic handling of -T (with index scanning) + +Sun Feb 13 22:26:38 2000 Heiko Eissfeldt + * cdda2wav.h 1.4 + new get_current_track() function + +Sun Feb 13 22:21:04 2000 Heiko Eissfeldt + * cdda2wav.1 1.5 + document new -T, cleanup + +Thu Feb 10 18:35:26 2000 Heiko Eissfeldt + * toc.c 1.5 + implemented reading of cdplus/info.cdp through ISO file system + +Mon Feb 7 22:47:24 2000 root + * interface.c 1.6 + added Hitachi drive to mmc exception list + +Mon Feb 7 18:17:40 2000 Heiko Eissfeldt + * interface.c 1.5 + explicitly let Toshiba ATAPI drives use the mmc command set. + +Sat Feb 5 11:47:00 2000 Heiko Eissfeldt + * cdda2wav.c 1.8 + fixed percentage display for the 100% case + +Sat Feb 5 11:46:38 2000 Heiko Eissfeldt + * interface.c 1.4 + extended simulation interface + +Thu Feb 3 20:59:12 2000 Heiko Eissfeldt + * toc.c 1.4 + added the missing ascii to html character mapper + added check for valid cd extra + +Wed Feb 2 23:54:48 2000 Heiko Eissfeldt + * cdda2wav.c 1.7 + fixed mixed mode multinaming + allow nonroot users , do not abort for failing prioctl() + +Tue Jan 25 18:57:39 2000 Heiko Eissfeldt + * cdda2wav.h 1.3 + * toc.h 1.3 + prototype change with index scanning function + +Tue Jan 25 18:55:58 2000 Heiko Eissfeldt + * ioctl.c 1.4 + fixed dumb warning + +Tue Jan 25 18:43:49 2000 Heiko Eissfeldt + * interface.c 1.3 + extend ioctl interface for FreeBSD-4.x atapi driver + +Sat Jan 22 21:24:16 2000 Heiko Eissfeldt + * ioctl.c 1.3 + fixed data reading for cd-Extra+ATAPI+Linux + +Tue Jan 11 23:16:11 2000 Heiko Eissfeldt + * cdda2wav.c 1.6 + * toc.c 1.3 + + +Sun Jan 9 12:11:21 2000 Heiko Eissfeldt + * cdda2wav.c 1.5 + index scanning limited to single tracks, if requested. + changed vfprintf() to Joerg Schillings error() for better portability. + modified error handling for wrong parameters. no more long usage listing. + + +Mon Jan 3 22:53:51 2000 Heiko Eissfeldt + * cdda2wav.c 1.4 + * resample.c 1.3 + * mmsystem.h 1.4 + *_h -> *_H + +Sun Jan 2 23:22:23 2000 Heiko Eissfeldt + * mmsystem.h 1.3 + delete ctrl-m lineends + +Sun Jan 2 23:18:58 2000 Heiko Eissfeldt + * cdda2wav.1 1.4 + new fix for SCCS (@(x)) + +Sun Jan 2 18:20:36 2000 Heiko Eissfeldt + * cdda2wav.1 1.3 + fixed man page for SCCS header + +Sun Jan 2 18:07:17 2000 Heiko Eissfeldt + * mmsystem.h 1.2 + put under SCCS + +Sun Jan 2 18:02:48 2000 Heiko Eissfeldt + * lconfig.h.in 1.3 + * sndconfig.c 1.3 + OSS sound support added for NetBSD + +Sun Jan 2 17:56:13 2000 Heiko Eissfeldt + * mmsystem.h 1.1 + date and time created 00/01/02 17:56:13 by heiko + +Sun Jan 2 17:53:10 2000 Heiko Eissfeldt + * Makefile 1.1 + date and time created 00/01/02 17:53:10 by heiko + +Sun Jan 2 17:24:41 2000 Heiko Eissfeldt + * configure.in 1.1 + date and time created 00/01/02 17:24:41 by heiko + +Sun Dec 19 22:34:34 1999 Heiko Eissfeldt + * cdda2wav.c 1.3 + multiple file names + +Sun Dec 19 21:52:00 1999 Heiko Eissfeldt + * toc.h 1.2 + * wav.c 1.2 + * wav.h 1.2 + * sha_func.c 1.2 + * sndconfig.c 1.2 + * sndconfig.h 1.2 + * sndfile.h 1.2 + * sun.c 1.2 + * sun.h 1.2 + * toc.c 1.2 + * ringbuff.h 1.2 + * saveargs.h 1.2 + * scsi_cmds.c 1.2 + * scsi_cmds.h 1.2 + * semshm.c 1.2 + * semshm.h 1.2 + * setuid.c 1.2 + * setuid.h 1.2 + * sha.h 1.2 + * md5c.c 1.2 + * mycdrom.h 1.2 + * mytype.h 1.2 + * raw.c 1.2 + * raw.h 1.2 + * resample.c 1.2 + * resample.h 1.2 + * ringbuff.c 1.2 + * global.h 1.2 + * interface.c 1.2 + * interface.h 1.2 + * ioctl.c 1.2 + * ioctl.h 1.2 + * lconfig.h.in 1.2 + * local.cnf.in 1.2 + * lowlevel.h 1.2 + * md5.h 1.2 + * aiff.h 1.2 + * base64.c 1.2 + * base64.h 1.2 + * byteorder.h 1.2 + * cdda2wav.1 1.2 + * cdda2wav.c 1.2 + * cdda2wav.h 1.2 + * config.h 1.2 + * aifc.c 1.2 + * aifc.h 1.2 + * aiff.c 1.2 + first + +Sat Nov 13 19:30:21 1999 Heiko Eissfeldt + * cdda2wav.1 1.1 + date and time created 99/11/13 19:30:21 by heiko + +Sat Nov 13 19:25:02 1999 Heiko Eissfeldt + * lconfig.h.in 1.1 + * local.cnf.in 1.1 + date and time created 99/11/13 19:25:02 by heiko + +Sat Nov 13 19:24:29 1999 Heiko Eissfeldt + * aifc.h 1.1 + * aiff.h 1.1 + * base64.h 1.1 + * byteorder.h 1.1 + * cdda2wav.h 1.1 + * config.h 1.1 + * global.h 1.1 + * interface.h 1.1 + * ioctl.h 1.1 + * lowlevel.h 1.1 + * md5.h 1.1 + * mycdrom.h 1.1 + * mytype.h 1.1 + * raw.h 1.1 + * resample.h 1.1 + * ringbuff.h 1.1 + * saveargs.h 1.1 + * scsi_cmds.h 1.1 + * semshm.h 1.1 + * setuid.h 1.1 + * sha.h 1.1 + * sndconfig.h 1.1 + * sndfile.h 1.1 + * sun.h 1.1 + * toc.h 1.1 + * wav.c 1.1 + * wav.h 1.1 + date and time created 99/11/13 19:24:29 by heiko + +Sat Nov 13 19:24:28 1999 Heiko Eissfeldt + * aifc.c 1.1 + * aiff.c 1.1 + * base64.c 1.1 + * cdda2wav.c 1.1 + * interface.c 1.1 + * ioctl.c 1.1 + * md5c.c 1.1 + * raw.c 1.1 + * resample.c 1.1 + * ringbuff.c 1.1 + * scsi_cmds.c 1.1 + * semshm.c 1.1 + * setuid.c 1.1 + * sha_func.c 1.1 + * sndconfig.c 1.1 + * sun.c 1.1 + * toc.c 1.1 + date and time created 99/11/13 19:24:28 by heiko + diff --git a/cdda2wav/FAQ b/cdda2wav/FAQ new file mode 100644 index 0000000..b68ec55 --- /dev/null +++ b/cdda2wav/FAQ @@ -0,0 +1,293 @@ +Frequently Asked Questions + +Status +====== + + +Q: What is the copyright status of cdda2wav? + +A: Cdda2wav is software copyrighted by Heiko Eissfeldt and released under the + General Public License from the Free Software Foundation (see file GPL). + +Compilation +=========== + + +Q: What are the requirements to run cdda2wav? + +A: All operating systems that are supported by cdrecord should also be able to + run cdda2wav. Currently DOS and Windows are not covered. + Requirements of previous versions of cdda2wav have been cut down for the + sake of portability. Features like fork(), realtime scheduling, or shared + memory are all optional now. You need a shell, which runs autoconf, a c + compiler (even a K&R compiler should work) and a c library to build cdda2wav + on a supported operating system. To run cdda2wav, a SCSI transport + implementation for the os, a cdrom or cd burner device to read from, and + at least say 65K of memory for buffers are needed. + + +Q: Why does it not compile under Linux, although I am using the newest kernel? + +A: There have been changes in the generic driver by Douglas Gilbert, that are + in its first release not compatible with the scsi library from Joerg + Schilling. We are working on this problem... + In the meantime better do not use this variant, use the older one instead. + + +Q: Why does it not compile using standard make? + +A: Like cdrecord, cdda2wav needs a sophisticated make program like Joerg + Schilling's smake or GNU gmake. Pure posix make functionality is not enough. + +Setting Up (for now Linux only) +=============================== + + +Q: Should I use scsi emulation or the eide driver for my ATAPI cdrom drive? + +A: Scsi emulation is preferred, since it enables cdda2wav to use more commands + and is often the only way to get special information like track titles with + cd-text. The emulation module is called ide-scsi, the eide module is called + ide-cd. + + +Q: How can I use my parallel-port-connected cdrom with cdda2wav? + +A: Under Linux there is a driver, that makes this device under SCSI + emulation available. For more information see the cdrecord documentation. + + +Q: How do I check, if the current Linux kernel does support generic SCSI? + +A: run 'cat /proc/devices | grep "21 sg"' and see, if a line with 'sg' appears. + If it does not appear, the current kernel is not able to use the generic_scsi + interface. If you have generic SCSI support compiled as a module, see next + question, otherwise you need to recompile the kernel and enable generic SCSI. + You might try to use the 'cooked_ioctl' interface as a last resort, but then + you need to supply a cdrom device with -D (like -D/dev/cdrom). In this case + cdda2wav completely relies on the cdda reading methods from the kernel + driver, so it might not work (due to unsupported). + + +Q: How do I load the generic SCSI module by hand? + +A: run 'insmod sg' and check the result (see above). + + +Q: How do I find the device setting for my drive? + +A: Under Linux use the script scan_scsi.Linux. It prints the available devices + and their respective device option to be used. + Be aware of the fact that the generic device naming may change whenever the + devices on the SCSI bus change (present or not present). + +General usage (sampling) +======================== + + +Q: How do I record the whole cd, each track in a seperate file? + +A: Use the '-B' option. This will automagically create a file for each track. + + +Q: How do I record the whole cd into one file? + +A: Just extend the default recording time from one track to a big enough + time in seconds to cover the whole cd (like -d99999). + + +Q: How do I record successive tracks (a track range) into seperate files? + +A: Use the '-B' option and -t+. + + +Q: How do I record successive tracks (a track range) into one file? + +A: Use -t+. + + +Q: How do I record different tracks into seperate files with individual file + names? + +A: Use the supplied script 'readmult'. For usage see the comments at the + beginning of the script. + + +Q: How can I get the highest speed out of cdda2wav? + +A: See the file README. There is a section about performance and what is + influencing it. + + +Q: How can I burn audio cds with cdda2wav and cdrecord on-the-fly? + +A: This has not been tested very well, so caveat emptor. It is possible to + use cdda2wav and cdrecord with pipes, _but_ there are several issues. + 1.: The cd drive may become too slow to keep cdrecords buffer happy, when + a scratch on the audio cd is encountered, and several retries take place. + 2.: Currently there is no way to carry individual track information from + cdda2wav to cdrecord. Several information bits are available very late + but are needed in advance from cdrecord. + 3.: Some operating systems have limitations in multiple SCSI accesses and + other ressources (shared memory). cdda2wav and cdrecord may block each + other, or might fight over limited ressources. + For these reasons it is not recommended to burn on-the-fly with cdda2wav. + +Frontends +========= + + +Q: Which frontends for cdda2wav are available? + +A: See the file 'Frontends'. There are command line and graphical frontends. + +Album and track titles +====================== + + +Q: Does cdda2wav support titles from cd extra (aka cd plus aka enhanced cd)? + +A: In general, yes. In order to get this information, cdda2wav needs to read + a data sector from the second session of the cd. This requires multisession + support and the capability to read XA sectors. The titles are printed on the + screen and written into the inf files, then. + + +Q: Does cdda2wav support titles from cd-text? + +A: Newer versions support the most important features of cd-text like titles + and creators. Non-supported are currently 16-bit characters, so asian + titles etc. are currently not available. + + +Q: Does cdda2wav support CDDB ids? + +A: Yes, while it does not make CDDB lookups itself, it supplies an cddb file + with the table of contents and the cddb id. For cddb lookups see the + perl script tracknames.pl and tracknames.txt. If the titles are known to + cdda2wav, it fills the titles itself in the cddb file. + + +Q: What is the MCN? + +A: The media catalog number is an unique id for the audio cd release. It is + similar to the ISBN for books, but unfortunately it is included only on + some audio cds. + + +Q: What is the ISRC? + +A: The International Standard Record Code is an unique id for a track. Like the + MCN (see above) it is an optional item. + +MP3 coding +========== + + +Q: Does cdda2wav support on-the-fly mp3-coding? + +A: Yes. As of version 1.9alpha I integrated the LAME encoding engine as a new + output format. + To support external encoders, I added two scripts. The trick + is to avoid big temporary files. There are three versions (cdda2mp3.file, + cdda2mp3.pipe, and cdda2mp3.fifo), the first using files, the second uses + pipes, and the last uses a named pipe (also called fifo). The examples + use the Fraunhofer encoder 'l3enc', which is a commercial product and has + to be purchased seperately. Other encoders should be usable in a similar way. + +Conversions +=========== + + +Q: How do I create a file suitable for cd burning? + +A: If you are using cdrecord, you can produce cdr or wav files. To select + cdr files, use -Ocdr, to select wav files use -Owav (the default). + Audio files that have been recorded with a length not a multiple of the + audio sector size 2352 bytes, should be used with cdrecords -pad option. + + +Q: How do I convert a wav file into a cdr file (my other cd burning program + does not accept wav format)? + +A: Use 'dd if=wavfile of=cdrfile conv=swab ibs=44 skip=1 obs=2352' + + +Q: How to convert cdr to wav? + +A: Use sox, the sound utility. It supports other formats as well. + +Specials +======== + + +Q: Does cdda2wav support the pre-emphasis bit? + +A: If the table of contents marks a track as pre-emphasized, the corresponding + inf file will have this information, too. That enables a cd burning program + to retain the state of the track. + + +Q: Can cdda2wav undo the pre-emphasis effect in the samples? + +A: Yes, if the -T option is given (and cd quality is selected), + cdda2wav filters the samples with the reverse emphasis on-the-fly. This has + been checked with a sine sweep from a pre-emphasized test cd. + + +Q: My cdrom delivers the stereo channels swapped. How can I undo this? + +A: Use the -cs option. + + +Q: Does cdda2wav support indices? + +A: Yes, but since there are positioning problems with a lot of drives, + information might be inaccurate. A start index can be specified with the + -i option. To get all indices, use the -v7 option. + + +Q: Can cdda2wav avoid including the pre-gap region at the end of the track? + +A: Currently not. This might be added later, but is not easily done. + + +Q: How can I get all information about the cd without writing files? + +A: Use the -J option, which switches analysis to the max, and aborts after + the report. + + +Q: Can cdda2wav display/save the graphics on my CD+graphics disc? + +A: No, this is not planned. A seperate X11 program could do that probably + better. + + +Q: Can cdda2wav read the audio portion from my CD-I/Video-CD/DVD mpeg streams? + +A: No, these are special formats, which require much more effort. + +User support/feedback +===================== + + +Q: Cdda2wav is great. How can I support you to encourage further development? + +A: Look into the file NEEDED. Also constructive criticism and feedback is + appreciated. + + +Q: I want to port cdrtools (cdrecord/mkisofs/cdda2wav) to a new platform (like + DJGPP,cygwin,os/2). How should I proceed? + +A: It would be convenient to have a unix like environment (like cygwin provides) A shell, and a make program would be needed to first create smake (in order + to make the makefile system working). Another critical component is autoconf. + Once that is running, os dependent interfaces and the SCSI library should be + adjusted. For the makefile system and the scsi library please contact Joerg + Schilling. + + +Q: Cdda2wav sucks. Are there other alternatives available? + +A: Yes, for Linux you might try 'cdparanoia' from Monty (see README file). diff --git a/cdda2wav/Frontends b/cdda2wav/Frontends new file mode 100644 index 0000000..16682ac --- /dev/null +++ b/cdda2wav/Frontends @@ -0,0 +1,34 @@ +This file lists additional free frontend software to be combined with cdda2wav: + +graphical frontends +=================== + +BurnIT (http://sunsite.auc.dk/BurnIT/) + by Jesper Petersen + a Java based frontend for cdrecord and cdda2wav/cdparanoia + +Grip (http://www.ling.ed.ac.uk/~oliphant/grip) + by Mike Oliphant + a GTK+ Frontend for audio extraction and MPEG 1 Layer 3 conversion + (incl. CDDB support) + requires libcdaudio (also by Mike Oliphant) + +Krabber (http://members.tripod.com/~fehlfarben/download.html) + by Adrian Schroeter + a KDE frontend for cdparanoia and MPEG 1 Layer 3 conversion + (incl. CDDB support) + +script frontends +================ + +Cdr Create/Duplicate/Rip (ftp://ftp.burdell.org/pub/) + by David Cantrell + a ncurses based Perl script for CDDA to MPEG 1 Layer 3 conversion + (incl. CDDB support) + requires xmcd + +Ripenc rip encoder (http://www.asde.com/~mjparme/index.htm) + by Michael J. Parmeley + a shell script frontend for CDDA extraction and MPEG 1 Layer 3 + conversion + (incl. CDDB support) diff --git a/cdda2wav/GPL b/cdda2wav/GPL new file mode 100644 index 0000000..a43ea21 --- /dev/null +++ b/cdda2wav/GPL @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/cdda2wav/HOWTOUSE b/cdda2wav/HOWTOUSE new file mode 100644 index 0000000..3e53a4a --- /dev/null +++ b/cdda2wav/HOWTOUSE @@ -0,0 +1,101 @@ +Cdda2wav User guide +=================== + +NOTE: expressions in angle braces have to be substituted with + the corresponding numerical values. + For example: has to be substituted + with the numerical value to be used. + +Common tasks +============ +NOTE: The examples used here depend on proper default settings for interface +method and devices as specified in the Makefile. They can be overriden with +command line parameters, but here I choose to focus on simple examples. + +Copy complete audio CDs + +1. Copy an audio CD into wav files one per track. + + cdda2wav -B + + will produce the sample wav files (one per track) + audio_01.wav + audio_02.wav + ... + + and the corresponding description files + audio_01.inf + audio_02.inf + ... + +2. Same as above but include MD-5 type signatures + + cdda2wav -B -M + + +3. Same as above but use other file name ('party_cd.wav') + + cdda2wav -B -M party_cd.wav + + +Copy single tracks + +1. Copy one track (eg track 6) into a wav file. + + cdda2wav -t6 + + will produce a wav file including track 6 + + audio.wav + + and + + audio.inf + + +Copy parts of tracks + +1. Copy from given start time to end of track + + cdda2wav -t6 -o + + will record track 6 starting at track time /75 seconds + from track beginning upto the end of track. + +2. Copy from given start time and record for a given time + + cdda2wav -t6 -o -d