3b2: Differentiate HD135 and HD161 disks
This commit is contained in:
parent
651faa78ae
commit
e78ef46ccb
2 changed files with 17 additions and 1 deletions
10
3B2/3b2_id.c
10
3B2/3b2_id.c
|
@ -131,6 +131,7 @@ static struct id_dtype id_dtab[] = {
|
||||||
ID_DRV(HD72),
|
ID_DRV(HD72),
|
||||||
ID_DRV(HD72C),
|
ID_DRV(HD72C),
|
||||||
ID_DRV(HD135),
|
ID_DRV(HD135),
|
||||||
|
ID_DRV(HD161),
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -155,6 +156,10 @@ REG id_reg[] = {
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* HD161 and HD135 are identical; the difference is only in the
|
||||||
|
* software being run on the emulator. SVR 2.0 will support a maximum
|
||||||
|
* of 1024 cylinders, so can only format the first 1024 cylinders of
|
||||||
|
* the HD135. SVR 3.0+ can support all 1224 cylinders of the HD161. */
|
||||||
MTAB id_mod[] = {
|
MTAB id_mod[] = {
|
||||||
{ MTAB_XTD|MTAB_VUN, ID_HD30_DTYPE, NULL, "HD30",
|
{ MTAB_XTD|MTAB_VUN, ID_HD30_DTYPE, NULL, "HD30",
|
||||||
&id_set_type, NULL, NULL, "Set HD30 Disk Type" },
|
&id_set_type, NULL, NULL, "Set HD30 Disk Type" },
|
||||||
|
@ -164,6 +169,8 @@ MTAB id_mod[] = {
|
||||||
&id_set_type, NULL, NULL, "Set HD72C Disk Type" },
|
&id_set_type, NULL, NULL, "Set HD72C Disk Type" },
|
||||||
{ MTAB_XTD|MTAB_VUN, ID_HD135_DTYPE, NULL, "HD135",
|
{ MTAB_XTD|MTAB_VUN, ID_HD135_DTYPE, NULL, "HD135",
|
||||||
&id_set_type, NULL, NULL, "Set HD135 Disk Type" },
|
&id_set_type, NULL, NULL, "Set HD135 Disk Type" },
|
||||||
|
{ MTAB_XTD|MTAB_VUN, ID_HD161_DTYPE, NULL, "HD161",
|
||||||
|
&id_set_type, NULL, NULL, "Set HD161 Disk Type" },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -954,7 +961,8 @@ t_stat id_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
|
||||||
fprintf(st, " HD30 30.6 MB 3 697 5 18 512 CDC Wren 94155-36\n");
|
fprintf(st, " HD30 30.6 MB 3 697 5 18 512 CDC Wren 94155-36\n");
|
||||||
fprintf(st, " HD72 73.2 MB 5 925 9 18 512 CDC Wren II 94156-86\n");
|
fprintf(st, " HD72 73.2 MB 5 925 9 18 512 CDC Wren II 94156-86\n");
|
||||||
fprintf(st, " HD72C 72.9 MB 8 754 11 18 512 Fujitsu M2243AS\n");
|
fprintf(st, " HD72C 72.9 MB 8 754 11 18 512 Fujitsu M2243AS\n");
|
||||||
fprintf(st, " HD135 161.0 MB 11 1224 15 18 512 Maxtor XT1190\n\n");
|
fprintf(st, " HD135 135.0 MB 11 1024 15 18 512 Maxtor XT1190 (SVR2)\n\n");
|
||||||
|
fprintf(st, " HD161 161.4 MB 11 1224 15 18 512 Maxtor XT1190 (SVR3+)\n\n");
|
||||||
fprintf(st, "The drive ID and geometry values are used when low-level formatting a\n");
|
fprintf(st, "The drive ID and geometry values are used when low-level formatting a\n");
|
||||||
fprintf(st, "drive using the AT&T 'idtools' utility.\n");
|
fprintf(st, "drive using the AT&T 'idtools' utility.\n");
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
|
|
|
@ -127,11 +127,19 @@
|
||||||
#define ID_HD72C_HEADS 11
|
#define ID_HD72C_HEADS 11
|
||||||
#define ID_HD72C_LBN 149292
|
#define ID_HD72C_LBN 149292
|
||||||
|
|
||||||
|
/* The HD135 is actually just an HD161 with only 1024 cylinders
|
||||||
|
* formatted. This is a software limitation, not hardware. */
|
||||||
|
|
||||||
#define ID_HD135_DTYPE 3
|
#define ID_HD135_DTYPE 3
|
||||||
#define ID_HD135_CYL 1224
|
#define ID_HD135_CYL 1224
|
||||||
#define ID_HD135_HEADS 15
|
#define ID_HD135_HEADS 15
|
||||||
#define ID_HD135_LBN 330480
|
#define ID_HD135_LBN 330480
|
||||||
|
|
||||||
|
#define ID_HD161_DTYPE 3
|
||||||
|
#define ID_HD161_CYL 1224
|
||||||
|
#define ID_HD161_HEADS 15
|
||||||
|
#define ID_HD161_LBN 330480
|
||||||
|
|
||||||
#define ID_V_DTYPE (DKUF_V_UF + 0)
|
#define ID_V_DTYPE (DKUF_V_UF + 0)
|
||||||
#define ID_M_DTYPE 3
|
#define ID_M_DTYPE 3
|
||||||
#define ID_DTYPE (ID_M_DTYPE << ID_V_DTYPE)
|
#define ID_DTYPE (ID_M_DTYPE << ID_V_DTYPE)
|
||||||
|
|
Loading…
Add table
Reference in a new issue