Flamed v2 - A VB6 CD-Writing Demo
This Readme contains some information on how Flamed works, and all the little features.
Please read carefully.
FLAMED 2 WILL NEVER DAMAGE YOUR CD-R(W)S WITH INTENTION!!
PLEASE NOTE THAT THE FLAMED PROJECT IS STILL UNDER DEVELOPMENT!!
Start
Let's start the Flamed project! Double click the Flamed_2.vbp.
A word about the project's structure:
Forms:
- frmSplash - Searches for drivs and adds them to the drive combo in frmMain.
- frmMain - Main form, MDI Container, can also burn ISOs (Tools->Burn ISO)
- frmEraseCDRW - Can erase CD-RWs, either Quick or Full Blank.
- frmDrvNfo - frmMain collects information about the drive (features, ...) and stores them in frmDrvNfo.
- frmCDNfo - frmMain collects information about the disc which is present in the drive and stores them in frmCDNfo
- frmSectorsViewer - Can read all sectors in the data area of a disc, if a sector is damaged, you can deactivate error correction (Deactive ECC)
- frmTrkNfo - frmMain collects information about all tracks present on the current disc, and stores them in frmTrkNfo.
frmTrkNfo also directly can save whole sessions to bin/cue format, and single tracks (not Mode 2) either to ISO or to Wav.
Another feature is to switch directly to the sectors viewer and go to the start sector of the selected track.
- frmDataCD - Creates a Data Disc, you can create whole directory structures.
You can chose between ISO Level 1(filenames to 8.3 format) or ISO Level 2 (preset).
Warning: This function is kind of slow! Don't add too much directories (shouldn't be more than 50-60 dirs), else the disc/ISO Image won't work.
- frmAudioCD - Creates an Audio Disc, max. 99 tracks.
You can only add Wav 44.1kHz stereo 16bit, which is the CDDA format.
So you need to decode your MP3s first to this format.
- frmSimpleProgress - Used to show progress when grabbing tracks or add files or dirs to a Data Disc project.
- frmWrtProgress - Used to show progress when burning data to a disc.
- frmWriteOptions - Select write speed and various options like Test-Mode or BURN-Proof.
Modules:
- modEnums - Enumerations needed by the whole project.
- modFunctions - various simple functions
- modMMC - MMC = Multi Media Commands; ATAPI/SCSI commands
- modSCSI - Execute commands either over ASPI (Advanced SCSI Programming Interface, 9x/Me/Nt/2k/XP) or
SPTI (SCSI Pass-Through Interface, only NT/2k/XP)
- modStructs - Structures needed by the whole project.
Classes:
- cBurnAudio - Burns Waves (44.1kHz, 16bit stereo) to CD-R(W)
- cBurnISO - Burns ISO9660 Images to CD-R(W)
- cCDInfo - Collection for information about a disc
- cDrive - Collectionmember for std. information about a drive
- cDriveInfo - Collectionmember for adv. information about a drive like multimedia capacities
- cDrives - Collection for drives
- cEnumDrvs - Search for drives through ASPI or SPTI.
- cFreeDB - Asks FreeDB(.org) for information about an Audio Disc
- cGrab - Saves sessions to bin+cue and tracks to ISO or WAV (depending on what they are)
- cISO9660 - Creates an ISO9660 image from files and dirs.
- cSessInfo - Collection for info about a session
- cTrackInfo - Collection for info about a track
Controls:
- ctlSplitter - Splitter Control by Tim Humphrey
So... let's press F5!
HowTo: Get information about the drive
The menu "Drive->* Info..." gives you information about the drive/inserted disc/disc's content.
The menu "Drive->Sector viewer" let's you view sectors in raw view.
In this dialog you can chose the following views:
- Userdata - shows only userdata of a sector (e.g. 2048 bytes for a mode-1 sector)
- Raw - shows all 2352 bytes per sector.
- Raw+96 - shows 2352 bytes per sector + 96 bytes sub-channel information.
- Raw+96 (de-interleaved) - shows 2352 bytes per sector + 96 bytes sub-channel information de-interleaved and corrected.
HowTo: Save sessions and sectors
Go to the menu "Drive->Track Info...".
Now select a session or a track and click "grab selected item".
Depending on what you selected, Flamed will try to save
- a Session to Bin+Cue
- a Data Track to ISO (Mode 2 not supported)
- an Audio Track to WAV
HowTo: Erase a CD-RW
Go to th menu "Tools->Erase CD-RW..." or press STRG+B.
If you inserted a CD-RW into the selected drive, a dialog will apear.
You can select between Quick Erase, which will erase the TOC and the first Pre-Gap, and
Full Erase, which will physically blank the whole disc, but this can take up to half an hour.
NOTE: Flamed will freeze as long as the drive is blanking the disc.
HowTo: Burn an ISO Image
Go to the menu "Tools->Burn ISO..." or press STRG+I.
Select an ISO9660 valid iamge, else it won't burn the image.
Now you can chose some writing-options, and it will start to burn.
HowTo: Burn a Data Disc
Go to the menu "File->New Project->Data Disc" or press STRG+D.
Open the windows explorer and drop some files and directories in the window.
WARNING: Dirs will be recursively searched. You shouldn't add more than 50-60 dirs!!
For a first test try only 1 directory or just some files.
Now you can create an ISO image from the structure or directly burn it to disc.
On-the-fly isn't supported.
HowTo: Burn an Audio Disc
Go to the menu "File->New Project->Audio Disc" or press STRG+A.
Now add some wave files or decode some MP3s to 44.1kHz, 16bit, stereo and add them by dropping them in the list.
You can select the order of the tracks by using the up- and down-buttons, and then burn them.
Not more than 99 tracks allowed.
HowTo: Read ISO9660 images and extract files from them
Go to the menu "File->Open", select there as the filter "ISO9660 image" and open an ISO9660 image.
After that you'll see the directory structure on the left side, the files of the current directory in the middle,
and further information on the file system on the right side.
Now you can select a file, right-click it and select "Extract file".
HowTo: Lock a drive
A quite useless feature is (un-)locking the dirve.
Go to the menu "drive->Lock/Unlock" and then try to open your drive.
It won't work unless you go another time to the menu "drive->Lock/Unlock".
F.A.Q.
How can I add these functions to my own project?
-
Just add all the modules and classes to your project and look at the Flamed source :)
Flamed doesn't find any drives!
-
You can try to install a new ASPI driver.
Flamed says it needs an ASPI driver to be installed.
-
You can try to install a new ASPI driver.
How can I burn BIN+CUE Images?
-
Flamed can only create them, but not burn them.
Try to use Nero instead.
I can't run the compiled executable?
-
Try to compile it to P-Code.
My data disc doesn't work!!
-
Make sure you didn't add more then 50-60 directories.
For what is that "SCSI.dll" used?
-
SCSI.dll (in previous versions "ASPIshim.dll") is an ASPI Wrapper to use the ASPI API in VB.
Links
ATAPI commands ::
SCSI commands
ASPI with VB and CD-R burning with ASPI and Assembler
AKrip (helped a lot with SPTI)
CDR-DAO ::
CDRecord
Some examples on reading and burning
ISO9660 simplified ::
free ISO9660 specification
[rm_code]
.