          -=========================================================-
             The PC-Engine/TurboGrafx-16 CD-ROM ISO/WAV/CUE Ripper
     http://nick.serveblog.net/index.php?ind=downloads&op=entry_view&iden=8
          -=========================================================-

                                 Version 1.00
                         ReadMe updated on 4/19/2006

   Copyright © 2006 by NightWolve under GNU General Public License. This
   software may not be distributed unless accompanied by this documentation.
   See the Legal section for details.

+==============================================================================-
|  Table of Contents
+==============================================================================-

   1.  Introduction
   2.  Requirements
   3.  Usage
   4.  Version History
   5.  Project History
   6.  Credits & Greetings
   7.  Legal / Disclaimer
   8.  Contacting us
   9.  Miscellaneous Links and Goodies


+==============================================================================-
|  1.  Introduction
+==============================================================================-

   I got the idea for this program some time after working on my translation
   project for "Ys IV: The Dawn of Ys" and releasing the first patch. It was
   based on many factors, one of them being that a project member was planning
   on creating English dubs for the Japanese audio tracks used in the game. Now
   to replace those audio tracks with English replacements, one would need to
   rip their Ys IV disc in a special way. The required image format is what's
   referred to as ISO/WAV/CUE. In this format, unlike formats such as CDRWIN's
   BIN/CUE, Nero's NRG, or Alcohol 120%'s MDS, etc., every track file is ripped
   to a separate file when dealing with a mixed mode CD (which is what all
   PC-Engine/TG-16 CDs are). This has many advantages, since audio tracks are
   ripped to wave files, they can individually be compressed by special audio
   compression programs to greatly reduce the storage space required.

   So anyway, the purpose of this program is to rip/extract any PC-Engine/TG-16
   CD-ROM that you might have directly into an ISO/WAV/CUE image format. It
   will guarantee the same size of every track file across all CD-ROM devices
   because it will enforce the PRE/POST-GAP rules for transitions between track
   types, something even Goldenhawk's CDRWIN program will not do, nor any other
   professional software of that nature. I wanted a perfect extraction of every
   track so every ISO and WAV file will come out to be the same size on every
   machine out there. So eliminating size inconsistencies in ripping results is
   another reason why I felt this program needed to exist.

   While this program is intended for use with PC-Engine/TG-16 discs, it can
   also detect and rip MODE2/2352 discs such as Playstation ones. So it is a
   general purpose command-line ripping program for various discs. However, it
   will only rip in RAW mode in the case of Playstation, so your drive needs to
   be able to support that. But here's the neat thing that makes it unique to
   PC-Engine/TG-16 discs: This program is compiled with a TOC Database of all
   PC-Engine/TG-16 discs, so when you insert an original PC-Engine/TG-16 disc,
   it'll detect and verify its authenticity and use the default title stored
   within to name the track files. You'll see what I mean after you try the
   program and it correctly names the image based on the disc you inserted.

   So, what else can TurboRip do for you? It can produce an ISO/MP3 image
   archive that is ready for use on Sony's PSP portable system with the PCEP
   emulator or even X-BOX's Hugo-X emulator. If you have an audio CD, you can
   just use the /mp3 parameter, set the bitrate and a few other controls, and
   it'll rip just audio tracks. It should be faster than anything commercial
   software has to offer for audio extraction to boot! I also added support for
   the Monkey's Audio codec for lossless image backups too. If the initial
   release of this application is well received by the community, I will add
   support for more audio codecs such as OGG, and possibly FLAC.

   Well, good luck, and do lemme know how this program works out for you,

     - NightWolve

