Testing tips to verify tape images (CDT)
From CPCWiki - THE Amstrad CPC encyclopedia!
If the program uses standard block loading then you can test the image is correct in the following way:
- Start the Amstrad emulator,
- Insert the tape-image to test,
- Reset the CPC
- At the "Ready" prompt type:
|TAPE:CAT
- The following message will then be displayed:
Press PLAY then any key
- Press a key, and then wait. After some time you will see a message similar to this:
<filename> block <block number> <file type symbol>
Where:
- <filename> is the name of the file on the cassette (maximum of 16 characters)
- <block number> is the number of the current block being tested,
- <file type symbol> is a 1 character symbol identifying the file type:
The following table identifies the common file types:
Symbol | File type |
---|---|
$ | Unprotected BASIC file |
% | protected BASIC file (the program can't be listed) |
& | Unprotected binary file |
' | Protected binary file |
An example is:
HUDSON HAWK block 1 &
If the block is correct and the CRC checksum is valid, then "Ok" will be printed after the file type symbol. e.g.
HUDSON HAWK block 1 & Ok
If there is an error "Read error a" or "Read error b" will be displayed.
Why is this method good?
- It is ideal for testing programs that only use the standard loader, but may contain many parts that are not loaded immediatly. e.g. a multi-loader program, many seperate programs on the same cassette
- Some programs disable the cassette messages (e.g. messages like "Loading HUDSON HAWK block 1"), and it is not easy to identify the name or number of a bad block. With this method, the name and block numbers are listed.
- You can easily identify blocks that are missing (maybe they were not decoded by voc2tzx). e.g.
HUDSON HAWK block 1 & Ok HUDSON HAWK block 3 & Ok
In this example, block 2 of "HUDSON HAWK" is missing. This would result in a "Rewind tape" error.
- You can compare the list of blocks against the graphical display of the sound wave in a sound editor and identify any blocks that are not correct.