﻿MegaCD generation tools
-----------------------

The set of three tools to generate MegaCD wav files for 8bit Atari.
For the explanation of the format, see the web with the distribution.

Requirements:
Python 3.7, pre-installed libraries should be enough.
Was tested on Windows 10, but should run on Linux also.

CD format:
CDs consist of many tracks (79-80, should go to 99)
Each track has two 'sides' l & r
Each side must have exactly 4 input files.


The tools:
1_create_project.py
 - creates empty CD project
 - creates empty trackNN[lr] folders. User is supposed to
       copy to each folder exactly 4 input files.
 - asks user for several settings

2_verify_project.py
 - converts input files to monolithic intermediary format
 - currently the only allowed input are Turbo Universal cas files
 - then converts intermediary into tornado bytes
 - verifies duplicates, load addresses etc.
 - thorough report is written into verify.log for inspection

3_build_project.py
 - reads tornado loader and patches it to display the names
 - converts it to Turbo Universal and then to wav samples
 - converts all tornado bytes to wav samples
 - joins two 'sides' into one stereo, 44100Hz, 16bit signed WAV
 - operations report is written into build.log for inspection
 - human readable overview is stored into build_report.txt


Tornado loader:
 - in folder tornado_loader are disassembled and partially
      commented sources of original loader
 - build script for MADS is also provided
 - loader is built in tornado.bin and tornado_addr.txt files,
      both are loaders and needed by build scripts.

Todo:
 - possibility to read Turbo2000 cas files
 - possibility to convert .xex files to monolithic block files