+==============================================================================-
|  2.  Requirements
+==============================================================================-

 Media:		An original PC-Engine/TurboGrafx16 CD-Rom, preferably
 OS:		Any 32-bit version of Microsoft® Windows® will suffice
 Hardware:	Any CD-Rom/DVD-Rom reading device that is MMC compliant (an
		industry standard) and supports the reading of subcode
		information. There are Sony and NEC drives that don't fit the
		bill when it comes to MMC, so you may have trouble with them.
		(The vast majority of modern CD/DVD drives are MMC compliant.)
 MP3 Codec:	Should you use any of the special options to output an ISO/MP3
		archive used for PSP or XBOX-based emulators, this program will
		extract an included compiled LAME MP3 encoder for that purpose
 ASPI Layer:	This program already takes care of installing its own separate
		copy of a fairly reliable WNASPI DLL. If you're on Win9X/ME,
		though, you'll need to reboot once after first running it. You
		do have the option of using a parameter to force the use of the
		default installed ASPI layer if you find that works better

 The following CD/DVD devices listed below have been tested with TurboRip:

   PLEXTOR DVDR   PX-740A    1.01 (Manufacture Date: >= 2005)
   YAMAHA  CRW2200EZ CDRW    1.0D (Manufacture Date: April 2001)
   PIONEER DVD-ROM DVD-115   1.33
   MSI StarSpeed DVD-ROM 16x 1.30 (Model: D16 [MS-8216])
   SAMSUNG CD-R/RW SW-208F   FN03 (Manufacture Date: October 2000)
   Sony CRX-145E                  (Manufacture Date: July 2000)
   GoldStarCRD-8160B (CPQ)   1.08 (Manufacture Date: January 1997)
   BCD 48SB CD-ROM           C2.4

   DAEMON TOOLS V3.47 (VIRTUAL CD/DVD DRIVE SOFTWARE)

 (Other virtual CD/DVD-Rom emulators should work with TurboRip all the same)

