Tapes are an issue since they're really not a stream of bytes -- there
are tape marks and gaps. The simh virtual tape format seems to be
fairly complete in that respect
--
The big thing missing from the '.tap' format is it assumes all the blocks are
good. There is no way to describe a partially read block, or to encode any of
the CRC or LRC check data that was in the tape block on the physical medium.