1
0
mirror of https://github.com/simh/simh.git synced 2026-01-26 04:01:38 +00:00

SCSI: Add some QIC tape reading support

These changes were merged from the 3b2-700 commit into the SCSI code here

Comments thoughts from Mark Pizzolato:
- This logic will work only with some archived QIC tape images that
  happen to contain only 512 byte records.  According to the master
  archiver (Al Kossow) QIC tapes have been archived with varying
  record sizes which are multiples of 512 bytes.  The logic in sim_scsi
  should handle reading 512 byte chunks from logical tape records
  which are multiples of that size.  This logic does not do that.
This commit is contained in:
Seth Morabito
2022-11-06 16:41:24 -10:00
committed by Mark Pizzolato
parent c3e306d2c3
commit c73a497fd2
2 changed files with 83 additions and 30 deletions

View File

@@ -209,10 +209,13 @@ struct DRVTYP {
#define DRVFL_NOCHNG (1u << DRVFL_V_NOCHNG) /* Can't change drive type once set */
#define DRVFL_V_NORMV (DRVFL_V_NOCHNG + 1)
#define DRVFL_NORMV (1u << DRVFL_V_NORMV) /* Can't change to a removable drive */
#define DRVFL_V_QICTAPE (DRVFL_V_NORMV + 1)
#define DRVFL_QICTAPE (1u << DRVFL_V_QICTAPE) /* drive is a QIC (Quarter Inch Cartridge) tape */
/* DRVTYP Initializer for SCSI disk and/or tape */
#define DRV_SCSI(typ, pq, ver, rmv, bsz, lbn, man, prd, rev, nm, gap, txt) \
46, 9, 1549, lbn, nm, bsz, (rmv == TRUE) ? DRVFL_RMV : 0, \
46, 9, 1549, lbn, nm, bsz, \
DRVFL_TYPE_SCSI | ((rmv == TRUE) ? DRVFL_RMV|DRVFL_QICTAPE : 0), \
NULL, 0, 0, NULL, txt, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
typ, pq, ver, man, prd, rev, gap