          -=========================================================-
             The PC Engine/TurboGrafx-16 CD-ROM ISO/WAV/CUE Ripper
                    https://github.com/NightWolve75/TurboRip
                  https://www.ysutopia.net/get.php?id=TurboRip
          -=========================================================-

                                 Version 1.45
                         ReadMe updated on 10/18/2025

   Copyright  2006-2025 by Nicolas Livaditis (AKA NightWolve). This software
   may NOT be distributed unless accompanied by this documentation. All Rights
   Not Expressly Granted Are Reserved. 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 CD-I/PlayStation ones. So it is
   a general purpose command-line ripping program for various discs. 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 videogame CD-ROM or even a music CD.
 OS:         Microsoft Windows 95/98/ME/NT4/2000/XP/Vista/7/8/8.1/10++
             ~ANY 32-bit version of Microsoft Windows will suffice!!!
             64-bit versions seem to work fine but mileage may vary.
 Hardware:   Any CD-ROM/DVD-ROM reading device that is MMC compliant (an
             industry standard) and preferably supports the reading of "Q"
             Subcode information. The vast majority of modern CD/DVD drives
             are MMC compliant. Some decade-old Sony/NEC drives don't fit the
             bill when it comes to MMC so you may have trouble with them...
 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!
 APE Codec:  Should you wish to archive a CD for 100% backup purposes, APE
             is provided which is a specialized lossless PowerZip codec for
             handling redbook WAVE files ( http://www.monkeysaudio.com/ )!
 ASPI Layer: Now obsolete on Windows NT platforms: NT4/2K/XP/Vista/7/8/10+!
             The Native NT SCSI Library is used by default on such platforms
             so a WNASPI32 DLL is THANKFULLY no longer needed nor included!
             In order to continue support for Win9X/ME, however, TurboRip
             still maintains compatibility by loading the default system
             installed Adaptec ASPI layer. In all cases, the /useaspi
             parameter still works allowing you to load ASPI even on NT
             platforms to see if you get any different results. In short,
             both ASPI and NT's SPTI are supported.

 Some CD/DVD drives and software that were tested with TurboRip:

   YAMAHA  CRW2200EZ CDRW    1.0D (Manufacture Date: April 2001)
   PIONEER DVD-ROM DVD-115   1.33 (Manufacture Date: October 2000)
   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)

   Daemon Tools (VIRTUAL CD/DVD DRIVE SOFTWARE)
   Alcohol 52%  (VIRTUAL CD/DVD DRIVE SOFTWARE)

 (Other Virtual CD/DVD-ROM emulators should work with TurboRip all the same)