+==============================================================================-
|  3.  Usage
+==============================================================================-

   TurboRip is a 32-bit command-line program. As such, this has its advantages
   and disadvantages. So, I'll go step by step using output from my own system
   as an example.

   1) When no parameters are passed, TurboRip will prompt you for a CD-ROM
      device to use. The startup output looks something like this:

       >Verifying ASPI Support...

       >Initializing ASPI Manager...
       >ASPI Manager successfully loaded...

       >Scanning for installed CD-ROM Devices...

       >  1) PIONEER DVD-ROM DVD-115 1.33 - 0:1:0 (Use /1 for this drive)
       >  2) YAMAHA  CRW2200E        1.0D - 1:1:0 (Use /2 for this drive)
       >  3) Generic DVD-ROM         1.0  - 2:0:0 (Use /3 for this drive)

       >No CD-ROM drive ID was specified.

       >Please select one from the list above:>

   2) In my case, I have a disc in my YAMAHA drive, so I'll type '2' and press
      enter to begin the ripping/extraction process. Along with the TOC being
      displayed, this it what'll happen next (using my Dracula X disc):

       >A TOC match of your disc against 501 known authentic signatures available
       >from the "TOC Database" has been made! The title of the PC-Engine CD-ROM
       >game that has been detected in your drive is:

       >"Akumajou Dracula X - Chi no Rondo (J)"

       >Note: A TOC match likely indicates that you're ripping from an original copy,
       >but if in fact it is a burned CD-R, it does not guarantee that the audio data
       >hasn't been degraded by say a lossy encoder such as OGG...

       >Save TOC: Akumajou Dracula X - Chi no Rondo (J).toc

       >Performing Track Analysis... One moment...
       >Save CUE: Akumajou Dracula X - Chi no Rondo (J).cue

       >R-W Subcode Data Supported: Yes
       >CD-DA Commands Supported  : Yes
       >CD-DA Stream-Is-Accurate  : Yes
       >Read Speed(s) Supported   : 40x 32x 24x 10x
       >Read Speed Selected       : 10x
       >Notice: Unable to set read speed at 4x (10x will be used)
       >Read Retry Count [DATA]   : 5

       >Ripping: Audio Track 01 (8,620,080 Bytes)
       >Sector Range: 000000 to 003664 (3,665 Sectors)
       >File: Akumajou Dracula X - Chi no Rondo (J)-01.wav
       >Progress: 100.0%, LBA: 003645 to 003664
       >Overall Progress: 4.5% (1/22 tracks)

   3) Voilà! The ripping process has taken place with the first audio track.
      Notice how a minimum choice in speed was attempted at 4x? That's the
      default to ensure a quality rip, but the drive's minimum speed is 10x,
      so that's what will be used in this case. If you want the max, you'll
      have to type the correct parameter which is explained below.

 *****************************************************************************

   OK, here are examples assuming the 2nd drive has a PC-Engine/TG-16 disc:

   Example 1: turborip /2 /speed=max
   Example 2: turborip /2 /speed=max /pcep /br=96 /rs=32000
   Example 3: turborip /2 /speed=max /mp3 /br=96 /mbr=192 /vbr=8
   Example 4: turborip /2 /speed=max /hugox
   Example 5: turborip /2 /speed=max /raw
   Example 6: turborip /2 /toc
   Example 7: turborip /2 /speed=32 /ape /apelevel=insane
   Example 8: turborip /2 /speed=32 "/name=Bad Copy of Dracula X"


   Now let's study all of the parameters in detail. If you type "turborip /?"
   at the prompt, below is the output of what you'll get:


 >   *** The PC-Engine/TurboGrafx-16 CD-ROM ISO/WAV/CUE Ripper ***
 >   Plight of the Fan Translator ( http://nick.serveblog.net/ )
 >   Written by Nicholas Livaditis (aka NightWolve) - Copyright (c) 2006
 >   Version 1.00 (Apr 19 2006)
 >   Special Thanks: Squaresoft74, for TOC data + Dave Shadoff, for tech info.

 >   Usage: TURBORIP [/1|/2.../8] ["/NAME=xxx"] [/SPEED=n|max]
 >   Example: TURBORIP /1 "/name=Dracula X (J)" /speed=max

 >   Parameters:

 >   /1-8         - ID of CD-ROM drive to rip from
 >   /NAME=xxxx   - Alternative base filename for unknown CDs (Use quotes if spaced)
 >   /SPEED=n|max - Reading speed (default is 4x)
 >   /TRACK=n     - Only rip a specified data/audio track (1-99)
 >   /TOC         - Only save the TOC file
 >   /RAW         - Enable reading of raw (2352 byte) data sectors (default is 2048)
 >   /DEVICES     - Only display a list of installed CD-ROM devices
 >   /MP3         - Only rip audio tracks to MP3 (intended for music discs)
 >   /APE         - Rip an ISO/APE/CUE image for lossless 1:1 backup purposes
 >   /APELEVEL=xx - Adjust the APE compression level (default is normal)
 >                  Allowed: fast, normal, high, extrahigh, insane
 >   /PCEP        - Rip an ISO/MP3/TOC image for use with PCEP emulator on PSP
 >   /HUGOX       - Rip an ISO/MP3/CUE image for use with HUGO-X emulator on X-BOX
 >   /RS=n        - Adjust the MP3 resampling rate (default is 44100 Hz)
 >                  Allowed: 8000,11025,12000,16000,22050,24000,32000,44100,48000
 >   /BR=n        - Adjust the MP3 [mininum with VBR] bitrate (default is 128 kbps)
 >                  Allowed: 32,48,64,80,96,112,128,160,192,224,256,320
 >   /MBR=n       - Adjust the maximum MP3 bitrate (default is encoder's choice)
 >                  Note: This option is only relevant when /VBR is used
 >                  Allowed: 32,48,64,80,96,112,128,160,192,224,256,320
 >   /VBR=n       - This will enable MP3 VBR mode and set its quality rate (0-9)
 >   /READRETRY=n - # of times a drive will try its read-recovery algorithm (5-255)
 >   /SYSTEMASPI  - Use your system ASPI (WNASPI32.DLL) if available. Try this if
 >                  TURBORIP's own ASPI included layer is unstable
 >   /FORCERIP    - Allow ripping despite lacking a drive that is capable of reading
 >                  R-W subcode info and/or CD-DA accurately. I highly recommend you
 >                  use or buy a better drive instead of resorting to this. This
 >                  option is a workaround in case of improper detection by TURBORIP

   Now let's go over each one.
  
   /1-8

   If you know the ID of your drive after having already seen the list of
   drives the second time around, you can just pass /1, /2, etc. whichever it
   is to avoid being asked to pick it again. This is for speed and would allow
   you to create a batch file say if you wanted to archive a bunch of discs.

   /NAME=xxxx

   This parameter allows you to pass the base filename every file/folder that
   TurboRip creates will use. However, if an original PC-Engine/TG-16 disc is
   detected in your CD/DVD drive, this parameter will be ignored. Instead, the
   standard names found in Squaresoft's PC-Engine/TG-16 TOC database will be
   used. I chose this behavior for consistency reasons. Finally, if you do not
   specify this parameter at the prompt, and the disc in your drive was not
   detected as a valid/authentic PC-Engine/TG-16 disc, you will be prompted
   for it - unknown discs in other words will need to be named.

   To reiterate, this parameter isn't valid if a PC-Engine/TG-16 disc is
   detected in your drive, in which case, the full game title via the TOC
   database will be used and thus override your choice in naming the track
   files. You will be prompted for a name if needed if you don't specify this
   parameter at the prompt.


   /SPEED=n|max

   This parameter speaks for itself. It controls your drive's speed. TurboRip
   defaults to 4x to ensure high quality, error free ripping of audio tracks.
   If you want the maximum reading/ripping speed, use /speed=max. If you have a
   good reliable drive, that shouldn't be a problem.

   /TOC

   If you only want the Table of Contents of your disc, use this. A .toc file
   will be written to disk and TurboRip will then exit. The TOC format happens
   to be in the same format that is useable by PCEP, an emulator for Sony's
   portable system, the PSP.

   /RAW

   Data tracks are normally read with the regular Read command. If they are
   recorded in MODE1, that means there is only 2048 bytes of user data which is
   normally what is preferred to be written to disk when storing them. That
   excludes the Sync, Header, EDC, and ECC data. A regular Read command will
   only return that 2048 user data. However, if you want the whole MODE1/2352
   sector, you use the /raw parameter. Then the sector will be read as you
   would an audio sector, returning all 2352 bytes.

   The usefulness of this option depends. In general, when dealing with a
   PC-Engine/TG-16 disc, you should AVOID using this option! Nearly all
   PC-Engine/TG-16 ISO tracks throughout the Internet are ripped in non-raw
   userdata 2048 bytes/sector format. That means, without using this option!
   Now, while /raw mode can give you an exact copy of the disc, some CD-ROM
   drives are not very good at reading raw data sectors and errors can occur
   (and it takes more harddisk space to store the disc image). In many cases
   it is much better to copy just the user data, and let the CD recorder
   regenerate the header and error correction codes when the new disc is
   written. Avoiding this option should increase the reliability of reading
   and writing for all MODE1 discs (which is what PC-Engine/TG-16 discs are).

   Now, why have this option? Because you may very well need to use it! Some
   recorders like the models listed below do not support writing tracks with
   different block lengths in disc-at-once recording mode. Other models simply
   do not support the writing of non-raw data sectors in disc-at-once recording
   mode. They are:

     Grundig CDR100IPW
     Hewlett Packard 4020, 6020, 7100, 7200
     Kodak PCD225, PCD600
     Memorex CDW-620
     Mitsubishi CDW226
     Mitsumi CR-2401TS
     Philips CDD522, CDD2000, CDD2600
     Philips OmniWriter
     Plasmon CDR4220
     Plextor PX-R24CS
     Ricoh RO-1420C, MP6200S/6201S
     Wearnes CDR-432, CDR-632

     JVC XR-W2020/2022/2626
     Pinnacle RCD4X4
     Smart&Friendly 2006PLUS
     Teac CDR50S

   If have any of the above listed models and you want to later reburn your
   image, you will need to use the /raw option if you're dealing with
   mixed-mode discs (such as PC-Engine/TG-16). Conversely, there are other
   models that cannot record raw data sectors. In that case, and in general,
   you must explicitly AVOID using this option. Those models are:

    JVC XR-W2010/2012
    Pinnacle RCD5040

   Conclusion: In general, AVOID this option! In the case of MODE2 discs such
   as Playstation, however, there is no choice in having to read raw data
   sectors, but TurboRip chooses that on its own. Alright, so that about sums
   it up.

   /DEVICES

   This option causes TurboRip to exit after displaying all detected CD/DVD
   devices on your system which TurboRip does normally anyhow. This just
   causes it to exit right after.

   /MP3

   No matter the type of disc, audio, mixed-mode, etc., TurboRip will ONLY find
   Audio tracks and rip/extract those to disk in MP3 format. It'll skip
   extracting any Data tracks if present. The LAME library is used for
   TurboRip's MP3 encoding abilities.

   /APE

   Rip an ISO/APE/CUE image for lossless 1:1 backup purposes. APE is a lossless
   audio codec, so unlike MP3, it will not throw away any audio data in the
   encoding process. It's basically a beefed-up Winzip that specializes in
   dealing with CD audio tracks. Of course you can use this for music CDs, but
   I was mostly motivated in adding it to allow for perfect image backups of
   PCE/TG-16 CDs. A winamp plugin is available when you install the actual
   application from which I obtained this codec. Check the links section at the
   bottom of this ReadMe for the url.

   /APELEVEL=xx
   
   Adjust the APE compression level (default is normal). The only acceptable
   values are:

     fast, normal, high, extrahigh, insane

   /PCEP

   I once helped a visitor to my site that asked for help in getting DraculaX
   to run on his PSP portable using the PCEP emulator. I don't own a PSP, so
   that made it rather difficult to help in his problem, but I managed to
   succeed in the end. Because of that experience, you now get the benefit of
   this special option to TurboRip!!

   This option will cause TurboRip to take your original PC-Engine/TG-16 disc,
   and rip/extract it to an ISO/MP3/TOC archive. What you do next is connect
   your PSP memory stick to your PC, copy the archive to it, connect the stick
   back to your PSP, load the PCEP emulator, then point it to the TOC file for
   loading. The TOC file is what it needs, not a CUE file. Anyhow, if you
   follow those instructions roughly, you'll be able to play most
   PC-Engine/TG-16 CD-ROM games on Sony's PSP portable system! Enjoy!!!!!!

   /HUGOX

   TurboRip was partly inspired from a program named cddissect. However, it
   was limited and had it allowed ripping directly to ISO/WAV/CUE format, I
   probably never would've embarked on creating TurboRip in the first place.
   The problem with cddissect was it was made for a specific purpose and only
   ripped audio tracks directly to MP3 format, with no option to allow for
   uncompressed WAVE format to store 1:1 quality backups. As such, it didn't
   do what I needed so TurboRip now exists.

   Now, let's get to the point. Basically, cddissect was made to rip an
   ISO/MP3/CUE file set directly for use with the HUGO-X emulator on X-BOX.
   I copied this functionality over. So now TurboRip can do what cddissect was
   only capable of doing. Please let me know how this works out if you use it
   for this purpose.

   /RS=n

   If you use any option that outputs MP3 audio files, this can adjust the MP3
   resampling rate from the default (44100 Hz). The only acceptable values are:

     8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000

   /BR=n

   If you use any option that outputs MP3 audio files, this can adjust the MP3
   bitrate from the default which is 128 kbps. If you use the /VBR and /MBR
   options, this becomes the minimum bitrate. The only acceptable values are:

     32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

   /MBR=n

   If you use any option that outputs MP3 audio files, this can adjust the MP3
   maximum bitrate but it is only relevant when used with both the /BR and /VBR
   options (/BR then becomes the minimum bitrate desired). The only acceptable
   values are the same as /BR:

     32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

   /VBR=n

   If you use any option that outputs MP3 audio files, this will enable
   variable bitrate mode while setting its quality level. By default, VBR is off
   and so all MP3 audio files are outputted in constant bitrate mode. The only
   acceptable values are 0-9, with:

     0 = Highest quality, but largest file size
     4 = Normal quality
     9 = Lowest quality, but smallest file size

   /READRETRY=n

   This is the number of times a drive will attempt its read-recovery algorithm
   if the EDC code fails to verify the user data. This ONLY applies to Data
   sectors and NOT Audio sectors. In other words, this is a hardware setting,
   and not a software enhancement on TurboRip's part to correct a bad sector.
   The default is 5 retries, before returning a read error. Also, not all
   drives even allow you to change this setting.

   /SYSTEMASPI

   Instead of using the default provided ASPI layer by TurboRip itself, this
   will force TurboRip to load "WNASPI32.DLL" if available. Typically, that'll
   be Adeptec's ASPI layer if you've installed it. Ahead Nero also provides a
   replacement for it, so if that is in your system folder, it will be loaded.
   Use this option if you find TurboRip is unstable as is.

   /FORCERIP

   This option is basically an override to a protection I put in place to
   ensure the highest possible quality rip. There are two features that your
   drive should be capable of to get the highest quality extraction. One of
   them I'm absolutely sure about, and that's the CD-DA Stream-Is-Accurate
   capability. If the CD Drive does not support this, then digital audio data
   must be read as a continuous stream. If while streaming the drive must stop,
   there will be a non recoverable error generated READ ERROR - LOSS OF
   STREAMING. This is due to the 1 second uncertainty of the address. (i.e.
   there is no header in CD-DA data). Reissuing the command may not return
   exactly the same data as the previous try. When the drive supports the
   stream accurate capability, there will be no error, only some time delay for
   rotational latency.

   Most moderns drive have this, so it should be a non-issue. Now, the second
   feature, I'm not so sure about, but I'll explain why I abort TurboRip if
   your drive doesn't have it. I have two drives, one that can read R-W subcode
   information, a CDRW, and a drive that cannot, a generic DVD drive. If I rip
   the same audio track from the same disc with these two drives and compare
   the resulting audio files in a hex editor, I will find I cannot get the same
   results. The audio data is displaced at the beginning which is as best as I
   can explain it. I came to the conclusion it's to do with my DVD drive not
   supporting the reading of R-W subcode information, even though it's not
   relevant to the audio tracks we're dealing with if we're talking PCE/TG-16.
   So, I essentially "force" a recommendation by aborting TurboRip if it
   detects your drive does not support any of these two features to use or buy
   a better drive that does. This may all be a phenomenon with my own drives
   and this behavior may not be needed, but I didn't wanna take the chance. If
   you have two drives and one of them gives you this warning about needing to
   use this parameter as an override and the other does not, feel free to
   conduct a test by ripping the same audio track from the same disc using both
   drives, and then comparing them in a hex editor or just doing a binary
   compare to detect if they're identical. Lemme know what you find.

+==============================================================================-
|  4.  Version History
+==============================================================================-

 Version 1.00 (4/19/2006):

 + Integration with the PC-Engine/TG-16 TOC database so as to detect a valid,
   original PC-Engine/TG-16 disc if inserted, and warn you if not.

 + Can detect CD/DVD devices connected to your system via Firewire/USB!

 + Independent executable that provides its own copy of components if missing.
   You'll only ever need the executable and not have to worry about other
   missing dependent files as they'll be extracted on demand.

 + As of this release, LAME MP3 Library version 1.32 [Engine 3.98] (2/19/2006)
   was compiled with the executable for all your MP3 encoding needs. If you have
   a better/newer DLL, you can always replace LAME_ENC.DLL in the same folder
   as the executable and it'll use that instead.

 + As of this release, MAC APE Library version 4.01b2 (2/17/2006) was compiled
   with the executable for all your APE encoding needs. If you have a
   better/newer DLL, you can always replace MACDll.dll in the same folder as
   the executable and it'll use that instead. MAC=Monkey's Audio Codec is
   lossless audio encoder. Use this if you want a perfect backup of your CD.

 + Can rip your disc directly into an ISO/MP3 format that is useable by PCEP
   (a PC-Engine/TG-16 emulator for Sony's portable PSP system) or HUGO-X (a
   PC-Engine/TG-16 emulator for Microsoft's X-BOX console system).

 + Generates a default reliable CUE file for use with Daemon Tools or any CDRW
   burning software that supports CDRWIN's CUE format.

 + Generates a TOC dump in PCEP useable format.

 + Support for three data track modes (MODE1/2048, MODE1/2352, and MODE2/2352).
   That means you could rip a game disc from other systems, such as Sega CD,
   Playstation, etc. Playstation games can only be ripped in RAW mode as I
   didn't feel like adding support for dealing with the 4 different kinds of
   MODE2 sectors that there are. (Your drive must support reading RAW sectors.)

 + Code is highly optimized. The default VC++ runtime engine is not used.
   Instead, I use a small custom runtime engine I prefer to compile with that
   results in a much smaller and quicker executable, along with the fact that I
   sacrifice ANSI portability by calling Windows APIs directly for speed gains.

 + I would argue TurboRip is probably faster than any audio ripper out there
   when used to rip a regular audio disc. Many of the libraries commercial
   software use are quite bloated while TurboRip was written with the bare
   minimum of what's needed to read from a MMC-capable device. Their advantage
   of course is more compatibility with specific drives, etc. and support for
   jitter correction if your drive isn't "CD-DA Stream Accurate." TurboRip
   being command-line and not having to deal with controlling a Windows GUI
   also provides a speed advantage.

 + Accurate track file sizes with ALL CD/DVD-ROM devices, ensuring consistency
   in ripping results. When dealing with mixed-mode discs, TurboRip follows the
   standard set forth by the industry as follows (verbatim from a MMC document):


   ****  6.2.11.6. Pre-gap ****
   If a Data track is preceded by a different mode of track (such as an audio
   track) or if the mode number of CD-ROM changes, this Data track starts with
   an extended pre-gap. A pre-gap is placed at the head of a Data track, also
   is belonging to the Data track. A pre-gap does not contain actual user data.
   The pre-gap is encoded as "pause."

   An extended pre-gap is divided into two parts. The first part of the
   extended pre-gap has a minimum 1 second of data, and it is encoded according
   to the data structure of previous track. The second part has a minimum 2
   seconds data, and this data track is encoded according to the same data
   structure as the other parts.

   ****  6.2.11.7. Post-gap ****
   If a Data track is followed by another kind of track (such as an audio
   track), this Data track ends with a post-gap. A post-gap is placed at the
   end of a Data track, and is part of the Data Track. A post-gap does not
   contain actual user data. The minimum length of post-gap is 2 seconds. The
   drive does not perform any action for a Post-gap.


   What this means is that if a Data track is followed by an Audio track, the
   CUE file will have "PREGAP 00:02:00" line to in effect cause a post-gap of 2
   seconds for the prior Data track. If an Audio track is followed by a Data
   track, you will see a "PREGAP 00:03:00" line. Now because I follow these
   rules and assume the factory where the disc was burned/made follows them, I
   will subtract off sectors accordingly to avoid these gap/pause sectors.
   This is why TurboRip will work with a PC-Engine/TG-16 disc without errors.
   Also, this general rule should apply to all mixed-mode discs as well.

+==============================================================================-
|  5.  Project History
+==============================================================================-

   In retracing my steps, I found that I queried for information on how to
   create such a program as far back as January 29, 2005 when I asked David
   Michel, the author of the MagicEngine emulator, on how to read a CD-Rom
   sector. I decided I wanted a program like this soon after I had released my
   Ys IV patch as I mentioned in the Introduction. That was Saturday, December
   25, 2004. For the reasons already stated, there was a real need for such a
   program given no commerical software can properly produce an ISO/WAV/CUE
   image file set when it comes to mixed-mode discs such as PC-Engine/TG-16.
   I basically wanted an easy way for someone to take their original Ys IV
   disc, pop it in their CD/DVD drive, run a program, and have it rip an
   ISO/WAV/CUE image file set for them with the greatest of ease. This was not
   possible, so I up and decided I was gonna change that....

   I worked on the idea early that 2005, but I gave up... ASPI documentation
   was rather lacking, and dealing with the process of reading sectors directly
   from CDROM devices was a daunting task. It seemed too hard for little ole me
   to handle, so I gave up... I was intimidated, scared, discouraged... I gave
   up... They have a word for that: it's called quitter! That's right. Quitter!
   Proud to be one when it suits me. No, actually, I'm not. As such, I hadn't
   forgotten about my dream to make this program a year later. It was February
   28, 2006, around the time I suddenly became possessed to finish the job I
   had once started. By this time, I had released "TocFixer" which was based on
   Squaresoft's TOC database of PC-Engine/TG-16 discs. I had the experience in
   my belt of having created that application and that's partly what motivated
   me to try once again. I had thought of another cool use for the TOC data!!
   How about a Ripping program that detects an original disc using that TOC
   data and names the track files accordingly, I thought. How awesome would
   that be, it occured to me!? Thus, with my newly found fervor, I decided to
   try my luck once again.

   The search begins anew. I scoured the Internet for as much sample code of
   ASPI commands that I could find. I looked at preexisting code from bloated
   audio ripper components. I looked at comments by others in forums. Then, one
   comment eventually led me to the t10 group. "MMC" was thrown around. What
   was this "MMC" and what did it have to do with CD/DVD drives? I had to dig
   some more. Eventually, I did learn what it was after finding the relevant
   documentation. It is a specification of a universal means of communication
   with SCSI/ATAPI I/O drives/devices. It specifically deals with optical
   devices such as CD/DVD readers/writers, etc. Anyhow, I was faced with having
   to read very high level technical documentation, and I was slowly but surely
   learning what the hell was going on. Thus, I produced the first working
   version of TurboRip 3 weeks later.

   After the first 3 weeks, I got in touch with Squaresoft74 to give him a copy
   to test with. Unfortunately, TurboRip didn't behave on his drives as it did
   on all of my drives that I tested with. So we worked a good deal on figuring
   out the problems. It was a back'n'forth approach and sometimes I couldn't
   get the feedback as fast as I wanted, but we did it in the end. After I got
   back to work after taking about a week off from the computer, I fixed all
   the problems he was having. TurboRip, some 7 weeks later, April 19, was
   finally something I was comfortable releasing for mass distribution. It only
   got better with each day. Hell, it was only hours ago before this release
   that I added support for the Monkey's Audio codec (APE).

   I should note that two programs, pcerip and cddissect, offered some
   inspiration in me to create TurboRip. cddissect was almost what I was
   looking for and I was thinking of asking the creator for the source code.
   The problem with cddissect was it only outputs an audio track directly to
   MP3 with no option to allow for WAVE output. Had that option been available,
   I probably wouldn't have pursued this project interestingly enough.

   Alas, here we are. A very exquisite command-line program that should be very
   useful to the PC-Engine/TG-16 community as well as to others is before you.
   Go forth, my children, and use the gift I leave on to you wisely. Courage...

                                                              -NightWolve

+==============================================================================-
|  6.  Credits & Greetings
+==============================================================================-

 - Concept/Programming/Development

     NightWolve (Nicholas Livaditis)

 - TOC Database Concept/Management

     Squaresoft74

 - Technical Information

     Dave Shadoff

 - Beta testing

     Squaresoft74, Dave Shadoff

	It should be noted Squaresoft74 helped out with some very vigorous
	testing that discovered problems not present in the CD/DVD devices I
	tested with, so TurboRip is a far better program in its initial release
	thanks to him.

 Greetings and thanks to:

 - The t10 group (http://www.t10.org/) for the MMC (Multimedia Commands)
   standards documentation on how to access and deal with CD-ROM devices.
 - Adaptec for their useful, albeit limited ASPI documentation.
 - David Michel for some sample code to read CD sectors early on.
 - The PC-Engine/TurboGrafx-16 community in general for giving me the
   motivation to do this...

+==============================================================================-
|  7.  Legal / Disclaimer
+==============================================================================-

   This software is distributed in the hope that it will be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
   more details. Anyone using it does so at their own risk! Neither NightWolve,
   nor any of the other individuals mentioned in this documentation will be
   held liable for any loss or damage arising from its use.

+==============================================================================-
|  8.  Contacting us
+==============================================================================-

   Suggestions for improvements are welcome and please report any bugs.

   NightWolve:
	Email:	nlivadit@yahoo.com
	WWW:	http://nick.serveblog.net/

   Squaresoft74:
	Email:	squaresoft74@hotmail.com
	WWW:	http://necstasy.emunova.net/

+==============================================================================-
|  9.  Miscellaneous Links and Goodies
+==============================================================================-

 - TocFixer (for ISO/MP3/CUE PC-Engine/TG-16 archives)

     Detail:	You should have this program handy as a companion tool alongside
		TurboRip. This tool, using Square's TOC data for PC-Engine/TG-16
		discs will resize MP3 decoded wave files back to their original
		file sizes, thus restoring the TOC of the image to what it
		should be. If you have a CD-R that is not detected by TurboRip as
		a valid PC-Engine/TG-16 disc, you MUST run this tool afterwards
		on the ISO/WAV file set you extracted to ensure a good image.
		More details to explain the process can be found on the link.

     WWW:	http://nick.serveblog.net/index.php?ind=downloads&op=entry_view&iden=4

 - "Xak III: The Eternal Recurrence" Translation Project

     Detail:	My first PC-Engine translation project! It's a fine action-RPG.

     WWW1:	http://home.earthlink.net/~nlivaditis/xakiii/
     WWW2:	http://nick.serveblog.net/translations/xak3/

 - "Ys IV: The Dawn of Ys" Translation Project

     Detail:	That's right! Ys IV for the PC-Engine has an English patch!!!

     WWW:	http://nick.serveblog.net/translations/ys4/

 - Squaresoft74's PC-Engine & PC-FX TOC database

     WWW:	http://necstasy.emunova.net/

 - MagicEngine PC-Engine Emulator

     Detail:	The best emulator for PC-Engine out there, but shareware.

     WWW:	http://www.magicengine.com/uk_index.html

 - Daemon Tools

     Detail:	The best freeware virtual CD/DVD-ROM emulator that I know of.
		Use this for all your disc image mounting needs. This allows
		you to play PC-Engine images directly from your hard drive
		with the MagicEngine emulator, rather than having to play it
		through a slower physical CD-ROM disc in the drive. Saves you
		the trouble of having to burn CD-Rs for every image you find.

     WWW:	http://www.daemon-tools.cc/dtcc/download.php

 - dBpowerAMP

     Detail:	A great freeware audio file conversion tool. I recommend you
		use this to convert your MP3 files to waves.

     WWW:	http://www.dbpoweramp.com/

 - The LAME Project

     Detail:	Well, this is what I use for this program's MP3 encoding
		capability. The VC++ DLL interface wasn't so bad once I got the
		hang of it.

     WWW:	http://www.mp3dev.org/

 - Monkey’s Audio Codec

     Detail:	The is another audio codec I added support for. Unlike MP3, it
		is lossless, meaning you don't lose any original audio data.
		Think of it as a beefed-up Winzip for your audio tracks.

     WWW:	http://www.monkeysaudio.com/

 - Nero ASPI by Ahead Software

     Detail:	Ahead software offers their ASPI layers free. They also promise 
		support for USB/FireWire devices. Most programs should operate
		with Ahead’s ASPI, and there are many positive reports about
		the performance of this driver.

     WWW:	http://ww2.nero.com/nero6/eng/ASPI_Driver.html

 - SCSI-3 Multimedia Commands (MMC) Technical Document by the T10 Group

     Detail:	This was one of the more important pieces of documentation that
		helped make the creation of this application possible. MMC
		describes the command set for multi-media devices such as
		CD-ROMs based upon (but not necessarily compatible with)
		SCSI-2. It includes initial support for CD-R and CD-RW writing.

     WWW:	http://www.t10.org/ftp/t10/drafts/mmc/mmc-r10a.pdf

