Changes
The .TAP files contain blocks of tape-saved data. All blocks start with two bytes specifying how many bytes will follow (not counting the two length bytes). Then raw tape data follows, starting with the flag byte. Unlike speccy format, the checksum bytes are not included, so you don't need calculate the crc-ccitt every 256 bytes, or padding the last page with zeroes, or ending with four 0xff bytes trailer.
^^^^^...... first block is 29 bytes (28 bytes+flag)
^^... flag byte (A reg, 2C for headers, 16 for data blocks)
58 00 10 AD 59 00 16 06 12 0A 00 2A 02 18 06 1E 07 30 0C 00 0D ..
^^^^^............... logical length, in consecutive blocks (88 bytes)
flag byte ........^^
second block data ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0 16 Filename Padded to 16 bytes with nulls
The file type (byte 18) is split into a number of fields:
Bit 0 Protection If this bit is set the file is protected in some way
Bits 1..3 File contents 0 = Internal BASIC
Bits 4..7 Version ASCII files should be version 1, all other files, version 0