+==============================================================================-
|  3.  Usage
+==============================================================================-

   TurboRip is a Win32 command-line app built Win-tough with Visual C++ 2005.
   As such, this has its advantages and disadvantages. So, I'll go step-by-step
   using output from my own system to help demonstrate/educate. ^_^

   0) Hotkeys: CTRL + BREAK or CTRL + C

      At any point during use of TurboRip, you can abort an operation with
      CTRL + BREAK or C. You'll get a Yes/No prompt to finish the extraction
	  of the current track before aborting as further convenience.

   1) When no parameters are passed, TurboRip will prompt you for them and
      a CD-ROM device to use. The startup output looks something like this:

       >*** The PC Engine/TurboGrafx-16 CD-ROM ISO/WAV/CUE Ripper ***
       >Ys Utopia.net ( http://www.ysutopia.net/ )
       >Coded by Nicolas Livaditis (AKA NightWolve) - Copyright (c) 2006-2016
       >Version 1.41 (Apr  16 2016)
       >Thanks to: Squaresoft74, for TOC data + David Shadoff, for TECH Info.

       >No parameters were specified at the prompt.
       >Enter them now (use /? or /help for a list), or press enter to skip.
       >Parameters:>
       >Notice: Default settings will be used...

       >Notice: Using Native Microsoft NT SCSI Library...
       >Notice: Scanning for installed CD-ROM Devices...

       > 1) [E:\] ASUS    DRW-24B3ST      1.00 (/1 for this drive)
       > 2) [I:\] HL-DT-STDVDRAM GH20NS10 EL00 (/2 for this drive)
       > 3) [J:\] TYX     L6ROLMVSD       3.5Z (/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 CD in the third drive, so I'll type '3' 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):

       >The CD's TOC was matched against a TOC database of 511 videogame titles!

       >Title: "Akumajou Dracula X - Chi no Rondo (J)"
       >Type : "NEC PC Engine CD"

       >Note: A TOC match indicates that you're likely ripping from an original copy,
       >but if in fact it's a burned CD-R, it does NOT guarantee that the audio data
       >hasn't been degraded by say a lossy encoder such as OGG...

       >Wrote TOC File: "Akumajou Dracula X - Chi no Rondo (J).toc"

       >Notice: Performing first track mode analysis... One moment...

       >*** Drive Capabilities & Features ***
       >Reads DVD-ROM Media      : Yes
       >Reads Multi-Session Media: Yes
       >Reads MODE2/FORM 1&2 [XA]: Yes,Yes
       >Reads R-W SubCodes Joined: Yes
       >Reads R-W De-Interleaved : Yes
       >Reads C2 Error Pointers  : Yes
       >Reads ISRC Information   : Yes
       >Reads Media Catalog#[UPC]: Yes
       >Reads Media Bar Codes    : No
       >CD-DA Command Support    : Yes
       >CD-DA Stream-Is-Accurate : Yes
       >Read Buffer Size         : 2,048 KB
       >Read Speed Max Reported  : 40x (7056 kBps)
       >Read Speed(s) Detected   : 40x 32x 24x 10x
       >Read Speed Selected      : 40x
       >Note: Unable to set read speed at 8x (10x will be used)
       >Read Retry Count [DATA]  : 5

       >Wrote CUE file: "Akumajou Dracula X - Chi no Rondo (J).cue"

       >Ripping  : Audio Track 01 (8,620,080 Bytes)
       >LBA Range: 000000 to 003664 (3,665 Sectors)
       >File Name: "01 Akumajou Dracula X - Chi no Rondo (J).wav"
       >Progress : 100%, LBA: 003645 to 003664
       >Overall Progress:   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 8x? 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 (/speed=max) which is explained below.

 *****************************************************************************

   OK, here are examples assuming the 2nd drive has a PC Engine/TG-16 CD-ROM:

   Example 1: turborip /auto /turbo
   Example 2: turborip /2 /turbo /psp /br=96 /rs=32000
   Example 3: turborip /2 /turbo /mp3 /br=96 /mbr=192 /vbr=8
   Example 4: turborip /2 /turbo /xbox
   Example 5: turborip /2 /turbo /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:

 >   Usage: TURBORIP [/1|/2.../9] ["/NAME=xxx"] [/SPEED=n|max]
 >   Example: TURBORIP /1 "/name=Dracula X (J)" /speed=max

 >   Parameters:

 >   /AUTO        - Autoscan all CD drives with TOC database, rip 1st game detected
 >   /1-9         - Manually select ID of CD-ROM drive to rip from
 >   /NAME=xxxx   - Alternative base filename for unknown CDs (Use quotes if spaced)
 >   /SPEED=n|max - Audio/raw sector reading speed (default is 8x)
 >   /TURBO       - Shorthand for /speed=max, sets max speed for audio/raw sectors
 >   /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)
 >   /REDUMP      - Rip a BIN/BIN/CUE image conforming to the redump.org standard
 >   /DEVICES     - Only display a list of installed CD-ROM devices
 >   /NORMALIZE   - Apply basic normalize/amplifying algorithm to wave files
 >   /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

 >   /PSP         - Rip an ISO/MP3/TOC image for use with PCEP emulator on Sony PSP
 >   /XBOX        - 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 [minimum 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 will enable MP3 VBR mode with default quality rate
 >                  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)
 >   /USEASPI     - Try your system ASPI (WNASPI32.DLL) if available. ASPI is NOT
 >                  needed on NT/2K/XP/Vista/7/8+ but the option exists just in case
 >   /FORCERIP    - Allow ripping despite lacking a drive that is capable of reading
 >                  CD-DA accurately. Using this option indicates your drive is very
 >                  old and ought to be replaced to ensure a higher quality rip


   Now let's go over each one.
  
   /AUTO

   A long overdue magic convenience! Instead of manually selecting a CD drive,
   using this option will call for automatically scanning all connected drives
   that have a CD loaded to look up its TOC against the videogame TOC database
   and the 1st match will result in auto selection of that drive for ripping!
   You no longer have to use the /1-/9 manual selection commands for games!

   /1-9

   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 Squaresoft74'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 controls your drive's speed for audio or raw sector reads. TurboRip
   tries to default to an 8x minimum to ensure high quality, error-free
   ripping of audio tracks. However, if you want the maximum ripping/reading
   speed possible, you can use /speed=max. Given a good, reliable, trusted
   drive, that shouldn't be a problem most of the time. Redbook audio tracks
   don't have CRC error-checking unlike data tracks, so if the CD is dirty,
   bad audio sectors can be read and you might not know it! Cooked data sectors
   are now *always* read at maximum speed due to CRC checks which catch errors
   to ensure 100% accuracy, so slow speeds are an objective waste of a time.

   /TURBO

   This is just shorthand for /speed=max! I thought to myself, hey, why not add
   a quick shortcut for maximum speed befitting of TurboRip ?? :)

   /TRACK=1-99

   TurboRip will only rip one specified [audio/data] track (1-99) and then
   quickly exit. Simple!

   /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 usable by PCEP, an emulator for Sony's
   new portable system, the PSP.

   /RAW

   Data tracks are normally read with the regular SCSI Read command. If they're
   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).

   Note: Because TurboRip is still in development and MODE2 sectors are not
   researched enough, they will automatically be read in RAW mode so that
   you can still use TurboRip for them. Videogame CDs like PSX are MODE2.
   
   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 at all... Some are:

     Hewlett Packard 4020, 6020, 7100, 7200
     Kodak PCD225, PCD600
     Memorex CDW-620
     Mitsubishi CDW226
     Philips OmniWriter, CDD522, CDD2000, CDD2600
     Plextor PX-R24CS
     JVC XR-W2020/2022/2626

   If you own any of the above listed models and you want to later reburn your
   CD image file set, 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. Models like:

    JVC XR-W2010/2012
    Pinnacle RCD5040

   Conclusion: In general, let TurboRip decide! Alrighty, 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.

   /NORMALIZE

   Apply basic normalize/amplifying algorithm to wave files. Use this to boost
   the preamp volume level of a wave file to help make it much louder. Clipping
   is very minimal but possible. Use Audacity for fancier algorithms instead.

   /MP3

   No matter what type of disc, audio, mixed-mode, etc., TurboRip will ONLY
   find audio tracks and rip/extract them to disk in MP3 format. It'll skip
   extraction of any data tracks if present. The included 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 plug-in 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

   /PSP

   I once helped a visitor to my site (Bernie) that asked for help in getting
   Dracula X to run on his Sony PSP portable using the PCEP emulator. I don't
   own one, 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 rip/extract your original PC Engine/TG-16
   disc directly to an ISO/MP3/TOC archive. The PCEP emulator also requests that
   all MP3s are encoded in mono format to save CPU cycles, so TurboRip does the
   stereo-to-mono conversion as well. Keep that in mind if you share the MP3s
   from this option, they're mono! 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!!!!!!

   /XBOX

   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.

   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. So, I just copied this
   functionality over! TurboRip can now do what cddissect was only capable of
   doing. Please lemme know how this works out if you use it for this purpose.

   /MRS=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

   /MBR=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 /MMBR
   options, this becomes the minimum bitrate. The only acceptable values are:

     32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

   /MMBR=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 /MBR & /VBR
   options (/MBR then becomes the minimum bitrate desired). The only acceptable
   values are the same as /MBR:

     32, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

   /MVBR=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 varies, but can be at least 5 retries, before returning a read
   error. Also note, not all drives allow you to change this setting.

   /USEASPI

   On NT platforms, this'll force TurboRip to load "WNASPI32.DLL" if available.
   Typically, that'll be Adaptec's ASPI layer. Other possible known layers are
   provided by Ahead Nero and FROGASPI, and would be loaded using this option.
   On Win9X/ME, Adaptec's ASPI layer is the default as it was once a standard,
   but since Windows NT4, Microsoft abandoned it in favor of its own SCSI
   Library (SPTI) which is what TurboRip now uses by default. Use this option
   only as a last resort. It's mostly obsolete on newer Microsoft Windows OSes
   (NT4/2K/XP/Vista/7/8/10/etc.) and likely won't work, but just in case. It's
   possible that your user account limits access rights to CD/DVD drives, so
   that would be one reason to try using this option if you're having trouble
   because maybe your ASPI DLL evades the restrictions better than TurboRip,
   or, you can right click TurboRip and select "Run as administrator."

   /FORCERIP

   This option is basically an override to a protection I put in place to
   ensure the highest possible quality rip. There are 2 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 modern drives 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 2 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 2 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 doesn't support any of these 2 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 2 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.45 (10/18/2025):

 + Update: New parameter option: /redump to dump in the redump.org bin image
   format (BIN/BIN/CUE format).

 + Update: No more spam, version-check browser popup removed.

 + Update: The basic /normalize feature was revisited and improved. The main
   loop for processing a WAVE file was rewritten in pure x86 Assembly, the
   volume multiplier precision was increased from a 4-byte float variable to
   an 8-byte double, switched to faster float-to-int rounding, and even more
   speed was achieved by skipping zero/null/silent 16-bit samples (an obvious
   no-brainer, previously every 16-bits of a WAVE were read/written blindly).

 + Bug fix: The /xbox option produced a CUE file with wrong MP3 filenames...
   Thanks to pceslayer @ PCEngine-FX.com forums for the bug report!
   (The CUE format is matched to the old cddissect app by Xport which most
   XBOX PCE emulators expect I figure, so that's what I used for reference.)

 + Bug fix: Compatibility improvements. More CD/DVD devices under Win7++ work!
   Some Windows 7 versions can't read CD data sectors using SPTI that lack an
   an ISO9660 file system like all previous NT versions and the security level
   varies... It's confusing, but I had to rewrite the function that reads data
   sectors to try using the normal method of building a SCSI command packet
   with the SCSI_READ10 (0x28) opcode first, and if that fails, try the
   Microsoft SPTI method to let the OS mostly handle it. The prescribed SPTI
   ReadFile() method is no longer enforced as other Windows 7 builds required
   AND it stopped working on PC Engine game CDs as they have no file system...

   The other issue is the CD device rejecting opcode 0x28 to read data sectors.
   As a result, I increased compatibility by adding the MMC1 0xBE opcode as a
   3rd option when the other 2 fail! That newer opcode is used for reading
   sectors raw, but by setting the appropriate flag in the command packet, it
   will return only the "cooked" user data just as the READ10 opcode does.
   Anyway, thanks to Chris Covell again for another bug report!

 + Bug fix: A 64-bit version of Windows creates a separate registry view for a
   32-bit app under the "Wow6432Node" key that prevented the "AllocateCDRoms=1"
   string from being properly set. Thanks to ImgBurn for this tip/info! If that
   registry value can be set, it may allow CD/DVD reading to occur under User
   Rights, but you need to merge a .reg file with the contents below:

   e.g. "CDReadRightsNT.reg"

     [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
     "AllocateCDRoms"="1"

   Note: Following investigation of virustotal.com and false virus-flagging, I
   no longer compile TurboRip to set this HKLM registry value to reduce 1 false
   virus report, so I include 2 .reg files to do it yourself...

 + Bug fix: Emerald Dragon has a rare 03:06 PREGAP that prevented ripping
   audio track 01. Added a temporary hardcoded fix for now.

 + Bug: CTRL+BREAK/C not working 100% correctly (still fixing this...).


 Version 1.41 (10/15/2016):

 + Update: New parameter option: /auto which simply scans all drives for the
   first game CD detected in the TOC database and rips it without prompt! ^_^
   Try: "/auto /turbo" for max, automatic ripping of the first Turbo CD found.

 + Update: New parameter option: /normalize which will auto-normalize/amplify
   wave files afer ripping them. Given low preamp levels in some CDs making 'em
   very hard to play loudly on your sound system, this will be useful to some!

 + Update: I switched to the TOC CDDB checksum standard for identifying game
   discs. This reduced TurboRip's size by 200KB, and allowed me to use the much
   quicker binary search algorithm to find a CD title whereas before I used a
   basic linear search. This also prepares TurboRip for a future upgrade, to
   look up the CDDB ID at www.freedb.org to conveniently title music discs.

 + Update: Alignment of 64KB SCSI buffer. Alignmask of CD/DVD drive processed.
   Switched from dynamic memory allocation to static - this more guarantees no
   memory fragmentation or trouble. I noticed more general stability this way!

 + Update: Error messages are now printed in red for fun, also some yellow is
   used for status/info messages. :)

 + Update: MNKyDeth has an original copy of "Dungeon Master - Theron's Quest"
   that wasn't in the PCE/TG-16 TOC database, so it appears another factory
   pressing was discovered. I added it under its catalog/reference #TGXCD1041.

 + Update: Full [re]testing on Windows 95/98/ME/NT4/2000/XP/Vista/7/8/10 was
   performed to 100% verify TurboRip's compatibility, no assumptions this time!

 + Update: TurboRip now automatically centers its working CMD window.

 + Bug fix: Fixed total epic failure for Windows 7 that required major rewrite!
   TurboRip is now officially certified for Windows 7 support even though I
   said it was prior to this release without actually testing it on!!! :)
 
   *Better trapping of SPTI errors after SCSI command packet sent.
   *Using prescribed SPTI method for raw read of audio sectors - Win7 required!
   *Using prescribed SPTI ReadFile method for data sector reads, the ONLY Win7
    permissible way for MODE1 sectors due to security/policing of SCSI reads!
   *Win7 security changes led to this!
   Audio sectors - check!!!
   Data sectors - check!!!
 
   Thanks to johnnykonami for the bug report which also led me to do complete
   genuine Windows platform tests and find/fix the bug for NT 4.0 as well.

 + Bug fix: Setting thread priority to 'highest' on Windows 95/98/ME caused
   buggy input handling at the Command Prompt, sometimes even crashes! It took
   hours of testing on Windows 95 to figure this out, removed one unneeded
   line of code to fix... Quite pesky...

 + Bug fix: Getting a SPTI CD/DVD drive handle on Windows NT 4.0 (SP6) failed!
   Now works both with User or Administrator Rights! Why bother making sure it
   can work all the way back to such old Windows versions ?? Just because! :)
   I started my software developer career on Windows NT4 Workstations and it's
   just nice to know that TurboRip can work on them. It lets me know the code
   is simple enough and most appropriately makes use of the Windows API as well
   as handle some of its quirks where one or two lines of code or flags can
   make or break software between different OS versions.

 + Bug fix: Wrongly displayed US TurboGrafx CD type for Japanese PC Engine CDs.
   This may have actually caused crashes for some people. Bug Report: It did!
   tbone3969 @ PCEngine-FX.com reported crashing on his Windows 10 machine which
   was subsequently solved by this fix! :)


 Version 1.40 (8/7/2015 - 8/19/2015):

 + Update: Now using native NT SCSI library (SPTI) for NT/2K/XP/Vista/7/8/10+
   Windows platforms!!! No more dependency on an ASPI DLL and less of the
   problems associated with it!!! You will at times need Administrator Rights
   for sure with Operating Systems like Windows 7.

 + Update: Certified, tested, approved for use all the way back to Windows
   95/98/ME for the "retro" in you AND all the way to the present with the new
   arrival of Windows 10!!!! Even I find it hard to believe it works on all
   of them!!!

 + Update: Improved skipping of unreadable data sectors near postgap area
   transition. If you had trouble reading some PC Engine/TG-16 discs, this
   should help!

 + Update: Major Command Console interface enhancement: TurboRip can now be
   fully run by double-clicking it anywhere in Windows Explorer! The user no
   longer has to first open a Command Console window and then CD to the folder
   where it's located in order to enter parameters! User will be prompted for
   parameters if none were detected when TurboRip is executed/double-clicked!!
   A troll on the Ancient Land of Ys forums once barked, "How do you use this
   F#!K1NG! PROGRAM?!?!?!?!" having never encountered command-line apps before
   and not knowing how to first open a Command Console before using it...
   Short of a future Windows GUI version, this enhancement solves that issue!
   Of course, you can't fix stupid nor those who can't be bothered to read
   instructions...

 + Update: By request, the TOC CD data of NEC PC-FX videogames (50 out of 80)
   were added to coincide with the release of the "Tyoushin Heiki Zeroigar"
   English fan translation patch on 8/8/2015!! Only games such as Zeroigar
   (a shooter) were added that "OBEY" the standard mixed-mode CD-ROM rules
   which can accurately be ripped by TurboRip (future version will have all!).
   Teaser trailer of "God-Fighter" Zeroigar link below:
   https://www.youtube.com/watch?v=GnUtZkT7pVM

 + Update: Added CD-TEXT support! Some music audio discs can have track file
   names and other info such as artist, composer, genre, etc. burned into the
   "Lead-in" area of the disc. Unfortunately, it's rare to find discs using
   this feature because it arrived towards the end of the CD format's life, but
   I thought I'd add support for it nonetheless! You still have CDDB of course.
   (You can think of this feature as CDDB BTW, but that the album data/info is
   actually burned into the disc so you don't need a program to do a CDDB
   look-up over the Internet to obtain it.)

 + Update: Added CD-EXTRA support! If your music audio disc carries the label
   of "Enhanced CD," then it's really a multi-session disc that comes in 3
   possible forms, both with audio tracks and a MODE2 data track that can
   include music videos, interviews with the band, whatever, etc. So, I've
   added support for ripping the one format that I know of for now. I happen
   to have some of these discs, so I wanted to make TurboRip work with them.
   Unlike with CD-TEXT, music audio discs such as these are more common.

 + Update: Various performance enhancements in interface, behavior, coding were
   made to really make this app as great as it should be!! However, index/gap
   detection by reading the "Q" subchannel failed to make it in this version.
   Stay tuned!

 + Update: To reduce the size of TurboRip, all third-party components for MP3
   and APE are now zipped within TurboRip and extracted/unzipped on demand!
   TurboRip is now 4096 aligned to the preferences of Win98 as is the APE DLL.
   4K alignment normally makes an EXE/DLL bigger, but with some reduction in
   the way CD TOC naming data was stored, the EXE wound up smaller than ever!

 + Update: When using the /APE parameter for perfect CD backups, support files
   are now extracted to easily decompress APE files back to WAVE when needed!
   Simply double-clicking the "APE_TO_WAVE.bat" batch file will do the trick!

 + Update: The default 3.9.9.0 (2004) Monkeys Audio (APE) codec no longer
   requires the Unicode layer for Win95/98/ME, so TurboRip fully works with
   both its APE and MP3 codecs on a clean install of all Windows flavors!!! :)
   Beyond minimizing code in the DLL needed just for compression, I also fixed
   a slight bug where the file handles to newly written APE files weren't being
   closed. Only after TurboRip exits was it left to the OS to close them... As
   such, I don't recommend ever upgrading to the 2015 DLL from the MACSDK... So
   if using the /APE option, just leave it all to TurboRip! You can install the
   latest Monkey's Audio GUI app to deal with the APE files produced however,
   but don't bother with upgrading TurboRip's internal DLL.

 + Bug fix: I noticed on Windows XP that as TurboRip read sectors from CD/DVD
   drives connected via USB or FireWire, it could actually lose the connection!
   This could happen consistently when you ALT+TAB'ed to switch to another app!
   I found the solution was to raise the Process Priority of TurboRip to HIGH!
   Normally, disc burning software will raise the Process Priority to HIGH as
   well when *burning* a disc which makes sense, and so with all that, I now
   ALWAYS set TurboRip's priority to HIGH to avoid the bug with external drives
   AND speed up the ripping time - it might as well live up to its name!! :)

 + Bug fix: Fixed a drive selection bug in Windows 98SE when selecting a drive
   number from the prompt menu.

 + Fixed issue that caused "Linda  (J)" to be excluded from the TOC database.
   Squaresoft74's use of the fancy superscript "3" was the culprit...

 + Change: If all CD tracks are audio, it's a music CD (not videogame!) so
   messages like "Note: No videogame CD-ROM was detected." were eliminated.

 + Change: The track file-naming style was changed to put the track # (01-99)
   first. This is better for sorting and viewing the CD image file set I think.

 + Change: TurboRip no longer installs its own ASPI layer for Win9X/ME, it just
   relies on the default Adaptec ASPI layer. Compatibility is still maintained!
   It appears TurboRip works best with the 1995 Adaptec layers found on Win98
   and WinME by default, and I do not recommend upgrading to Adaptec 4.71 or
   anything else... Upgrading would just break support in my tests and TurboRip
   worked fine with new installations of Win98/ME, so I think your best bet is
   to take the "If it ain't broke, don't try to fix it" route.

 + Update: TurboRip can rip a CD-ROM with only Guest Rights under Windows
   Vista and User Rights under some Windows NT/2K/XP versions. However, if you
   do have trouble in newer Operating Systems, try right-clicking TurboRip, and
   selecting "Run as administrator." But yeah, you might be able to access/read
   a CD/DVD drive *without* Administrator Rights... On Windows 7 you'll likely
   need Administrator Rights given the security changes there which were then
   reduced for Windows 10 for whatever reason on Microsoft's part.

 + Update: TurboRip sets the TOP_MOST flag 'on' of the Command Prompt window so
   it can never be hidden behind other windows until it's closed or minimized.
   If it's minimized while ripping, it'll restore and flash itself when done.

 + Bug fix: Fixed a minor bug that caused the /name parameter to be overwritten
   when the last parameter specified was /useaspi or if any other text was
   mistakenly typed at the Command Prompt.

 + Bug fix: Fixed another minor bug with the /name parameter where all letters
   were forcibly lowercased. Casing is now properly preserved.

 + Change: Options /pcep and /hugox are now /psp and /xbox respectively.
   Shorter and easier to go by the gaming platform of those emulators I figure.

 + Change: Other options that changed: /rs to /mrs, /br to /mbr, /mbr to /mmbr,
   /vbr to /mvbr. For help, it now can either be /?, /h, or /help.

 + Update: Added a shortcut /turbo option for /speed=max - Adding /turbo at the
   prompt for parameters is a quicker way to set the drive's reading speed to
   maximum.
 
 + Update: When using /?, /h, or /help for a parameter list, TurboRip no longer
   exits and forces you to restart it - it will list the parameters, then let
   you enter what you want to use and resume! The nice thing is you'll still be
   able to see many parameters as you decide what to use. You shouldn't avoid
   reading the ReadMe to understand everything, but it's a nice shortcut!


 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 3.9.9.0 (2004) 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 usable 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 usable format.

 + Support for three data track modes (MODE1/2048, MODE1/2352, & MODE2/2352).
   That means you could rip a game disc from other systems such as Sega CD,
   NeoGeo CD, PlayStation, etc. PlayStation games can only be ripped in RAW
   mode so 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 more speed.

 + 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 2 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 a "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.
   This general rule should apply to many mixed-mode discs as well, but there's
   clearly no universal rule that's followed, so no guarantees...


