Apur-phy.179 net.bugs.2bsd utzoo!decvax!pur-ee!pur-phy!mad Tue Jan 5 11:48:54 1982 ts.c and rm.c bugs There are a couple of problems with the ts-11 driver distributed with 2.8. First, a minor typo exists in tsclose, the constant 200 (to check for the no-rewind flag) should be 0200. This doesn't cause too many problems since 200 has the 0200 bit on. The second problem screws up raw i/o. It appears on both the source, and also, in the ts driver in the distributed xpunix. In tsphys, the assignment: ts_nxrec[unit] = dbtofsb(a+1); should be: ts_nxrec[unit] = dbtofsb(a)+1; (or replace '9' in the preceding shift with BSHIFT and get rid of the dbtofsb stuff in tsphys) Another problem with this driver is that TCC 6 errors seem to hang the system. (Try reading a 800 bpi tape.) I've got fixes, but they haven't been tested enough to distribute. Contact me directly if interested. There also seems to be a problem with the rm driver's handling of the missing current cylinder register. This is simulated by having an array rmcc[] that contains the current cylinder for each unit. This is initialized to -1, and only assigned to in rmintr at the completion of a disk transfer. The problem is that the assignment is conditional on rmcc's current value being >= 0. It appears that rmcc can never be set. I've got a relatively untested driver with a fix for this plus ecc code. Contact me directly if interested. Mike DeMoney ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.