Subject: MSCP (ra.c) partitioning changes (#78) Index: pdpuba/ra.c, pdpdist/disktab 2.11BSD Description: The number of partition tables in ra.c was getting out of hand with the rapidly growing number of MSCP discs available. For example the 11/93 now comes with the RZ23L and RZ24L. At 64 bytes per partition table it would require around 4kb of kernel D space to hold the partition tables for the existing MSCP drive types - and more are being added all the time. Repeat-By: Observation and personal experience. Fix: Yes, the "real" solution would be to have disk labels (and a standalone disk labeling program). Until that day the solution is to have 5 "generic" partition types and smarten up ra.c to pay more attention to the volume size returned when a drive is brought on line. Small drives (those not having enough room for both a 7mb 'a' partition and a 4mb 'b' partition) can be used as datadiscs (RD51, RX??) or as standalone boot media, but not as something the kernel can be booted from. The RA82 table was removed. If you have an RA82 (unlikely, but possible) it may be necessary to leave the RA82 partition table present and add an entry in the compability table (described further on). The five general partition types are: type partitions (sector range in sectors, size) ---- ---------- 1 a: 0 - 15883 (15884) b: 15884 - 24243 (8360) c: whole drive d: unused e: unused f: unused g: 24244 - end (depends on drive) h: unused This would be used for small discs like the RC25, RD52, etc. The RD51 is an oddball - it's too small to have root + swap, therefore the RD51 is a type 3 drive. 2 a: 0-15883 (15884) b: 15884 - 32603 (16720) c: whole disc d: 32604 - 259739 (227136 = 112mb) e: 259740 - end (depends on drive) f: unused g: 32604 - end (depends on drive) h: unused This would be used for drives in the 150mb range such as the RD54, RZ24, etc... 3 a: whole disc b: unused c: whole disc d,e,f,g,h: unused Used for floppies (or the RD51) where only the whole disc is referenced. 4 a: 0 - 15883 (15884) b: 15884 - 32603 (16720) c: whole disc d: 32604 - 259739 (227136) e: 259740 - 669339 (409600 = 200mb) f: 669340 - end (depends on drive) g: 32604 - end h: unused Used for larger drives such as the RZ25... 5 a: 0 - 15883 (15884) b: 15884 - 32603 (16720) c: whole disc d: 32604 - 259739 (227136) e: 259740 - 669339 (409600) f: 669340 - 851803 (182464 = ~88mb) g: 32604 - 851803 (819200 = 400mb) h: 851804 - end (rest of disc above ~400mb) Used for all the "big" stuff like the RZ56 and so on. There is a "compability" table present in the ra.c driver now. If you wish to override the selection of one of the 5 generic partition tables then simply make an entry in this table and add a partition table to the list. The compatibilty table is checked first, before assigning a generic partition type. At present the drives listed in the compability table are the RA60, RA80, RD52 and RD53. It is arguable that the RD52 and RD53 should have been removed and forced to use the generic tables, the RD52 is only 30mb and if used at all would be for root, swap and perhaps /tmp - a larger disc would be needed for /usr. The RD54 partition sizes are the same as before, but the partition which continues from the end of swap until the end of volume is _not_ 'c' now, it is 'g'. ALL that need be done for the RD54 is to edit /etc/fstab to mount 'ra?g' instead of 'ra?c'. All of the generic partitions have the standard layout of 'a' being the root filesystem, 'b' being swap and 'c' being the whole disc. The second patch included in this file applies to /sys/pdpdist/disktab. All known (except for the RF drives) MSCP drives as of this date are listed. The /sys/pdpdist/disktab should be the one which was shipped with the system (changes being made to /etc/disktab). If you have local modifications to /etc/disktab, you will need to merge /sys/pdpdist/disktab into /etc/disktab. There are both uncommented and commented out entries for the RD52, RD53, RA60, RA80 and RA81 in the new disktab file. IF you decide to remove a drive from the compability table (and use the new/improved partition tables) then remember to reverse the comment status of the disktab entry for that drive as well. Also the "-rqdx2" and "-rqdx3" was removed from the RD5? drive names. It never really made any difference (and the RD54 could only be used on the RQDX3 anyway) and was a nuisance to remember (4BSD doesn't specify the controller type). ===================================cut here=============================== *** /sys/pdpuba/ra.c.old Wed Dec 18 01:02:09 1991 --- /sys/pdpuba/ra.c Sun Jul 12 16:28:41 1992 *************** *** 3,9 **** * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * ! * @(#)ra.c 2.1 (2.11BSD Berkeley) 9/22/91 */ /*********************************************************************** --- 3,9 ---- * All rights reserved. The Berkeley software License Agreement * specifies the terms and conditions for redistribution. * ! * @(#)ra.c 2.2 (2.11BSD GTE) 7/11/92 */ /*********************************************************************** *************** *** 14,19 **** --- 14,36 ---- /* * ra.c - MSCP Driver + * Date: Jul 1992 + * Major rework of the partition tables. Some old (RA60,80,81,RD53) tables + * were retained (the rd54 'c' partition is now 'g' but the sizes stay + * the same) for compatibility. RC25, RD51, RA82 entries were removed (unlikely + * that the RA82 was used since the disktab entry was wrong). A _brand new_ + * scheme utilizing 5 "generic" partition tables was created based on the + * size of the disc. This was needed due to the rapid proliferation of + * MSCP drive types, it was simply not feasible to have a 64 byte partition + * table for each of the (currently 28 to 30) types of MSCP discs. + * + * More attention is paid to bits in the media id beyond the 7 bit + * numeric id. These bits can be used to distinquish between a RZ24 and a + * RZ24L for example. + * + * Some of the diagnostic output was trimmed in an attempt to offset the + * growth of an already large drive. + * * Date: Dec 18 1991 * The controller number (bits 6 and 7 of the minor device) were not * being masked off after using dkunit(). This caused a crash when *************** *** 45,57 **** /* * MSCP disk device driver - * - * Should work with the following (at least!): - * RUX1 (RX50, RX33) - * RQDX? (RD51, RD52, RD53, RD54) - * UDA50 (RA60, RA80, RA81, RA82) - * KLESI (RC25) - * * Tim Tucker, Gould Electronics, Sep 1985 * Note: This driver is based on the UDA50 4.3 BSD source. */ --- 62,67 ---- *************** *** 78,110 **** struct rasizes { daddr_t nblocks; daddr_t blkoff; ! } ra25_sizes[8] = { ! 15884, 0, /* A=blk 0 thru 15883 */ ! 10032, 15884, /* B=blk 15884 thru 25915 */ ! -1, 25916, /* C=blk 49324 thru 50901 */ ! 0, 0, /* D=unused */ ! 0, 0, /* E=unused */ ! 0, 0, /* F=unused */ ! 0, 0, /* G=unused */ ! -1, 0, /* H=blk 0 thru end */ ! }, rd52_sizes[8] = { /* Setup for RX50, RD51, RD52 and RD53 disks */ 9700, 0, /* A=blk 0 thru 9699 (root for 52 & 53) */ 17300, 9700, /* B=blk 9700 thru 26999 (52 & 53 only) */ 3100, 27000, /* C=blk 27000 thru 30099 (swap 52 & 53) */ -1, 30100, /* D=blk 30100 thru end (52 & 53 only) */ - 7460, 0, /* E=blk 0 thru 7459 (root 51) */ - 2240, 7460, /* F=blk 7460 thru 9699 (swap 51) */ - -1, 9700, /* G=blk 9700 thru end (51, 52 & 53) */ - -1, 0, /* H=blk 0 thru end (51, 52, 53 & RX50) */ - }, rd54_sizes[8] = { /* Setup for RD54 disc */ - 15884, 0, /* A=blk 0 thru 15883 (root) */ - 16720, 15884, /* B=blk 15884 thru 32603 (swap) */ - -1, 32604, /* C=blk 32604 thru end */ - 0, 0, /* D=unused */ 0, 0, /* E=unused */ 0, 0, /* F=unused */ ! 0, 0, /* G=unused */ ! -1, 0, /* H=blk 0 thru end */ }, ra60_sizes[8] = { 15884, 0, /* A=blk 0 thru 15883 */ 33440, 15884, /* B=blk 15884 thru 49323 */ --- 88,102 ---- struct rasizes { daddr_t nblocks; daddr_t blkoff; ! } rd52_sizes[8] = { /* Setup for RD52 and RD53 disks */ 9700, 0, /* A=blk 0 thru 9699 (root for 52 & 53) */ 17300, 9700, /* B=blk 9700 thru 26999 (52 & 53 only) */ 3100, 27000, /* C=blk 27000 thru 30099 (swap 52 & 53) */ -1, 30100, /* D=blk 30100 thru end (52 & 53 only) */ 0, 0, /* E=unused */ 0, 0, /* F=unused */ ! -1, 9700, /* G=blk 9700 thru end (52 & 53) */ ! -1, 0, /* H=blk 0 thru end (52, 53) */ }, ra60_sizes[8] = { 15884, 0, /* A=blk 0 thru 15883 */ 33440, 15884, /* B=blk 15884 thru 49323 */ *************** *** 132,148 **** -1, 565690, /* F=blk 565690 thru end */ -1, 242606, /* G=blk 242606 thru end */ -1, 0, /* H=blk 0 thru end */ ! }, ra82_sizes[8] ={ 15884, 0, /* A=blk 0 thru 15883 */ 16720, 15884, /* B=blk 15884 thru 32603 */ ! 303710, 32604, /* C=blk 32604 thru 336313 */ ! 303710, 336314, /* D=blk 336314 thru 640023 */ ! 303710, 640024, /* E=blk 640024 thru 943733 */ ! 303710, 943734, /* F=blk 943734 thru 1247443 */ 0, 0, /* G=unused */ ! -1, 0, /* H=blk 0 thru end */ }; #define NRSPL2 3 /* log2 number of response packets */ #define NCMDL2 3 /* log2 number of command packets */ #define NRSP (1< 851804 sectors. + */ + + struct MEDIA + { + short id7; + short name15; + struct rasizes *parts; + } Mscptbl[] = { + { 81, M15('R','A','@'), ra81_sizes }, + { 60, M15('R','A','@'), ra60_sizes }, + { 80, M15('R','A','@'), ra80_sizes }, + { 53, M15('R','A','@'), rd52_sizes }, + { 52, M15('R','A','@'), rd52_sizes }, + { 0, 0, 0 } + }; + #define NRSPL2 3 /* log2 number of response packets */ #define NCMDL2 3 /* log2 number of command packets */ #define NRSP (1<ra_unit = unit; disk->ra_dsize = -1L; } else { ! printf("ra%d: out of disk data structures!\n", unit); splx(s); return(ENXIO); } --- 407,413 ---- disk->ra_unit = unit; disk->ra_dsize = -1L; } else { ! printf("ra%d: no disk structures\n", unit); splx(s); return(ENXIO); } *************** *** 541,547 **** ++sc->sc_ctab.b_active; if (sc->RAADDR->rasa & RA_ERR || sc->sc_state != S_RUN) { harderr(bp, "ra"); ! log(LOG_INFO, "rasa %o, state %d\n", sc->RAADDR->rasa, sc->sc_state); /* Should requeue outstanding requests somehow */ rainit(sc); --- 604,610 ---- ++sc->sc_ctab.b_active; if (sc->RAADDR->rasa & RA_ERR || sc->sc_state != S_RUN) { harderr(bp, "ra"); ! log(LOG_INFO, "rasa %o state %d\n", sc->RAADDR->rasa, sc->sc_state); /* Should requeue outstanding requests somehow */ rainit(sc); *************** *** 569,575 **** mp->m_bytecnt, mp->m_buf_h, mp->m_buf_l)); ((Trl *)mp->m_dscptr)->hsh |= RA_OWN|RA_INT; if (sc->RAADDR->rasa & RA_ERR) ! printf("ra: Error %d\n", sc->RAADDR->rasa); i = sc->RAADDR->raip; /* initiate polling */ #ifdef UCB_METER --- 632,638 ---- mp->m_bytecnt, mp->m_buf_h, mp->m_buf_l)); ((Trl *)mp->m_dscptr)->hsh |= RA_OWN|RA_INT; if (sc->RAADDR->rasa & RA_ERR) ! printf("ra: Err %d\n", sc->RAADDR->rasa); i = sc->RAADDR->raip; /* initiate polling */ #ifdef UCB_METER *************** *** 691,698 **** break; default: ! printf("ra: interrupt in unknown state %d ignored\n", ! sc->sc_state); return; } --- 754,760 ---- break; default: ! printf("raintr: state %d ignored\n", sc->sc_state); return; } *************** *** 700,706 **** * If this happens we are in BIG trouble! */ if (sc->RAADDR->rasa & RA_ERR) { ! printf("ra: fatal error (%o)\n", sc->RAADDR->rasa); sc->sc_state = S_IDLE; sc->sc_ctab.b_active = 0; wakeup((caddr_t)&sc->sc_ctab); --- 762,768 ---- * If this happens we are in BIG trouble! */ if (sc->RAADDR->rasa & RA_ERR) { ! printf("ra: fatal err %o\n", sc->RAADDR->rasa); sc->sc_state = S_IDLE; sc->sc_ctab.b_active = 0; wakeup((caddr_t)&sc->sc_ctab); *************** *** 875,881 **** switch (mp->m_opcode) { case M_O_ONLIN|M_O_END: if ((disk = sc->sc_drives[mp->m_unit]) == NULL) { ! printf("ra: couldn't ONLINE disk!\n"); break; } dp = &disk->ra_dtab; --- 937,943 ---- switch (mp->m_opcode) { case M_O_ONLIN|M_O_END: if ((disk = sc->sc_drives[mp->m_unit]) == NULL) { ! printf("ra: couldn't ONLINE disk\n"); break; } dp = &disk->ra_dtab; *************** *** 922,931 **** case M_O_READ | M_O_END: case M_O_WRITE | M_O_END: /* normal termination of read/write request */ ! if ((disk = sc->sc_drives[mp->m_unit]) == NULL) { ! printf("ra: r/w no disk table entry\n"); break; - } bp = (struct buf *)mp->m_cmdref; /* --- 984,991 ---- case M_O_READ | M_O_END: case M_O_WRITE | M_O_END: /* normal termination of read/write request */ ! if ((disk = sc->sc_drives[mp->m_unit]) == NULL) break; bp = (struct buf *)mp->m_cmdref; /* *************** *** 976,982 **** break; default: ! log(LOG_INFO,"ra: unknown opcode=0%o\n", mp->m_opcode); ra_error((caddr_t)mp); } } --- 1036,1042 ---- break; default: ! log(LOG_INFO,"ra: opcode %o\n", mp->m_opcode); ra_error((caddr_t)mp); } } *************** *** 988,1038 **** register ra_infoT *disk; register struct mscp *mp; { /* Get unit total block count */ disk->ra_dsize = mp->m_uslow + ((long)mp->m_ushigh << 16); - PRINTD(("ra%d: online, total size=%D, id=%d, rctsize=%d\n", - mp->m_unit, disk->ra_dsize, hiint(mp->m_mediaid) & 0xff, - mp->m_rctsize)); /* ! * Get disk type and from that partition structure. Adjust ! * disk size to reflect revector and maint area. */ ! switch (hiint(mp->m_mediaid) & 0xff) { ! case 25:/* RC25 removable */ ! disk->ra_size = ra25_sizes; ! break; ! case 33:/* RX33 Floppy disk */ ! case 50:/* RX50 Floppy disk */ ! disk->ra_size = rd52_sizes; ! break; ! case 51: ! case 52:/* RD Hard disks */ ! case 53: ! disk->ra_size = rd52_sizes; ! break; ! case 54: ! disk->ra_size = rd54_sizes; ! break; ! case 60: ! disk->ra_size = ra60_sizes; ! break; ! case 80: ! disk->ra_size = ra80_sizes; ! break; ! case 81: ! disk->ra_size = ra81_sizes; ! break; ! case 82: ! disk->ra_size = ra82_sizes; ! break; ! default: ! printf("ra: disk type %d unknown\n", ! hiint(mp->m_mediaid) & 0xff); ! } } /* * Process an error log message * * For now, just log the error on the console. Only minimal decoding is done, --- 1048,1129 ---- register ra_infoT *disk; register struct mscp *mp; { + register struct MEDIA *tp; + int nameid, numid, i; + daddr_t blks; + + nameid = (((loint(mp->m_mediaid) & 0x3f) << 9) | + ((hiint(mp->m_mediaid) >> 7) & 0x1ff)); + numid = hiint(mp->m_mediaid) & 0x7f; + /* Get unit total block count */ disk->ra_dsize = mp->m_uslow + ((long)mp->m_ushigh << 16); + /* spill the beans about what we have brought online */ + log(LOG_NOTICE, "ra%d: %c%c%d%c size=%D id: %X\n", mp->m_unit, + mx(nameid,2), mx(nameid,1), numid, mx(nameid,0), + disk->ra_dsize, mp->m_mediaid); + /* ! * Look for override in the table, if found use the partition ! * table specified. Else use a size based rule for assigning on ! * of the 5 general purpose tables. */ ! ! for (blks = disk->ra_dsize, tp = Mscptbl; tp->id7; tp++) ! { ! if (tp->id7 == numid && tp->name15 == nameid) ! { ! disk->ra_size = tp->parts; ! log(LOG_NOTICE, "ra%d: old table\n", mp->m_unit); ! return; ! } ! } ! if (blks < 24244L) ! { ! i = 3; /* < ~12mb = type 3 */ ! disk->ra_size = ra_gen3; ! } ! else if (blks < 259740L) ! { ! i = 1; /* < ~112mb = type 1 */ ! disk->ra_size = ra_gen1; ! } ! else if (blks < 669340L) /* < ~330mb = type 2 */ ! { ! i = 2; ! disk->ra_size = ra_gen2; ! } ! else if (blks < 851804L) /* < ~420mb = type 4 */ ! { ! i = 4; ! disk->ra_size = ra_gen4; ! } ! else ! { ! i = 5; /* > ~420mb = type 5 */ ! disk->ra_size = ra_gen5; ! } ! log(LOG_NOTICE, "ra%d: type %d partitions\n", mp->m_unit, i); } /* + * this is a routine rather than a macro to save space - shifting, etc + * generates a lot of code. + */ + + mx(l, i) + int l, i; + { + register int c; + + c = (l >> (5 * i)) & 0x1f; + if (c == 0) + c = ' ' - '@'; + return(c + '@'); + } + + /* * Process an error log message * * For now, just log the error on the console. Only minimal decoding is done, *************** *** 1048,1071 **** switch (mp->me_format) { case M_F_CNTERR: ! printf("controller"); break; case M_F_BUSADDR: ! printf("host memory access addr 0%o", mp->me_busaddr); break; case M_F_DISKTRN: ! printf("disk transfer, unit %d grp 0x%x hdr 0x%x", mp->me_unit, mp->me_group, mp->me_hdr); break; case M_F_SDI: ! printf("SDI, unit %d hdr 0x%x", mp->me_unit, mp->me_hdr); break; case M_F_SMLDSK: ! printf("small disk, unit %d cyl %d", ! mp->me_unit, mp->me_sdecyl); break; default: ! printf("unknown, unit %d format 0%o",mp->me_unit,mp->me_format); } printf(", event 0%o\n", mp->me_event); --- 1139,1161 ---- switch (mp->me_format) { case M_F_CNTERR: ! printf("ctlr"); break; case M_F_BUSADDR: ! printf("M_F_BUSADDR %o", mp->me_busaddr); break; case M_F_DISKTRN: ! printf("disk xfer, unit %d grp x%x hdr x%x", mp->me_unit, mp->me_group, mp->me_hdr); break; case M_F_SDI: ! printf("SDI unit %d hdr x%x", mp->me_unit, mp->me_hdr); break; case M_F_SMLDSK: ! printf("small disk unit %d cyl %d", mp->me_unit, mp->me_sdecyl); break; default: ! printf("?, unit %d format %o",mp->me_unit,mp->me_format); } printf(", event 0%o\n", mp->me_event); *** /sys/pdpdist/disktab.old Wed Dec 5 19:25:33 1990 --- /sys/pdpdist/disktab Sun Jul 12 00:04:08 1992 *************** *** 31,50 **** # Drives on xp # - # RM02/03: - # - # File system free list parameters (m/n): - # RM02: - # CPU 23 24 34 40 44 45 53 55 - # DISK - # RM02 11/80 10/80 8/80 8/80 6/80 7/80 6/80 7/80 - # RM03 16/80 15/80 12/80 12/80 8/80 11/80 8/80 11/80 - # - # CPU 60 70 73 83 84 - # DISK - # RM02 7/80 5/80 6/80 6/80 5/80 - # RM03 11/80 7/80 9/80 9/80 7/80 - # rm02|RM02|rm03|RM03|DEC RM02/03:\ :ty=removable:ns#32:nt#5:nc#823:sf:\ :b0=/mdec/rm03uboot:\ --- 31,36 ---- *************** *** 57,72 **** :ph#131522:bh#1024:fh#1024: # RM05: - # - # File system free list parameters (m/n): - # CPU 23 24 34 40 44 45 53 55 - # DISK - # RM05 16/304 15/304 12/304 12/304 8/304 11/304 8/304 11/304 - # - # CPU 60 70 73 83 84 - # DISK - # RM05 11/304 7/304 8/304 8/304 7/304 - # rm05|RM05|cdc9766|CDC9766|9766|DEC RM05, CDC 9766:\ :ty=removable:ns#32:nt#19:nc#823:sf:\ :b0=/mdec/rm05uboot:\ --- 43,48 ---- *************** *** 78,83 **** --- 54,60 ---- :pf#152000:bf#1024:ff#1024:\ :pg#165826:bg#1024:fg#1024:\ :ph#500226:bh#1024:fh#1024: + 9775|CDC 9775:\ :ty=winchester:ns#32:nt#40:nc#842:sf:\ :pa#10240:ba#1024:fa#1024:\ *************** *** 90,107 **** :ph#1072640:bh#1024:fh#1024: # EATON BR1537 or 1711 controller. The CSR set looks like an RP03, ! # that's about all. m/n are probably wrong for anything except ! # 44, 70 and 84. # - # File system free list parameters (m/n): - # CPU 23 24 34 40 44 45 53 55 - # DISK - # BR 16/304 15/304 12/304 12/304 7/304 11/304 8/304 11/304 - # - # CPU 60 70 73 83 84 - # DISK - # BR 11/304 5/304 7/304 7/304 6/304 - # br1538d|BR1538D|EATON 1538D, 1711:\ :ty=removable:ns#32:nt#19:nc#815:so:\ :b0=/mdec/bruboot:\ --- 67,74 ---- :ph#1072640:bh#1024:fh#1024: # EATON BR1537 or 1711 controller. The CSR set looks like an RP03, ! # that's about all. # br1538d|BR1538D|EATON 1538D, 1711:\ :ty=removable:ns#32:nt#19:nc#815:so:\ :b0=/mdec/bruboot:\ *************** *** 111,127 **** :pd#232256:bd#4096:fd#1024:\ :ph#495520:bh#1024:fh#1024: - # RP04/05/06: - # - # File system free list parameters (m/n): - # CPU 23 24 34 40 44 45 53 55 - # DISK - # RP04/05/06 11/209 10/209 8/209 8/209 6/209 7/209 6/209 7/209 - # - # CPU 60 70 73 83 84 - # DISK - # RP04/05/06 7/209 5/209 6/209 6/209 5/209 - # rp04|RP04|rp05|RP05|DEC RP04/05:\ :ty=removable:ns#22:nt#19:nc#411:sf:\ :b0=/mdec/hpuboot:\ --- 78,83 ---- *************** *** 129,134 **** --- 85,91 ---- :pb#8778:bb#1024:fb#1024:\ :pc#153258:bc#1024:fc#1024:\ :pg#171650:bg#1024:fg#1024: + rp06|RP06|DEC RP06:\ :ty=removable:ns#22:nt#19:nc#815:sf:\ :b0=/mdec/hpuboot:\ *************** *** 139,155 **** :pe#322130:be#1024:fe#1024:\ :pg#171798:bg#1024:fg#1024:\ :ph#340522:bh#1024:fh#1024: ! 160|fuji|fuji160|Fujitsu 160:\ :ty=winchester:ns#32:nt#10:nc#823:sf:\ :b0=/mdec/si94uboot:\ :pa#9600:ba#1024:fa#1024:\ :pb#9600:bb#1024:fb#1024:\ :pc#244002:bc#1024:fc#1024:\ ! :pd#125440:bd#1024:fd#1024:\ ! :pe#118562:be#1024:fe#1024:\ ! :pf#59520:bf#1024:ff#1024:\ ! :pg#59042:bg#1024:fg#1024:\ :ph#263202:bh#1024:fh#1024: diva|DIVA|9300|Diva Comp V, Ampex 9300 (in direct mode):\ :ty=winchester:ns#33:nt#19:nc#815:sf:\ :b0=/mdec/dvhpuboot:\ --- 96,114 ---- :pe#322130:be#1024:fe#1024:\ :pg#171798:bg#1024:fg#1024:\ :ph#340522:bh#1024:fh#1024: ! ! rm2x|160|fuji|fuji160|Fujitsu 160:\ :ty=winchester:ns#32:nt#10:nc#823:sf:\ :b0=/mdec/si94uboot:\ :pa#9600:ba#1024:fa#1024:\ :pb#9600:bb#1024:fb#1024:\ :pc#244002:bc#1024:fc#1024:\ ! :pd#164800:bd#1024:fd#1024:\ ! :pe#79360:be#1024:fe#1024:\ ! :pf#39680:bf#1024:ff#1024:\ ! :pg#39680:bg#1024:fg#1024:\ :ph#263202:bh#1024:fh#1024: + diva|DIVA|9300|Diva Comp V, Ampex 9300 (in direct mode):\ :ty=winchester:ns#33:nt#19:nc#815:sf:\ :b0=/mdec/dvhpuboot:\ *************** *** 161,166 **** --- 120,126 ---- :pf#156750:bf#1024:ff#1024:\ :pg#165996:bg#1024:fg#1024:\ :ph#510846:bh#1024:fh#1024: + 330|capricorn|Capricorn|Ampex Capricorn:\ :ty=winchester:ns#32:nt#16:nc#1024:sf:\ :pa#16384:ba#1024:fa#1024:\ *************** *** 171,176 **** --- 131,137 ---- :pf#107008:bf#1024:ff#1024:\ :pg#179712:bg#1024:fg#1024:\ :ph#521728:bh#1024:fh#1024: + si_eagle|SI_Eagle|2351|2351A|Fujitsu Eagle 2351A (48 sectors):\ :ty=winchester:ns#48:nt#20:nc#842:rm#3961:sf:\ :b0=/mdec/si51uboot:\ *************** *** 179,184 **** --- 140,146 ---- :pc#474240:bc#1024:fc#1024:\ :pd#214080:bd#1024:fd#1024:\ :ph#803520:bh#1024:fh#1024: + si9766|si9766|CDC 9766 on SI 9500 controller:\ :ty=removable:ns#32:nt#19:nc#823:sf:\ :b0=/mdec/si95uboot:\ *************** *** 191,210 **** :pg#162786:bg#1024:fg#1024:\ :ph#497344:bh#1024:fh#1024: - # - # Disks for rk - # - # RK06/07: - # - # File system free list parameters (m/n): - # CPU 23 24 34 40 44 45 53 55 - # DISK - # RK06/07 8/33 7/33 6/33 6/33 4/33 5/33 4/33 5/33 - # - # CPU 60 70 73 83 84 - # DISK - # RK06/07 5/33 3/33 4/33 4/33 3/33 - # rk06|RK06|DEC RK06:\ :ty=removable:ns#22:nt#3:nc#411:sf:\ :b0=/mdec/hkuboot:\ --- 153,158 ---- *************** *** 223,265 **** :pe#8316:be#1024:fe#1024:\ :pg#26978:bg#1024:fg#1024:\ :ph#53642:bh#1024:fh#1024: ! # ! # Disks for rl ! # ! # RL01/02: ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RL01/2 7/10 6/10 6/10 6/10 4/10 5/10 4/10 5/10 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RL01/2 5/10 3/10 4/10 4/10 3/10 ! # rl01|RL01|DEC RL01:\ :ty=removable:se#256:ns#40:nt#2:nc#256:\ :b0=/mdec/rluboot:\ :ph#20480:bh#1024:fh#1024: rl02|RL02|DEC RL02:\ :ty=removable:se#256:ns#40:nt#2:nc#512:\ :b0=/mdec/rluboot:\ :ph#40960:bh#1024:fh#1024: - # - # Disks for rk - # - # RK05: - # - # File system free list parameters (m/n): - # CPU 23 24 34 40 44 45 53 55 - # DISK - # RK05 4/12 4/12 3/12 3/12 2/12 3/12 2/12 3/12 - # - # CPU 60 70 73 83 84 - # DISK - # RK05 3/12 2/12 2/12 2/12 2/12 - # rk05|RK05|DEC RK05:\ :ty=removable:ns#12:nt#2:nc#203:bt=rkuboot:\ :b0=/mdec/rkuboot:\ --- 171,187 ---- :pe#8316:be#1024:fe#1024:\ :pg#26978:bg#1024:fg#1024:\ :ph#53642:bh#1024:fh#1024: ! rl01|RL01|DEC RL01:\ :ty=removable:se#256:ns#40:nt#2:nc#256:\ :b0=/mdec/rluboot:\ :ph#20480:bh#1024:fh#1024: + rl02|RL02|DEC RL02:\ :ty=removable:se#256:ns#40:nt#2:nc#512:\ :b0=/mdec/rluboot:\ :ph#40960:bh#1024:fh#1024: rk05|RK05|DEC RK05:\ :ty=removable:ns#12:nt#2:nc#203:bt=rkuboot:\ :b0=/mdec/rkuboot:\ *************** *** 268,286 **** # # Disks on a UDA50 # ! ! # RA60: # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RA60 21/84 21/84 17/84 17/84 12/84 15/84 12/84 15/84 # ! # CPU 60 70 73 83 84 ! # DISK ! # RA60 15/84 10/84 12/84 12/84 10/84 ! # ! ra60|RA60|DEC RA60 Removable:\ :ty=removable:ns#42:nt#4:nc#2382:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ --- 190,211 ---- # # Disks on a UDA50 # ! # 7/11/92 - A new and more uniform partitioning scheme is present in the ! # MSCP driver. For compatibility reasons the RA60, RA80, RA81, RD52 and ! # RD53 old style partitions were kept. RC25 and RD51 drives use the new ! # method. In the "complete" (as of this date at least) list added below ! # the RA60,80,81,82,RD52,53 entries are commented out. If the new partition ! # setup is desired the ra.c driver has a table with entries for the old style ! # partition layout, simply delete the line with the drive type and edit this ! # file to delete the old entry and uncomment the new one, then reinstall this ! # file in /etc. NOTE: the RD54 partition sizes are the _same_ - all that is ! # needed is to use the 'g' partition rather than the 'c' partition. # ! # All NEW partition tables use 'c' as the whole drive now, more in keeping ! # with the 4BSD style. # ! ! ra60|RA60|DEC RA60 Removable|OLD STYLE PARTITIONS:\ :ty=removable:ns#42:nt#4:nc#2382:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ *************** *** 291,308 **** :pg#156570:bg#1024:fg#1024:\ :ph#399176:bh#1024:fh#1024: ! # RA80: ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RA80 16/217 16/217 13/217 13/217 9/217 11/217 9/217 11/217 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RA80 11/217 7/217 9/217 9/217 7/217 ! # ! ra80|RA80|DEC RA80 Winchester:\ :ty=winchester:ns#31:nt#14:nc#559:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ --- 216,222 ---- :pg#156570:bg#1024:fg#1024:\ :ph#399176:bh#1024:fh#1024: ! ra80|RA80|DEC RA80 Winchester|OLD STYLE PARTITIONS:\ :ty=winchester:ns#31:nt#14:nc#559:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ *************** *** 310,327 **** :pc#186888:bc#1024:fc#1024:\ :ph#236212:bh#1024:fh#1024: ! # RA81: ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RA81 26/357 26/357 21/357 21/357 14/357 18/357 14/357 17/357 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RA81 18/357 12/357 14/357 14/357 12/357 ! # ! ra81|RA81|DEC RA81 Winchester:\ :ty=winchester:ns#51:nt#14:nc#1248:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ --- 224,230 ---- :pc#186888:bc#1024:fc#1024:\ :ph#236212:bh#1024:fh#1024: ! ra81|RA81|DEC RA81 Winchester|OLD STYLE PARTITIONS:\ :ty=winchester:ns#51:nt#14:nc#1248:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ *************** *** 332,426 **** :pf#324382:bf#1024:ff#1024:\ :pg#647466:bg#1024:fg#1024:\ :ph#890072:bh#1024:fh#1024: ! ra82|RA82|DEC RA82 Winchester:\ ! :ty=winchester:ns#58:nt#15:nc#1435:so:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#303710:bc#1024:fc#1024:\ ! :pd#303710:bd#1024:fd#1024:\ ! :pe#303710:be#1024:fe#1024:\ ! :pf#303710:bf#1024:ff#1024:\ ! :ph#1247450:bh#1024:fh#1024: ! # ! # Disks on KLESI ! # ! # RC25: ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RC25 15/31 15/31 13/31 13/31 9/31 11/31 9/31 11/31 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RC25 11/31 7/31 9/31 9/31 7/31 ! # ! rc25|RC25:\ ! :ty=winchester:ns#42:nt#4:nc#302:so:bt=rauboot:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ ! :pb#10032:bb#1024:fb#1024:\ ! :pc#24884:bc#1024:fc#1024:\ ! :ph#50800:bh#1024:fh#1024: ! # ! # Disks on RQDX Q-bus controllers ! # ! # RX50: ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RX50 1/5 1/5 1/5 1/5 1/5 1/5 1/5 1/5 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RX50 1/5 1/5 1/5 1/5 1/5 ! # ! rx50|RX50|DEC RX50 floppy disk unit:\ ! :ty=removable:ns#10:nt#1:nc#80:\ ! :b0=/mdec/rauboot:\ ! :ph#1638:bh#1024:fh#1024: ! # ! # RD51: ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RD51 1/36 1/36 1/36 1/36 1/36 1/36 1/36 1/36 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RD51 1/36 1/36 1/36 1/36 1/36 ! # ! rd51|RD51|DEC RD51:\ ! :ty=winchester:ns#18:nt#4:nc#300:so:\ ! :b0=/mdec/rauboot:\ ! :pa#9700:ba#1024:fa#1024:\ ! :pe#7460:be#1024:fe#1024:\ ! :pf#2240:bf#1024:ff#1024:\ ! :pg#11868:bg#1024:fg#1024:\ ! :ph#21568:bh#1024:fh#1024: ! # ! # RD52 and RD53: ! # ! # Note that interleaving factors are determined by controller (RQDX2 or ! # RQDX3) rather than disk type. The names in the entries below are ! # combined with the controller so that newfs(8) can use the right ! # partition sizes and also look up the correct m/n numbers internally. ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RQDX2* 2/36 2/36 2/36 2/36 2/36 2/36 2/36 2/36 ! # RQDX3* 7/36 7/36 7/36 7/36 7/36 7/36 7/36 7/36 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RQDX2* 2/36 2/36 2/36 2/36 2/36 ! # RQDX3* 7/36 7/36 7/36 7/36 7/36 ! # ! rd52-rqdx2|RD52-RQDX2|rd52-rqdx3|RD52-RQDX3|DEC RD52:\ :ty=winchester:ns#18:nt#7:nc#480:so:\ :b0=/mdec/rauboot:\ :pa#9700:ba#1024:fa#1024:\ --- 235,254 ---- :pf#324382:bf#1024:ff#1024:\ :pg#647466:bg#1024:fg#1024:\ :ph#890072:bh#1024:fh#1024: ! ! ra81x|RA81X|Extended DEC RA81 Winchester|OLD STYLE PARTITIONS:\ ! :ty=winchester:ns#51:nt#14:nc#1815:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ ! :pb#33440:bb#1024:fb#1024:\ ! :pc#193282:bc#1024:fc#1024:\ ! :pd#15884:bd#1024:fd#1024:\ ! :pe#307200:be#1024:fe#1024:\ ! :pf#728952:bf#1024:ff#1024:\ ! :pg#1052036:bg#1024:fg#1024:\ ! :ph#1294642:bh#1024:fh#1024: ! rd52|RD52|DEC RD52|OLD STYLE PARTITIONS:\ :ty=winchester:ns#18:nt#7:nc#480:so:\ :b0=/mdec/rauboot:\ :pa#9700:ba#1024:fa#1024:\ *************** *** 431,437 **** :pf#2240:bf#1024:ff#1024:\ :pg#50748:bg#1024:fg#1024:\ :ph#60448:bh#1024:fh#1024: ! rd53-rqdx2|RD53-RQDX2|rd53-rqdx3|RD53-RQDX3|DEC RD53:\ :ty=winchester:ns#18:nt#8:nc#963:so:\ :b0=/mdec/rauboot:\ :pa#9700:ba#1024:fa#1024:\ --- 259,266 ---- :pf#2240:bf#1024:ff#1024:\ :pg#50748:bg#1024:fg#1024:\ :ph#60448:bh#1024:fh#1024: ! ! rd53|RD53||DEC RD53|OLD STYLE PARTITIONS:\ :ty=winchester:ns#18:nt#8:nc#963:so:\ :b0=/mdec/rauboot:\ :pa#9700:ba#1024:fa#1024:\ *************** *** 442,466 **** :pf#2240:bf#1024:ff#1024:\ :pg#128940:bg#1024:fg#1024:\ :ph#138640:bh#1024:fh#1024: ! rd54-rqdx3|RD54-RQDX3|DEC RD54:\ ! :ty=winchester:ns#17:nt#15:nc#1226:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ :pb#16720:bb#1024:fb#1024:\ ! :pc#278564:bc#1024:fc#1024:\ ! :ph#311168:bh#1024:fh#1024: ! # ! # RX02 floppy disk drives ! # ! # File system free list parameters (m/n): ! # CPU 23 24 34 40 44 45 53 55 ! # DISK ! # RX02 1/7 1/7 1/7 1/7 1/7 1/7 1/7 1/7 ! # ! # CPU 60 70 73 83 84 ! # DISK ! # RX02 1/7 1/7 1/7 1/7 1/7 ! # rx02|RX02|DEC RX02:\ :ty=removable:se#128/256:ns#26:nt#1:nc#77:\ :pa#250:ba#1024:fa#1024:\ --- 271,588 ---- :pf#2240:bf#1024:ff#1024:\ :pg#128940:bg#1024:fg#1024:\ :ph#138640:bh#1024:fh#1024: ! ! rc25|RC25|rcf25|RCF25|DEC RC25 and RC25F:\ ! :ty=removable:ns#42:nt#4:nc#2382:so:\ :b0=/mdec/rauboot:\ :pa#15884:ba#1024:fa#1024:\ + :pb#8360:bb#1024:fb#1024:\ + :pc#50902:bc#1024:fc#1024:\ + :pg#26658:bg#1024:fg#1024: + + rd31|RD31|DEC RD31:\ + :ty=winchester:ns#17:nt#4:nc#615:so:\ + :b0=/mdec/rauboot:\ + :pa#15884:ba#1024:fa#1024:\ + :pb#8360:bb#1024:fb#1024:\ + :pc#41560:bc#1024:fc#1024:\ + :pg#17316:bg#1024:fg#1024: + + rd32|RD32|DEC RD32:\ + :ty=winchester:ns#17:nt#6:nc#820:so:\ + :b0=/mdec/rauboot:\ + :pa#15884:ba#1024:fa#1024:\ + :pb#8360:bb#1024:fb#1024:\ + :pc#83236:bc#1024:fc#1024:\ + :pg#58992:bg#1024:fg#1024: + + rd33|RD33|DEC RD33:\ + :ty=winchester:ns#17:nt#7:nc#1170:so:\ + :b0=/mdec/rauboot:\ + :pa#15884:ba#1024:fa#1024:\ + :pb#8360:bb#1024:fb#1024:\ + :pc#138565:bc#1024:fc#1024:\ + :pg#114321:bg#1024:fg#1024: + + rd51|RD51|DEC RD51:\ + :ty=winchester:ns#18:nt#4:nc#300:so:\ + :b0=/mdec/rauboot:\ + :pa#15884:ba#1024:fa#1024:\ + :pb#5716:bb#1024:fb#1024:\ + :pc#21600:bc#1024:fc#1024: + + # rd52|RD52|DEC RD52|NEW STYLE PARTITIONS:\ + # :ty=winchester:ns#18:nt#7:nc#480:so:\ + # :b0=/mdec/rauboot:\ + # :pa#15884:ba#1024:fa#1024:\ + # :pb#8360:bb#1024:fb#1024:\ + # :pc#60480:bc#1024:fc#1024:\ + # :pg#36236:bg#1024:fg#1024: + + # rd53|RD53|DEC RD53|NEW STYLE PARTITIONS:\ + # :ty=winchester:ns#17:nt#8:nc#1024:so:\ + # :b0=/mdec/rauboot:\ + # :pa#15884:ba#1024:fa#1024:\ + # :pb#8360:bb#1024:fb#1024:\ + # :pc#138672:bc#1024:fc#1024:\ + # :pg#114428:bg#1024:fg#1024:\ + + rd54|RD54|DEC RD54:\ + :ty=winchester:ns#17:nt#15:nc#1221:so:\ + :b0=/mdec/rauboot:\ + :pa#15884:ba#1024:fa#1024:\ :pb#16720:bb#1024:fb#1024:\ ! :pc#311200:bc#1024:fc#1024:\ ! :pg#278596:bg#1024:fg#1024: ! ! rx23|RX23|DEC RX23:\ ! :ty=removable:ns#18:nt#2:nc#80:\ ! :b0=/mdec/rauboot:\ ! :pa#2880:ba#1024:fa#512:\ ! :pc#2880:bc#1024:fc#512: ! ! rx26|RX26|DEC RX26:\ ! :ty=removable:ns#36:nt#2:nc#80:\ ! :b0=/mdec/rauboot:\ ! :pa#5760:ba#1024:fa#512:\ ! :pc#5760:bc#1024:fc#512: ! ! rx33|RX33|DEC RX33:\ ! :ty=removable:ns#15:nt#2:nc#80:\ ! :b0=/mdec/rauboot:\ ! :pa#2400:ba#1024:fa#512:\ ! :pc#2400:bc#1024:fc#512: ! ! rx50|RX50|DEC RX50:\ ! :ty=removable:ns#10:nt#1:nc#80:\ ! :b0=/mdec/rauboot:\ ! :pa#800:ba#1024:fa#512:\ ! :pc#800:bc#1024:fc#512: ! ! # ra60|RA60|DEC RA60|NEW STYLE PARTITIONS:\ ! # :ty=removable:ns#42:nt#4:nc#2382:so:\ ! # :b0=/mdec/rauboot:\ ! # :pa#15884:ba#1024:fa#1024:\ ! # :pb#16720:bb#1024:fb#1024:\ ! # :pc#400176:bc#1024:fc#1024:\ ! # :pd#245048:bd#1024:fd#1024:\ ! # :pe#122524:be#1024:fe#1024:\ ! # :pg#367572:bg#1024:fg#1024:\ ! ! ra70|RA70|DEC RA70:\ ! :ty=winchester:ns#33:nt#11:nc#1507:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#547041:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#287301:be#1024:fe#1024:\ ! :pg#514437:bg#1024:fg#1024: ! ! ra71|RA71|DEC RA71:\ ! :ty=winchester:ns#51:nt#14:nc#1915:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#1367310:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#515506:bh#1024:fh#1024: ! ! ra72|RA72|DEC RA72:\ ! :ty=winchester:ns#51:nt#20:nc#1915:so:\ ! :pa#15884:ba#1024:fa#1024:\ ! :b0=/mdec/rauboot:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#1953300:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#1101496:bh#1024:fh#1024: ! ! ra73|RA73|DEC RA73:\ ! :ty=winchester:ns#70:nt#21:nc#2667:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#3920490:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#3068686:bh#1024:fh#1024: ! ! # ra80|RA80|DEC RA80|NEW STYLE PARTITIONS:\ ! # :ty=winchester:ns#31:nt#14:nc#546:so:\ ! # :b0=/mdec/rauboot:\ ! # :pa#15884:ba#1024:fa#1024:\ ! # :pb#16720:bb#1024:fb#1024:\ ! # :pc#237212:bc#1024:fc#1024:\ ! # :pg#204608:bg#1024:fg#1024: ! ! # ra81|RA81|DEC RA81|NEW STYLE PARTITIONS:\ ! # :ty=winchester:ns#51:nt#14:nc#1248:so:\ ! # :b0=/mdec/rauboot:\ ! # :pa#15884:ba#1024:fa#1024:\ ! # :pb#16720:bb#1024:fb#1024:\ ! # :pc#891072:bc#1024:fc#1024:\ ! # :pd#227136:bd#1024:fd#1024:\ ! # :pe#409600:be#1024:fe#1024:\ ! # :pf#182464:bf#1024:ff#1024:\ ! # :pg#819200:bg#1024:fg#1024:\ ! # :ph#39268:bh#1024:fh#1024: ! ! ra82|RA82|DEC RA82:\ ! :ty=winchester:ns#57:nt#15:nc#1423:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#1216665:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#364861:bh#1024:fh#1024: ! ! ra90|RA90|DEC RA90:\ ! :ty=winchester:ns#69:nt#13:nc#2649:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#2376153:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#1524349:bh#1024:fh#1024: ! ! ra92|RA92|DEC RA92:\ ! :ty=winchester:ns#69:nt#13:nc#3279:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#2940951:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#2089147:bh#1024:fh#1024: ! ! rz22|RZ22|DEC RZ22:\ ! :ty=winchester:ns#33:nt#4:nc#776:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#8360:bb#1024:fb#1024:\ ! :pc#102432:bc#1024:fc#1024:\ ! :pg#78188:bg#1024:fg#1024: ! ! rz23|RZ23|DEC RZ23:\ ! :ty=winchester:ns#33:nt#8:nc#776:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#8360:bb#1024:fb#1024:\ ! :pc#204864:bc#1024:fc#1024:\ ! :pg#180620:bg#1024:fg#1024:\ ! ! rz23l|RZ23L|DEC RZ23L:\ ! :ty=winchester:ns#39:nt#4:nc#1524:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#8360:bb#1024:fb#1024:\ ! :pc#237588:bc#1024:fc#1024:\ ! :pg#213344:bg#1024:fg#1024:\ ! ! rz24|RZ24|DEC RZ24:\ ! :ty=winchester:ns#38:nt#8:nc#1348:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#409792:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#150052:be#1024:fe#1024:\ ! :pg#377188:bg#1024:fg#1024: ! ! rz24l|RZ24L|DEC RZ24L:\ ! :ty=winchester:ns#65:nt#4:nc#1818:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#479350:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#219610:be#1024:fe#1024:\ ! :pg#446746:bg#1024:fg#1024: ! ! rz25|RZ25|DEC RZ25:\ ! :ty=winchester:ns#62:nt#9:nc#1476:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#832527:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#130590:bf#1024:ff#1024:\ ! :pg#799923:bg#1024:fg#1024: ! ! rz26|RZ26|DEC RZ26:\ ! :ty=winchester:ns#57:nt#14:nc#2570:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#2050860:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#1199056:bh#1024:fh#1024: ! ! rz55|RZ55|DEC RZ55:\ ! :ty=winchester:ns#36:nt#15:nc#1224:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#649040:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#389300:be#1024:fe#1024:\ ! :pg#616436:bg#1024:fg#1024: ! ! rz56|RZ56|DEC RZ56:\ ! :ty=winchester:ns#54:nt#15:nc#1632:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#1299174:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#447370:bh#1024:fh#1024: ! ! rz57|RZ57|DEC RZ57:\ ! :ty=winchester:ns#71:nt#15:nc#1854:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16720:bb#1024:fb#1024:\ ! :pc#1954050:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#1102246:bh#1024:fh#1024: ! ! rz58|RZ58|DEC RZ58:\ ! :ty=winchester:ns#85:nt#15:nc#2112:so:\ ! :b0=/mdec/rauboot:\ ! :pa#15884:ba#1024:fa#1024:\ ! :pb#16270:bb#1024:fb#1024:\ ! :pc#2698061:bc#1024:fc#1024:\ ! :pd#227136:bd#1024:fd#1024:\ ! :pe#409600:be#1024:fe#1024:\ ! :pf#182464:bf#1024:ff#1024:\ ! :pg#819200:bg#1024:fg#1024:\ ! :ph#1846257:bh#1024:fh#1024: rx02|RX02|DEC RX02:\ :ty=removable:se#128/256:ns#26:nt#1:nc#77:\ :pa#250:ba#1024:fa#1024:\