+==============================================================================-
|  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 MagicEngine emulator author - 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 commercial software could properly produce an ISO/WAV/CUE
   image file set when it comes to mixed-mode discs such as PC Engine/TG-16s!
   I basically wanted an easy/free way for someone to take their original
   Ys IV CD, 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 wasn't
   possible yet, so I up and decided I was gonna change that......

   I worked on the idea for a bit in 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 Squaresoft74's TOC database of PC Engine/TG-16 CDROMs. 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?! Thus with my newly found fervor, I decided to
   try my luck once again!

   The search began anew! I scoured the Internet for as much sample code of
   ASPI commands that I could find. I looked at pre-existing 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's 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 the same on his drives
   as it did on all of mine in many tests! 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. I took about
   a week off anything computer-related, but after I resumed working on it 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 first
   release that I added support for the Monkey's Audio codec (APE)!

   I should note that 2 similar programs, pcerip and cddissect, also offered
   some inspiration to me in creating TurboRip. However, pcerip only rips data
   tracks and while cddissect was very close to what I wanted, it would only
   output an audio track directly to MP3 with no option to allow for WAVE
   output... I was thinking of asking the creator for the source code and 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
+==============================================================================-

 - Producer/Programmer/Developer

     Nicolas Livaditis (AKA Teh NightWolve)

 - PCE/PC-FX CD-ROM TOC Database Concept/Manager

     Squaresoft74

 - Technical Information/Support

     David Shadoff

 - Beta Testers

     Squaresoft74, David Shadoff, B.J.DeuceBag (AKA "The XXXSEED CokFlasher")

        It should be that noted Squaresoft74 helped out with some 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!! Cocky Jeff "DeuceBag" Nussbaum discovered
        a stereo-to-mono conversion bug with the LAME MP3 Encoder and the
        PCEP/PSP option. The psycho cunt was revealed to be a CRIMINAL CHEAT
        of EPIC PROPORTIONS when it came to XXXSEED Games in 2010-12, but
        is still credited here begrudgingly... For details as to how and
        the boycott of XSEED see: https://www.facebook.com/boycottxseed

 Greetings and Special Thanks to:

 - Chris Covell found many problems and helped improve TurboRip tremendously!
 - The t10 group (http://www.t10.org/) for the SCSI/MMC (Multi-Media 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.
 - Bernie Lindell, his request for help led to the /PSP option. He's been great
   supporter of all my work and a generous donor over the years as well!
 - The NEC community in general for the inspiration to develop this.
 - Matt Pietrek, for the LIBCTINY concept/code which TurboRip benefits from!
 - Microsoft, YEAH, THAT MICROSOFT, for the documentation and software that
   made this all possible! I get sick and tired of all the douchebags and
   their bashing of this great American company, so I thought I'd give it
   credit here given the fact that I wouldn't be where I am today in life if
   not for them, as far as my computer/technical/programming skills are
   concerned and my career as a Software Engineer (along with a good paycheck
   that entailed at one time I might add) which they had an indirect, or, I
   guess you could say "foundational" role in helping me to launch. TurboRip
   is built with Microsoft Visual C++ 2005 Express Edition for maximum
   compatibility across all Windows 9X/NT platforms past and present!


+==============================================================================-
|  7.  Legal / Disclaimer
+==============================================================================-

   This software is distributed in the hope that it'll be useful, but WITHOUT
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE. Anyone using it does so at their own risk!
   Neither NightWolve, nor any of the others 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. But eh,
   the facts are in: History shows that 99% of you couldn't be bothered, so
   this section is mostly a waste of ReadMe space, but yeah, whatever... ;)

   NightWolve:

    Email: nlivadit [at] yahoo  .  com
    WWW1:  https://x.com/NightWolve75 
    WWW2:  https://github.com/NightWolve75
    WWW3:  https://www.pcengine-fx.com
    WWW4:  https://www.ysutopia.net
    WWW5:  https://www.youtube.com/@NightWolve75
    WWW6:  https://www.facebook.com/NightWolve
    WWW7:  https://backloggery.com/NightWolve
    WWW8:  https://www.facebook.com/boycottxseed (Boycott XSEED Games!)

   Squaresoft74:

    Email: squaresoft74 [@] hotmail .  com
    WWW:   https://www.necstasy.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/CUE file set you extracted to ensure a good image.
              More details to explain the process can be found on the link.

     WWW:     https://www.ysutopia.net/get.php?id=TocFixer

 - "Xak III: The Eternal Recurrence" Fan Translation Project

     Detail:  My 1st PC Engine fan translation project! It sucked, but hey! ;)

     WWW1:    https://www.ysutopia.net/projects/xakiii/
     WWW2:    https://xak3.ysutopia.net/

 - "Ys IV: The Dawn of Ys" Fan Translation Project

     Detail:  That's right!! Ys IV for the PC Engine has an English patch!!!!
              We made history with this baby right here!!!!!!! :)

     WWW1:    https://www.ysutopia.net/projects/ys4/
     WWW2:    https://ys4.ysutopia.net/

 - Squaresoft74's NEC PC Engine/TurboGrafx-16 & PC-FX TOC database

     WWW:     https://www.necstasy.net/

 - MagicEngine PC Engine Emulator

     Detail:  The best emulator for PC Engine out there, but payware.

     WWW:     http://www.magicengine.com/uk_index.html

 - Alcohol 52% (Google for older freeware versions)

     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.
              Also, by mounting a CUE file you can convert to ISO/WAV/CUE
              with TurboRip very quickly.

 - dBpowerAMP

     Detail:  A great freeware audio file conversion tool. I recommend you
              use this to convert your MP3 files to waves.

     WWW:     https://www.dbpoweramp.com/

 - The LAME Project (a high quality MPEG Audio Layer III (MP3) codec)

     Detail:  This is what I use for this app's MP3 encoding capability. The
              Blade VC++ DLL interface wasn't so bad once I got the hang of it.

     WWW:     https://lame.sourceforge.net/

 - Monkeys Audio Codec (a 100% lossless PowerZip codec for WAVE)

     Detail:  Another audio codec I added support for, a favorite. Unlike MP3,
              it's lossless, meaning you don't lose any original audio data!
              Think of it as a beefed-up WinZip for your audio tracks. Use it
              when you want a 1:1 backup of your CD if it has audio tracks.
              It's still pretty much one of the best out there for Windows!

     WWW:     https://www.monkeysaudio.com/

 - SCSI-3 Multimedia Commands (MMC) Technical Documents by the T10 Group

     Detail:  This was one of the MOST important pieces of documentation
              that helped make the creation of this application possible!
              MMC is a command set for Multi-Media devices such as CD-ROMs
              based upon (but not necessarily compatible with) SCSI-2.
              Update: No longer freely available, Google for "mmc-r10a.pdf"

     WWW:     https://www.t10.org/
