home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / bugs / 2bsd / 87 < prev    next >
Encoding:
Text File  |  1992-09-02  |  45.6 KB  |  1,564 lines

  1. Newsgroups: comp.bugs.2bsd
  2. Path: sparky!uunet!europa.asd.contel.com!awds.imsd.contel.com!wlbr!sms
  3. From: sms@WLV.IIPO.GTEGSC.COM (Steven M. Schultz)
  4. Subject: MSCP (ra.c) partitioning  changes   (#78)
  5. Message-ID: <1992Sep3.040101.26985@wlbr.iipo.gtegsc.com>
  6. Sender: news@wlbr.iipo.gtegsc.com (news)
  7. Nntp-Posting-Host: wlv.iipo.gtegsc.com
  8. Organization: GTE Government Systems
  9. Date: Thu, 3 Sep 92 04:01:01 GMT
  10. Lines: 1552
  11.  
  12. Subject: MSCP (ra.c) partitioning  changes   (#78)
  13. Index:    pdpuba/ra.c, pdpdist/disktab 2.11BSD
  14.  
  15. Description:
  16.  
  17.     The number of partition tables in ra.c was getting out of hand 
  18.     with the rapidly growing number of MSCP discs available.  For
  19.     example the 11/93 now comes with the RZ23L and RZ24L.  At 64
  20.     bytes per partition table it would require around 4kb of kernel
  21.     D space to hold the partition tables for the existing MSCP drive
  22.     types - and more are being added all the time.
  23.  
  24. Repeat-By:
  25.     Observation and personal experience.
  26.  
  27. Fix:
  28.     Yes, the "real" solution would be to have disk labels (and a
  29.     standalone disk labeling program).  Until that day the solution 
  30.     is to have 5 "generic" partition types and smarten up ra.c to
  31.     pay more attention to the volume size returned when a drive is
  32.     brought on line.
  33.  
  34.     Small drives (those not having enough room for both a 7mb
  35.     'a' partition and a 4mb 'b' partition) can be used as datadiscs
  36.     (RD51, RX??) or as standalone boot media, but not as something
  37.     the kernel can be booted from.
  38.  
  39.     The RA82 table was removed.  If you have an RA82 (unlikely, but
  40.     possible) it may be necessary to leave the RA82 partition table
  41.     present and add an entry in the compability table (described further
  42.     on).
  43.  
  44.     The five general partition types are:
  45.  
  46.                 type            partitions (sector range in sectors, size)
  47.                 ----            ----------
  48.                  1              a: 0 - 15883     (15884)
  49.                                 b: 15884 - 24243 (8360)
  50.                                 c: whole drive
  51.                                 d: unused
  52.                                 e: unused
  53.                                 f: unused
  54.                                 g: 24244 - end   (depends on drive)
  55.                                 h: unused
  56.  
  57.                 This would be used for small discs like the RC25, RD52, etc.
  58.                 The RD51 is an oddball - it's too small to have root + swap,
  59.         therefore the RD51 is a type 3 drive.
  60.  
  61.                  2              a: 0-15883       (15884)
  62.                                 b: 15884 - 32603 (16720)
  63.                                 c: whole disc
  64.                                 d: 32604 - 259739 (227136 = 112mb)
  65.                                 e: 259740 - end   (depends on drive)
  66.                                 f: unused
  67.                                 g: 32604 - end    (depends on drive)
  68.                                 h: unused
  69.  
  70.                 This would be used for drives in the 150mb range such as the
  71.                 RD54, RZ24, etc...
  72.  
  73.                   3             a: whole disc
  74.                                 b: unused
  75.                                 c: whole disc
  76.                                 d,e,f,g,h: unused
  77.  
  78.                 Used for floppies (or the RD51) where only the whole disc 
  79.         is referenced.
  80.  
  81.                   4             a: 0 - 15883    (15884)
  82.                                 b: 15884 - 32603 (16720)
  83.                                 c: whole disc
  84.                                 d: 32604 - 259739  (227136)
  85.                                 e: 259740 - 669339 (409600 = 200mb)
  86.                                 f: 669340 - end    (depends on drive)
  87.                                 g: 32604 - end
  88.                                 h: unused
  89.  
  90.                 Used for larger drives such as the RZ25...
  91.  
  92.                   5             a: 0 - 15883 (15884)
  93.                                 b: 15884 - 32603 (16720)
  94.                                 c: whole disc
  95.                                 d: 32604 - 259739 (227136)
  96.                                 e: 259740 - 669339 (409600)
  97.                                 f: 669340 - 851803 (182464 = ~88mb)
  98.                                 g: 32604 - 851803 (819200 = 400mb)
  99.                                 h: 851804 - end  (rest of disc above ~400mb)
  100.  
  101.                 Used for all the "big" stuff like the RZ56 and so on.
  102.  
  103.     There is a "compability" table present in the ra.c driver now.  If
  104.     you wish to override the selection of one of the 5 generic partition
  105.     tables then simply make an entry in this table and add a partition
  106.     table to the list.  The compatibilty table is checked first, before 
  107.     assigning a generic partition type.
  108.  
  109.     At present the drives listed in the compability table are the RA60,
  110.     RA80, RD52 and RD53.  It is arguable that the RD52 and RD53 should
  111.     have been removed and forced to use the generic tables, the RD52
  112.     is only 30mb and if used at all would be for root, swap and perhaps
  113.     /tmp - a larger disc would be needed for /usr.
  114.  
  115.     The RD54 partition sizes are the same as before, but the partition
  116.     which continues from the end of swap until the end of volume is
  117.     _not_ 'c' now, it is 'g'.  ALL that need be done for the RD54
  118.     is to edit /etc/fstab to mount 'ra?g' instead of 'ra?c'.
  119.  
  120.     All of the generic partitions have the standard layout of 'a' being
  121.     the root filesystem, 'b' being swap and 'c' being the whole disc.
  122.  
  123.     The second patch included in this file applies to /sys/pdpdist/disktab.
  124.     All known (except for the RF drives) MSCP drives as of this date
  125.     are listed.  The /sys/pdpdist/disktab should be the one which was
  126.     shipped with the system (changes being made to /etc/disktab).  If
  127.     you have local modifications to /etc/disktab, you will need to
  128.     merge /sys/pdpdist/disktab into /etc/disktab.
  129.  
  130.     There are both uncommented and commented out entries for the RD52, 
  131.     RD53, RA60, RA80 and RA81 in the new disktab file.  IF you decide to 
  132.     remove a drive from the compability table (and use the new/improved 
  133.     partition tables) then remember to reverse the comment status of
  134.     the disktab entry for that drive as well.
  135.  
  136.     Also the "-rqdx2" and "-rqdx3" was removed from the RD5? drive names.
  137.     It never really made any difference (and the RD54 could only be used
  138.     on the RQDX3 anyway) and was a nuisance to remember (4BSD doesn't
  139.     specify the controller type).
  140.  
  141. ===================================cut here===============================
  142. *** /sys/pdpuba/ra.c.old    Wed Dec 18 01:02:09 1991
  143. --- /sys/pdpuba/ra.c    Sun Jul 12 16:28:41 1992
  144. ***************
  145. *** 3,9 ****
  146.    * All rights reserved.  The Berkeley software License Agreement
  147.    * specifies the terms and conditions for redistribution.
  148.    *
  149. !  *    @(#)ra.c    2.1 (2.11BSD Berkeley) 9/22/91
  150.    */
  151.   
  152.    /***********************************************************************
  153. --- 3,9 ----
  154.    * All rights reserved.  The Berkeley software License Agreement
  155.    * specifies the terms and conditions for redistribution.
  156.    *
  157. !  *    @(#)ra.c    2.2 (2.11BSD GTE) 7/11/92
  158.    */
  159.   
  160.    /***********************************************************************
  161. ***************
  162. *** 14,19 ****
  163. --- 14,36 ----
  164.   
  165.   /* 
  166.    * ra.c - MSCP Driver
  167. +  * Date:    Jul  1992
  168. +  * Major rework of the partition tables.  Some old (RA60,80,81,RD53) tables 
  169. +  * were retained (the rd54 'c' partition is now 'g' but the sizes stay 
  170. +  * the same) for compatibility.  RC25, RD51, RA82 entries were removed (unlikely
  171. +  * that the RA82 was used since the disktab entry was wrong).  A _brand new_
  172. +  * scheme utilizing 5 "generic" partition tables was created based on the
  173. +  * size of the disc.  This was needed due to the rapid proliferation of
  174. +  * MSCP drive types, it was simply not feasible to have a 64 byte partition
  175. +  * table for each of the (currently 28 to 30) types of MSCP discs.
  176. +  *
  177. +  * More attention is paid to bits in the media id beyond the 7 bit 
  178. +  * numeric id.  These bits can be used to distinquish between a RZ24 and a
  179. +  * RZ24L for example.
  180. +  *
  181. +  * Some of the diagnostic output was trimmed in an attempt to offset the
  182. +  * growth of an already large drive.
  183. +  *
  184.    * Date:    Dec  18 1991
  185.    * The controller number (bits 6 and 7 of the minor device) were not
  186.    * being masked off after using dkunit().  This caused a crash when 
  187. ***************
  188. *** 45,57 ****
  189.   
  190.   /*
  191.    * MSCP disk device driver
  192. -  *
  193. -  * Should work with the following (at least!):
  194. -  *    RUX1  (RX50, RX33)
  195. -  *     RQDX? (RD51, RD52, RD53, RD54)
  196. -  *    UDA50 (RA60, RA80, RA81, RA82)
  197. -  *    KLESI (RC25)
  198. -  *
  199.    * Tim Tucker, Gould Electronics, Sep 1985
  200.    * Note:  This driver is based on the UDA50 4.3 BSD source.
  201.    */
  202. --- 62,67 ----
  203. ***************
  204. *** 78,110 ****
  205.   struct    rasizes    {
  206.       daddr_t nblocks;
  207.       daddr_t blkoff;
  208. ! }  ra25_sizes[8] = {
  209. !     15884,    0,        /* A=blk 0 thru 15883 */
  210. !     10032,    15884,        /* B=blk 15884 thru 25915 */
  211. !     -1,    25916,        /* C=blk 49324 thru 50901 */
  212. !     0,    0,        /* D=unused */
  213. !     0,    0,        /* E=unused */
  214. !     0,    0,        /* F=unused */
  215. !     0,    0,        /* G=unused */
  216. !     -1,    0,        /* H=blk 0 thru end */
  217. ! }, rd52_sizes[8] = {         /* Setup for RX50, RD51, RD52 and RD53 disks */
  218.       9700,    0,        /* A=blk 0 thru 9699 (root for 52 & 53) */
  219.       17300,    9700,        /* B=blk 9700 thru 26999 (52 & 53 only) */
  220.       3100,    27000,        /* C=blk 27000 thru 30099 (swap 52 & 53) */
  221.       -1,    30100,        /* D=blk 30100 thru end (52 & 53 only) */
  222. -     7460,    0,        /* E=blk 0 thru 7459 (root 51) */
  223. -     2240,    7460,        /* F=blk 7460 thru 9699 (swap 51) */
  224. -     -1,    9700,        /* G=blk 9700 thru end (51, 52 & 53) */
  225. -     -1,    0,        /* H=blk 0 thru end (51, 52, 53 & RX50) */
  226. - }, rd54_sizes[8] = {        /* Setup for RD54 disc */
  227. -     15884,    0,        /* A=blk 0 thru 15883 (root) */
  228. -     16720,    15884,        /* B=blk 15884 thru 32603 (swap) */
  229. -     -1,    32604,        /* C=blk 32604 thru end */
  230. -     0,    0,        /* D=unused */
  231.       0,    0,        /* E=unused */
  232.       0,    0,        /* F=unused */
  233. !     0,    0,        /* G=unused */
  234. !     -1,    0,        /* H=blk 0 thru end */
  235.   }, ra60_sizes[8] = {
  236.       15884,    0,        /* A=blk 0 thru 15883 */
  237.       33440,    15884,        /* B=blk 15884 thru 49323 */
  238. --- 88,102 ----
  239.   struct    rasizes    {
  240.       daddr_t nblocks;
  241.       daddr_t blkoff;
  242. ! } rd52_sizes[8] = {         /* Setup for RD52 and RD53 disks */
  243.       9700,    0,        /* A=blk 0 thru 9699 (root for 52 & 53) */
  244.       17300,    9700,        /* B=blk 9700 thru 26999 (52 & 53 only) */
  245.       3100,    27000,        /* C=blk 27000 thru 30099 (swap 52 & 53) */
  246.       -1,    30100,        /* D=blk 30100 thru end (52 & 53 only) */
  247.       0,    0,        /* E=unused */
  248.       0,    0,        /* F=unused */
  249. !     -1,    9700,        /* G=blk 9700 thru end (52 & 53) */
  250. !     -1,    0,        /* H=blk 0 thru end (52, 53) */
  251.   }, ra60_sizes[8] = {
  252.       15884,    0,        /* A=blk 0 thru 15883 */
  253.       33440,    15884,        /* B=blk 15884 thru 49323 */
  254. ***************
  255. *** 132,148 ****
  256.       -1,    565690,        /* F=blk 565690 thru end */
  257.       -1,    242606,        /* G=blk 242606 thru end */
  258.       -1,    0,        /* H=blk 0 thru end */
  259. ! }, ra82_sizes[8] ={
  260.       15884,    0,        /* A=blk 0 thru 15883 */
  261.       16720,    15884,        /* B=blk 15884 thru 32603 */
  262. !     303710,    32604,        /* C=blk 32604 thru 336313 */
  263. !     303710,    336314,        /* D=blk 336314 thru 640023 */
  264. !     303710,    640024,        /* E=blk 640024 thru 943733 */
  265. !     303710,    943734,        /* F=blk 943734 thru 1247443 */
  266.       0,    0,        /* G=unused */
  267. !     -1,    0,        /* H=blk 0 thru end */
  268.   };
  269.   
  270.   #define    NRSPL2    3        /* log2 number of response packets */
  271.   #define    NCMDL2    3        /* log2 number of command packets */
  272.   #define    NRSP    (1<<NRSPL2)
  273. --- 124,201 ----
  274.       -1,    565690,        /* F=blk 565690 thru end */
  275.       -1,    242606,        /* G=blk 242606 thru end */
  276.       -1,    0,        /* H=blk 0 thru end */
  277. ! }, ra_gen1[8] ={
  278.       15884,    0,        /* A=blk 0 thru 15883 */
  279. +     8360,    15884,        /* B=blk 15884 thru 24243 */
  280. +     -1,    0,        /* C=blk 0 thru end */
  281. +     0,    0,        /* D=unused */
  282. +     0,    0,        /* E=unused */
  283. +     0,    0,        /* F=unused */
  284. +     -1,    24244,        /* G=blk 24244 thru end */
  285. +     0,    0,        /* H=unused */
  286. + }, ra_gen2[8] ={
  287. +     15884,    0,        /* A=blk 0 thru 15883 */
  288.       16720,    15884,        /* B=blk 15884 thru 32603 */
  289. !     -1,    0,        /* C=blk 0 thru end */
  290. !     227136,    32604,        /* D=blk 32604 thru 259739 */
  291. !     -1,    259740,        /* E=blk 259740 thru end */
  292. !     0,    0,        /* F=unused */
  293. !     -1,    32604,        /* G=32604 thru end */
  294. !     0,    0,        /* H=unused */
  295. ! }, ra_gen3[8] ={
  296. !     -1,    0,        /* A=blk 0 thru end */
  297. !     0,    0,        /* B=unused */
  298. !     -1,    0,        /* C=blk 0 thru end */
  299. !     0,    0,        /* D=unused */
  300. !     0,    0,        /* E=unused */
  301. !     0,    0,        /* F=unused */
  302.       0,    0,        /* G=unused */
  303. !     0,    0,        /* H=unused */
  304. ! }, ra_gen4[8] ={
  305. !     15884,    0,        /* A=blk 0 thru 15883 */
  306. !     16720,    15884,        /* B=blk 15884 thru 32603 */
  307. !     -1,    0,        /* C=blk 0 thru end */
  308. !     227136,    32604,        /* D=blk 32604 thru 259739 */
  309. !     409600,    259740,        /* E=blk 259740 thru 669339 */
  310. !     -1,    669340,        /* F=blk 669340 thru end */
  311. !     -1,    32604,        /* G=blk 32604 thru end */
  312. !     0,    0,        /* H=unused */
  313. ! }, ra_gen5[8] ={
  314. !     15884,    0,        /* A=blk 0 thru 15883 */
  315. !     16720,    15884,        /* B=blk 15884 thru 32603 */
  316. !     -1,    0,        /* C=blk 0 thru end */
  317. !     227136,    32604,        /* D=blk 32604 thru 259739 */
  318. !     409600,    259740,        /* E=blk 259740 thru 669339 */
  319. !     182464,    669340,        /* F=blk 669340 thru 851803 */
  320. !     819200,    32604,        /* G=blk 32604 thru 851803 */
  321. !     -1,    851804,        /* H=blk 851804 thru end */
  322.   };
  323.   
  324. + #define M15(a,b,c) ((((((a - '@') & 0x1f) << 10) | \
  325. +                       ((b - '@') & 0x1f) <<  5) | \
  326. +                       ((c - '@') & 0x1f) <<  0))
  327. + /*
  328. +  * Entries are only placed in this table to over-ride the drive size
  329. +  * based selection of partition tables in radisksetup().  For example:
  330. +  * the RA81 is listed here to keep the "old" partition table rather than
  331. +  * assigning 'ra_gen5' (because the RA81 is > 851804 sectors.
  332. + */
  333. +     struct MEDIA
  334. +         {
  335. +         short    id7;
  336. +         short    name15;
  337. +         struct    rasizes *parts;
  338. +         } Mscptbl[] = {
  339. +     { 81, M15('R','A','@'), ra81_sizes },
  340. +     { 60, M15('R','A','@'), ra60_sizes },
  341. +     { 80, M15('R','A','@'), ra80_sizes },
  342. +     { 53, M15('R','A','@'), rd52_sizes },
  343. +     { 52, M15('R','A','@'), rd52_sizes },
  344. +     { 0, 0, 0 }
  345. +     };
  346.   #define    NRSPL2    3        /* log2 number of response packets */
  347.   #define    NCMDL2    3        /* log2 number of command packets */
  348.   #define    NRSP    (1<<NRSPL2)
  349. ***************
  350. *** 238,248 ****
  351.   #define    b_qsize    b_resid        /* queue size per drive, in rqdtab */
  352.   
  353.   /*
  354. !  * Setup root MSCP device (use standard address 0172150).
  355.    */
  356. ! raroot()
  357.   {
  358. !     raattach((radeviceT *)0172150, 0);
  359.   }
  360.   
  361.   /*
  362. --- 291,311 ----
  363.   #define    b_qsize    b_resid        /* queue size per drive, in rqdtab */
  364.   
  365.   /*
  366. !  * Setup root MSCP device (use bootcsr passed from ROMs).  In the event
  367. !  * the system was not booted from a MSCP drive but swapdev is a MSCP drive
  368. !  * we fake the old behaviour of attaching the first (172150) controller.  If
  369. !  * the system was booted from a MSCP drive then this routine has already been
  370. !  * called with the CSR of the booting controller and the attach routine will
  371. !  * ignore further calls to attach controller 0.
  372. !  *
  373. !  * This whole thing is a hack and should go away somehow.
  374.    */
  375. ! raroot(csr)
  376. !     register radeviceT *csr;
  377.   {
  378. !     if (!csr)        /* XXX */
  379. !         csr = (radeviceT *) 0172150;    /* XXX */
  380. !     raattach(csr, 0);
  381.   }
  382.   
  383.   /*
  384. ***************
  385. *** 344,350 ****
  386.               disk->ra_unit = unit;
  387.               disk->ra_dsize = -1L;
  388.           } else {
  389. !             printf("ra%d: out of disk data structures!\n", unit);
  390.               splx(s);
  391.               return(ENXIO);
  392.           }
  393. --- 407,413 ----
  394.               disk->ra_unit = unit;
  395.               disk->ra_dsize = -1L;
  396.           } else {
  397. !             printf("ra%d: no disk structures\n", unit);
  398.               splx(s);
  399.               return(ENXIO);
  400.           }
  401. ***************
  402. *** 541,547 ****
  403.       ++sc->sc_ctab.b_active;
  404.       if (sc->RAADDR->rasa & RA_ERR || sc->sc_state != S_RUN) {
  405.           harderr(bp, "ra");
  406. !         log(LOG_INFO, "rasa %o, state %d\n", sc->RAADDR->rasa,
  407.               sc->sc_state);
  408.           /* Should requeue outstanding requests somehow */
  409.           rainit(sc);
  410. --- 604,610 ----
  411.       ++sc->sc_ctab.b_active;
  412.       if (sc->RAADDR->rasa & RA_ERR || sc->sc_state != S_RUN) {
  413.           harderr(bp, "ra");
  414. !         log(LOG_INFO, "rasa %o state %d\n", sc->RAADDR->rasa,
  415.               sc->sc_state);
  416.           /* Should requeue outstanding requests somehow */
  417.           rainit(sc);
  418. ***************
  419. *** 569,575 ****
  420.           mp->m_bytecnt, mp->m_buf_h, mp->m_buf_l));
  421.       ((Trl *)mp->m_dscptr)->hsh |= RA_OWN|RA_INT;
  422.       if (sc->RAADDR->rasa & RA_ERR)
  423. !         printf("ra: Error %d\n", sc->RAADDR->rasa);
  424.       i = sc->RAADDR->raip;        /* initiate polling */
  425.   
  426.   #ifdef UCB_METER
  427. --- 632,638 ----
  428.           mp->m_bytecnt, mp->m_buf_h, mp->m_buf_l));
  429.       ((Trl *)mp->m_dscptr)->hsh |= RA_OWN|RA_INT;
  430.       if (sc->RAADDR->rasa & RA_ERR)
  431. !         printf("ra: Err %d\n", sc->RAADDR->rasa);
  432.       i = sc->RAADDR->raip;        /* initiate polling */
  433.   
  434.   #ifdef UCB_METER
  435. ***************
  436. *** 691,698 ****
  437.           break;
  438.   
  439.       default:
  440. !         printf("ra: interrupt in unknown state %d ignored\n",
  441. !             sc->sc_state);
  442.           return;
  443.       }
  444.   
  445. --- 754,760 ----
  446.           break;
  447.   
  448.       default:
  449. !         printf("raintr: state %d ignored\n", sc->sc_state);
  450.           return;
  451.       }
  452.   
  453. ***************
  454. *** 700,706 ****
  455.        * If this happens we are in BIG trouble!
  456.        */
  457.       if (sc->RAADDR->rasa & RA_ERR) {
  458. !         printf("ra: fatal error (%o)\n", sc->RAADDR->rasa);
  459.           sc->sc_state = S_IDLE;
  460.           sc->sc_ctab.b_active = 0;
  461.           wakeup((caddr_t)&sc->sc_ctab);
  462. --- 762,768 ----
  463.        * If this happens we are in BIG trouble!
  464.        */
  465.       if (sc->RAADDR->rasa & RA_ERR) {
  466. !         printf("ra: fatal err %o\n", sc->RAADDR->rasa);
  467.           sc->sc_state = S_IDLE;
  468.           sc->sc_ctab.b_active = 0;
  469.           wakeup((caddr_t)&sc->sc_ctab);
  470. ***************
  471. *** 875,881 ****
  472.       switch (mp->m_opcode) {
  473.       case M_O_ONLIN|M_O_END:
  474.           if ((disk = sc->sc_drives[mp->m_unit]) == NULL) {
  475. !             printf("ra: couldn't ONLINE disk!\n");
  476.               break;
  477.           }
  478.           dp = &disk->ra_dtab;
  479. --- 937,943 ----
  480.       switch (mp->m_opcode) {
  481.       case M_O_ONLIN|M_O_END:
  482.           if ((disk = sc->sc_drives[mp->m_unit]) == NULL) {
  483. !             printf("ra: couldn't ONLINE disk\n");
  484.               break;
  485.           }
  486.           dp = &disk->ra_dtab;
  487. ***************
  488. *** 922,931 ****
  489.       case M_O_READ | M_O_END:
  490.       case M_O_WRITE | M_O_END:
  491.           /* normal termination of read/write request */
  492. !         if ((disk = sc->sc_drives[mp->m_unit]) == NULL) {
  493. !             printf("ra: r/w no disk table entry\n");
  494.               break;
  495. -         }
  496.           bp = (struct buf *)mp->m_cmdref;
  497.   
  498.           /*
  499. --- 984,991 ----
  500.       case M_O_READ | M_O_END:
  501.       case M_O_WRITE | M_O_END:
  502.           /* normal termination of read/write request */
  503. !         if ((disk = sc->sc_drives[mp->m_unit]) == NULL)
  504.               break;
  505.           bp = (struct buf *)mp->m_cmdref;
  506.   
  507.           /*
  508. ***************
  509. *** 976,982 ****
  510.           break;
  511.   
  512.       default:
  513. !         log(LOG_INFO,"ra: unknown opcode=0%o\n", mp->m_opcode);
  514.           ra_error((caddr_t)mp);
  515.       }
  516.   }
  517. --- 1036,1042 ----
  518.           break;
  519.   
  520.       default:
  521. !         log(LOG_INFO,"ra: opcode %o\n", mp->m_opcode);
  522.           ra_error((caddr_t)mp);
  523.       }
  524.   }
  525. ***************
  526. *** 988,1038 ****
  527.       register    ra_infoT    *disk;
  528.       register    struct    mscp    *mp;
  529.   {
  530.       /* Get unit total block count */
  531.       disk->ra_dsize = mp->m_uslow + ((long)mp->m_ushigh << 16);
  532. -     PRINTD(("ra%d: online, total size=%D, id=%d, rctsize=%d\n",
  533. -           mp->m_unit, disk->ra_dsize, hiint(mp->m_mediaid) & 0xff,
  534. -           mp->m_rctsize));
  535.   
  536.       /* 
  537. !      * Get disk type and from that partition structure.  Adjust
  538. !      * disk size to reflect revector and maint area.
  539.        */
  540. !     switch (hiint(mp->m_mediaid) & 0xff) {
  541. !         case 25:/* RC25 removable */
  542. !             disk->ra_size = ra25_sizes;
  543. !             break;
  544. !         case 33:/* RX33 Floppy disk */
  545. !         case 50:/* RX50 Floppy disk */
  546. !             disk->ra_size = rd52_sizes;
  547. !             break;
  548. !         case 51:
  549. !         case 52:/* RD Hard disks */
  550. !         case 53:
  551. !             disk->ra_size = rd52_sizes;
  552. !             break;
  553. !         case 54:
  554. !             disk->ra_size = rd54_sizes;
  555. !             break;
  556. !         case 60:
  557. !             disk->ra_size = ra60_sizes;
  558. !             break;
  559. !         case 80:
  560. !             disk->ra_size = ra80_sizes;
  561. !             break;
  562. !         case 81:
  563. !             disk->ra_size = ra81_sizes;
  564. !             break;
  565. !         case 82:
  566. !             disk->ra_size = ra82_sizes;
  567. !             break;
  568. !         default:
  569. !             printf("ra: disk type %d unknown\n",
  570. !                  hiint(mp->m_mediaid) & 0xff);
  571. !     }
  572.   }
  573.   
  574.   /*
  575.    * Process an error log message
  576.    *
  577.    * For now, just log the error on the console.  Only minimal decoding is done,
  578. --- 1048,1129 ----
  579.       register    ra_infoT    *disk;
  580.       register    struct    mscp    *mp;
  581.   {
  582. +     register struct MEDIA *tp;
  583. +     int    nameid, numid, i;
  584. +     daddr_t    blks;
  585. +     nameid = (((loint(mp->m_mediaid) & 0x3f) << 9) | 
  586. +            ((hiint(mp->m_mediaid) >> 7) & 0x1ff));
  587. +     numid = hiint(mp->m_mediaid) & 0x7f;
  588.       /* Get unit total block count */
  589.       disk->ra_dsize = mp->m_uslow + ((long)mp->m_ushigh << 16);
  590.   
  591. +     /* spill the beans about what we have brought online */
  592. +     log(LOG_NOTICE, "ra%d: %c%c%d%c size=%D id: %X\n", mp->m_unit,
  593. +         mx(nameid,2), mx(nameid,1), numid, mx(nameid,0), 
  594. +         disk->ra_dsize, mp->m_mediaid);
  595.       /* 
  596. !      * Look for override in the table, if found use the partition
  597. !      * table specified.  Else use a size based rule for assigning on
  598. !      * of the 5 general purpose tables.
  599.        */
  600. !     for    (blks = disk->ra_dsize, tp = Mscptbl; tp->id7; tp++)
  601. !         {
  602. !         if    (tp->id7 == numid && tp->name15 == nameid)
  603. !             {
  604. !             disk->ra_size = tp->parts;
  605. !             log(LOG_NOTICE, "ra%d: old table\n", mp->m_unit);
  606. !             return;
  607. !             }
  608. !         }
  609. !     if    (blks < 24244L)
  610. !         {
  611. !         i = 3;            /* < ~12mb = type 3 */
  612. !         disk->ra_size = ra_gen3;
  613. !         }
  614. !     else if    (blks < 259740L)
  615. !         {
  616. !         i = 1;            /* < ~112mb = type 1 */
  617. !         disk->ra_size = ra_gen1;
  618. !         }
  619. !     else if    (blks < 669340L)    /* < ~330mb = type 2 */
  620. !         {
  621. !         i = 2;
  622. !         disk->ra_size = ra_gen2;
  623. !         }
  624. !     else if    (blks < 851804L)    /* < ~420mb = type 4 */
  625. !         {
  626. !         i = 4;
  627. !         disk->ra_size = ra_gen4;
  628. !         }
  629. !     else
  630. !         {
  631. !         i = 5;            /* > ~420mb = type 5 */
  632. !         disk->ra_size = ra_gen5;
  633. !         }
  634. !     log(LOG_NOTICE, "ra%d: type %d partitions\n", mp->m_unit, i);
  635.   }
  636.   
  637.   /*
  638. +  * this is a routine rather than a macro to save space - shifting, etc 
  639. +  * generates a lot of code.
  640. + */
  641. + mx(l, i)
  642. +     int l, i;
  643. +     {
  644. +     register int c;
  645. +     c = (l >> (5 * i)) & 0x1f;
  646. +     if    (c == 0)
  647. +         c = ' ' - '@';
  648. +     return(c + '@');
  649. +     }
  650. + /*
  651.    * Process an error log message
  652.    *
  653.    * For now, just log the error on the console.  Only minimal decoding is done,
  654. ***************
  655. *** 1048,1071 ****
  656.   
  657.       switch (mp->me_format) {
  658.       case M_F_CNTERR:
  659. !         printf("controller");
  660.           break;
  661.       case M_F_BUSADDR:
  662. !         printf("host memory access addr 0%o", mp->me_busaddr);
  663.           break;
  664.       case M_F_DISKTRN:
  665. !         printf("disk transfer, unit %d grp 0x%x hdr 0x%x",
  666.               mp->me_unit, mp->me_group, mp->me_hdr);
  667.           break;
  668.       case M_F_SDI:
  669. !         printf("SDI, unit %d hdr 0x%x", mp->me_unit, mp->me_hdr);
  670.           break;
  671.       case M_F_SMLDSK:
  672. !         printf("small disk, unit %d cyl %d",
  673. !              mp->me_unit, mp->me_sdecyl);
  674.           break;
  675.       default:
  676. !         printf("unknown, unit %d format 0%o",mp->me_unit,mp->me_format);
  677.       }
  678.   
  679.       printf(", event 0%o\n", mp->me_event);
  680. --- 1139,1161 ----
  681.   
  682.       switch (mp->me_format) {
  683.       case M_F_CNTERR:
  684. !         printf("ctlr");
  685.           break;
  686.       case M_F_BUSADDR:
  687. !         printf("M_F_BUSADDR %o", mp->me_busaddr);
  688.           break;
  689.       case M_F_DISKTRN:
  690. !         printf("disk xfer, unit %d grp x%x hdr x%x",
  691.               mp->me_unit, mp->me_group, mp->me_hdr);
  692.           break;
  693.       case M_F_SDI:
  694. !         printf("SDI unit %d hdr x%x", mp->me_unit, mp->me_hdr);
  695.           break;
  696.       case M_F_SMLDSK:
  697. !         printf("small disk unit %d cyl %d", mp->me_unit, mp->me_sdecyl);
  698.           break;
  699.       default:
  700. !         printf("?, unit %d format %o",mp->me_unit,mp->me_format);
  701.       }
  702.   
  703.       printf(", event 0%o\n", mp->me_event);
  704. *** /sys/pdpdist/disktab.old    Wed Dec  5 19:25:33 1990
  705. --- /sys/pdpdist/disktab    Sun Jul 12 00:04:08 1992
  706. ***************
  707. *** 31,50 ****
  708.   # Drives on xp
  709.   #
  710.   
  711. - # RM02/03:
  712. - #
  713. - # File system free list parameters (m/n):
  714. - # RM02:
  715. - # CPU    23    24    34    40    44    45    53    55
  716. - # DISK
  717. - # RM02    11/80    10/80    8/80    8/80    6/80    7/80    6/80    7/80
  718. - # RM03    16/80    15/80    12/80    12/80    8/80    11/80    8/80    11/80
  719. - #
  720. - # CPU    60    70    73    83    84
  721. - # DISK
  722. - # RM02    7/80    5/80    6/80    6/80    5/80
  723. - # RM03    11/80    7/80    9/80    9/80    7/80
  724. - #
  725.   rm02|RM02|rm03|RM03|DEC RM02/03:\
  726.       :ty=removable:ns#32:nt#5:nc#823:sf:\
  727.       :b0=/mdec/rm03uboot:\
  728. --- 31,36 ----
  729. ***************
  730. *** 57,72 ****
  731.       :ph#131522:bh#1024:fh#1024:
  732.   
  733.   # RM05:
  734. - #
  735. - # File system free list parameters (m/n):
  736. - # CPU    23    24    34    40    44    45    53    55
  737. - # DISK
  738. - # RM05    16/304    15/304    12/304    12/304    8/304    11/304    8/304    11/304
  739. - #
  740. - # CPU    60    70    73    83    84
  741. - # DISK
  742. - # RM05    11/304    7/304    8/304    8/304    7/304
  743. - #
  744.   rm05|RM05|cdc9766|CDC9766|9766|DEC RM05, CDC 9766:\
  745.       :ty=removable:ns#32:nt#19:nc#823:sf:\
  746.       :b0=/mdec/rm05uboot:\
  747. --- 43,48 ----
  748. ***************
  749. *** 78,83 ****
  750. --- 54,60 ----
  751.       :pf#152000:bf#1024:ff#1024:\
  752.       :pg#165826:bg#1024:fg#1024:\
  753.       :ph#500226:bh#1024:fh#1024:
  754.   9775|CDC 9775:\
  755.       :ty=winchester:ns#32:nt#40:nc#842:sf:\
  756.       :pa#10240:ba#1024:fa#1024:\
  757. ***************
  758. *** 90,107 ****
  759.       :ph#1072640:bh#1024:fh#1024:
  760.   
  761.   # EATON BR1537 or 1711 controller.  The CSR set looks like an RP03,
  762. ! # that's about all.  m/n are probably wrong for anything except
  763. ! # 44, 70 and 84.
  764.   #
  765. - # File system free list parameters (m/n):
  766. - # CPU    23    24    34    40    44    45    53    55
  767. - # DISK
  768. - # BR    16/304    15/304    12/304    12/304    7/304    11/304    8/304    11/304
  769. - #
  770. - # CPU    60    70    73    83    84
  771. - # DISK
  772. - # BR    11/304    5/304    7/304    7/304    6/304
  773. - #
  774.   br1538d|BR1538D|EATON 1538D, 1711:\
  775.       :ty=removable:ns#32:nt#19:nc#815:so:\
  776.       :b0=/mdec/bruboot:\
  777. --- 67,74 ----
  778.       :ph#1072640:bh#1024:fh#1024:
  779.   
  780.   # EATON BR1537 or 1711 controller.  The CSR set looks like an RP03,
  781. ! # that's about all.
  782.   #
  783.   br1538d|BR1538D|EATON 1538D, 1711:\
  784.       :ty=removable:ns#32:nt#19:nc#815:so:\
  785.       :b0=/mdec/bruboot:\
  786. ***************
  787. *** 111,127 ****
  788.       :pd#232256:bd#4096:fd#1024:\
  789.       :ph#495520:bh#1024:fh#1024:
  790.   
  791. - # RP04/05/06:
  792. - #
  793. - # File system free list parameters (m/n):
  794. - # CPU        23    24    34    40    44    45    53    55
  795. - # DISK
  796. - # RP04/05/06    11/209    10/209    8/209    8/209    6/209    7/209    6/209    7/209
  797. - #
  798. - # CPU        60    70    73    83    84
  799. - # DISK
  800. - # RP04/05/06    7/209    5/209    6/209    6/209    5/209
  801. - #
  802.   rp04|RP04|rp05|RP05|DEC RP04/05:\
  803.       :ty=removable:ns#22:nt#19:nc#411:sf:\
  804.       :b0=/mdec/hpuboot:\
  805. --- 78,83 ----
  806. ***************
  807. *** 129,134 ****
  808. --- 85,91 ----
  809.       :pb#8778:bb#1024:fb#1024:\
  810.       :pc#153258:bc#1024:fc#1024:\
  811.       :pg#171650:bg#1024:fg#1024:
  812.   rp06|RP06|DEC RP06:\
  813.       :ty=removable:ns#22:nt#19:nc#815:sf:\
  814.       :b0=/mdec/hpuboot:\
  815. ***************
  816. *** 139,155 ****
  817.       :pe#322130:be#1024:fe#1024:\
  818.       :pg#171798:bg#1024:fg#1024:\
  819.       :ph#340522:bh#1024:fh#1024:
  820. ! 160|fuji|fuji160|Fujitsu 160:\
  821.       :ty=winchester:ns#32:nt#10:nc#823:sf:\
  822.       :b0=/mdec/si94uboot:\
  823.       :pa#9600:ba#1024:fa#1024:\
  824.       :pb#9600:bb#1024:fb#1024:\
  825.       :pc#244002:bc#1024:fc#1024:\
  826. !     :pd#125440:bd#1024:fd#1024:\
  827. !     :pe#118562:be#1024:fe#1024:\
  828. !     :pf#59520:bf#1024:ff#1024:\
  829. !     :pg#59042:bg#1024:fg#1024:\
  830.       :ph#263202:bh#1024:fh#1024:
  831.   diva|DIVA|9300|Diva Comp V, Ampex 9300 (in direct mode):\
  832.       :ty=winchester:ns#33:nt#19:nc#815:sf:\
  833.       :b0=/mdec/dvhpuboot:\
  834. --- 96,114 ----
  835.       :pe#322130:be#1024:fe#1024:\
  836.       :pg#171798:bg#1024:fg#1024:\
  837.       :ph#340522:bh#1024:fh#1024:
  838. ! rm2x|160|fuji|fuji160|Fujitsu 160:\
  839.       :ty=winchester:ns#32:nt#10:nc#823:sf:\
  840.       :b0=/mdec/si94uboot:\
  841.       :pa#9600:ba#1024:fa#1024:\
  842.       :pb#9600:bb#1024:fb#1024:\
  843.       :pc#244002:bc#1024:fc#1024:\
  844. !     :pd#164800:bd#1024:fd#1024:\
  845. !     :pe#79360:be#1024:fe#1024:\
  846. !     :pf#39680:bf#1024:ff#1024:\
  847. !     :pg#39680:bg#1024:fg#1024:\
  848.       :ph#263202:bh#1024:fh#1024:
  849.   diva|DIVA|9300|Diva Comp V, Ampex 9300 (in direct mode):\
  850.       :ty=winchester:ns#33:nt#19:nc#815:sf:\
  851.       :b0=/mdec/dvhpuboot:\
  852. ***************
  853. *** 161,166 ****
  854. --- 120,126 ----
  855.       :pf#156750:bf#1024:ff#1024:\
  856.       :pg#165996:bg#1024:fg#1024:\
  857.       :ph#510846:bh#1024:fh#1024:
  858.   330|capricorn|Capricorn|Ampex Capricorn:\
  859.       :ty=winchester:ns#32:nt#16:nc#1024:sf:\
  860.       :pa#16384:ba#1024:fa#1024:\
  861. ***************
  862. *** 171,176 ****
  863. --- 131,137 ----
  864.       :pf#107008:bf#1024:ff#1024:\
  865.       :pg#179712:bg#1024:fg#1024:\
  866.       :ph#521728:bh#1024:fh#1024:
  867.   si_eagle|SI_Eagle|2351|2351A|Fujitsu Eagle 2351A (48 sectors):\
  868.       :ty=winchester:ns#48:nt#20:nc#842:rm#3961:sf:\
  869.       :b0=/mdec/si51uboot:\
  870. ***************
  871. *** 179,184 ****
  872. --- 140,146 ----
  873.       :pc#474240:bc#1024:fc#1024:\
  874.       :pd#214080:bd#1024:fd#1024:\
  875.       :ph#803520:bh#1024:fh#1024:
  876.   si9766|si9766|CDC 9766 on SI 9500 controller:\
  877.       :ty=removable:ns#32:nt#19:nc#823:sf:\
  878.       :b0=/mdec/si95uboot:\
  879. ***************
  880. *** 191,210 ****
  881.       :pg#162786:bg#1024:fg#1024:\
  882.       :ph#497344:bh#1024:fh#1024:
  883.   
  884. - #
  885. - # Disks for rk
  886. - #
  887. - # RK06/07:
  888. - #
  889. - # File system free list parameters (m/n):
  890. - # CPU        23    24    34    40    44    45    53    55
  891. - # DISK
  892. - # RK06/07    8/33    7/33    6/33    6/33    4/33    5/33    4/33    5/33
  893. - #
  894. - # CPU        60    70    73    83    84
  895. - # DISK
  896. - # RK06/07    5/33    3/33    4/33    4/33    3/33
  897. - #
  898.   rk06|RK06|DEC RK06:\
  899.       :ty=removable:ns#22:nt#3:nc#411:sf:\
  900.       :b0=/mdec/hkuboot:\
  901. --- 153,158 ----
  902. ***************
  903. *** 223,265 ****
  904.       :pe#8316:be#1024:fe#1024:\
  905.       :pg#26978:bg#1024:fg#1024:\
  906.       :ph#53642:bh#1024:fh#1024:
  907. ! #
  908. ! # Disks for rl
  909. ! #
  910. ! # RL01/02:
  911. ! #
  912. ! # File system free list parameters (m/n):
  913. ! # CPU        23    24    34    40    44    45    53    55
  914. ! # DISK
  915. ! # RL01/2    7/10    6/10    6/10    6/10    4/10    5/10    4/10    5/10
  916. ! #
  917. ! # CPU        60    70    73    83    84
  918. ! # DISK
  919. ! # RL01/2    5/10    3/10    4/10    4/10    3/10
  920. ! #
  921.   rl01|RL01|DEC RL01:\
  922.       :ty=removable:se#256:ns#40:nt#2:nc#256:\
  923.       :b0=/mdec/rluboot:\
  924.       :ph#20480:bh#1024:fh#1024:
  925.   rl02|RL02|DEC RL02:\
  926.       :ty=removable:se#256:ns#40:nt#2:nc#512:\
  927.       :b0=/mdec/rluboot:\
  928.       :ph#40960:bh#1024:fh#1024:
  929.   
  930. - #
  931. - # Disks for rk
  932. - #
  933. - # RK05:
  934. - #
  935. - # File system free list parameters (m/n):
  936. - # CPU    23    24    34    40    44    45    53    55
  937. - # DISK
  938. - # RK05    4/12    4/12    3/12    3/12    2/12    3/12    2/12    3/12
  939. - #
  940. - # CPU    60    70    73    83    84
  941. - # DISK
  942. - # RK05    3/12    2/12    2/12    2/12    2/12
  943. - #
  944.   rk05|RK05|DEC RK05:\
  945.       :ty=removable:ns#12:nt#2:nc#203:bt=rkuboot:\
  946.       :b0=/mdec/rkuboot:\
  947. --- 171,187 ----
  948.       :pe#8316:be#1024:fe#1024:\
  949.       :pg#26978:bg#1024:fg#1024:\
  950.       :ph#53642:bh#1024:fh#1024:
  951.   rl01|RL01|DEC RL01:\
  952.       :ty=removable:se#256:ns#40:nt#2:nc#256:\
  953.       :b0=/mdec/rluboot:\
  954.       :ph#20480:bh#1024:fh#1024:
  955.   rl02|RL02|DEC RL02:\
  956.       :ty=removable:se#256:ns#40:nt#2:nc#512:\
  957.       :b0=/mdec/rluboot:\
  958.       :ph#40960:bh#1024:fh#1024:
  959.   
  960.   rk05|RK05|DEC RK05:\
  961.       :ty=removable:ns#12:nt#2:nc#203:bt=rkuboot:\
  962.       :b0=/mdec/rkuboot:\
  963. ***************
  964. *** 268,286 ****
  965.   #
  966.   # Disks on a UDA50
  967.   #
  968. ! # RA60:
  969.   #
  970. ! # File system free list parameters (m/n):
  971. ! # CPU    23    24    34    40    44    45    53    55
  972. ! # DISK
  973. ! # RA60    21/84    21/84    17/84    17/84    12/84    15/84    12/84    15/84
  974.   #
  975. ! # CPU    60    70    73    83    84
  976. ! # DISK
  977. ! # RA60    15/84    10/84    12/84    12/84    10/84
  978. ! #
  979. ! ra60|RA60|DEC RA60 Removable:\
  980.       :ty=removable:ns#42:nt#4:nc#2382:so:\
  981.       :b0=/mdec/rauboot:\
  982.       :pa#15884:ba#1024:fa#1024:\
  983. --- 190,211 ----
  984.   #
  985.   # Disks on a UDA50
  986.   #
  987. ! # 7/11/92 - A new and more uniform partitioning scheme is present in the
  988. ! # MSCP driver.  For compatibility reasons the RA60, RA80, RA81, RD52 and
  989. ! # RD53 old style partitions were kept.  RC25 and RD51 drives use the new
  990. ! # method.  In the "complete" (as of this date at least) list added below
  991. ! # the RA60,80,81,82,RD52,53 entries are commented out.  If the new partition
  992. ! # setup is desired the ra.c driver has a table with entries for the old style
  993. ! # partition layout, simply delete the line with the drive type and edit this
  994. ! # file to delete the old entry and uncomment the new one, then reinstall this
  995. ! # file in /etc.  NOTE:  the RD54 partition sizes are the _same_ - all that is
  996. ! # needed is to use the 'g' partition rather than the 'c' partition.
  997.   #
  998. ! # All NEW partition tables use 'c' as the whole drive now, more in keeping
  999. ! # with the 4BSD style.
  1000.   #
  1001. ! ra60|RA60|DEC RA60 Removable|OLD STYLE PARTITIONS:\
  1002.       :ty=removable:ns#42:nt#4:nc#2382:so:\
  1003.       :b0=/mdec/rauboot:\
  1004.       :pa#15884:ba#1024:fa#1024:\
  1005. ***************
  1006. *** 291,308 ****
  1007.       :pg#156570:bg#1024:fg#1024:\
  1008.       :ph#399176:bh#1024:fh#1024:
  1009.   
  1010. ! # RA80:
  1011. ! #
  1012. ! # File system free list parameters (m/n):
  1013. ! # CPU    23    24    34    40    44    45    53    55
  1014. ! # DISK
  1015. ! # RA80    16/217    16/217    13/217    13/217    9/217    11/217    9/217    11/217
  1016. ! #
  1017. ! # CPU    60    70    73    83    84
  1018. ! # DISK
  1019. ! # RA80    11/217    7/217    9/217    9/217    7/217
  1020. ! #
  1021. ! ra80|RA80|DEC RA80 Winchester:\
  1022.       :ty=winchester:ns#31:nt#14:nc#559:so:\
  1023.       :b0=/mdec/rauboot:\
  1024.       :pa#15884:ba#1024:fa#1024:\
  1025. --- 216,222 ----
  1026.       :pg#156570:bg#1024:fg#1024:\
  1027.       :ph#399176:bh#1024:fh#1024:
  1028.   
  1029. ! ra80|RA80|DEC RA80 Winchester|OLD STYLE PARTITIONS:\
  1030.       :ty=winchester:ns#31:nt#14:nc#559:so:\
  1031.       :b0=/mdec/rauboot:\
  1032.       :pa#15884:ba#1024:fa#1024:\
  1033. ***************
  1034. *** 310,327 ****
  1035.       :pc#186888:bc#1024:fc#1024:\
  1036.       :ph#236212:bh#1024:fh#1024:
  1037.   
  1038. ! # RA81:
  1039. ! #
  1040. ! # File system free list parameters (m/n):
  1041. ! # CPU    23    24    34    40    44    45    53    55
  1042. ! # DISK
  1043. ! # RA81    26/357    26/357    21/357    21/357    14/357    18/357    14/357    17/357
  1044. ! #
  1045. ! # CPU    60    70    73    83    84
  1046. ! # DISK
  1047. ! # RA81    18/357    12/357    14/357    14/357    12/357
  1048. ! #
  1049. ! ra81|RA81|DEC RA81 Winchester:\
  1050.       :ty=winchester:ns#51:nt#14:nc#1248:so:\
  1051.       :b0=/mdec/rauboot:\
  1052.       :pa#15884:ba#1024:fa#1024:\
  1053. --- 224,230 ----
  1054.       :pc#186888:bc#1024:fc#1024:\
  1055.       :ph#236212:bh#1024:fh#1024:
  1056.   
  1057. ! ra81|RA81|DEC RA81 Winchester|OLD STYLE PARTITIONS:\
  1058.       :ty=winchester:ns#51:nt#14:nc#1248:so:\
  1059.       :b0=/mdec/rauboot:\
  1060.       :pa#15884:ba#1024:fa#1024:\
  1061. ***************
  1062. *** 332,426 ****
  1063.       :pf#324382:bf#1024:ff#1024:\
  1064.       :pg#647466:bg#1024:fg#1024:\
  1065.       :ph#890072:bh#1024:fh#1024:
  1066. ! ra82|RA82|DEC RA82 Winchester:\
  1067. !     :ty=winchester:ns#58:nt#15:nc#1435:so:\
  1068. !     :pa#15884:ba#1024:fa#1024:\
  1069. !     :pb#16720:bb#1024:fb#1024:\
  1070. !     :pc#303710:bc#1024:fc#1024:\
  1071. !     :pd#303710:bd#1024:fd#1024:\
  1072. !     :pe#303710:be#1024:fe#1024:\
  1073. !     :pf#303710:bf#1024:ff#1024:\
  1074. !     :ph#1247450:bh#1024:fh#1024:
  1075. ! #
  1076. ! # Disks on KLESI
  1077. ! #
  1078. ! # RC25:
  1079. ! #
  1080. ! # File system free list parameters (m/n):
  1081. ! # CPU    23    24    34    40    44    45    53    55
  1082. ! # DISK
  1083. ! # RC25    15/31    15/31    13/31    13/31    9/31    11/31    9/31    11/31
  1084. ! #
  1085. ! # CPU    60    70    73    83    84
  1086. ! # DISK
  1087. ! # RC25    11/31    7/31    9/31    9/31    7/31
  1088. ! #
  1089. ! rc25|RC25:\
  1090. !     :ty=winchester:ns#42:nt#4:nc#302:so:bt=rauboot:\
  1091.       :b0=/mdec/rauboot:\
  1092.       :pa#15884:ba#1024:fa#1024:\
  1093. !     :pb#10032:bb#1024:fb#1024:\
  1094. !     :pc#24884:bc#1024:fc#1024:\
  1095. !     :ph#50800:bh#1024:fh#1024:
  1096. ! #
  1097. ! #  Disks on RQDX Q-bus controllers
  1098. ! #
  1099. ! # RX50:
  1100. ! #
  1101. ! # File system free list parameters (m/n):
  1102. ! # CPU    23    24    34    40    44    45    53    55
  1103. ! # DISK
  1104. ! # RX50    1/5    1/5    1/5    1/5    1/5    1/5    1/5    1/5
  1105. ! #
  1106. ! # CPU    60    70    73    83    84
  1107. ! # DISK
  1108. ! # RX50    1/5    1/5    1/5    1/5    1/5
  1109. ! #
  1110. ! rx50|RX50|DEC RX50 floppy disk unit:\
  1111. !     :ty=removable:ns#10:nt#1:nc#80:\
  1112. !     :b0=/mdec/rauboot:\
  1113. !     :ph#1638:bh#1024:fh#1024:
  1114.   
  1115. ! #
  1116. ! # RD51:
  1117. ! #
  1118. ! # File system free list parameters (m/n):
  1119. ! # CPU    23    24    34    40    44    45    53    55
  1120. ! # DISK
  1121. ! # RD51    1/36    1/36    1/36    1/36    1/36    1/36    1/36    1/36
  1122. ! #
  1123. ! # CPU    60    70    73    83    84
  1124. ! # DISK
  1125. ! # RD51    1/36    1/36    1/36    1/36    1/36
  1126. ! #
  1127. ! rd51|RD51|DEC RD51:\
  1128. !     :ty=winchester:ns#18:nt#4:nc#300:so:\
  1129. !     :b0=/mdec/rauboot:\
  1130. !     :pa#9700:ba#1024:fa#1024:\
  1131. !     :pe#7460:be#1024:fe#1024:\
  1132. !     :pf#2240:bf#1024:ff#1024:\
  1133. !     :pg#11868:bg#1024:fg#1024:\
  1134. !     :ph#21568:bh#1024:fh#1024:
  1135. ! #
  1136. ! # RD52 and RD53:
  1137. ! #
  1138. ! # Note that interleaving factors are determined by controller (RQDX2 or
  1139. ! # RQDX3) rather than disk type.  The names in the entries below are
  1140. ! # combined with the controller so that newfs(8) can use the right
  1141. ! # partition sizes and also look up the correct m/n numbers internally.
  1142. ! #
  1143. ! # File system free list parameters (m/n):
  1144. ! # CPU        23    24    34    40    44    45    53    55
  1145. ! # DISK
  1146. ! # RQDX2*    2/36    2/36    2/36    2/36    2/36    2/36    2/36    2/36
  1147. ! # RQDX3*    7/36    7/36    7/36    7/36    7/36    7/36    7/36    7/36
  1148. ! #
  1149. ! # CPU        60    70    73    83    84
  1150. ! # DISK
  1151. ! # RQDX2*    2/36    2/36    2/36    2/36    2/36
  1152. ! # RQDX3*    7/36    7/36    7/36    7/36    7/36
  1153. ! #
  1154. ! rd52-rqdx2|RD52-RQDX2|rd52-rqdx3|RD52-RQDX3|DEC RD52:\
  1155.       :ty=winchester:ns#18:nt#7:nc#480:so:\
  1156.       :b0=/mdec/rauboot:\
  1157.       :pa#9700:ba#1024:fa#1024:\
  1158. --- 235,254 ----
  1159.       :pf#324382:bf#1024:ff#1024:\
  1160.       :pg#647466:bg#1024:fg#1024:\
  1161.       :ph#890072:bh#1024:fh#1024:
  1162. ! ra81x|RA81X|Extended DEC RA81 Winchester|OLD STYLE PARTITIONS:\
  1163. !     :ty=winchester:ns#51:nt#14:nc#1815:so:\
  1164.       :b0=/mdec/rauboot:\
  1165.       :pa#15884:ba#1024:fa#1024:\
  1166. !     :pb#33440:bb#1024:fb#1024:\
  1167. !     :pc#193282:bc#1024:fc#1024:\
  1168. !     :pd#15884:bd#1024:fd#1024:\
  1169. !     :pe#307200:be#1024:fe#1024:\
  1170. !     :pf#728952:bf#1024:ff#1024:\
  1171. !     :pg#1052036:bg#1024:fg#1024:\
  1172. !     :ph#1294642:bh#1024:fh#1024:
  1173.   
  1174. ! rd52|RD52|DEC RD52|OLD STYLE PARTITIONS:\
  1175.       :ty=winchester:ns#18:nt#7:nc#480:so:\
  1176.       :b0=/mdec/rauboot:\
  1177.       :pa#9700:ba#1024:fa#1024:\
  1178. ***************
  1179. *** 431,437 ****
  1180.       :pf#2240:bf#1024:ff#1024:\
  1181.       :pg#50748:bg#1024:fg#1024:\
  1182.       :ph#60448:bh#1024:fh#1024:
  1183. ! rd53-rqdx2|RD53-RQDX2|rd53-rqdx3|RD53-RQDX3|DEC RD53:\
  1184.       :ty=winchester:ns#18:nt#8:nc#963:so:\
  1185.       :b0=/mdec/rauboot:\
  1186.       :pa#9700:ba#1024:fa#1024:\
  1187. --- 259,266 ----
  1188.       :pf#2240:bf#1024:ff#1024:\
  1189.       :pg#50748:bg#1024:fg#1024:\
  1190.       :ph#60448:bh#1024:fh#1024:
  1191. ! rd53|RD53||DEC RD53|OLD STYLE PARTITIONS:\
  1192.       :ty=winchester:ns#18:nt#8:nc#963:so:\
  1193.       :b0=/mdec/rauboot:\
  1194.       :pa#9700:ba#1024:fa#1024:\
  1195. ***************
  1196. *** 442,466 ****
  1197.       :pf#2240:bf#1024:ff#1024:\
  1198.       :pg#128940:bg#1024:fg#1024:\
  1199.       :ph#138640:bh#1024:fh#1024:
  1200. ! rd54-rqdx3|RD54-RQDX3|DEC RD54:\
  1201. !     :ty=winchester:ns#17:nt#15:nc#1226:so:\
  1202.       :b0=/mdec/rauboot:\
  1203.       :pa#15884:ba#1024:fa#1024:\
  1204.       :pb#16720:bb#1024:fb#1024:\
  1205. !     :pc#278564:bc#1024:fc#1024:\
  1206. !     :ph#311168:bh#1024:fh#1024:
  1207. ! #
  1208. ! # RX02 floppy disk drives
  1209. ! #
  1210. ! # File system free list parameters (m/n):
  1211. ! # CPU    23    24    34    40    44    45    53    55
  1212. ! # DISK
  1213. ! # RX02    1/7    1/7    1/7    1/7    1/7    1/7    1/7    1/7
  1214. ! #
  1215. ! # CPU    60    70    73    83    84
  1216. ! # DISK
  1217. ! # RX02    1/7    1/7    1/7    1/7    1/7
  1218. ! #
  1219.   rx02|RX02|DEC RX02:\
  1220.       :ty=removable:se#128/256:ns#26:nt#1:nc#77:\
  1221.       :pa#250:ba#1024:fa#1024:\
  1222. --- 271,588 ----
  1223.       :pf#2240:bf#1024:ff#1024:\
  1224.       :pg#128940:bg#1024:fg#1024:\
  1225.       :ph#138640:bh#1024:fh#1024:
  1226. ! rc25|RC25|rcf25|RCF25|DEC RC25 and RC25F:\
  1227. !     :ty=removable:ns#42:nt#4:nc#2382:so:\
  1228.       :b0=/mdec/rauboot:\
  1229.       :pa#15884:ba#1024:fa#1024:\
  1230. +     :pb#8360:bb#1024:fb#1024:\
  1231. +     :pc#50902:bc#1024:fc#1024:\
  1232. +     :pg#26658:bg#1024:fg#1024:
  1233. + rd31|RD31|DEC RD31:\
  1234. +     :ty=winchester:ns#17:nt#4:nc#615:so:\
  1235. +     :b0=/mdec/rauboot:\
  1236. +     :pa#15884:ba#1024:fa#1024:\
  1237. +     :pb#8360:bb#1024:fb#1024:\
  1238. +     :pc#41560:bc#1024:fc#1024:\
  1239. +     :pg#17316:bg#1024:fg#1024:
  1240. + rd32|RD32|DEC RD32:\
  1241. +     :ty=winchester:ns#17:nt#6:nc#820:so:\
  1242. +     :b0=/mdec/rauboot:\
  1243. +     :pa#15884:ba#1024:fa#1024:\
  1244. +     :pb#8360:bb#1024:fb#1024:\
  1245. +     :pc#83236:bc#1024:fc#1024:\
  1246. +     :pg#58992:bg#1024:fg#1024:
  1247. + rd33|RD33|DEC RD33:\
  1248. +     :ty=winchester:ns#17:nt#7:nc#1170:so:\
  1249. +     :b0=/mdec/rauboot:\
  1250. +     :pa#15884:ba#1024:fa#1024:\
  1251. +     :pb#8360:bb#1024:fb#1024:\
  1252. +     :pc#138565:bc#1024:fc#1024:\
  1253. +     :pg#114321:bg#1024:fg#1024:
  1254. + rd51|RD51|DEC RD51:\
  1255. +     :ty=winchester:ns#18:nt#4:nc#300:so:\
  1256. +     :b0=/mdec/rauboot:\
  1257. +     :pa#15884:ba#1024:fa#1024:\
  1258. +     :pb#5716:bb#1024:fb#1024:\
  1259. +     :pc#21600:bc#1024:fc#1024:
  1260. + # rd52|RD52|DEC RD52|NEW STYLE PARTITIONS:\
  1261. + #     :ty=winchester:ns#18:nt#7:nc#480:so:\
  1262. + #     :b0=/mdec/rauboot:\
  1263. + #     :pa#15884:ba#1024:fa#1024:\
  1264. + #     :pb#8360:bb#1024:fb#1024:\
  1265. + #     :pc#60480:bc#1024:fc#1024:\
  1266. + #     :pg#36236:bg#1024:fg#1024:
  1267. + # rd53|RD53|DEC RD53|NEW STYLE PARTITIONS:\
  1268. + #     :ty=winchester:ns#17:nt#8:nc#1024:so:\
  1269. + #     :b0=/mdec/rauboot:\
  1270. + #     :pa#15884:ba#1024:fa#1024:\
  1271. + #     :pb#8360:bb#1024:fb#1024:\
  1272. + #     :pc#138672:bc#1024:fc#1024:\
  1273. + #     :pg#114428:bg#1024:fg#1024:\
  1274. + rd54|RD54|DEC RD54:\
  1275. +     :ty=winchester:ns#17:nt#15:nc#1221:so:\
  1276. +     :b0=/mdec/rauboot:\
  1277. +     :pa#15884:ba#1024:fa#1024:\
  1278.       :pb#16720:bb#1024:fb#1024:\
  1279. !     :pc#311200:bc#1024:fc#1024:\
  1280. !     :pg#278596:bg#1024:fg#1024:
  1281. ! rx23|RX23|DEC RX23:\
  1282. !     :ty=removable:ns#18:nt#2:nc#80:\
  1283. !     :b0=/mdec/rauboot:\
  1284. !     :pa#2880:ba#1024:fa#512:\
  1285. !     :pc#2880:bc#1024:fc#512:
  1286. ! rx26|RX26|DEC RX26:\
  1287. !     :ty=removable:ns#36:nt#2:nc#80:\
  1288. !     :b0=/mdec/rauboot:\
  1289. !     :pa#5760:ba#1024:fa#512:\
  1290. !     :pc#5760:bc#1024:fc#512:
  1291. ! rx33|RX33|DEC RX33:\
  1292. !     :ty=removable:ns#15:nt#2:nc#80:\
  1293. !     :b0=/mdec/rauboot:\
  1294. !     :pa#2400:ba#1024:fa#512:\
  1295. !     :pc#2400:bc#1024:fc#512:
  1296. ! rx50|RX50|DEC RX50:\
  1297. !     :ty=removable:ns#10:nt#1:nc#80:\
  1298. !     :b0=/mdec/rauboot:\
  1299. !     :pa#800:ba#1024:fa#512:\
  1300. !     :pc#800:bc#1024:fc#512:
  1301. ! # ra60|RA60|DEC RA60|NEW STYLE PARTITIONS:\
  1302. ! #     :ty=removable:ns#42:nt#4:nc#2382:so:\
  1303. ! #     :b0=/mdec/rauboot:\
  1304. ! #     :pa#15884:ba#1024:fa#1024:\
  1305. ! #     :pb#16720:bb#1024:fb#1024:\
  1306. ! #     :pc#400176:bc#1024:fc#1024:\
  1307. ! #     :pd#245048:bd#1024:fd#1024:\
  1308. ! #     :pe#122524:be#1024:fe#1024:\
  1309. ! #     :pg#367572:bg#1024:fg#1024:\
  1310. ! ra70|RA70|DEC RA70:\
  1311. !         :ty=winchester:ns#33:nt#11:nc#1507:so:\
  1312. !     :b0=/mdec/rauboot:\
  1313. !         :pa#15884:ba#1024:fa#1024:\
  1314. !         :pb#16720:bb#1024:fb#1024:\
  1315. !         :pc#547041:bc#1024:fc#1024:\
  1316. !         :pd#227136:bd#1024:fd#1024:\
  1317. !         :pe#287301:be#1024:fe#1024:\
  1318. !         :pg#514437:bg#1024:fg#1024:
  1319. ! ra71|RA71|DEC RA71:\
  1320. !         :ty=winchester:ns#51:nt#14:nc#1915:so:\
  1321. !     :b0=/mdec/rauboot:\
  1322. !         :pa#15884:ba#1024:fa#1024:\
  1323. !         :pb#16720:bb#1024:fb#1024:\
  1324. !         :pc#1367310:bc#1024:fc#1024:\
  1325. !         :pd#227136:bd#1024:fd#1024:\
  1326. !         :pe#409600:be#1024:fe#1024:\
  1327. !         :pf#182464:bf#1024:ff#1024:\
  1328. !         :pg#819200:bg#1024:fg#1024:\
  1329. !         :ph#515506:bh#1024:fh#1024:
  1330. ! ra72|RA72|DEC RA72:\
  1331. !         :ty=winchester:ns#51:nt#20:nc#1915:so:\
  1332. !         :pa#15884:ba#1024:fa#1024:\
  1333. !     :b0=/mdec/rauboot:\
  1334. !         :pb#16720:bb#1024:fb#1024:\
  1335. !         :pc#1953300:bc#1024:fc#1024:\
  1336. !         :pd#227136:bd#1024:fd#1024:\
  1337. !         :pe#409600:be#1024:fe#1024:\
  1338. !         :pf#182464:bf#1024:ff#1024:\
  1339. !         :pg#819200:bg#1024:fg#1024:\
  1340. !         :ph#1101496:bh#1024:fh#1024:
  1341. ! ra73|RA73|DEC RA73:\
  1342. !         :ty=winchester:ns#70:nt#21:nc#2667:so:\
  1343. !     :b0=/mdec/rauboot:\
  1344. !         :pa#15884:ba#1024:fa#1024:\
  1345. !         :pb#16720:bb#1024:fb#1024:\
  1346. !         :pc#3920490:bc#1024:fc#1024:\
  1347. !         :pd#227136:bd#1024:fd#1024:\
  1348. !         :pe#409600:be#1024:fe#1024:\
  1349. !         :pf#182464:bf#1024:ff#1024:\
  1350. !         :pg#819200:bg#1024:fg#1024:\
  1351. !         :ph#3068686:bh#1024:fh#1024:
  1352. ! # ra80|RA80|DEC RA80|NEW STYLE PARTITIONS:\
  1353. ! #     :ty=winchester:ns#31:nt#14:nc#546:so:\
  1354. ! #     :b0=/mdec/rauboot:\
  1355. ! #     :pa#15884:ba#1024:fa#1024:\
  1356. ! #     :pb#16720:bb#1024:fb#1024:\
  1357. ! #     :pc#237212:bc#1024:fc#1024:\
  1358. ! #     :pg#204608:bg#1024:fg#1024:
  1359. ! # ra81|RA81|DEC RA81|NEW STYLE PARTITIONS:\
  1360. ! #     :ty=winchester:ns#51:nt#14:nc#1248:so:\
  1361. ! #     :b0=/mdec/rauboot:\
  1362. ! #     :pa#15884:ba#1024:fa#1024:\
  1363. ! #     :pb#16720:bb#1024:fb#1024:\
  1364. ! #     :pc#891072:bc#1024:fc#1024:\
  1365. ! #     :pd#227136:bd#1024:fd#1024:\
  1366. ! #     :pe#409600:be#1024:fe#1024:\
  1367. ! #     :pf#182464:bf#1024:ff#1024:\
  1368. ! #     :pg#819200:bg#1024:fg#1024:\
  1369. ! #     :ph#39268:bh#1024:fh#1024:
  1370. ! ra82|RA82|DEC RA82:\
  1371. !     :ty=winchester:ns#57:nt#15:nc#1423:so:\
  1372. !     :b0=/mdec/rauboot:\
  1373. !     :pa#15884:ba#1024:fa#1024:\
  1374. !     :pb#16720:bb#1024:fb#1024:\
  1375. !     :pc#1216665:bc#1024:fc#1024:\
  1376. !     :pd#227136:bd#1024:fd#1024:\
  1377. !     :pe#409600:be#1024:fe#1024:\
  1378. !     :pf#182464:bf#1024:ff#1024:\
  1379. !     :pg#819200:bg#1024:fg#1024:\
  1380. !     :ph#364861:bh#1024:fh#1024:
  1381. ! ra90|RA90|DEC RA90:\
  1382. !     :ty=winchester:ns#69:nt#13:nc#2649:so:\
  1383. !     :b0=/mdec/rauboot:\
  1384. !     :pa#15884:ba#1024:fa#1024:\
  1385. !     :pb#16720:bb#1024:fb#1024:\
  1386. !     :pc#2376153:bc#1024:fc#1024:\
  1387. !     :pd#227136:bd#1024:fd#1024:\
  1388. !     :pe#409600:be#1024:fe#1024:\
  1389. !     :pf#182464:bf#1024:ff#1024:\
  1390. !     :pg#819200:bg#1024:fg#1024:\
  1391. !     :ph#1524349:bh#1024:fh#1024:
  1392. ! ra92|RA92|DEC RA92:\
  1393. !     :ty=winchester:ns#69:nt#13:nc#3279:so:\
  1394. !     :b0=/mdec/rauboot:\
  1395. !     :pa#15884:ba#1024:fa#1024:\
  1396. !     :pb#16720:bb#1024:fb#1024:\
  1397. !     :pc#2940951:bc#1024:fc#1024:\
  1398. !     :pd#227136:bd#1024:fd#1024:\
  1399. !     :pe#409600:be#1024:fe#1024:\
  1400. !     :pf#182464:bf#1024:ff#1024:\
  1401. !     :pg#819200:bg#1024:fg#1024:\
  1402. !     :ph#2089147:bh#1024:fh#1024:
  1403. ! rz22|RZ22|DEC RZ22:\
  1404. !     :ty=winchester:ns#33:nt#4:nc#776:so:\
  1405. !     :b0=/mdec/rauboot:\
  1406. !     :pa#15884:ba#1024:fa#1024:\
  1407. !     :pb#8360:bb#1024:fb#1024:\
  1408. !     :pc#102432:bc#1024:fc#1024:\
  1409. !     :pg#78188:bg#1024:fg#1024:
  1410. ! rz23|RZ23|DEC RZ23:\
  1411. !     :ty=winchester:ns#33:nt#8:nc#776:so:\
  1412. !     :b0=/mdec/rauboot:\
  1413. !     :pa#15884:ba#1024:fa#1024:\
  1414. !     :pb#8360:bb#1024:fb#1024:\
  1415. !     :pc#204864:bc#1024:fc#1024:\
  1416. !     :pg#180620:bg#1024:fg#1024:\
  1417. ! rz23l|RZ23L|DEC RZ23L:\
  1418. !     :ty=winchester:ns#39:nt#4:nc#1524:so:\
  1419. !     :b0=/mdec/rauboot:\
  1420. !     :pa#15884:ba#1024:fa#1024:\
  1421. !     :pb#8360:bb#1024:fb#1024:\
  1422. !     :pc#237588:bc#1024:fc#1024:\
  1423. !     :pg#213344:bg#1024:fg#1024:\
  1424. ! rz24|RZ24|DEC RZ24:\
  1425. !         :ty=winchester:ns#38:nt#8:nc#1348:so:\
  1426. !     :b0=/mdec/rauboot:\
  1427. !         :pa#15884:ba#1024:fa#1024:\
  1428. !         :pb#16720:bb#1024:fb#1024:\
  1429. !         :pc#409792:bc#1024:fc#1024:\
  1430. !         :pd#227136:bd#1024:fd#1024:\
  1431. !         :pe#150052:be#1024:fe#1024:\
  1432. !         :pg#377188:bg#1024:fg#1024:
  1433. ! rz24l|RZ24L|DEC RZ24L:\
  1434. !         :ty=winchester:ns#65:nt#4:nc#1818:so:\
  1435. !     :b0=/mdec/rauboot:\
  1436. !         :pa#15884:ba#1024:fa#1024:\
  1437. !         :pb#16720:bb#1024:fb#1024:\
  1438. !         :pc#479350:bc#1024:fc#1024:\
  1439. !         :pd#227136:bd#1024:fd#1024:\
  1440. !         :pe#219610:be#1024:fe#1024:\
  1441. !         :pg#446746:bg#1024:fg#1024:
  1442. ! rz25|RZ25|DEC RZ25:\
  1443. !         :ty=winchester:ns#62:nt#9:nc#1476:so:\
  1444. !     :b0=/mdec/rauboot:\
  1445. !         :pa#15884:ba#1024:fa#1024:\
  1446. !         :pb#16720:bb#1024:fb#1024:\
  1447. !         :pc#832527:bc#1024:fc#1024:\
  1448. !         :pd#227136:bd#1024:fd#1024:\
  1449. !         :pe#409600:be#1024:fe#1024:\
  1450. !         :pf#130590:bf#1024:ff#1024:\
  1451. !         :pg#799923:bg#1024:fg#1024:
  1452. ! rz26|RZ26|DEC RZ26:\
  1453. !         :ty=winchester:ns#57:nt#14:nc#2570:so:\
  1454. !     :b0=/mdec/rauboot:\
  1455. !         :pa#15884:ba#1024:fa#1024:\
  1456. !         :pb#16720:bb#1024:fb#1024:\
  1457. !         :pc#2050860:bc#1024:fc#1024:\
  1458. !         :pd#227136:bd#1024:fd#1024:\
  1459. !         :pe#409600:be#1024:fe#1024:\
  1460. !         :pf#182464:bf#1024:ff#1024:\
  1461. !         :pg#819200:bg#1024:fg#1024:\
  1462. !     :ph#1199056:bh#1024:fh#1024:
  1463. ! rz55|RZ55|DEC RZ55:\
  1464. !         :ty=winchester:ns#36:nt#15:nc#1224:so:\
  1465. !     :b0=/mdec/rauboot:\
  1466. !         :pa#15884:ba#1024:fa#1024:\
  1467. !         :pb#16720:bb#1024:fb#1024:\
  1468. !         :pc#649040:bc#1024:fc#1024:\
  1469. !         :pd#227136:bd#1024:fd#1024:\
  1470. !         :pe#389300:be#1024:fe#1024:\
  1471. !         :pg#616436:bg#1024:fg#1024:
  1472. ! rz56|RZ56|DEC RZ56:\
  1473. !         :ty=winchester:ns#54:nt#15:nc#1632:so:\
  1474. !     :b0=/mdec/rauboot:\
  1475. !         :pa#15884:ba#1024:fa#1024:\
  1476. !         :pb#16720:bb#1024:fb#1024:\
  1477. !         :pc#1299174:bc#1024:fc#1024:\
  1478. !         :pd#227136:bd#1024:fd#1024:\
  1479. !         :pe#409600:be#1024:fe#1024:\
  1480. !         :pf#182464:bf#1024:ff#1024:\
  1481. !         :pg#819200:bg#1024:fg#1024:\
  1482. !         :ph#447370:bh#1024:fh#1024:
  1483. ! rz57|RZ57|DEC RZ57:\
  1484. !         :ty=winchester:ns#71:nt#15:nc#1854:so:\
  1485. !     :b0=/mdec/rauboot:\
  1486. !         :pa#15884:ba#1024:fa#1024:\
  1487. !         :pb#16720:bb#1024:fb#1024:\
  1488. !         :pc#1954050:bc#1024:fc#1024:\
  1489. !         :pd#227136:bd#1024:fd#1024:\
  1490. !         :pe#409600:be#1024:fe#1024:\
  1491. !         :pf#182464:bf#1024:ff#1024:\
  1492. !         :pg#819200:bg#1024:fg#1024:\
  1493. !         :ph#1102246:bh#1024:fh#1024:
  1494. ! rz58|RZ58|DEC RZ58:\
  1495. !         :ty=winchester:ns#85:nt#15:nc#2112:so:\
  1496. !     :b0=/mdec/rauboot:\
  1497. !         :pa#15884:ba#1024:fa#1024:\
  1498. !         :pb#16270:bb#1024:fb#1024:\
  1499. !         :pc#2698061:bc#1024:fc#1024:\
  1500. !         :pd#227136:bd#1024:fd#1024:\
  1501. !         :pe#409600:be#1024:fe#1024:\
  1502. !         :pf#182464:bf#1024:ff#1024:\
  1503. !         :pg#819200:bg#1024:fg#1024:\
  1504. !         :ph#1846257:bh#1024:fh#1024:
  1505.   rx02|RX02|DEC RX02:\
  1506.       :ty=removable:se#128/256:ns#26:nt#1:nc#77:\
  1507.       :pa#250:ba#1024:fa#1024:\
  1508.