-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAN-2.0
More file actions
1607 lines (1040 loc) · 53.5 KB
/
AN-2.0
File metadata and controls
1607 lines (1040 loc) · 53.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
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 <[email protected]> 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 [email protected]):
- The paranoia code from cdparanoia (written by Monty [email protected])
has been converted into a portable library.
/*--------------------------------------------------------------------------*/
Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt [email protected]):
- 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 <[email protected]>
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 <[email protected]>
- 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 <[email protected]> for the idea and first
code fragments for supporting the CDROM_SEND_PACKET ioctl() from
the cdrom.c kernel driver. Please note that this interface in principle
is completely unneeded but the Linux kernel is just a cluster of
code and does not support planned orthogonal interface systems.
For this reason we need CDROM_SEND_PACKET in order to work around a
bug in the linux kernel that prevents to use PCATA drives because
the kernel panics if you try to put ide-scsi on top of the PCATA
driver.
The code is currently in "status nascendi" but usable with some trade offs.
To use: call e.g.
cdrecord -scanbus dev=ATAPI:
cdrecord -dao -v speed=24 dev=ATAPI:0,0 ....
Be careful! This code is only needed in order to be able to use
PCATA CD-writers on notebooks because there is a severe kernel bug.
Unfortunately, this bug causes the kernel to hang (and force you
to reboot) if you try to call:
cdrecord -scanbus
without the dev=ATAPI: option.
In this case cdrecord will hang infintely and unkillable
in open("/dev/sg1", 2) => you need to reboot :-(
Repeat by: Insert a PCATA CD-Writer in a Sony VAIO notebook and run
cdrecord -scanbus.
- Enhanced list of SCSI Error texts from SCSI standard from 29.5.2001
- New callback function to allow execption handling to be done after
the current SCSI command did finish.
- scsi-aix.c now uses UIntptr_t in alignement macro.
- Some 64 bit casts in the USCSI code from scsi-sun.c
For hints on the Linux Packet code in ide-cdrom.c read README.ATAPI
- Introduce a workaround for a conceptional Bug in the Linux kernel
SCSI implementation.
Linux is unable to distinct between a target selection timeut (e.g. switched
off target) and a command timeout (e.g. command needs more time than expected).
If the detected command time is < 1 second, libscg will now assume a dead target.
- Fix a bug with ATAPI in scsi-vms.c - now the SCSI status byte is OK
Thanks To Eberhard Heuser
- Allow up to 26 IDE controlers in scsi-vms.c - Thanks to Chip Dancy
- Do not open all /dev/scg* devices on Solaris if not in Scanbus mode
- Handle ENXIO in Solaris USCSI interface code as indicator for a
switched off device.
- Max DMA size for Linux ATAPI Packet interface code corrected.
Max DMA is 128k-1 and not 128k.
- Support for recently defined new SCSI target types found in SCSI
standard.
- New help system that lists all SCSI low level transports for a specific
platform together with their properties.
- Allow consistent usage of alternate SCSI transport layers.
Now the Solaris USCSI implementation and the (SuSE) Linux ATA implementation
behave similar and both allow dev=<Transport> as well as dev=<Transport>:
for -scanbus, e.g.
cdrecord dev=USCSI -scanbus
cdrecord dev=USCSI: -scanbus
cdrecord dev=ATAPI -scanbus
cdrecord dev=ATAPI: -scanbus
all work the same way.
- Small change for Linux device initialization by request of Linus Torvalds
The purpose of this change is to support a new SCSI transport interface
for ATAPI in Linux that came up with the latest developer Linux kernels
(e.g. Linux-2.5.43). This interface allows to send SCSI commands directly
to ATAPI drives without using ide-scsi and sg, but it has several pitfalls.
While Linux allows to use DMA when using ide-scsi and sg if the
sector size is 2048 and the transfer buffer starts page aligned, the new
direct interface never uses DMA (acording to Linus Torvalds). So if you
write audio CDs or data CDs in RAW mode, there is no difference. If you
write data CDs in TAO or DAO mode, using ide-scsi and sg allows much
higher write speed. Note that this may change in future....
Notes for use:
- You need to specify something like dev=/dev/hdc
Note that this is unsupported by libscg.
- As long as there is no safe way for libscg to find out early that
this new interface is used, libscg may hang a bit on open.
This is caused by the fact that libscg is forced to read
from the open filedscriptor to clean up old Linux sg driver
interfaces. This was never a problem with /dev/sg*, but
when doing the same thing, this causes libscg to read content
from /dev/hd*
- There is (currently) no way for cdrecord to scan for ATAPI
devices when using this interface.
As long as this is true, you may want to prefer to use
cdrecord dev=ATAPI: -scanbus
and
cdrecord dev=ATAPI:0,0 ...
instead.
- Fix scsi-unixware.c to allow multiple opens.
- Fixed several typo's.
- Avoid to read from the media (when using the new experimental
Linux ATAPI transport) while trying to clear old sg driver status.
- Woraround for Linux kernel design bug: CDROM_SEND_PACKET sets errno
to EINVAL in case SCSI sense key is "Invalid command".
/*--------------------------------------------------------------------------*/
Rscsi:
- RSCSI now works if the target is a Win32 system.
This is not done by changing rscsi.c but by fixing a bug
in Cygwin!
The fix to Cygwin's rshd is posted in
http://sources.redhat.com/ml/cygwin-apps/2001-05/msg00000.html
Thanks to egor duda <[email protected]>
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" <[email protected]> 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 <[email protected]>
- Sony MMC drives now work in -multi session mode.
There was a bug in cdrecord that was accepted by all other drives.
The bug did cause a temporary bad setup to the drive.
- I hope that the 90 minute CD capacity warning now will finally
disappear for DVD writers.
- Old test code removed that prevented cdrecord from being able
to write manually configured indices. Note that the index lists
from the *.inf files with using the -useinfo option alway worked.
- -force will force cdrecord to ingnore any failed forced OPC.
currently this is only done if the drive does not support
forced OPC.
- Do forced OPC before blanking a CD-RW
- Driveropts "burnproof" renamed to "burnfree".
This has been done as this technology now appears in the MMC standard.
- Cdrecord now shows whether BURN-Free is active. This makes
sense as Ricoh's "Just-Link" is enabled by default.
Unfortunately, the way "Just-link" is implemented is not compliant
with the MMC standard. We will have to wait until I get the needed
information from Ricoh.
- Support for MMC RAW mode writing.
This allows to do disk at once recording on Philips drives that
do not support SAO.
You may write audio tracks in RAW mode. There are some new
and most likely transient options:
-raw16 Write 2352 Bytes sectors + P+Q Subchannel
-raw96r Write 2352 Bytes sectors + P+W Subchannel (R-W in raw mode)
-raw96p Write 2352 Bytes sectors + P+W Subchannel (R-W in packed mode)
Indices are fully supported in RAW mode.
MCN & ISRC are not yet suported in RAW mode, they are silently discarded.
I know that cdrecord currently does not work in RAW/R96P mode.
It is not clear whether this is a bug in cdrecord or in the Plextor
firmware as I did not yet found another drive that claimes to support
RAW7R96P.
If you find other problems in RAW mode or if you find
new bugs introduced in old write modes, please send a bug report.
- Cdrecord now checks the properties of the writer. If a specific write
mode is not supported by the writer, cdrecord warns you and makes
a suggestion for a similar alternate write mode.
With the curent structure of cdrecord, it is not possible to silently
e.g. change the write mode from -dao to -raw96r
- MMC compliant drives are automatically scanned for supported write modes.
This should help to make cdrecord work without manual static configuration.
My hope is still to have no need to know all drive properties in
advance, so new drives will continue to work as long as they
are standard comliant enough for cdrecord.
NOTE for GUI implementors:
the line starting with the text:
"Checking possible write modes:"
will go away in the near future.
The line starting with:
"Supported modes:"
will remain and should be checked for possible write modes.
- Fixed a bug in the option checking that prevented to write
data CD's at all.
Now only "RAW data" CD's are flagged as expected.
- Fixed a bug in the Firmware bug recognition system.
This bug did prevent cdrecord to work with Philips drives
when writing in RAW mode.
- New options -copy & -nocopy to allow to modify the 'copy' bit
in audio subchannel data.
- -scms option added to the man page and online help.
- New model to compute SCSI transfersizes
- -xa1 -xa2 sector typedefinitions changed.
- Debug messages while checking possible write modes of MMC
compliant made optional.
- RAW writing scatter sector function made more general
- New functions to convert between 2448 and 2368 byte sectors
NOTE: Read README.raw
- add a forgotten if (xdebug) in drv_mmc.c.
This caused a superfluous write mode debug message to be printed
- do installation of exit handlers (to reset SCSI state) earlier
- Cdrecord now does not exit with 0 anymore when interrupted with ^C
during the waittime before starting to write.
- First CD-Text support (can only copy CD-Text information from master
disk)
Writing of CD-Text is supported for all drives that support
CD-Text in SAO write mode and for all drives that support
to write in RAW/RAW96R mode (use -raw96r in this case).
NOTE: Read README.cdtext
- Circumvent a bug in the system include files from Linux that
makes printf() a macro and prevented compilation with GCC-3.0
- Added some #include <stdio.h> to substitute missing printf() definitions
- SAO/R16 mode removed from tests, it may never occur.
- Changed some .min defines in structs to .pmin to avoid K&R complier
problems
- better FIFO debug messages
- New driver config table for Taiyo Yuden EW-50.
This dive is like a Philips CDD-521 but has been reported to
swab audio data.
- rscsi client code now uses buffered read to speed up on Cygwin
- rscsi client code now uses signal safe read/write functions
- Cdrecod now does not open/close the tray anymore if the disk
is going to be erased.
- modify -version output if Clone writing support is present
- A new driver has been added that first checks the media if the drive
supports to write CD & DVD.
- Behaviour of the function that reads fs= tsize= and similar
corrected.
- Modified driver interface for better DVD support
- FIFO Code now checks for HAVE_FORK (added by request of
"Thomas" <[email protected]> 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