home *** CD-ROM | disk | FTP | other *** search
/ modiromppu / modiromppu.iso / PROGRAMS / ORGPACKS / CDDA.ZIP / CDDA.DOC next >
Text File  |  1997-01-26  |  80KB  |  1,609 lines

  1.  
  2. CDDA Version 1.7 (build 0x0189) - This is the twelfth release of CDDA.
  3. Homepage:  http://www.ncf.carleton.ca/~aa571/index.html
  4.  
  5. CDDA - What is it?
  6. ------------------
  7.  
  8. CDDA is a DOS PC based utility that allows the user to extract digitally
  9. perfect copies of samples from audio CDs.  It also allows the user
  10. to extract MPEG streams from CDi Digital Video CDs, XA frames from 
  11. CD-XA CDs, and CD+G data from audio CDs.  It now supports SCSI drives
  12. through the ASPI drivers, ATAPI drives through the ASPI drivers in
  13. Windows 95, ATAPI drivers through the ATASPI drivers, and most other
  14. drives through the MSCDEX interface.
  15.  
  16. **** NOTE **** Release 1.0h was the last free release of CDDA.
  17.  
  18. Since then I have made some drastic changes to the program to 
  19. include XA and most importantly CDi.  It is because of the fact
  20. that Phillips in their infinite wisdom want to "license" their
  21. CDi technology, that I must now turn CDDA into shareware.  I am
  22. not happy about having to shell out several hundred dollars to 
  23. get ahold of their "GREEN" and "WHITE" books.  The new registration
  24. fee is small, and I don't intend to screw the user with paying a 
  25. more than $100US fee before knowing if it may or may not work for them.
  26.  
  27. Starting with version 1.6 all new features and bug fixes will only
  28. be available to REGISTERED USERS.  The unregistered version will still
  29. work for extracting DA, but other data modes are in the registered
  30. version only.  When you register I will email you
  31. a key file that will allow you to use all the wonderful new
  32. features.  It will also get you a registration number that you
  33. can use when you email me for support.  Hint: expect much better
  34. support when you are a registered user.  I have received thousands
  35. of requests for support, and I just don't have time to give each
  36. person a lot of help if they don't register.
  37.  
  38. The following is a list of all the new features that have been
  39. added to version 1.6.  Only registered users will be able
  40. to use them.  The only exceptions to this are the /ATASPI and
  41. the /95ATAPI modes.
  42. -------------------------------------------------------------------
  43. * /MINLBA   <override value of the first frame (LBA) of the CD>
  44. * /MAXLBA   <override the frames (LBA) from the end of the CD>
  45. * /TM       <stop MM:SS:FF from end of track>
  46. * /TP       <start MM:SS:FF from start of track>
  47. * /RESET    - reset the drive before extracting data
  48. * /SPEED    <speed at which to extract data 1, 2, 4 times etc.>
  49. * /CHANNEL  <audio channel (STEREO, LEFT, RIGHT, MONO)> 
  50. * /FORMAT   <CDDA file format (WAV, AIF, VOC, BIN, HEX)>
  51. * /SAMPLE   <audio sample size in KHz (44, 22, 11)>
  52. * /MODE     <data mode>
  53.              CDDA      - read raw CD-DA frames
  54.              XA        - read raw CD-XA frames
  55.              CDG       - read raw CD+G data
  56.              2048F1, 2056F1, 2324F2, 2332F2 - x form y frames)
  57.              CDIVIDEO  - read plain MPEG video from a CDi disc
  58.              CDIAUDIO  - read plain MPEG audio from a CDi disc
  59.              CDIRAW    - read raw MPEG video/audio from a CDi disc
  60. * /LRSWAP   - swap the left and right audio channels
  61. * /LMSWAP   - swap the LSB/MSB of the audio channels
  62. * /ADLC     <scale factor for Automatic Digital Level Control>
  63. * /DL       - display average digital level
  64.   /ATASPI   - force CDDA to use ATASPI device driver
  65.   /95ATAPI  - force CDDA to use ATAPI drive under Windows 95
  66.  
  67. As well, the average data extraction speed, and average DA jitter
  68. will be displayed at the end of the registered program.  These may end 
  69. up being very useful tools to help identify which drives do the best job
  70. at extracting DA.
  71. -------------------------------------------------------------------
  72.  
  73. I know I've said it before, but this could be the last release of CDDA.
  74. As far as I can tell, it seems to work fairly well on most machines now.
  75. Unless there is a life threatening bug found, I can't expect to
  76. have the time to put into this program for a while.  The amount
  77. of email I get now is getting to be a problem. If you want help
  78. make sure you send me all the info about it, if you expect
  79. me to respond quickly.  I don't give high priority to messages
  80. like - "Please help.  I can't get your program to work."  If you 
  81. don't tell me a LOT more than this, don't expect much in the way of help.
  82.  
  83. PS: I have been getting a lot of mail from people who are having trouble
  84. running CDDA.  It turns out most of them are running it in a DOS box
  85. under Windows.  This is usually a bad thing.  I have added a check to
  86. see if either disk caching or Windows is running, and if so will warn
  87. you of the potential problems.  Again I really don't expect to have a
  88. version that will run reliably under Windows any time soon.  CDDA has
  89. been running very well for the last few months, and it would appear that
  90. it is stable enough not to need any more updates.  I just don't 
  91. have any more things I can fix.
  92.  
  93. Some History
  94. ------------
  95.  
  96. In February 1993, I needed to get some audio samples into digital
  97. form on my PC.  Toshiba had just released the 3401 CDROM drive
  98. which allowed reading of DA frames across the SCSI bus.  Because
  99. there were no programs available to do this, I had to write my
  100. own.  I used it to get the samples, and then left it alone because
  101. I had no idea anyone else wanted to do this.  Some months later
  102. CDGRAB came out, but they wanted much too much money for their
  103. program, so I cleaned up the program and released it as CDDA09A.ZIP.
  104.  
  105. Note:
  106. Some time later I heard from a very irate person who told me I
  107. couldn't use the name CDDAxxx.zip because he was already using
  108. the name.  I've looked everywhere, used ARCHIE, and asked people
  109. who seem to know every program on the net, and no one has seen
  110. this guy's program.  However, in the interest of keeping peace on
  111. the net, I have changed the distribution file name to DA2WAV1G.ZIP.
  112. The program itself will still be called CDDA.
  113. NB: I finally found this elusive CDDA.  It turns out to be a CD 
  114. Duplicate Analyzer to search for duplicate files on two different
  115. CDROMs.
  116.  
  117. The first release fully supported the Toshiba 3401 CD-ROM drive.  I have
  118. since added a whole bunch more including MSCDEX only. I have given 
  119. prerelease versions of my program to people who have to some degree 
  120. had success with other drives.  I have no guarantees that this program 
  121. will work with your drive.
  122.  
  123. Since the release of 1.0a I have heard from people who were having
  124. trouble with the NEC 74-1/84-1 drives.  So, I went out and borrowed
  125. one for a few days.  To my surprise the 84-1 didn't work.  The next
  126. thing I did was get the data sheets for the drive sent to me from
  127. the NEC faxback.  There is no mention of being able to read DA frames
  128. on that data sheet.  Next, I reread the NEC programming manual.  It
  129. says about the 74-1/84-1 drives "Read CD-DA is under consideration of
  130. content in the SCSI support commnds".  This suggests that it may
  131. or may not be supported.  Next I called NEC tech support.  They told
  132. me that "reading digital audio through the SCSI port is NOT supported
  133. on the 74-1/84-1 drives.  It is supported on the 3x and 4x drives."
  134. So, for the time being, I will leave in the code to support the 74-1/84-1
  135. drives.  If I don't hear from someone who gets it to work in the
  136. next while, I will remove the support and mention it in this file. I have
  137. also heard from someone who has a NEC 211 drive.  I have no idea what
  138. this drive is other than it is a 2X drive.  This person has had good
  139. success running CDDA.  I have also heard from someone with NEC 210 who
  140. has not had success.  If anyone knows more about programming for NEC
  141. drives please let me know.  To add to the NEC confusion, NEC tech
  142. support is still telling people that the 74-1 and 84-1 drives CAN
  143. read DA frames.  This is just not true.  If NEC can't get their own
  144. tech support staff trained, can you imagine the quality of their drives?
  145.  
  146. I wanted to be sure that I had full support for all the NEC drives,
  147. so I called tech support again.  This time I had to wait on hold for
  148. over an hour to talk to a tech droid tell me that he didn't know the
  149. answer, but would call me back later in the day with an answer.  That
  150. was six+ months ago and I haven't heard from him.  Next, I tried the email
  151. tech support for NEC.  I got an email back saying that they would look
  152. into it and get back to me right away.  I have sent follow up emails, and
  153. again I haven't heard from them in over six months.  I am not going to
  154. try any more NEC support. Period.  If they can't get their act together
  155. to support their users/developers, then everyone should buy drives
  156. from another vendor.  With all the trouble over the OEM'd 3x drive,
  157. I would think that no one would ever buy a NEC drive again.  BTW, has
  158. anyone heard of a NEC drive since the final version of the 74/84 that
  159. actually works correctly?  I know I haven't, and that includes all the 
  160. new 4x and IDE drives.  I you know otherwise let me know.  In the mean
  161. time I might suggest another vendor.
  162.  
  163. There has been a lot of talk about the Mitsumi drives and whether 
  164. they will work with CDDA and like programs.  The bottom line is this:
  165. I talked to an engineer in the CDROM group at Mitsumi, and he told
  166. me that none of their drives will read DA frames, and that none
  167. of their drives ever will.  It appears that Mitsumi is concerned about
  168. the copyright issues of CDDA.  I know we have all heard rumours about
  169. people getting the drives to work, but I trust the word of the head
  170. s/w designer for CDROM drives over a fourth hand rumour.  If your
  171. drive has a part number like FX001D or FX400, then you have a Mitsumi
  172. drive and you won't get DA from your drive.
  173.  
  174. The reason I have left the Mitsumi in the program is that the Mitsumi drives 
  175. WILL read XA/CDi frames.  For that reason, you can extract your MPEG 
  176. movies, but you can't extract DA.
  177.  
  178. Different ROM revisions cause the drives to do things differently.  One
  179. version may work just fine and others might not.  It is very tough for
  180. me to help with drives that don't work, when I don't have one of
  181. those drives to work with.  If your drive revision is on the bad list,
  182. I don't know what to tell you.  Perhaps you can make a really big
  183. stink with the manufacturer and have them upgrade your rom.
  184. Here is a list of known good and bad rom revisions.  I will add to this
  185. list as I receive reports from the field.  Hint: that means if you get
  186. this program working, please, please, please send me dumps of the
  187. output, so I can update these docs.  You will notice no changes to 
  188. this list since the last version of CDDA.  This is because I haven't
  189. received any dumps from people that have the program working.
  190.  
  191. good                  bad
  192. ----                  ---
  193. Sony 561 rev 1.9a     Sony 561 rev 1.7x
  194. Sony 561 rev 1.8p     Sony 561 rev 1.8f
  195. Sony 8012 rev 3.1e    Sony 55s 1.0q
  196. Toshiba rev 0283      Toshiba rev 2732
  197.                       Toshiba rev 3593
  198. NEC 211 rev 1.0       NEC 84-1 rev 1.0
  199.                       NEC 210
  200. (note: I'm giving up on this list because so few people report back
  201. with decent descriptions about what works and what doesn't.  Don't
  202. expect any new additions to this list.)
  203.  
  204. What drives support DA?
  205. -----------------------
  206.  
  207. I have heard from many different people who say such-and-such drive
  208. will read DA frames.  The following is a list of which drives which
  209. I understand have the ability to read DA frames, and that I have
  210. included support in CDDA: (thanks to bwilliam@iat.holonet.net 
  211. for starting this list).  Note: My including suport for a drive
  212. does not mean that it is guaranteed to work on your machine.  It
  213. means that I have either heard from someone who has managed to 
  214. get it to work or I have the programming manual for the drive and
  215. have included the code to support it.  Certainly don't go out and
  216. buy a specific drive on this list just because I said CDDA might
  217. work.  Be sure to try the drive before you buy.  As I said above,
  218. I get so little feedback from people who actually get CDDA running
  219. that I can't update this list.  Don't expect any more updates.
  220.  
  221. Apple 300, 300i, 300e (Sony CDU-8003, CDU-8003A, CDU-8012)
  222. Apple CD300+
  223. Chinon CDS-535
  224. COMPAQ CR503/CDU561
  225. DEC RRD42
  226. Goldstar GCDR-540 IDE
  227. HP 4020
  228. Nakamichi MBR7
  229. NEC CDR 200, 300, 400, 500, 600, 900 series
  230. NEC CDR 84-1/74-1 (rumoured with special firmware) (NEC told me that
  231.                    it didn't exist)
  232. Panasonic CR-562B/563B/572/574/581
  233. Pinnacle RCD1000/5030
  234. Pioneer 124/624
  235. Plextor 4Plex/6Plex
  236. Sanyo C3G IDE
  237. Sony CDU-561, CDU-31A, CDU-33A, CDU-55S, CDU-55E, 76E/76S
  238. Toshiba XM3301 (Silicon Graphics)
  239. Toshiba XM3401, XM4101, (XM3501 with 0925 and later firmware), 3601, 5302
  240. Hitachi
  241. Matshita (Panasonic) 503
  242. Yamaha CDR100/102
  243. Kodak PCD225,6x/Philips CDD522/Plasmon RF4100/JVC XRW2001
  244.  
  245. The code to support the Pinnacle drives is included in CDDA.  However,
  246. as of this writing, there is a problem with some of the RCD1000 drives 
  247. that prevents CDDA from running.  I have heard from tech support that 
  248. they might have a ROM revision that will fix the problem.  If you 
  249. have one of these drives I suggest that you call Pinnacle and scream
  250. at them for the fix.  The newer 5020 and 5040 drives should work fine
  251. with CDDA.
  252.  
  253. There are a whole slew of new drives coming out with the ATAPI.  A
  254. lot of rumours are floating around as to whether they will work or
  255. not.  Toshiba especially is coming out with a new drive every other
  256. week it seems. Until I can get more detailed results, I will not enter 
  257. them in the supported drive list.
  258.  
  259. You may want to run CDROMINF.EXE and have a look at the output.  If
  260. there no mention of being able to read RAW frames, and/or the
  261. RAW READ SIZE is not 2352, there is no chance that CDDA will work
  262. using the MSCDEX interface.  Also, if it reports that your drive
  263. supports reading RAW, that DOES NOT mean that CDDA will work.  It
  264. all depends upon the person who wrote the driver for your drive.  If
  265. he/she passes DA frames to MSCDEX, you're laughing.  Otherwise,
  266. you're out of luck.  Starting with verion 1.6 of CDDA, CDROMINF is
  267. no longer distributed with CDDA.  It is now a separate program available
  268. from Simtel in msdos/cdrom/cdinf11.zip.  There are also pointers
  269. to the most recent version of CDROMINF on my homepage:
  270. http://www.ncf.carleton.ca/~aa571
  271.  
  272. If you have an ATAPI drive then you might also want to run another
  273. program of mine called ATAINF.  It will display a lot of information
  274. about your drive and will tell you if it can read digital audio.  The
  275. file is available from Simtel in msdos/cdrom/atainf11.zip.  There are
  276. also pointers to the most recent version of ATAINF on my homepage:
  277. http://www.ncf.carleton.ca/~aa571
  278.  
  279. There are rumors that the Mitsumi LU055 drive will work using the
  280. MSCDEX interface, but I have yet to hear specifically what version
  281. drive, and what version driver works.  NO OTHER Mitsumi drives are 
  282. supported.  It is not my fault, it is Mitsumi's fault.  Complain 
  283. to them not me.
  284.  
  285. If you know or think you know of other drives, let me know and I will
  286. do some investigating.
  287.  
  288. What is this CDi support?
  289. -------------------------
  290.  
  291. Phillips has developed a standard for storing about an hour of video and
  292. audio on a standard CD.  The data is really a long MPEG I stream.  CDDA
  293. will allow you to extract either the raw MPEG stream, or just the
  294. video stream.  You can then play back the movies with any of the 
  295. standard MPEG file players.  Have a look at the included file CDIFAQ.TXT.
  296. This gives a very basic run down of what CDi is all about.
  297.  
  298. Phillips has two disc standards: WHITE book and GREEN book.  Green
  299. book was the first standard, but was really only any use if you
  300. were using a real CDi player.  It has a proprietary file system
  301. and most CDROM players won't accept the discs.  Phillips finally 
  302. smartened up and decided that they wanted to expand their market
  303. so they came up with the White book standard.  The only difference
  304. is that these new discs come with the file system built around
  305. ISO 9660.  This way most every CDROM drive in the world will allow
  306. you to look at the directory structure.  To get at the movie data
  307. you still need a drive that supports CDi.  Fortunately, as far as
  308. my program is concerned, if your drive supports XA and you have a
  309. White book disc, then you are probably ok.
  310.  
  311. When you have a White book CD installed, CDDA detects this and will
  312. attempt to display a list of MPEG streams contained on the disc.
  313. They should be displayed as file names from the CD in the form 
  314. of /MPEGAV/*.DAT.  It should also give you an idea of the starting
  315. block of the stream if you want to use the /LBA option.
  316.  
  317. Have a look at the included file CDCOMPAT.TXT.  It is a list from Sigma
  318. Designs (the people who make the RealMagic MPEG card) as to what
  319. CD-ROM drives work with CDi movies and what don't.  Have a look at this
  320. list before yelling at me because your drive doesn't work.
  321.  
  322. What about CD+G?
  323. ----------------
  324.  
  325. CD+G is a standard way of encoding pictures and lyrics in the unused
  326. bits of the audio data stream on plain audio CDs.  Very few CDs have
  327. this data, but for those that do, it is kind of neat to see in action.
  328. As of version 1.6, CDDA allows you to extract the raw CD+G data which
  329. is really contained in the R-W subcodes.  You can then use my CDGPLAY
  330. program to play the data, or use CDGPLAY to play directly from the
  331. CD.  Have a look at my home page for pointers to the most recent
  332. versions of CDGPLAY.
  333.  
  334. How do I use this program?
  335. --------------------------
  336.  
  337. This is a command line utility which allows the user to specify the start
  338. and end points of the data transfer and the output type.  The start and
  339. end points may be entered in one of three modes,: LBA, MSF and T (track).
  340. Make sure that you don't use more than one of these modes in the
  341. command line because it really confuses the parser in CDDA.
  342. Logical Block Address mode is the number of the frame from the start of
  343. the disc. Minute, Second, Frame mode specifies the time from the start
  344. of the disc in actual time.  Track mode allows you to dump an entire track
  345. (or song) to disk.  The LBA and MSF are related by the following formula:
  346.     LBA = Minutes * 60 * 75 + Seconds * 75 + Frames - 150
  347. The lead in track is usually 150 because there are usually 2 empty
  348. seconds at the start of a CD, but it can also be any number +- 75 frames
  349. from 150.  A commmon number other than 150 is often 182 or 183.
  350. The Toshiba, NEC and MSCDEX programming manuals define the LBA equation
  351. to be as above with -150 at the end.  The Sony manual is very vague,
  352. and it could be interpreted as either -150 or as -(lead in track).
  353. Since two of the three manuals say clearly -150, I have chosen
  354. -150 for the Sony as well.  I managed to do a fair bit of testing on
  355. a Sony 561 drive, and it appears that the -150 figure is correct.
  356. If anyone has more precise information on the Sony please pass it along.
  357.  
  358. -------------------------------------------------------------------------
  359. Usage:CDDA <range of audio mode><drive mode><data type mode> /F filename 
  360.  
  361. Modes marked with an * are available only in the registered version
  362.  
  363. Modes to select range of audio to extract: /MSF, /LBA /T
  364. Defaults: none
  365.   /MSF      - times in minute, second, frame format (MM:SS:FF)
  366.   /LBA      - times in Logical Block Address format (xxxxxx)
  367.   /T        <track number>
  368.   /S        <start time for MSF and LBA mode>
  369.   /E        <end time for MSF and LBA mode>
  370.   /BLOCK    <number of blocks pulled from the drive at a time>
  371.   /OVERLAP  <number of overlap blocks used for jitter correction>
  372. * /MINLBA   <override value of the first frame (LBA) of the CD>
  373. * /MAXLBA   <override the frames (LBA) from the end of the CD>
  374. * /TM       <stop MM:SS:FF from end of track>
  375. * /TP       <start MM:SS:FF from start of track>
  376.  
  377. Modes to select drive type and interface
  378. Defaults: ASPI, first found SCSI/MSCDEX drive
  379.   /M        - force CDDA to use MSCDEX only instead of ASPI
  380.   /ATAPI    <IO:DEVICE>
  381.             - force CDDA to bypass ATAPI driver
  382.              IO (hex) address of IDE controller
  383.              DEVICE 0/1 for Master/Slave drive on IDE controller>
  384.   /ATASPI   - force CDDA to use ATASPI device driver
  385.   /95ATAPI  - force CDDA to use ATAPI drive under Windows 95
  386.  
  387.   /MSC      <drive letter of CDROM drive>
  388.   /ID       <scsi id of CDROM drive>
  389.   /LUN      <lun id of CDROM drive>
  390.   /ADAPTER  <ASPI scsi adapter number>
  391. * /RESET    - reset the drive before extracting data
  392. * /SPEED    <speed at which to extract data 1, 2, 4 times etc.>
  393.  
  394. Modes to select output data format
  395. Defaults: STEREO, WAV, 44KHz CDDA
  396. * /CHANNEL  <audio channel (STEREO, LEFT, RIGHT, MONO)> 
  397. * /FORMAT   <CDDA file format (WAV, AIF, VOC, BIN, HEX)>
  398. * /SAMPLE   <audio sample size in KHz (44, 22, 11)>
  399. * /MODE     <data mode>
  400.              CDDA      - read raw CD-DA frames
  401.              CDXA      - read raw CD-XA frames
  402.              CDG       - read raw CD+G frames
  403.              2048F1, 2056F1, 2324F2, 2332F2 - x form y frames)
  404.              CDIVIDEO  - read plain MPEG video from a CDi disc
  405.              CDIAUDIO  - read plain MPEG audio from a CDi disc
  406.              CDIRAW    - read raw MPEG video/audio from a CDi disc
  407. * /LRSWAP   - swap the left and right audio channels
  408. * /LMSWAP   - swap the LSB/MSB of the audio channels
  409. * /ADLC     <scale factor for Automatic Digital Level Control>
  410. * /DL       - display average digital level
  411.  
  412. Misc. modes 
  413.   /P        - Play audio CD sample range
  414.   /U        - estimated disk usage required for data
  415.   /O        - override copy protection bit
  416.   /NJC      - do not perform jitter correction on audio data
  417.  
  418. Note: filename extensions will automagically be added to the filename
  419.  
  420. e.g. CDDA /MSF /S 10:14:36 /E 13:55:11 /F outfile
  421. e.g. CDDA /LBA /S 106232 /E 109443 /F outfile /format bin
  422. e.g. CDDA /T 2 /F outfile /O /format aif
  423. --------------------------------------------------------------------------
  424.  
  425.  
  426. The /ADAPTER option allows you to manually set the number of SCSI  
  427. Adapter that has the CDROM drive you want to use.  This is useful i
  428. if my software incorrectly guesses which adapter your drive is using,
  429. or if you have more than one adapter in your system.
  430.  
  431. The /ID option allows you to manually set the SCSI ID of the CDROM
  432. drive you want to use.  This is useful if my software incorrectly
  433. guesses your drive's ID, or if you have more than one CDROM drive
  434. in your system.
  435.  
  436. The /LUN option allows you to manually set the SCSI LUN of the CDROM
  437. drive you want to use.  This is useful if my software incorrectly
  438. guesses your drive's LUN, or if you have a multi-CD drive in your system
  439. like the 6 Pack from Pioneer.
  440.  
  441. The /MSC option allows you to manually set the MSCDEX drive letter of
  442. the CDROM drive you want to use.  This is useful if my software incorrectly
  443. guesses your drive's ID, or if you have more than one CDROM drive
  444. in your system.  This option does not force the software into
  445. the /M (MSCDEX only) option.
  446.  
  447. The /M option forces the software to use only MSCDEX commands.  This
  448. may or may not work with your drive.  If you don't have a SCSI CDROM
  449. drive with ASPI drivers, an ATAPI drive under Win95, or an ATAPI 
  450. drive with ATASPI drivers, this is your only hope.  This option would
  451. be used with the Panasonic CR-562/563, Sony CDU-31A/33A drives.
  452.  
  453. The /ATAPI option is to bypass the device driver and MSCDEX for
  454. the DA specific portion of CDDA.  This new code is very preliminary
  455. and will probably hang your ATAPI drive once and a while.  I wrote
  456. this code to show that a drive can or cannot read DA, regardless of
  457. what the driver says.  If you find that using the /M option does
  458. not work with your ATAPI drive, try using the /ATAPI.  If it runs,
  459. even for a few frames, then your drive is not the problem when using
  460. /M, it is your device driver.  It is at this point that you need to 
  461. start screaming to your vendor about crappy software.  If /ATAPI
  462. doesn't work, and you have looked at the output of ATAINF which
  463. says your drive doesn't support DA, then you are really out of luck.
  464. ATAPI is followed by two parameters the IO address of the controller
  465. card, and the device number. eg. /ATAPI 170:1  The IO address can
  466. be one of the following 1f0 170 1e8 168, and the device can be either
  467. 0 (master) or 1 (slave).  You need to remember to use the /M option
  468. in addition to the /ATAPI option otherwise CDDA assumes that you
  469. are using a SCSI drive.
  470.  
  471. The /NJC option forces the software to not do any jitter correction
  472. to the data read from the CD.  This means that the program will run
  473. faster, but that the files created cannot be guaranteed to be 100%
  474. perfect copies. 
  475.  
  476. The /P option starts the CDROM drive playing the selected range of
  477. audio out either the headphone jack on the front or out the line level
  478. jack on the back.
  479.  
  480. The /BLOCK option allows you to set the number of blocks to be read
  481. from the CD at a time.  Before version 1.4a this was fixed at 10.  You
  482. can set it as high as 56 (assuming no overlap) to increase the 
  483. performance of CDDA by as much as 40%.  This magic number of 56 is
  484. the same as 128K of memory which appears for many systems to be a 
  485. magic number for the maximum number of frames you can read at a time.
  486. Associated with this option is the /OVERLAP option which allows you
  487. to specify the number of blocks overlap at the start and end of 
  488. each read from the disc to be used in the jitter correction.  Before
  489. version 1.4a the overlap was fixed at 3.  Many of the newer drives
  490. can run with an overlap of 1 to give higher performance, and many of
  491. the old drives often need an overlap of 3 or higher.  If you are getting
  492. jitter values which are always less than 275 then you should be able to
  493. use a jitter value of 1 or 2.  If you are getting too large jitter
  494. errors, then you can try making the overlap larger than 3 to see if
  495. that fixes the problem.  Remember that the memory buffer for reading 
  496. frames is 56 blocks long.  The formula for /BLOCK and /OVERLAP is
  497.  (overlap*2)+block <= 56.  You may have to play with the /BLOCK values
  498. to find ones that work optimally on your machine.
  499. When you are using CDi or XA modes the maximum value for /BLOCK has
  500. been fixed to 26, and the /OVERLAP values are always 0.  Since there
  501. is no need for jitter correction with CDi and XA the extended block
  502. size for DA is not necessary.  The magic number of 26 also applies to
  503. Windows 95.  If you use anything more than that it tends to crash.
  504. Play with values larger than 26 under Win95 at your own risk.
  505.  
  506. The /TM and /TP options can be used in conjunction with the /T command.
  507. The /TP command is used to start the extraction "Track Plus" amount of
  508. time after the start of the track. The /TM command is used to start the 
  509. extraction "Track Minus" amount of time before the end of the track.
  510. For example /T 2 /TP 00:30:00 /TM 00:15:00 would extract track number two
  511. starting 30 seconds into the track and ending 15 seconds before the end
  512. of the track.
  513.  
  514. The /MINLBA and /MAXLBA options are used to override the values returned
  515. by the drive for the Lead In Track and the Lead Out Track.  This allows
  516. you to manually set the effective start and end of the CD.
  517.  
  518. The /RESET command issues a SCSI reset to the CDROM drive before starting
  519. the extraction.
  520.  
  521. The /SPEED command is used to select the extraction speed of the drive. 
  522. For example /SPEED 4 would set the drive to 4X mode.
  523.  
  524. The /MODE command is used to select the type of extraction from the CD. 
  525. Default mode is CDDA. It can be any one of the following: 
  526.   CDDA      - read raw CD-DA frames
  527.   XA        - read raw CD-XA frames
  528.   CDG       - read raw CD+G data
  529.   CDIVIDEO  - read plain MPEG video from a CDi disc
  530.   CDIAUDIO  - read plain MPEG audio from a CDi disc
  531.   CDIRAW    - read raw MPEG video/audio from a CDi disc
  532.   2048F1, 2056F1, 2324F2, 2332F2 - x form y frames, where x is the number
  533.               of bytes per sector, and y is the frame type number
  534.  
  535. The /FORMAT command is used to select the output file format of the  
  536. audio data when using CDDA mode.  You can select from AIF, WAV, VOC, RAW, 
  537. and HEX formats.  Default format is WAV.
  538.  
  539. The /SAMPLE command is used to select the audio sample rate of the  
  540. output file when using CDDA mode.  You can select from 44, 22, or 11
  541. which select 44.1KHz, 22.05KHz, or 11.025 KHz.  Default sample rate
  542. is 44.1KHz.
  543.  
  544. The /CHANNEL command is used to select the audio channel for the output 
  545. file when using CDDA mode.  You can select from LEFT, RIGHT, MONO, or  
  546. STEREO.  Default channel is STEREO.  When you select LEFT, RIGHT or MONO, 
  547. the output file will be only one channel instead of two.
  548.  
  549. The /LMSWAP command is used to swap the least significant and most 
  550. significant bytes of the audio data before saving to disk.
  551.  
  552. The /LRSWAP command is used to swap the left and right channels of the
  553. audio data before saving to disk.
  554.  
  555. The /DL command is used to enable the average digital level mode.  At
  556. the end of a digital audio extraction, a 16 bit value will be displayed
  557. which is the average digital level of the extracted section of audio.
  558. You can use this command to find the average digital level of a track
  559. so that you can calculate the scaling factor when using the /ADLC command.
  560.  
  561. The /ADLC command is used to electronically set the volume levels of
  562. audio data before saving to disk.  The decimal number given following
  563. the /ADLC is used to scale the audio data as a percentage.  For example, 
  564. /ADLC 125 would raise the volume level of the audio data by 125%, and
  565. /ADLC 75 would effectively lower the volume level by mutiplying it
  566. by 75%.  If you want to have the approximate same volume levels from 
  567. audio tracks taken from different CDs, you have to make sure that
  568. the /DL command gives very close to the same numbers for every track.
  569. Your best bet is to take a single track from one CD and then make
  570. it your standard volume for your new CD.  Then you will have to extract
  571. all the rest of the tracks using the /DL command to find the volume
  572. level for that track, then do the extract again using the /ADLC 
  573. command and a multiplying factor based on the target volume level
  574. and the volume level before scaling.
  575.  
  576. When running under a DOS window under Win95, some machines may support
  577. using ATAPI drives through the ASPI interface.  However, bugs in
  578. Microsoft's drivers prevent this from working on some machines. I have
  579. worked a long time to get this working on a lot of machines, but I
  580. can't guarantee it will work on all machines.  It has taken a significant
  581. amount of effort to get around many of the problems in the device drivers
  582. written by Microsoft.  It appears to be worth the trouble so that you
  583. can have much more control over the drives.
  584. To use the ASPI interface to the ATAPI drives in a DOS window under 
  585. Windows 95, you have to use the /95ATAPI option.
  586.  
  587. As of version 1.6, you can also use CDDA with ATAPI drives through
  588. the ATASPI drivers.  These drivers are for DOS and Win95 and usually
  589. come as part of "PowerIDE" from Future Domain when you buy their
  590. IDE controller.  However, as far as I can tell, the drivers will
  591. work on any IDE controller, not just the ones from Future Domain.
  592.  
  593. Using the ATASPI drivers is probably the best way to use CDDA and
  594. ATAPI drives.  It means that I have the most control over the
  595. drive and can bypass all the normal device drivers.  In this way
  596. I can be sure that the device drivers are not at fault when CDDA
  597. doesn't work.
  598.  
  599. If you have a Future Domain IDE controller and PowerIDE, you are
  600. all set.  You just have to add the device drivers in config.sys
  601. and autoexec.bat. (see below my example)
  602.  
  603. If you don't have a Future Domain product, you will have to find
  604. the ATASPI drivers elsewhere.  You might want to have a look 
  605. at Mediavision's FTP site (ftp.mediavis.com), or their web site
  606. (www.mediavis.com), where they keep update driver files for
  607. many of their products.  You might find update drivers for your
  608. MV600, which runs on a Future Domain controller.
  609.  
  610. The two lines needed in my config.sys file are:
  611. device=c:\ataspi\ataspi16.sys /c:170,15,376h /v
  612. device=c:\ataspi\fdatacd.sys /d:mscd000
  613.  
  614. The line needed in my autoexec.bat file is:
  615. c:\ataspi\mscdex /d:mscd000 /v /e
  616.  
  617. If you use the /ATASPI or /95ATAPI options, CDDA will also check to
  618. see if your drive supports reading DA or CD+G.  No longer do you have
  619. to guess to see if the drive supports these modes, CDDA can now 
  620. directly query the drive itself to see if it supports DA or CD+G.
  621.  
  622. The CDIVIDEO,  CDIAUDIO and CDIRAW options are to be used when you have
  623. a CDi movie disc.  CDIVIDEO allows you to extract just the video portion
  624. of the MPEG stream.  CDIAUDIO allows you to extract just the audio
  625. portion of the MPEG stream.  CDIRAW allows you to extract the entire
  626. MPEG audio/video stream.  If you use a program like VMPEG, or have
  627. a RealMagic card, then you will be able to play the movies from 
  628. hard disk instead of from the CD.
  629.  
  630. One thing to remember when using the CDi options:  CDDA must hunt through
  631. the disc to find the start of the stream.  A good way to figure out
  632. where the streams start is to look at the dump from CDROMINF.  If you
  633. have a White book disc, then the streams start at the same point
  634. as the tracks 2 and up.  Track 1 is for the file system and support
  635. files, and tracks 2 and up are for the MPEG.  If you have a Green 
  636. book disc, then you will have to choose a start point which is
  637. early enough in the disc to find the stream start.  Often the streams
  638. start around LBA 3400.  There may be more than one stream on a 
  639. Green book disc.
  640.  
  641. If you are using a White book disc, your best bet is to use the /T
  642. option, if you have enough disc space.
  643.  
  644. When you want to play the MPEG files that you have extracted, your
  645. best be is to use a program like VMPEG.  The latest version now also
  646. plays the audio.  Remember that you are going to need a lot of computing
  647. muscle to do the MPEG decoding.  Have a look at the following news post
  648. about CDi.
  649.  
  650. From: davido@aimla.com (David Oseas)
  651. Newsgroups: comp.multimedia
  652. Subject: Re: Wanted:CD-i mpeg files viewer without mpeg card
  653. Date: 11 May 1995 17:38:08 GMT
  654. Organization: Philips Media
  655. Lines: 23
  656. Distribution: world
  657. Message-ID: <3oti21$f6f@silver.aimla.com>
  658. References: <3od40u$pqj@ufrima.imag.fr>
  659. Reply-To: davido@aimla.com
  660. NNTP-Posting-Host: gneiss.aimla.com
  661.  
  662. In article pqj@ufrima.imag.fr, ageay@turing.imag.fr (Alexandre GEAY) writes:
  663. >i want to play sound from CD-i mpeg files with the video!
  664. >
  665.  
  666. I want the Cray-X/MP you're planning on running it on!
  667.  
  668. Seriously, I don't know of any computer system that is capable of
  669. demultiplexing the bitstream off disc & decoding the video and
  670. audio in sync (i.e. real time) using a software-only solution.
  671.  
  672. Your best bet is a hardware decoder.  Prices are dropping fast.
  673. I've seen boards with a MSRP of $179.
  674.  
  675. Alternatively, get a CD-i player with a DigitalVideo cartridge--
  676. then you'll be able to play all CD-i discs, including the ones
  677. we're showing at E3 this week.  ;-)
  678.  
  679. ---
  680. David Oseas, (davido@aimla.com)                [CD-i, MPEG & Amiga guru] 
  681. Sr. Software Engineer, InSight Entertainment Group
  682. Philips Media, Los Angeles, CA                  Tel: (310) 444-6150
  683.   [OPINIONS ARE MY OWN & DO NOT NECESSARILY REFLECT PHILIPS POLICIES]
  684.  
  685.  
  686. One last thing about CDi.  You may see messages during the dump
  687. about unknown subheaders.  This is fairly normal.  If you do get these
  688. messages, dump them to disk and send them to me.  I will include 
  689. checking in a later version of the program.  There is a very long list
  690. of subheaders, and I have only added the ones I have seen in the 3 CDi
  691. discs I have.
  692.  
  693. For the options /S /E /F which expect a following parameter, remember that
  694. there needs to be a space between the letter and the parameter.  ie if you
  695. enter /S01:10:10, it would come up as an error, but if you entered
  696. /S 01:10:10, it would be correct.  For the MSF mode, there need to
  697. be 2 digits for each of minutes, seconds and frames or it will come up as
  698. an error.  When entering the filename with the /F, don't include an
  699. extension, as the software automagically adds the extension for you.
  700.  
  701. At there are several file formats supported. WAVE (.WAV) and Binary (.CDA)
  702. are the types for DA, .XA for XA, and MPG for raw CDi and MPV for 
  703. MPEG video. There is also the option to dump the data in HEX format out 
  704. to the STDOUT device.
  705.  
  706. The binary format has the audio samples stored in the order Left LSB, 
  707. Left MSB, Right LSB, Right MSB.  The samples are 16 bit 44.1 KHz stereo.
  708.  
  709. On every CD there is a bit which defines if copying a particular track is
  710. permitted or prohibited.  CDDA checks this bit and will not continue
  711. with the dump to disk.  I have included an override option /O which forces
  712. the user to explicitly specify and to knowingly copy a copy prohibited
  713. song.  Have look at the file ROYALTY.TXT included in this distribution,
  714. which was honourably pinched from the program CDGRAB.  It is a list
  715. of most country's contacts for paying royalties.  I have heard from
  716. a couple of people who have actually tried to pay the royalites.  They
  717. have had nothing but trouble.  My understanding is that the producer
  718. has the final say on royalties, and that you must deal with him/her 
  719. as well.
  720.  
  721. One thing to remember is that audio/video fills up the hard disk fast.  It
  722. takes between 9 and 10 megabytes per minute.  Because of this I
  723. put in a check to make sure that you will have enough space to put the
  724. requested samples.  As well there is the /U option which will give you
  725. an estimate of how much disk space will be used without actually dumping
  726. the data to disk.
  727.  
  728. Examples
  729. --------
  730.  
  731. CDDA /MSF /S 10:14:36 /E 13:55:11 /F outfile
  732. will dump using MSF mode from 10:14:36 to 13:55:11 to a WAV file
  733.  
  734. CDDA /LBA /S 106232 /E 109443 /F outfile /MODE BIN
  735. will dump using MSF mode from 106232 to 109443 to a Binary file
  736.  
  737. CDDA /T 2 /F outfile /O
  738. will dump the entire track 2 to a WAV file with the override mode on
  739.  
  740. CDDA /T 2 /U
  741. will display the estimated disk space for all of track 2
  742.  
  743. CDDA /T 2 /MODE HEX
  744. will dump the entire track 2 in HEX to STDOUT
  745.  
  746. CDDA /T 2 /M /F outfile /O /MODE AIF
  747. will dump the entire track 2 to an AIF file using MSCDEX interface only
  748.  
  749. CDDA /T 2 /F outfile /O /NJC
  750. will dump the entire track 2 using no jitter correction
  751.  
  752. CDDA /T 2 /MSC G /ID 4 /F outfile /O
  753. will dump the entire track 2 from MSCDEX drive G, SCSI ID 4 CDROM drive
  754.  
  755. CDDA /T 2 /MODE CDIVIDEO /F outfile /O
  756. will dump the entire track 2 in MPEG video to outfile.MPV
  757.  
  758. CDDA /T 2 /MODE CDIRAW /F outfile /O
  759. will dump the entire track 2 in MPEG raw audio/video to outfile.MPG
  760.  
  761. CDDA /LBA /S 2345 /E 3456 /MODE XA /F outfile /O
  762. will dump track 2345-3456 in to outfile.XA
  763.  
  764. CDDA /T 1 /F outfile /O /M /ATAPI 170:0
  765. will dump track 1 to outfile.WAV using atapi only mode
  766.  
  767. CDDA /T 1 /F outfile /O /M /ATASPI 
  768. will dump track 1 to outfile.WAV using ataspi drivers for ATAPI drives
  769.  
  770. CDDA /T 1 /F outfile /O /M  /95ATAPI 
  771. will dump track 1 to outfile.WAV using aspi drivers in Win95 for ATAPI drives
  772.  
  773.  
  774. What is this jitter business?
  775. -----------------------------
  776.  
  777. The following is a post made over a year and a half ago which discusses
  778. the technical reason for a CDROM drives difficulty in accurately
  779. positioning itself on an audio CD.
  780.  
  781.  
  782. --------------------------------------------------------------------------
  783. Newsgroups: alt.cd-rom,aus.cdrom
  784. From: adrie@ica.philips.nl (Adrie Koolen)
  785. Subject: Re: Reading Audio CDs - Why is it so complicated?
  786. Keywords: cd, cd-rom, cdrom, audio, sampling, naivety
  787. Organization: Philips Consumer Electronics, Eindhoven, The Netherlands
  788. Date: Fri, 19 Feb 1993 08:23:53 GMT
  789. Lines: 63
  790.  
  791. In article <C2nqFC.5Ew@smsc.sony.com> dce@smsc.sony.com (David Elliott) writes:
  792. >In article <1993Feb17.213223.24058@isa.de>, schwarz@isa.de (Diemo Schwarz) writes:
  793. >|> What I don't understand is: 
  794. >|> Why should it be so difficult to extract pure audio data from a CD?
  795. >
  796. >It isn't.  The problem is that the SCSI controllers in most CD-ROM
  797. >drives simply don't support it.
  798. >
  799. >|> The medium is structured by tracks and indices, isn't it?
  800. >
  801. >Yes.
  802.  
  803. Note that the `tracks' on a CD aren't laid out like tracks on a hard disk.
  804. The track and index are just numbers that are stored with each sector on
  805. the CD (in the Q-subchannel packet). The start address of a track is stored
  806. in the Table Of Contents on the CD, indices are not. Indices are normally
  807. not used, except index 0 for the 2 seconds pause at the start of each
  808. track.
  809.  
  810. The REAL structure of the CD medium is a large continuous spiral, starting
  811. at the center of the CD (at 46mm diameter). Finding a specific sector is
  812. not as trivial as it is on a hard disk. You'll have to employ a kind of
  813. binary search algorithm. Finding the start position of a specific index
  814. is even more difficult as you don't even know where it starts.
  815.  
  816. >|> And every CD player somehow manages to ship the data from the disc to
  817. >|> the D/A converter, doesn't it?
  818.  
  819. But at the DAC, they don't know which sector the sample came from or what
  820. the relative position the sample takes in a sector.
  821.  
  822. >|> So, what's the difference between reading data CDs and music CDs?
  823. >
  824. >The format of the data, to put it simply.
  825.  
  826. Well, most decoders used in audio CD players, output a stream of samples
  827. and sub-channel data, mostly used for their time code. As the decoder has
  828. to adjust the spindle speed, it uses a FIFO to store the data. If the
  829. FIFO fills up, the spindle motor is slowed down, if it gets empty, the
  830. motor is sped up. The sub-channel data normally doesn't pass through the
  831. FIFO, but goes directly to a microcontroller. That way, the microcontroller
  832. can't be sure that it knows the exact address of the data, coming out of
  833. the FIFO.
  834.  
  835. To circumvent this problem, the address of a sector is also stored in the
  836. data itself, together with a 12 bytes sync pattern. This way, one can
  837. determine the starting of a sector and its address just by looking at the
  838. data coming out of the FIFO.
  839.  
  840. Here's the real problem: audio sectors don't have this sync pattern, nor
  841. the address of the sector, in the data area of a sector. Most CDROM drives
  842. use chips that are coming from audio players. The first CDROM drives were
  843. just modified audio CD players.
  844.  
  845. To read audio sectors on a CDROM drive, you'll need a special decoder or
  846. you'll need to connect a standard decoder with some custom hardware to
  847. generate pulses to indicate the start of a sector and to synchronize the
  848. sub-channel packets with the real 2352 bytes of data.
  849.  
  850. I hope that this explains it a bit.
  851.  
  852. Adrie Koolen (adrie@ica.philips.nl)
  853. Philips Consumer Electronics, Eindhoven, the Netherlands
  854. --------------------------------------------------------------------------
  855.  
  856.  
  857. Because of this, most every CDROM drive that can read DA frames cannot
  858. accurately return to the exact same location on the disc every time.
  859. It will usually return within a few samples either way.  It took
  860. a lot of time and thought to write the code to correct for the
  861. "jitter" efficiently.  My first try brought the transfer rate
  862. to a crawl.  I have been refining the process to the point that
  863. it barely has any computing overhead, but still I have to read most
  864. every frame twice.  I am still working on getting this to work
  865. faster.  Some people have reported an 8x slowdown from 0.9a to
  866. 1.0a.  I have no explaination for that large a difference.  
  867. It is nowhere near that large on my machine, as I see only about 3x.
  868. I do agree that it is still much too slow. I have made a number of
  869. improvements in 1.0e and 1.0g that help with this slow down including making
  870. the receive buffer as large as possible (64K) when using real mode drivers
  871. like ASPI and MSCDEX.  I have also added the /NJC option for those who
  872. cannot wait for their files to be created, or for those whose drives
  873. are generating "Jitter greater than 5 frames" errors.  This error
  874. means that the software has become lost on the CD because the drive
  875. was unable to return to within 5 frames of its last postion.
  876.  
  877.  
  878.  
  879. What kind of help is there?
  880. ---------------------------
  881.  
  882. There is very limited help from the command line for CDDA.  You can get
  883. the "USAGE" by just typing CDDA.e.g.:
  884.  
  885. C:>CDDA
  886. Usage:CDDA <audio range mode> <drive mode> <data type mode> /F filename 
  887.  
  888. Modes marked with an * are available only in the registered version
  889.  
  890. Modes to select range of audio to extract: /MSF, /LBA /T
  891. Defaults: none
  892.   /MSF      - times in minute, second, frame format (MM:SS:FF)
  893.   /LBA      - times in Logical Block Address format (xxxxxx)
  894.   /T        <track number>
  895.   /S        <start time for MSF and LBA mode>
  896.   /E        <end time for MSF and LBA mode>
  897.   /BLOCK    <number of blocks pulled from the drive at a time>
  898.   /OVERLAP  <number of overlap blocks used for jitter correction>
  899. * /MINLBA   <override value of the first frame (LBA) of the CD>
  900. * /MAXLBA   <override the frames (LBA) from the end of the CD>
  901. * /TM       <stop MM:SS:FF from end of track>
  902. * /TP       <start MM:SS:FF from start of track>
  903.  
  904. Modes to select drive type and interface
  905. Defaults: ASPI, first found drive
  906.   /M        - override ASPI interface and use MSCDEX
  907.   /MSC      <drive letter of CDROM drive>
  908.   /ASPI     - force CDDA to use ASPI device driver
  909.   /ID       <scsi id of CDROM drive>
  910.   /LUN      <lun id of CDROM drive>
  911.   /ADAPTER  <ASPI scsi adapter number>
  912.   /ATAPI    - force CDDA to bypass ATAPI driver
  913.   /IO       <IO (hex) address of IDE controller>
  914.   /IRQ      <IRQ number of IDE controller
  915.   /DEVICE   <0/1 for Master/Slave for CDROM drive on IDE controller>
  916. * /RESET    - reset the drive before extracting data
  917. * /SPEED    <speed at which to extract data 1, 2, 4 times etc.>
  918.  
  919. Modes to select output data format
  920. Defaults: STEREO, WAV, 44KHz CDDA
  921. * /CHANNEL  <audio channel (STEREO, LEFT, RIGHT, MONO)> 
  922. * /FORMAT   <CDDA file format (WAV, AIF, VOC, BIN, HEX)>
  923. * /SAMPLE   <audio sample size in KHz (44, 22, 11)>
  924. * /MODE     <data mode>
  925.              CDDA      - read raw CD-DA frames
  926.              XA        - read raw CD-XA frames
  927.              CDG       - read raw CD+G frames
  928.              2048F1, 2056F1, 2324F2, 2332F2 - x form y frames)
  929.              CDIVIDEO  - read plain MPEG video from a CDi disc
  930.              CDIAUDIO  - read plain MPEG audio from a CDi disc
  931.              CDIRAW    - read raw MPEG video/audio from a CDi disc
  932. * /LRSWAP   - swap the left and right audio channels
  933. * /LMSWAP   - swap the LSB/MSB of the audio channels
  934. * /ADLC     <scale factor for Automatic Digital Level Control>
  935. * /DL       - display average digital level
  936.  
  937. Misc. modes 
  938.   /P        - Play audio CD sample range
  939.   /U        - estimated disk usage required for data
  940.   /O        - override copy protection bit
  941.   /NJC      - do not perform jitter correction
  942.  
  943. Note: filename extensions will automagically be added to the filename
  944.  
  945. e.g. CDDA /MSF /S 10:14:36 /E 13:55:11 /F outfile
  946. e.g. CDDA /LBA /S 106232 /E 109443 /F outfile /format bin
  947. e.g. CDDA /T 2 /F outfile /O /format aif
  948.  
  949.  
  950. Copying and Registration (does he mean this costs $$$?)
  951. -------------------------------------------------------
  952.  
  953. I am allowing full freedom to copy this program.
  954. Registered users will receive a key file to "unlock" all of the
  955. new features added in version 1.6.
  956. There is NOT a pro version available for an unreasonable sum of money.
  957. As I said at the start of this file, I am now forced to start asking
  958. for a small amount of money for this program.  If you use it, then
  959. you need to register it. 
  960.  
  961. If you don't agree with the new shareware policy, then you can:
  962. a) use the program anyway and violate the copyright
  963. b) go back and use version 1.0h which will remain freeware
  964. c) don't use the program at all
  965.  
  966. I would rather keep this program Freeware, but when it starts costing
  967. me money to develop new features, then I have to draw the line.
  968.  
  969. The registration fee for using CDDA is now $15 US.  I believe that
  970. this is a fair amount given the amount that the program does.  As
  971. well, if you don't need the new features and bug fixes, then
  972. use the old version.
  973.  
  974. I won't be asking for a fee every time a new version comes out.  This
  975. fee will give you a lifetime (as long as I bug fix and add features) 
  976. of free updates via the Internet.  I will also notify registered users 
  977. of any new versions for a year.
  978.  
  979. ****** Note: my mail address has changed from the one in version 1.5
  980.        and earlier !!!!
  981. My new mail address is:
  982.       Jim McLaughlin
  983.       337 Nautica Ct.
  984.       Indian Harbour Beach, FL, USA
  985.       32937
  986.  
  987. ****** Note: my email address has changed from the one in version 1.4
  988.        and earlier !!!!
  989. If you have any questions, my email address is jmclaugh@nortel.ca, but RTFM
  990. before you start sending me then questions.
  991.  
  992. I would also like to try and keep all the files together and unchanged
  993. in the archive, so if you are passing this around don't change the files.
  994. In this distribution the files contained are:
  995.  
  996. CDDA.EXE - the program itself
  997. CDDA.DOC - this document file
  998. ROYALTY.TXT - the list of people to whom you should pay royalties
  999. WAVDUMP.EXE - the program to dump the header of CDDA produced WAV files
  1000. SCSIPING.EXE - the program which uses ASPI to search for SCSI drives
  1001.  
  1002. If you are one of those Shareware houses, I don't want to see this program
  1003. available for $6.99 plus shipping and handling.  I don't like seeing
  1004. the average Joe getting burned for a 10 cent disk, 1 cent label and 2 cents
  1005. worth of labour to make the disk, especially when he can get 600+ Meg
  1006. of really good stuff from something like the Simtel CD for $25 (thanks to
  1007. Robert Bruce for starting the cheap archive business).
  1008.  
  1009.  
  1010. How to get hold of me for help.
  1011. -------------------------------
  1012. If you want to mail me about problems or to tell me I'm going to rot in
  1013. HE double hockey sticks for helping to copy music, put your message in
  1014. a file and copy it to the NUL device. :>
  1015.  
  1016. If you want to make suggestions or want to send compliments you can contact
  1017. me at the address below.
  1018.  
  1019. If you would like assistance in solving problems, please include all
  1020. dumps from all the related programs.  You should be able to
  1021. run the programs like this and get the dumps in a text file:
  1022. CDDA /T 2 /W /O /F testfile >dumpfile.txt
  1023.  
  1024. I have real difficulty in tracking down problems without these
  1025. dumps.  In the past the majority of people asking for help just send
  1026. along a short note telling me my program doesn't work, and what
  1027. they remember the error messages saying.  This just doesn't cut it.
  1028. I have to have the dumps to help.
  1029.  
  1030. The bottom line - RTFM before writing me.  Also read the alt.cd-rom
  1031. FAQ.  many of your questions can be answered by reading.
  1032. EMAIL: jmclaugh@nortel.ca
  1033.  
  1034. Things on my wish list of new functions
  1035. ---------------------------------------
  1036.  
  1037. I want to add support for other CDROM drives that can read DA sectors
  1038. over the SCSI, but I don't have access to these drives.  If someone could
  1039. supply me with the programming information, I could try and do up a new
  1040. version of CDDA, if I ever get some spare time.
  1041. - add a /p mode to play the whole cd instead of just a range
  1042. - more CD-ROM drives supported
  1043. - add a /I mode which will do an image of the entire disc to a file
  1044. - add more support for interpreting hard error messages
  1045. - add a /DUMP mode which will dump all screen output to a file as
  1046.   well for those who can't use the >
  1047. - proper routine for downsampling instead of just throwing away samples
  1048. - proper routine for mixing left and right channels into a mono channel
  1049.   instead of just taking the average of the two
  1050. - better native move atapi drivers for DOS
  1051. - better routine to check for CD in drive
  1052. - possible automatic routine for doing ADLC in one step instead of two
  1053. - complete support for CDIAUDIO files
  1054. - routines for ADPCM compression of WAV files
  1055. - a method for detecting disk caching under Win95
  1056. - a GUI front end and a Win32 (Win NT/95) back end (yeah right)
  1057. - program to return a value so that errorlevel can be used
  1058. - set some restrictions on the type of VOC files that can be saved - it
  1059.   is possible to create VOC files that don't follow the standard - Know
  1060.   what you are doing if you use the VOC option
  1061.  
  1062.  
  1063. Questions I have received since the release of 0.9a and 1.0a
  1064. ------------------------------------------------------------
  1065.  
  1066. Why is the program so slow?
  1067. This program is so slow because of any one or more of the following:
  1068. 1. My poor programming skills.
  1069. 2. Many of the CDROM drives only read DA frames in 1X mode even though
  1070.    they may transfer data at 2X or 3X or faster.
  1071. 3. The amount of computing to do jitter correction.
  1072. 4. Reordering the bytes from the CD to the WAV file.
  1073. 5. Having to read 16 frames for every 10 actually written to disk to
  1074.    allow for up to three frames of jitter.  This has been improved
  1075.    with the use of /block and /overlap
  1076. 6. When there is more than three frames of jitter, I slightly shift
  1077.    the aim of the search and reread the problem frames.
  1078. 7. My Toshiba seems to have a magic number of 10 frames, that if I
  1079.    read more than that at a time it takes 2-3 times longer than
  1080.    reading in bunches of 10 or less.  I don't understand it.  Since I
  1081.    have to read ahead 3 frames and behind 3 frames every time I read
  1082.    a block from the drive to correct for jitter, I can't very well
  1083.    keep my reads under 11 frames.  Other drives may have similar
  1084.    thresholds.
  1085. 8. If you are using MSCDEX only, make sure that the /m:xx option on the
  1086.    MSCDEX line of your autoexec.bat is set to at least 20.  Any less
  1087.    than this, and CDDA will end up reading in 2 possibly discontinous
  1088.    chunks.  This will add greatly to the time to read data.
  1089. 9. Many drives are happy reading contiguous frames from the disc.  If you
  1090.    ask it to move it's start point to a frame that it has just read, it
  1091.    may take a very long time to get itself all lined up to start reading
  1092.    again.  A good example of this is the Philips CDR drive that reads
  1093.    with /NJC at 2x speed but takes 6 times longer than the range selected
  1094.    if it keeps having to resychronize itself.
  1095.  
  1096. What is ASPI?
  1097. ASPI stands for Advanced SCSI Programming Interface.  It was developed
  1098. by Adaptec, and has been adopted by many SCSI card manufacturers as
  1099. a standard SCSI programming interface.  If you want more information
  1100. on ASPI call Adaptec (408) 945-8600.
  1101.  
  1102. When I use /T, the start and ends of the track are a couple of
  1103. seconds away from where I think they should be.  Why is this?
  1104. In version 0.9a, there was a deep rooted bug which caused this.  I
  1105. have fixed it (I hope), and this should no longer be a problem.
  1106.  
  1107. When I play back my samples, why are there pops and clicks?
  1108. These pops and clicks can come from two places:
  1109. 1. version 0.9a did NOT handle the jitter problem, it is handled now.
  1110. 2. your sound card can't handle 16-bit 44.1 KHz samples.  Try using SOX
  1111.    or a similar program to change the sample to 22.05 or 11.025 KHz
  1112.    samples and try again.
  1113. 3. Many CDs have been mastered from digital sources.  In this case the
  1114.    source may have been synthesized digitally which gives absolutely
  1115.    perfect sounds which are very repetitive and exactly the same.  When
  1116.    this happens, it may possibly confuse the jitter correction routines.
  1117.    There is not a lot I can do about it at the moment, and there is less
  1118.    that any of the other programs like mine can do.
  1119.  
  1120. The program stops with the error xxx.  What is wrong?
  1121. The 0.9a release had very limited error reporting.  I thought that
  1122. if it worked on my machine it work on everybody's.  This version
  1123. has much more error reporting.  As I understand it, CDDA will
  1124. not necessarily work correctly if SMARTDRV is installed.  This has
  1125. been the source of a lot of trouble.  As well some people have been
  1126. having trouble using CDDA in a DOS window in Windows.  I think
  1127. there may be a problem when being used with a DPMI manager installed.
  1128. So, the bottom line is DON'T run CDDA under Windows.
  1129.  
  1130. When will you release an OS/2 version?
  1131. I have no interest in writing a version for OS/2. Period.  However,
  1132. if you are running Warp, then you already have VASPI, and CDDA should
  1133. run just fine.  If you are using an earlier version, then
  1134. there is a program from Adaptec called VASPI, which will allow
  1135. you to run CDDA in a DOS window.  I got the following email with
  1136. the how-to for OS/2 from Stefan Eichner (Stefan-Eichner@k2.maus.de):
  1137.  
  1138. > 1. Your CONFIG.SYS has to include the follow lines:
  1139. > [...]
  1140. > BASEDEV=TMV1SCSI.ADD
  1141. > BASEDEV=OS2ASPI.DMD
  1142. > REM DEVICE=C:\OS2\OS2CDROM.DMD /Q
  1143. > E=C:\OS2\MDOS\VASPI.SYS
  1144. > [...]
  1145. > !If no OS2CDROM.DMD is loaded you can't read Data-CDs!
  1146. >
  1147. > 2. Add to the autoexec.bat the start-comand for MSCDEX2.EXE
  1148. > (e.g. C:\MSCDEX2.EXE /D:MSCD001 /L:H /m:10 /v)
  1149. >
  1150. > 3. Change the settings of the DOS-Session on the WPS:
  1151. > DOS_DEVICE=C:\TSLRCDR.SYS /d:mscd001 /p:3
  1152. >
  1153. > Now CDDA works great!!!
  1154. VASPIBET.ZIP is available from ftp.cdrom.com
  1155.  
  1156. When will you release a Windows version?
  1157. I have no interest in writing a Windows version.  I don't have the time,
  1158. and I don't think Windows is a particularly good OS (if you can call
  1159. it an OS).  I have had a couple of offers to help, but I have been
  1160. too busy with the rest of my life to work on it.  Don't hold your
  1161. breath.  The word from the beta testers is that CDDA runs just fine
  1162. in a DOS window under Windows 95.
  1163.  
  1164. Why doesn't CDDA work under Windows NT?
  1165. First, Microsoft chose not to fully support the device drivers for CDROM
  1166. drives to allow reading DA.  This means that if you are trying to use
  1167. the /M option to read DA, you can't.
  1168. Second, Microsoft chose not to include ASPI drivers with NT.  You can
  1169. get Win16, and Win32 ASPI drivers from Adaptec for NT, but CDDA can
  1170. only talk to DOS ASPI drivers.  Maybe someday, I'll get around to writing
  1171. a version of CDDA that can talk to Win16 or Win32.
  1172.  
  1173. When will you release a UNIX version?
  1174. Never.  Although I run LINUX on my machine, I have no interest in
  1175. rewriting CDDA.  There is a program called CD-DA for Linux, which
  1176. should work with the Toshiba drives.  It is available from Sunsite.
  1177.  
  1178. When will you be writing a version for my CDROM drive?
  1179. Getting the programming information from CDROM drive manufacturers is
  1180. like pulling teeth.  I've been hunting for this stuff for over two
  1181. years, and have only managed to get the programming manuals for
  1182. Toshiba, Chinon and Sony.  If you have a drive and it does support DA frames,
  1183. I need the programming manual.  I also need about 5 or 6 extra hours
  1184. in each day.
  1185.  
  1186. I have a Toshiba drive.  Why doesn't your program work?
  1187. It appears that different ROM revisions cause the drives to work
  1188. differently.  For instance, my Toshiba 3401 is revision 0283.  I have
  1189. heard from people who have ROMs older and newer that can't use
  1190. my program.  I have also heard that Toshiba has changed the programming
  1191. interface on newer drives, but it is not reflected in their SCSI
  1192. programming manual.  I just don't know what is wrong.
  1193.  
  1194. Why doesn't your program work with my ASPI driver?
  1195. Several vendors supply ASPI drivers for their SCSI cards.  However,
  1196. all drivers are not created equal.  I have heard from people who
  1197. have had trouble with just about every SCSI card on the planet.  I
  1198. only have Adaptec's EZSCSI to do my testing.  I'll try and do my
  1199. best on case by case basis, but I really don't have any spare time.
  1200. I also hear from a number of people who have trouble using the Adaptec
  1201. 1520/22 controllers.  It appears that the delay in doing polled IO from
  1202. this card screws up my view of how the controller and drive interact.
  1203. Don't expect any fixes soon.
  1204.  
  1205. CDROMINF works on my machine, so why doesn't CDDA?
  1206. CDROMINF only uses MSCDEX calls, and CDDA also uses ASPI calls.  It
  1207. is these ASPI calls that do the meat of the program.  If ASPI isn't
  1208. on your machine, or doesn't work correctly, then CDDA will never work.
  1209. Your only other choice is to try the /M option and use only
  1210. MSCDEX commands.  This is unlikely to help any SCSI drive owners.
  1211. Before writing me and asking for your drive to be supported, do a
  1212. little legwork first.  Call the manufacturer and ask for the programming
  1213. information.  Second, run all the test programs included with this
  1214. release.  These programs don't check for the drive type before trying
  1215. to read DA frames.  If any of these pass, let me know and I can
  1216. add your drive based on the programming information of an existing
  1217. drive.  It has happened before, so it might happen again.
  1218.  
  1219.  
  1220. Why are there tons of zeros at the beginning and end of my track?
  1221. Most every audio track has some silence at the beginning and
  1222. end.  This silence is actually digital silence which is all
  1223. zeros for the samples.
  1224.  
  1225. Can I use CDDA to read from DAT drives?
  1226. As far as I know there are only a couple of DAT drives out there
  1227. that allow reading of digital audio through SCSI.  In theory, I could
  1228. add that feature to CDDA, but since I don't have one of those drive,
  1229. and I don't have the programming manuals either, I seems very unlikely
  1230. that this will ever happen.  It also seems that these drive vendors
  1231. have taken out support for reading DA.  Their story is that people
  1232. were putting cheap quality audio tapes in the drives and screwing
  1233. up the drives.  So they took out the feature.  My guess is that they
  1234. were getting pressure from the record companies.  If you really
  1235. need to do this then get yourself a Silicon Graphics machine.  They
  1236. make sure that this feature is available in their package.  Don't 
  1237. forget to mortgage your house to pay for it. The only other option at
  1238. this point is to get a DAT player that has a digital out port and get
  1239. a card for your PC that can handle the digital stream.  These cards 
  1240. are widely available and shouldn't cost you more than a few hundred
  1241. dollars.
  1242.  
  1243. Sometimes CDDA doesn't work when I first put in a CD. Why?
  1244. I don't know.  Some people have reported that CDDA works better after
  1245. a new CD is put in the drive if you use some other utility to play and
  1246. then stop the CD.  This seems to force some sanity into some drivers.
  1247.  
  1248. Can you change CDDA to read the song titles from my audio CD?
  1249. There are no song titles recorded on an audio CD.  The following
  1250. is a post which explains this better than I can.  A very few CDs
  1251. that support Philips Blue Book, do have the song titles in a
  1252. "hidden data track".  My most recent version of CDROMINF will
  1253. display this information.
  1254.  
  1255.  
  1256. ----------------------------------------------------------------------------
  1257. From: dplatt@ntg.com (Dave Platt)
  1258. Newsgroups: alt.cd-rom
  1259. Subject: Re: Ascii Track data on Audio CDs
  1260. Keywords: Audio CD Ascii Track
  1261. Date: 23 Feb 93 19:16:03 GMT
  1262. Organization: New Technologies Group, Inc.  Palo Alto CA
  1263. Lines: 41
  1264.  
  1265. >A friend told me that encoded on Audio CDs are the track titles, CD title,
  1266. >credits and even a bitmap image of the cover art.  Can anyone confirm or 
  1267. >deny this?  If it is true, how does a programmer get to this information?
  1268.  
  1269. In general, this is _not_ true.
  1270.  
  1271. The disc table-of-contents has information about the total disc length,
  1272. number of tracks, and the starting time of each track.  It has no room
  1273. for human-readable text and there is no provision in the standards for
  1274. such, as far as I've ever been able to find out.
  1275.  
  1276. The audio tracks have "subcode" information associated with each frame
  1277. (75 frames per second).  The P subcode bit is used for primitive
  1278. track-signalling flags, and is rarely interpreted by modern CD players.
  1279. The Q subcode contains some useful information: control (type,
  1280. preemphasis, and copy-protect fields), address information, index
  1281. numbers, and sometimes the disc catalog/barcode number or the ISRC code
  1282. (serial number, country, year, owner ID) of the recording.  Still, no
  1283. room for text or artwork.
  1284.  
  1285. The R,S,T,U,V,W bits in the subcode can be used in a variety of ways.
  1286. The most popular de facto standard is for CD+G graphics.  These provide
  1287. a sort of slow-scan video (288x192 pixels, max of 4096 colors using an
  1288. encoded color lookup table).  The CD+G graphics can include almost
  1289. anything... lyrics, still photos from concert footage, and copies of the
  1290. cover artwork are all quite possible and have been done.
  1291.  
  1292. Only a relatively small percentage of audio CDs have CD+G graphics.
  1293.  
  1294. Some CD players have a "subcode out" jack which can be fed to an
  1295. external decoder.
  1296.  
  1297. Some CD-ROM drives allow the subcode data to be read over the SCSI (or
  1298. other) communication bus while the drive is playing audio CDs through
  1299. its built-in DACs.  Some [fewer] drives allow both the audio data and
  1300. the subcode to be retrieved over the bus and manipulated by the host
  1301. computer.  Details vary;  see your drive reference manual.
  1302. -- 
  1303. Dave Platt                                                VOICE: (415) 813-8917
  1304.               Domain: dplatt@ntg.com      UUCP: ...netcomsv!ntg!dplatt
  1305.  USNAIL: New Technologies Group Inc. 2470 Embarcardero Way, Palo Alto CA 94303
  1306.  
  1307. ----------------------------------------------------------------------------
  1308. Changes in version 1.7 from version 1.6
  1309. - a number of bugs have been fixed in the new features from 1.6
  1310. - a major bug which caused the program to hang on some machines has
  1311.   been fixed
  1312. - fixed a bug in the drive identification routine that was not 
  1313.   recognizing some drives
  1314.  
  1315. Changes in version 1.6 from version 1.5
  1316. - please note my new mail address:
  1317.   Jim McLaughlin
  1318.   337 Nautica Ct.
  1319.   Indian Harbour Beach, FL, USA
  1320.   32937
  1321. - added key file to support registered users
  1322. - cleaned up the command line interface
  1323. - added a number of new features
  1324.   - downsampling
  1325.   - channel selection
  1326.   - new file formats
  1327.   - more options for data block selected
  1328.   - drive speed selection
  1329.   - drive reset option
  1330.   - more Win95 support
  1331.   - more disc data types
  1332.   - display data transfer rate
  1333.   - digital level scaling
  1334. - added support for ATAPI drives under Win95
  1335. - added support for ATAPI drives with ATASPI drivers
  1336. - added a number of new drives
  1337. - a number of bugs have been fixed (too many to remember at this point)
  1338. - added support program WAVDUMP
  1339. - program CDROMINF is now a separate program
  1340. - removed the *test.exe files from the distribution - they are very
  1341.   much out of date and no one really used them any more
  1342. - fixed a number of problems when using Sony style drives - I finally
  1343.   got a Sony drive to test all the software
  1344.  
  1345. Changes in version 1.5 from version 1.4
  1346. - please note my new email address: jmclaugh@nortel.ca
  1347. - I now have a web home page which should always have pointers to the
  1348.   most recent versions of my programs - it can be found at
  1349.   http://www.ncf.carleton.ca/~aa571
  1350.   it also contains pointers to most drive manufacturers and to the 
  1351.   most recent drivers
  1352. - had a rewrite of the SCSI search routines - this means that I should
  1353.   be getting fewer emails about adding more drives for vendors I already
  1354.   support
  1355. - added the checking for disk caching installed, and to see if the program
  1356.   is running in a DOS box under Windows - in general it is a bad thing
  1357.   to try and run CDDA in a DOS box.
  1358. - fixed a couple of bugs that appeared in 1.4 when using the /p option
  1359. - found that problems with CDDA and either Trantor controllers or Adaptec
  1360.   1520 controllers are NOT my fault. - there appear to be problems with
  1361.   these cards - it seems that they were never designed to work with
  1362.   CDROM drives, just hard disks - yell at Adaptec
  1363. - the problem with Philips CDR machines reading MPG streams from CDi 
  1364.   discs appears to be cleared up - let me know if it is still a problem
  1365. - found that the problem with CDDA aborting with a fatal error when reading
  1366.   audio CDs in the Yamaha 100 drive has been fixed by a firmware upgrade
  1367.   in the drive - again it was not my fault - yell at Yamaha
  1368. - rewritten the SCSI search routines for drives - now can override the
  1369.   adapter, ID and LUN
  1370. - fixed bug that caused errors when an audio CD was playing and CDDA
  1371.   was run to extract data
  1372.  
  1373. Changes in version 1.4a from version 1.3a
  1374. - made several changes to help the "quiet music" problem when there are
  1375.   stretches of very quiet music, the digital master often is cleaned
  1376.   up and digital silence is put in its place, or when a digital organ
  1377.   is used as the only instrument the repeating digitally perfect notes
  1378.   can confuse CDDA
  1379. - added support for the DEC RDD42, the COMPAQ CR503/CDU561, the Kodak
  1380.   6X writer, HP 4020 writer, Pinnacle 5030, Yamaha 102, Panasonic 572/574/581
  1381. - introduced the /block and /overlap commands to allow for customizing
  1382.   the recording on difficult machines - also has the side effect of
  1383.   cutting the record times by 40%
  1384. - fixed a typo in the Plasmon drive name
  1385. - added the /ATAPI command to try and bypass the device driver and MSCDEX
  1386.   on IDE drives
  1387. - fixed a bug that caused incorrect disk free values when the drive letter
  1388.   was specified as a captial instead of lower case
  1389. - added some more robust code to retry disc reads on some of the less
  1390.   fatal errors
  1391. - rewrote the drive search routines in conjunction with adding the /ADAPTER
  1392.   command
  1393. - fixed a bug which only appears when you use a CD Enhanced CD instead 
  1394.   of the older style discs
  1395.  
  1396. Changes in version 1.3a from version 1.2a
  1397. - fixed a couple of bugs in the new Philips code
  1398. - made several changes to the jitter correction routines to speed them,
  1399.   as well CDDA has a better chance of working now with drives with
  1400.   bad jitter problems
  1401. - fixed a typo in calculating the end of disc
  1402. - now compiled in 386 code mode instead of the old 8086 code mode
  1403.  
  1404. Changes in version 1.2a from version 1.1a
  1405. - fixed another memory allocation bug which cause the program to hang
  1406.   for no apparent reason on some machines
  1407. - added support for Pioneer, Kodak, Philips, Pinnacle, Plasmon, Yamaha
  1408.   Ricoh and JVC drives
  1409. - added doc files on movie lists, CDi compatible drives and XA compatible
  1410.   drives
  1411. - added the /P option to allow playing out the head phone jack the select
  1412.   range of audio instead of saving to disk
  1413. - added the /LUN option to override the LUN=0 default - useful when
  1414.   using the 6Pack from Pioneer
  1415. - included my commentary on the purchasing of CDROM drives - is not very
  1416.   complimentary to most vendors
  1417.  
  1418.  
  1419. Changes in version 1.1a from version 1.0h
  1420. - a minor bug in the count of bytes written to disk has been fixed.
  1421. - support for CDi discs - both white and green book
  1422. - support for XA discs
  1423. - no longer freeware
  1424. - official word from Mitsumi says that they have not and will not
  1425.   ever support reading DA frames with their drives.
  1426.  
  1427.  
  1428. Changes in version 1.0h from version 1.0g
  1429. - bug in displaying the sense data has been fixed.
  1430. - a major bug that caused the program to hang at random has been fixed.
  1431. - Mitsumi 4x, Sony 55E, Sony 8012 drive types added
  1432. - Plextor (Texel drives 3028 and 5028 have been removed.  I included
  1433.   them based on a rumour I heard.  I have since received the programming
  1434.   manual for these drives, and they do not support reading DA frames.
  1435.  
  1436.  
  1437. Changes in version 1.0g from version 1.0e
  1438. (version 1.0f was not formally released)
  1439. - ISRC code display added
  1440. - option NJC added
  1441. - Hitachi, Teac, Matshita drive types added
  1442. - bug in MSCTEST concerning empty buffers fixed
  1443.  
  1444.  
  1445. Changes in version 1.0e from version 1.0a
  1446. (versions 1.0b to 1.0d were not formally released)
  1447. - UPC code display added for NEC drives
  1448. - Toshiba mode select to return the drive to normal operation after
  1449.   reading DA frames had a conflict with EZSCSI drivers - this has
  1450.   been fixed
  1451. - length of WAV file did not always match length contained in header -
  1452.   this has been fixed
  1453. - added support for the Chinon CDS-535 drive (since I don't have one
  1454.   of these drives, this is untested)
  1455. - added support for the Plextor 3028/5028 drives (since I don't have one
  1456.   of these drives, this is untested)
  1457. - there was a bug which on some machines would allocate memory wrong
  1458.   when using the /M option, and would fill the file with zeros - this
  1459.   has been fixed
  1460. - program TOSH_RST was added for users of the Toshiba drives who
  1461.   have CDDA exit with a major error.  It resets the drive back to
  1462.   normal operation
  1463. - there was a bug on some machines that would allow the user to run
  1464.   CDDA fine, but the respective test program would fail.  It appeared
  1465.   mostly on the SONYTEST and NECTEST programs - this has been fixed
  1466. - during running with NEC drives extra debug messages were printed -
  1467.   this has been fixed
  1468. - the jitter correction routine has been rewritten - CDDA now runs
  1469.   about twice as fast as 1.0a did on my machine
  1470. - a problem with one version of the Sony rom has a peculiar failure
  1471.   which may be corrected by a rewrite of the sector search routine
  1472. - a problem with copy permitted discs sometimes required /O in order
  1473.   to dump to disk
  1474. - when the last track of a disc or the last LBA or the last MSF was
  1475.   selected to be dumped, some drives actually only allow reading
  1476.   of the second to last frame, and not the last frame.  since there
  1477.   is virtually no sound on the last frame of the disc, I have forced
  1478.   the program to stop at the next to last frame
  1479.  
  1480. Known bugs:
  1481. - someone has reported the program failing on a very large drive
  1482.   with very large amounts of disk space available.  The specific
  1483.   example was a 250M drive with 235M free.  It would appear that
  1484.   there is a bug in the Borland dfree routines.  I will be looking
  1485.   into the problem, except for the fact that my drive is only
  1486.   100M, so I can't duplicate it.  Note I haven't seen this problem
  1487.   for a long time, so I would assume that it has gone away.
  1488. - a couple of people have reported that the WAV files created are
  1489.   not compatible.  I can't say much except that in one case the
  1490.   file size written in the WAV header was incorrect, and I don't know
  1491.   why.  I have however found that really large WAV files (>10M) often
  1492.   confuse some players.  I have seen a file work correctly on a couple
  1493.   of players, and not on others.  My guess is that some players out
  1494.   there are not interpreting WAV files correctly, or are not expecting
  1495.   very large files.  I have written the program WAVDUMP, which will
  1496.   dump out the WAV file header information to see if there is anything
  1497.   wrong with the header.
  1498. - one person reported that running the test programs on their machine
  1499.   and specifying a hard drive instead of a CD-ROM drive causes the
  1500.   number of bytes per sector to be changed permanently on the drive
  1501.   I don't know if this was just a fluke, but be careful.  I have 
  1502.   included the program TOSHREPR.EXE.  This program will reset the 
  1503.   sectors per track to 512 when you accidentally run TOSHTEST on a hard
  1504.   drive instead of the CDROM drive.  This problem appears to manifest
  1505.   itself on hard drives manufactured by DEC.  If you use these drives
  1506.   be careful when running TOSHTEST.
  1507. - one person reported that having more than one CDROM drive means
  1508.   trouble for the /T mode.  I'm looking into it, but don't have an
  1509.   answer yet.  I haven't heard this one in a while, so I am assuming
  1510.   that the problem has gone away.
  1511. - there appears to be a problem with the LIT on some CDi Green book
  1512.   CDs.  It seems that MSCDEX is getting confused as to when the CD
  1513.   starts which in turn confuses CDDA.  I'm looking into the problem.
  1514. - there is a bug in the MSCDEX driver in Win95 when you are using a
  1515.   new CD-Enhanced disc.  It gets confused and thinks that the first
  1516.   audio track number is one more than the last audio track.  I have
  1517.   a work around for the problem by assuming that the first track
  1518.   on one of these discs on Win95 will always be number 1.
  1519. - there are a number of bugs in the ASPI drivers in Win95.
  1520.   1) There is support in CDDA to talk directly to ATAPI drives instead
  1521.      of talking through MSCDEX.  This would allow the user to not
  1522.      have to load the DOS drivers just to get CDDA to work.  On every
  1523.      machine I have tried, this method only partly works, but not
  1524.      enough to pull a whole track off the CD.  I have left the code
  1525.      in the program in the hopes that Microsoft will fix their ASPI
  1526.      driver and then my software will work.
  1527.   2) There appears to be an upper limit of 64K for any data transfers
  1528.      through ASPI.  Because of this the values of block+2*overlap
  1529.      cannot be more than 27. The following is the error messages
  1530.      you get when you try.
  1531. ---------------------------------------------------
  1532. ASPI request error: fffd
  1533. Sense data: sense key: 0, asc: 0, ascq: 0
  1534. Unknown: 33
  1535.  
  1536. Sense data:
  1537. sense key: 0, asc: 0, ascq: 0, valid: 0, error code: 0,
  1538. segment #: 0, ili: 0, eom: 0, fm: 0,
  1539. info 0: 0, info 1: 0, info 2: 0, info 3: 0, as len: 0,
  1540. csi 0: 0, csi 1: 0, csi 2: 0, csi 3: 0
  1541. -----------------------------------------------------
  1542. - the average data reading speed values that are given at the end of
  1543.   a transfer are somewhat inaccurate when very short samples are
  1544.   used.  The values become very accurate for longer samples.  The
  1545.   same sort of difficulty can be found when using the /DL option.
  1546. - the /DL option should only be used when saving WAV or BIN files -
  1547.   the values returned for AIF files will be incorrect
  1548. ---------------------------------------------------------------------
  1549.  
  1550. The following is what is displayed on my machine when I dump a small
  1551. block of audio.
  1552.  
  1553. CDDA(Release) - Ver. 1.6 (Build 0x0163)
  1554. ASPI/MSCDEX CD-DA Audio/CD-XA/CDi Video Dump Program
  1555. (c) Copyright 1993/94/95/96, Computall Services
  1556.  
  1557. Registered Version.  Serial Number: 9606000002
  1558. MSCDEX drive selected: H
  1559. Copy protection bit override:
  1560. Digital Level average mode selected
  1561. No data mode selected: Defaulting to CDDA data mode
  1562. AIF file mode selected
  1563. No sample size selected: Defaulting to 44.1 KHz sample mode
  1564. No channel mode selected: Defaulting to Stereo channel mode
  1565. CDDA data will be jitter corrected.
  1566. Output file: C:\TEST15.AIF
  1567. Block Length: 20, Overlap Length: 3
  1568. Running DOS version 7.0
  1569. Running Windows 4.0
  1570. Number of ASPI Adapters found: 1
  1571. Searching Adapter/SCSI_ID/LUN for first CD-ROM drive
  1572. Using SCSI CD-ROM @ Adapter: 0, ID:2, LUN:0
  1573.  
  1574. ASPI Manager id: ASPI for Windows, adapter id: ncrc810
  1575. vendor_id:TOSHIBA , product_id:CD-ROM XM-3401TA, revision:0283
  1576.  
  1577. Found a TOSHIBA 3401 drive
  1578.  
  1579. UPC code: 0 7567-82240-2 7
  1580. No ISRC returned.
  1581.  
  1582. Set CDDA Mode: Successful.
  1583.  
  1584. LBA- LIT:       32, LOT:   208427, start:    45675, end:    45991
  1585. MSF- LIT: 00:02.32, LOT: 46:21.02, start: 10:11.00, end: 10:15.16
  1586.  
  1587. MSF: 10:11.00, LBA: 45675, Frames: 20, DL: 0x403a, Jitter: 0
  1588. MSF: 10:11.20, LBA: 45695, Frames: 20, DL: 0x3fe5, Jitter: -1
  1589. MSF: 10:11.40, LBA: 45715, Frames: 20, DL: 0x4021, Jitter: -1
  1590. MSF: 10:11.60, LBA: 45735, Frames: 20, DL: 0x402d, Jitter: -1
  1591. MSF: 10:12.05, LBA: 45755, Frames: 20, DL: 0x4004, Jitter: -5    
  1592. MSF: 10:12.25, LBA: 45775, Frames: 20, DL: 0x3fab, Jitter: 16   
  1593. MSF: 10:12.45, LBA: 45795, Frames: 20, DL: 0x4077, Jitter: 17    
  1594. MSF: 10:12.65, LBA: 45815, Frames: 20, DL: 0x3fd3, Jitter: 11    
  1595. MSF: 10:13.10, LBA: 45835, Frames: 20, DL: 0x4035, Jitter: 10    
  1596. MSF: 10:13.30, LBA: 45855, Frames: 20, DL: 0x401e, Jitter: 10    
  1597. MSF: 10:13.50, LBA: 45875, Frames: 20, DL: 0x3fe8, Jitter: 11    
  1598. MSF: 10:13.70, LBA: 45895, Frames: 20, DL: 0x3fb9, Jitter: 11    
  1599. MSF: 10:14.15, LBA: 45915, Frames: 20, DL: 0x3fd5, Jitter: 11    
  1600. MSF: 10:14.35, LBA: 45935, Frames: 20, DL: 0x4048, Jitter: 10    
  1601. MSF: 10:14.55, LBA: 45955, Frames: 20, DL: 0x3fd7, Jitter: 10    
  1602. MSF: 10:15.00, LBA: 45975, Frames: 17, DL: 0x402b, Jitter: 11    
  1603.  
  1604. Average DA reading speed: 66 KB/s
  1605. Average DA jitter correction: 8 samples
  1606. Average Digital Level: 0x444c
  1607.  
  1608. CD-ROM drive reset to normal mode without error.
  1609.