mirror of
https://github.com/simh/simh.git
synced 2026-02-27 01:00:07 +00:00
DISK: Add geometry values to SCSI DRVTYP initializer
- Add geometry values to 3b2-700 SCSI drive types
This commit is contained in:
@@ -140,6 +140,9 @@
|
||||
#define SD155_PQUAL 0x00
|
||||
#define SD155_SCSI 1
|
||||
#define SD155_BLK 512
|
||||
#define SD155_SECT 35
|
||||
#define SD155_SURF 9
|
||||
#define SD155_CYL 964
|
||||
#define SD155_LBN 303660
|
||||
#define SD155_TEXT "Set 155MB Disk Type"
|
||||
#define SD155_MANU "AT&T"
|
||||
@@ -150,6 +153,9 @@
|
||||
#define SD300_PQUAL 0x00
|
||||
#define SD300_SCSI 1
|
||||
#define SD300_BLK 512
|
||||
#define SD300_SECT 43
|
||||
#define SD300_SURF 9
|
||||
#define SD300_CYL 1515
|
||||
#define SD300_LBN 585937
|
||||
#define SD300_TEXT "Set 300MB Disk Type"
|
||||
#define SD300_MANU "AT&T"
|
||||
@@ -160,6 +166,9 @@
|
||||
#define SD327_PQUAL 0x00
|
||||
#define SD327_SCSI 1
|
||||
#define SD327_BLK 512
|
||||
#define SD327_SECT 46
|
||||
#define SD327_SURF 9
|
||||
#define SD327_CYL 1547
|
||||
#define SD327_LBN 640458
|
||||
#define SD327_TEXT "Set 327MB Disk Type"
|
||||
#define SD327_MANU "AT&T"
|
||||
@@ -170,6 +179,9 @@
|
||||
#define SD630_PQUAL 0x00
|
||||
#define SD630_SCSI 1
|
||||
#define SD630_BLK 512
|
||||
#define SD630_SECT 56
|
||||
#define SD630_SURF 16
|
||||
#define SD630_CYL 1447
|
||||
#define SD630_LBN 1296512
|
||||
#define SD630_TEXT "Set 630MB Disk Type"
|
||||
#define SD630_MANU "AT&T"
|
||||
@@ -188,12 +200,14 @@
|
||||
|
||||
#define HA_DISK(d) { DRV_SCSI( \
|
||||
SCSI_DISK, d##_PQUAL, d##_SCSI, FALSE, d##_BLK, \
|
||||
d##_SECT, d##_SURF, d##_CYL, \
|
||||
d##_LBN, d##_MANU, d##_DESC, d##_REV, #d, 0, \
|
||||
d##_TEXT) \
|
||||
}
|
||||
|
||||
#define HA_TAPE(d) { DRV_SCSI( \
|
||||
SCSI_TAPE, d##_PQUAL, d##_SCSI, TRUE, d##_BLK, \
|
||||
0, 0, 0, \
|
||||
d##_LBN, d##_MANU, d##_DESC, d##_REV, #d, 0, \
|
||||
d##_TEXT) \
|
||||
}
|
||||
|
||||
@@ -7412,7 +7412,10 @@ for (i = 0; NULL != (dptr = sim_devices[i]); i++) {
|
||||
if (drive[drives].name_alias != NULL)
|
||||
++aliases;
|
||||
/* Validate Geometry parameters */
|
||||
if (((drive[drives].size & DRVFL_SETSIZE) == 0) &&
|
||||
if (((drive[drives].flags & DRVFL_SETSIZE) == 0) &&
|
||||
((DRVFL_GET_IFTYPE(&drive[drives]) != DRVFL_TYPE_SCSI) ||
|
||||
(drive[drives].devtype != SCSI_TAPE)) &&
|
||||
((drive[drives].flags & DRVFL_QICTAPE) == 0) &&
|
||||
(drive[drives].size > (drive[drives].sect * drive[drives].surf * drive[drives].cyl))) {
|
||||
stat = sim_messagef (SCPE_IERR, "Device %s drive type %s has unreasonable geometry values:\n",
|
||||
dptr->name, drive[drives].name);
|
||||
@@ -8044,7 +8047,7 @@ fprintf (st, "%s", uptr->drvtyp->name);
|
||||
if ((uptr->flags & UNIT_ATT) != 0) {
|
||||
if (sim_disk_get_mediaid (uptr))
|
||||
fprintf (st, ", MediaID=(%s)", sim_disk_decode_mediaid (sim_disk_get_mediaid (uptr)));
|
||||
fprintf (st, "%ssectorspertrack=%u, heads=%u, cylinders=%u, sectorsize=%u", SEP,
|
||||
fprintf (st, "%ssectors=%u, heads=%u, cylinders=%u, sectorsize=%u", SEP,
|
||||
uptr->drvtyp->sect, uptr->drvtyp->surf, uptr->drvtyp->cyl, uptr->drvtyp->sectsize);
|
||||
toks += 3;
|
||||
if (sim_switches & SWMASK ('D')) {
|
||||
|
||||
10
sim_disk.h
10
sim_disk.h
@@ -215,11 +215,11 @@ struct DRVTYP {
|
||||
#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, \
|
||||
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, \
|
||||
#define DRV_SCSI(typ, pq, ver, rmv, bsz, sect, surf, cyl, lbn, man, prd, rev, nm, gap, txt) \
|
||||
sect, surf, cyl, 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
|
||||
|
||||
#define DRV_MINC 512 /* min cap LBNs */
|
||||
|
||||
Reference in New Issue
Block a user