On Thu, 17 Mar 2016, Christian Corti wrote:
simple read(). All I get is
 mt0: unknown opcode 0x80 status 0xc01 ignored
[...]

Ok, I was fishing deep in the TMSCP protocol manual, and after fiddling with the MSCP driver I found out that Opcode 0x80 (OP.END) alone (page A-2) means MSCP protocol violation (originating from the TQK70), and status 1 with subcode 0 (page B-3) means invalid message length... aha! I was issuing a read() with a requested length of 65536 bytes, too much, maximum is 65535. After I had reduced the length I could read the tape!
So the following is for the records:
1. NetBSD doesn't know how to deal with such an MSCP error
2. SimH (GIT version) improperly ignores invalid buffer lengths

Christian

Reply via email to