# Testing tips

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?

  1. 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
  2. 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.
  3. 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.

  4. 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.