/* This REXX EXEC was created to help users determine storage
requirements for the IBM 2210 Nways Multiprotocol Router.
Updated   12/23/97  Jerry Sents   Final updates for V2.2           V22
Updated    1/05/98  Jerry Sents   Fix for Buff array               V221
Updated    1/19/98  Ron Hamner    Start Modify for cc3             V31
Updated    2/19/98  Jerry Sents   Updated for driver cc130a        V31
Updated    5/19/98  Ron Hamner    Updated for cc3 new release      V31
Updated    6/15/98  Jerry Sents   Updated for cc3 new release      V31
Updated    7/15/98  Jerry Sents   Updated APPN/TN3270              V31
Updated    7/24/98  Jerry Sents   Updated APPN,NDR                 V31
Updated    8/07/98  Jerry Sents   Updated APPN,TN3270, TGs         V312
Updated    1/20/99  Phil Weinstein Modified for V3.2               V32
Updated    7/20/99  Jerry Sents   updated for V3.3                 V33
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/

/*****************************************************************/h.1 =,
" ";                                                               h.2 =,
" This interactive program estimates storage requirements -";      h.3 =,
" for the IBM 2210 Nways Multiprotocol Router";                    h.4 =,
" ";                                                               h.5 =,
" The program will ask a series of questions regarding:";          h.6 =,
"   the MRS Release being used,";                                  h.7 =,
"   the IBM 2210 Model and image being used,";                     h.8 =,
"   the protocols, options and features being used.";              h.9 =,
" ";                                                               h.10=,
" ";                                                               h.11=,
" The program will also ask questions on the number of images  ";  h.12=,
" and configurations to be maintained to estimate the amount of";  h.13=,
" FLASH memory which is required for code loads and";              h.14=,
" configuration storage.";                                         h.15=,
" ";                                                               h.16=,
" An option is provided to save the results in a file for later";  h.17=,
" viewing or printing.  The name of the file will be uniquely";    h.18=,
" determined if not specified as a parameter to the program.";     h.19=,
" ";                                                               h.20=,
" You may terminate this program at any time by replying 'QQ'";    h.21=,
" to any question.";                                               h.22=,
"  ";                                                              h.23=,
" COMMAND SYNTAX ";                                                h.24=,
"  ";                                                              h.25=,
" 2210STOR {fn {ft fm}} file id to store results";                 h.26=,
" "/***************** Additional documentation at end of file **********/

/* - - - - - - - - - - - - -Determine System Environment - - - - - -V22*/

/*trace r */
parse source syst inv pname .
if syst='CMS' then clear='VMFCLEAR'          /* Clear Screen for VM V22*/
              else clear=' '                 /*NOP in not VM        V22*/
interpret clear                              /* Clear screen if VM  V22*/
/* - - - - - - - - - - - - - - Initialize Variables- - - - - - - - - - */
debug = N         /*   Set to Y to get expanded output                 */
if debug= Y  then clear=' '
iname = 'unknown' /* image name                                     V31*/
ram      = 0      /* number of bytes of DRAM                        V31*/
image    = 0      /* number of bytes of image storage               V31*/
heap     = 0      /* number of bytes of heap available              V31*/
heapu    = 0      /* number of bytes of heap used storage           V31*/
heapna   = 0      /* number of bytes of heap never allocated        V31*/
imagek   = 0      /* number of Kbytes of image storage              V31*/
heapuk   = 0      /* number of Kbytes of heap used storage          V31*/
dflag    = 0      /* DLSw in load switch                               */
dlswflag = N      /* DLSw enabled flag                              V31*/
dlswbase = 71.0   /* DLSw base memory if enabled                    V33*/
dlswpm   = 500    /* maximum number of DLSw partners                   */
dlswp    = 0      /*                                                   */
dlswpmem = 12.1   /* memory per partner                             V32*/
dlswem   = 50000  /* maximum number of DLSw end stations               */
dlswe    = 0      /*                                                   */
dlswemem = 8.0    /* memory per llc end station                     V32*/
sdlcem   = 50000  /* maximum number of SDLC end stations               */
sdlce    = 0      /*                                                   */
sdlcemem = 4.0    /* memory per sdlc or X25 endstation              V32*/
aflag    = 0      /* APPN in load switch                               */
appnflag = N      /* APPN enabled flag                                 */
appnmanm = 800    /* maximum number of APPN adjacent nodes          V31*/
appnman  = 100    /* number of APPN adjacent                        V31*/
appnmanc = 11500  /* bytes perf adjacent node                       V31*/
appnmrn  = 50     /* number of APPN NNs                             V31*/
appnmrnc = 1024   /* bytes per APPN NN                              V31*/
appnmntm = 64000  /* maximum number of TGs                          V31*/
appnmnt  = 0      /* number of APPN TGs (default set to mrn*3)      V31*/
appnmntc = 360    /* bytes per APPN TG                              V31*/
appnphn  = 0      /* percent of appnman with HPR sessions           V31*/
appnphnc = 2250   /* additional bytes for HPR sessions              V31*/
appnpnp  = 0      /* percent of appnman with DLUR sessions          V31*/
appnpnpc = 220    /* additional bytes for DLUR sessions             V31*/
appnmim  = 4000   /* maximum number of APPN ISR/DLUR sessions       V31*/
appnmi   = 200    /* number of APPN sessions                        V31*/
appnmic  = 2074   /* bytes per APPN sessions                        V31*/
appnpih  = 0      /* percent of sessions with HPR/RTP               V31*/
appnpihc = 750    /* additional bytes for HPR/RTP session           V31*/
appnpdl  = 0      /* percent of sessions with HPR/RTP               V31*/
appnpdlc = 92     /* additional bytes for DLUR session              V31*/
appnbase = 1070000 /* APPN base Shared Memory                       V32*/
appnebnf = N       /* APPN EBN flag                                 V31*/
appnebnm = 300000  /* additional base memory for EBN                V31*/
appnshr  = 0      /* user defined shared memory in K                V31*/
appnshrt = 0      /* Total shared memory in bytes                   V31*/
appnshrk = 0      /* Total shared memory in K rounded to next K     V31*/
appnshrm = 24000  /* Maximum shared memory                          V31*/
appncon  = 70     /* APPN default constrained value                 V31*/
appncont = 0      /* APPN calculated constrained value              V31*/
appnupl  = 1.235  /* APPN uplift                                    V32*/
appnbufd = 10     /* Default APPN buffer                            V32*/
appnbuf  = 0      /* APPN buffer                                    V32*/
appnbufn = 0.9    /* APPN non buffer multiplier default = 0.90      V32*/
tn32flag = N      /* TN3270 enabled Flag                            V31*/
tn32base = 428.4  /* K memory if TN3270  Server is enabled          V32*/
tn32heap = 2.93   /* K memory for TN3270 HEAP  per session          V32*/
tn32lum  = 750    /* Maximum number of TN3270 LUs                   V31*/
tn32lu   = 0      /* number of TN3270 sessions                      V31*/
tn32luc  = 12642  /* bytes  per TN3270 session for APPN             V33*/
tn32pum  = 400    /* Maximum number of TN3270 PUs                   V32*/
tn32pu   = 0      /* number of TN3270 sessions                      V31*/
tn32puc  = 3262   /* bytes  per TN3270 session for APPN             V31*/
rtm      = 99999  /*                                                   */
nlm      = 9999   /* maximum number of code loads                      */
configsm = 9999   /* maximum number of configuations                   */
routec   = .3     /* memory per route                               V31*/
dlcim    = 2048   /* maximum number of DLCI's                          */
dlci     = 0      /* number of PVCs and SVCs                           */
dlcic    = 0.5    /* maximum memory per  VC                         V31*/
dialm    = 240    /* maximum number of Dial circuits                V31*/
dial     = 0      /* number of Dial circuits                        V31*/
dialc    = 26.2   /* memory per Dial Circuit                        V32*/
brsflag  = N      /* BRS  enabled flag                              V31*/
brsbase  = 10.2   /* BRS  memory                                    V32*/
brsm     = 240    /* maximum number of BRS interfaces               V31*/
brs      = 0      /* number of BRS interfaces                       V31*/
brsc     = 1.9    /* memory per BRS interface                       V31*/
comphim  = 99999  /* maximum number of Compression Histories        V31*/
comphi   = 0      /* number of Compression histories                V31*/
comphc   = 28.0   /* memory per history                             V32*/
l2tpflag = N      /* L2TP enabled flag                              V22*/
l2tpbase = 92.3   /* L2TP memory                                    V32*/
l2tpbm   = 1000   /* maximum number of L2TP buffers                 V32*/
l2tpb    = 0      /* number of L2TP buffers                         V32*/
l2tpbc   = 0      /* memory per L2TP buffer (uses gl_siz)           V32*/
l2tptm   = 100    /* maximum number of L2TP tunnels                 V32*/
l2tpt    = 0      /* number of L2TP tunnels                         V32*/
l2tptc   = .77    /* memory per L2TP tunnel                         V32*/
l2tpcm   = 500    /* max number of L2TP calls                       V32*/
l2tpc    = 0      /* number of L2TP calls                           V32*/
l2tpcc   = 1.5    /* memory per L2TP call                           V32*/
l2tpim   = 500    /* max number of L2TP interfaces                  V32*/
l2tpi    = 0      /* number of L2TP interfaces                      V32*/
l2tpic   = 26.2    /* memory per L2TP interface                      V32*/
ipsecflag= N      /* IPSEC Enabled flag                             V31*/
ipsecbase= 79.5   /* IPSEC memory                                   V32*/
iptunm   = 240    /* maximum number of IPSEC tunnels                V31*/
iptun    = 0      /* number of IPSEC tunnels                        V31*/
iptunc   = 1.7    /* memory per tunnel                              V31*/
authflag = N      /* Authentication flag                            V31*/
authbase = 186.5  /* Authentication memory                          V31*/
dvmrpflag= N      /* DVMRP Flag                                     V31*/
dvmrpbase= 52.3   /* DVMRP memory                                   V31*/
ndrflag  = N      /* NDR   Flag                                     V31*/
ndrbase  = 1111.0 /* NDR   memory                                   V31*/
rsvpflag = N      /* RSVP Flag                                      V32*/
rsvpbase = 40.2   /* RSVP base memory                               V32*/
rsvpintc = .46    /* RSVP memory per interface                      V32*/
real     = 0      /* number of K bytes of real storage                 */
flash    = 0      /* number of bank of flash storage                   */
flash2   = 0
nl       = 0      /* number of loads                                   */
configs  = 0      /* number of configs to save in flash                */
r3hrd    = 0      /* Rel. 3 hardware switch                            */
dlsp     = 0      /*                                                   */
rtnum    = 0      /*                                                   */
dial     = 0      /* number of Dial circuits                           */
comphi   = 0      /*                                                   */
upmrs    = N      /* cc4 migration default                             */
out.     = ''     /* stem to hold results                              */
out.0    = 0      /* no lines to start                                 */
prtcls.  = ''     /* stem for protocol list                            */
ft = '2210STOR'   /* default file type for results                     */
fm = 'A'          /* default file mode for results                     */
/***********************************************************************/
/*                   Variables for Buffer Allocation                   */
/*                                                                     */
/*  IF YOU DO NOT USE THE DEFAULT MTU SIZES AND/OR THE                 */
/*  DEFAULT NUMBER OF BUFFERS CHANGE THE FOLLOWING VARIABLES:          */
/*  SET 'xx_buf' TO THE CONFIGURED NUMBER OF BUFFERS                   */
/*  SET 'xx_mtu' TO THE CONFIGURED MTU SIZES.                          */
/*                                                                     */
/*  WARNING: DO NOT CHANGE ANY OTHER VARIABLES                         */
/*                                                                     */
/*  Global buffer size will be set based on the largest MTU            */
/*  sizes and overhead sizes                                           */
/*  If an ATM adapter is present 40 additonal bytes will be            */
/*  added to the total buffer size for all buffers                     */
/*  If a  TR  adapter is present 60 additonal bytes will be            */
/*  added to the total buffer size for all buffers                     */
/*  Configuring certain features will all increase buffer overhead     */
/*****************************************************************     */
/*    10M  Ethernet Ports                                              */
eth_buf = 50              /*  default Number of buffers                */
eth_mtu = 1500            /*  default MTU size                         */
eth_ov  = 30+92+10+360    /*  overhead bytes                           */
eth_siz = 0               /*  total buffer size                        */
eth_int = 0               /*  Number of Ethernet interfaces            */
eth_sw  = 0               /*  Set to 1 if any Ethernet interface       */
/*        Token Ring Ports                                             */
tr_buf = 40               /*  default Number of buffers                */
tr_mtu = 2052             /*  default MTU size                         */
tr_ov  = 29+92+7+360      /*  overhead bytes                           */
tr_siz = 0                /*  total buffer size                        */
tr_int = 0                /*  Number of Token Ring interfaces          */
tr_sw  = 0                /*  Set to 1 if any TR interface             */
/*        WAN Ports (RS232, V35, X21) PPP or FR                        */
wan_buf = 24              /*  default Number of buffers             V31*/
wan_mtu = 2044            /*  default MTU size                         */
wan_ov  = 31+92+65+360    /*  overhead bytes                           */
wan_siz = 0               /*  total buffer size                        */
wan_int = 0               /*  Number of wan  interfaces                */
wan_sw  = 0               /*  Set to 1 if any WAN interface            */
wan4_sw = 0               /*  Set to 1 if 4 port adapter               */
wan8_sw = 0               /*  Set to 1 if 8 port adapter               */
wan4_hp = 125.6           /*  Heap for 4 port WAN                   V33*/
wan8_hp = 251.2           /*  Heap for 8 port WAN                   V33*/
/*        ATM Ports     */
atm_buf = 80              /*  default Number of buffers             V31*/
atm_mtu = 9234            /*  default MTU size                         */
atm_ov  = 30+92+32+360    /*  overhead bytes                           */
atm_siz = 0               /*  total buffer size                        */
atm_int = 0               /*  Number of atm  interfaces                */
atm_sw  = 0               /*  Set to 1 if any ATM interface            */
atm_hp  = 430.0           /*  Heap for ATM adapter                  V33*/
/*        ISDN Basic Interfaces (BI)                                   */
bi_buf = 10               /*  default Number of buffers             V31*/
bi_mtu = 2048             /*  default MTU size                         */
bi_ov  = 28+92+0+360      /*  overhead bytes                           */
bi_siz = 0                /*  total buffer size                        */
bi_int = 0                /*  Number of bi   interfaces                */
bi_sw  = 0                /*  Set to 1 if for 1 port BRI Adapter       */
bi4_sw = 0                /*  Set to 1 if for 4 port quad BRI          */
bi_hp  = 86.1             /*  Heap for 1 port BRI                   V33*/
bi4_hp = 129.3            /*  Heap for 4 port BRI                   V33*/
/*        ISDN Primary Interfaces  (PRI)                               */
pri_buf = 150             /*  default Number of buffers             V31*/
pri_mtu = 2048            /*  default MTU size                         */
pri_ov  = 28+72+12+360    /*  overhead bytes                           */
pri_siz = wan_mtu+wan_ov  /*  total buffer size                        */
pri_int = 0               /*  Number of pri  interfaces                */
pri_sw  = 0               /*  Set to 1 if any PRI interface            */
pri_hp  = 119.9           /*  Heap for PRI adapter                  V33*/
/*        GLOBAL BUFFERS     q1 = A,B or C                             */
gl_buf.A = 200            /*  default Number of buffers  VL            */
gl_buf.B = 300            /*  default Number of buffers  VL3           */
gl_buf.C = 100            /*  default Number of buffers  V2L           */
gl_mtu   =0               /* gl_mtu will be set =  largest MTU sizes   */
gl_mtu   = 2052           /*  start at 2052                            */
gl_ov    = 22+92+65+360   /*  overhead bytes                           */
gl_siz   = 0              /*  total buffer size                        */
/*      Following are delta increase to Buffer overhead             V31*/
ahdrdel = 0               /*  delta increase to all hdrs            V31*/
dhdrdel = 0               /*  delta increase to device hdrs         V31*/
wrapdel = 0               /*  delta increase to Wrap                V31*/
tr_del  = 64              /*  add 64 to all hdrs if any TR          V32*/
atm_del = 40              /*  add 40 to all hdrs if any ATM         V31*/
ipsechd = 40              /*  add 20 bytes to device headers IPSEC  V32*/
ipsecwr = 160             /*  add 60 bytes to all wraps      IPSEC  V32*/
dlswwr  = 80              /*  add 80 bytes to all wraps      DLSw   V31*/
l2tphd  = +2              /*  add  2 bytes to device headers L2TP   V32*/
l2tpwr  = 46              /*  add 46 bytes to all wraps      L2TP   V31*/



/**********************************************************************/
/*                   Variables for Array Setup                        */
/*                                                                    */
/*    The array is set up in the following way:                       */
/*                                                                    */
/*    code.machine type.revision level.machine options.build image    */
/*                                                                    */
/*    code         = Represents a DRAM size variable.                 */
/*    buff         = Represents a BUFFER size variable.               */
/*    flash        = Represents a FLASH delta variable.               */
/*    machine type = The machine type is defined by the user by q2.   */
/*                   q1 = A: 2210 - vl                                */
/*                      = B: 2210 - vl3                               */
/*                      = C: 2210 - v2l                               */
/*    revision     = The revision level is defined by the user by     */
/*    level          q2=                                              */
/*                        4 = Revision MRS-V2.0                       */
/*                        5 = Revision MRS-V2.1                       */
/*                        6 = Revision MRS-V2.2                       */
/*                        7 = Revision MRS-V3.1                       */
/*                        8 = Revision MRS-V3.2                       */
/*                        9 = Revision MRS-V3.3                    V33*/
/*    Machine      = This is for the Model VL3 series. Options are    */
/*    Options        defined by the user by q6. This variable has     */
/*                   been set to a default = 1 for the VL and V2L.    */
/*                   q6 = 1: Base model, no options (VL,VL3,V2L)      */
/*                        2: Basic ISDN option added                  */
/*                        3: Primary ISDN option added                */
/*                        4: 25M ATM option added                     */
/*    Build        = The Build image defines which load image will    */
/*    Image          be loaded into the delta calculation based on    */
/*                   the machine type, revision, and loaded options   */
/*                   already defined by the user.                     */
/*                   q4 or q5 = image identifier                      */
/**********************************************************************/
/*            Array Variables for DRAM sizes for MRS-V2.0 */
/*****   VL   *****/
code.A.4.1.1 = 5419332    /* la     */
code.A.4.1.2 = 2573392    /* lb     */
code.A.4.1.3 = 3225732    /* ld     */
code.A.4.1.4 = 5947584    /* lda    */
code.A.4.1.5 = 3500636    /* ldx    */
code.A.4.1.6 = 4002900    /* ledx   */
code.A.4.1.7 = 6591752    /* ledxa  */
code.A.4.1.8 = 6615720    /* ledxar */
code.A.4.1.9 = 4175336    /* ledxk  */
code.A.4.1.10 = 4026884   /* ledxr  */
code.A.4.1.11 = 2715504   /* lx     */

/*****   VLBI   *****/
code.A.4.1.12 = 2943180   /* lb     */
code.A.4.1.13 = 3651640   /* ld     */
code.A.4.1.14 = 6240476   /* lda    */
code.A.4.1.15 = 3793528   /* ldx    */
code.A.4.1.16 = 4295792   /* ledx   */
code.A.4.1.17 = 6884628   /* ledxa  */
code.A.4.1.18 = 6908612   /* ledxar */
code.A.4.1.19 = 4468228   /* ledxk  */
code.A.4.1.20 = 4319776   /* ledxr  */
code.A.4.1.21 = 3085068   /* lx     */

/*****   VL3   *****/
code.B.4.1.1 = 2706784    /* lb     */
code.B.4.1.2 = 3415484    /* ld     */
code.B.4.1.3 = 6001968    /* lda    */
code.B.4.1.4 = 3557068    /* ldx    */
code.B.4.1.5 = 4059268    /* ledx   */
code.B.4.1.6 = 6645752    /* ledxa  */
code.B.4.1.7 = 6669720    /* ledxar */
code.B.4.1.8 = 4231688    /* ledxk  */
code.B.4.1.9 = 4083236    /* ledxr  */
code.B.4.1.10 = 2848592   /* lx     */

/*****   VL3BI   *****/
code.B.4.2.1 = 2999676    /* lb     */
code.B.4.2.2 = 3708136    /* ld     */
code.B.4.2.3 = 6294620    /* lda    */
code.B.4.2.4 = 3849736    /* ldx    */
code.B.4.2.5 = 4351920    /* ledx   */
code.B.4.2.6 = 6938404    /* ledxa  */
code.B.4.2.7 = 6962388    /* ledxar */
code.B.4.2.8 = 4524356    /* ledxk  */
code.B.4.2.9 = 4375904    /* ledxr  */
code.B.4.2.10 = 3141260   /* lx     */

/*****   VL3PI   *****/
code.B.4.3.1 = 3084476    /* lb     */
code.B.4.3.2 = 3792952    /* ld     */
code.B.4.3.3 = 6379436    /* lda    */
code.B.4.3.4 = 3934536    /* ldx    */
code.B.4.3.5 = 4436736    /* ledx   */
code.B.4.3.6 = 7023220    /* ledxa  */
code.B.4.3.7 = 7047188    /* ledxar */
code.B.4.3.8 = 4609156    /* ledxk  */
code.B.4.3.9 = 4460704    /* ledxr  */
code.B.4.3.10 = 3226076   /* lx     */

/*****   VL3A   *****/
code.B.4.4.1 = 4059784    /* lb     */
code.B.4.4.2 = 4768244    /* ld     */
code.B.4.4.3 = 7354520    /* lda    */
code.B.4.4.4 = 4909844    /* ldx    */
code.B.4.4.5 = 5412012    /* ledx   */
code.B.4.4.6 = 7998288    /* ledxa  */
code.B.4.4.7 = 8022272    /* ledxar */
code.B.4.4.8 = 5435996    /* ledxr  */
code.B.4.4.10 = 4201368    /* lx     */

/*****   V2LBI   *****/
code.C.4.1.1 = 2812908    /* lb     */
code.C.4.1.2 = 3465024    /* ld     */
code.C.4.1.3 = 3739928    /* ldx    */
code.C.4.1.4 = 4242192    /* ledx   */
code.C.4.1.5 = 2954796    /* lx     */


/*        Array Variables for DRAM sizes for MRS-V2.1 */
/*****   VL   *****/
code.A.5.1.1 = 3061281    /* lb    B00 */
code.A.5.1.2 = 2954425    /* lbnr  B05 */
code.A.5.1.3 = 3742093    /* ld    B01 */
code.A.5.1.4 = 6575637    /* lda   B03 */
code.A.5.1.5 = 4048337    /* ldx   B0B */
code.A.5.1.6 = 6748129    /* ldxa  B0F */
code.A.5.1.7 = 4557849    /* ledx  B0C */
code.A.5.1.8 = 7257657    /* ledxa B0D */
code.A.5.1.9 = 3233757    /* lx    B0A */
code.A.5.1.10 = 3126917   /* lxnr  B0E */
code.A.5.1.11 = 5202953   /* lanr  B02 */          /* added */


/*****   VLBI   *****/
code.A.5.1.12 = 3458869   /* lb    B10 */
code.A.5.1.13 = 4196041   /* ld    B11 */
code.A.5.1.14 = 6895833   /* lda   B13 */
code.A.5.1.15 = 4368517   /* ldx   B1B */
code.A.5.1.16 = 7068309   /* ldxa  B1F */
code.A.5.1.17 = 4878045   /* ledx  B1C */
code.A.5.1.18 = 7577837   /* ledxa B1D */
code.A.5.1.19 = 3631361   /* lx    B1A */

/*****   VL3   *****/
code.B.5.1.1 = 3207696    /* lb     */
code.B.5.1.2 = 3944948    /* ld     */
code.B.5.1.3 = 6642484    /* lda    */
code.B.5.1.4 = 4117152    /* ldx    */
code.B.5.1.5 = 6814688    /* ldxa   */
code.B.5.1.6 = 4626600    /* ledx   */
code.B.5.1.7 = 7324136    /* ledxa  */
code.B.5.1.8 = 8387256    /* ledxan */
code.B.5.1.9 = 3379884    /* lx     */

/*****   VL3BI   *****/
code.B.5.2.1 = 3617028    /* lb     */
code.B.5.2.2 = 4354280    /* ld     */
code.B.5.2.3 = 7051816    /* lda    */
code.B.5.2.4 = 4526468    /* ldx    */
code.B.5.2.5 = 7224020    /* ldxa   */
code.B.5.2.6 = 5035916    /* ledx   */
code.B.5.2.7 = 7733452    /* ledxa  */
code.B.5.2.8 = 8796572    /* ledxan */
code.B.5.2.9 = 3789216    /* lx     */
code.B.5.2.10 = 6406172   /* lanr   */

/*****   VL3PI   *****/
code.B.5.3.1 = 3608580    /* lb     */
code.B.5.3.2 = 4345832    /* ld     */
code.B.5.3.3 = 7043384    /* lda    */
code.B.5.3.4 = 4518036    /* ldx    */
code.B.5.3.5 = 7215572    /* ldxa   */
code.B.5.3.6 = 5027484    /* ledx   */
code.B.5.3.7 = 7725020    /* ledxa  */
code.B.5.3.8 = 8788156    /* ledxan */
code.B.5.3.9 = 3780784    /* lx     */

/*****   VL3A   *****/
code.B.5.4.1 = 5109156    /* lb     */
code.B.5.4.2 = 5846408    /* ld     */
code.B.5.4.3 = 8543736    /* lda    */
code.B.5.4.4 = 6018612    /* ldx    */
code.B.5.4.5 = 8715940    /* ldxa   */
code.B.5.4.6 = 6528028    /* ledx   */
code.B.5.4.7 = 9225372    /* ledxa  */
code.B.5.4.8 = 10288156   /* ledxan */
code.B.5.4.9 = 5281344    /* lx     */

/*****   V2LBI   *****/
code.C.5.1.1 = 3319052    /* lb     */
code.C.5.1.2 = 3212452    /* lbnr   */
code.C.5.1.3 = 3999856    /* ld     */
code.C.5.1.4 = 4314212    /* ldx    */
code.C.5.1.5 = 4823724    /* ledx   */
code.C.5.1.6 = 3491528    /* lx     */
code.C.5.1.7 = 3384928    /* lxnr   */

/*        Array Variables for DRAM sizes for MRS-V2.2 */
/*****   VL   *****/
code.A.6.1.1 = 3355609    /* lb    C00 */
code.A.6.1.2 = 3039409    /* lbnr  C05 */
code.A.6.1.3 = 4065629    /* ld    C01 */
code.A.6.1.4 = 7220981    /* lda   C03 */
code.A.6.1.5 = 4237257    /* ldx   C0B */
code.A.6.1.6 = 7392593    /* ldxa  C0F */
code.A.6.1.7 = 4744401    /* ledx  C0C */
code.A.6.1.8 = 7899753    /* ledxa C0D */
code.A.6.1.9 = 3497253    /* lx    C0A */
code.A.6.1.10 = 3211053   /* lxnr  C0E */
code.A.6.1.11 = 5774001   /* lanr  C02 */
code.A.6.1.12 = 4265553   /* ldxc  C0H */        /*added*/

/*****   VLBI   *****/
code.A.6.1.13 = 3646125   /* lb    C10 */
code.A.6.1.14 = 4386129   /* ld    C11 */
code.A.6.1.15 = 7541497   /* lda   C13 */
code.A.6.1.16 = 4557773   /* ldx   C1B */
code.A.6.1.17 = 7713109   /* ldxa  C1F */
code.A.6.1.18 = 5064917   /* ledx  C1C */
code.A.6.1.19 = 8220253   /* ledxa C1D */
code.A.6.1.20 = 3817753   /* lx    C1A */
code.A.6.1.21 = 4586053   /* ldxc  C1H */      /*added*/


/*****   VL3   *****/
code.B.6.1.1 = 3395673    /* lb     */   /* deprecated */
code.B.6.1.2 = 4135773    /* ld     */
code.B.6.1.3 = 7288789    /* lda    */
code.B.6.1.4 = 4307113    /* ldx    */
code.B.6.1.5 = 7460129    /* ldxa   */
code.B.6.1.6 = 4818157    /* ledx   */
code.B.6.1.7 = 7967193    /* ledxa  */
code.B.6.1.8 = 9003449    /* ledxan */
code.B.6.1.9 = 3567013    /* lx     */   /* deprecated */
code.B.6.1.10 = 4335361   /* ldxc   */   /* added  */

/*****   VL3BI   *****/
code.B.6.2.1 = 3805325    /* lb     */
code.B.6.2.2 = 4545425    /* ld     */
code.B.6.2.3 = 7698441    /* lda    */
code.B.6.2.4 = 4716765    /* ldx    */
code.B.6.2.5 = 7869765    /* ldxa   */
code.B.6.2.6 = 5223829    /* ledx   */
code.B.6.2.7 = 8376845    /* ledxa  */
code.B.6.2.8 = 9413101    /* ledxan */
code.B.6.2.9 = 3976665    /* lx     */
code.B.6.2.10 = 4744997   /* ldxc   */   /* added  */
code.B.6.2.11 = 6952893   /* lanr   */

/*****   VL3PI   *****/
code.B.6.3.1 = 3805473    /* lb     */
code.B.6.3.2 = 4545573    /* ld     */
code.B.6.3.3 = 7698589    /* lda    */
code.B.6.3.4 = 4716913    /* ldx    */
code.B.6.3.5 = 7869929    /* ldxa   */
code.B.6.3.6 = 5223993    /* ledx   */
code.B.6.3.7 = 8376993    /* ledxa  */
code.B.6.3.8 = 9413249    /* ledxan */
code.B.6.3.9 = 3976813    /* lx     */
code.B.6.3.10 = 4745161   /* ldxc   */   /* added  */

/*****   VL3A   *****/
code.B.6.4.1 = 5257633    /* lb     */
code.B.6.4.2 = 5997733    /* ld     */
code.B.6.4.3 = 9150557    /* lda    */
code.B.6.4.4 = 6169089    /* ldx    */
code.B.6.4.5 = 9321897    /* ldxa   */
code.B.6.4.6 = 6676137    /* ledx   */
code.B.6.4.7 = 9832413    /* ledxa  */
code.B.6.4.8 = 10864881   /* ledxan */
code.B.6.4.9 = 5428973    /* lx     */
code.B.6.4.10 = 6197321   /* ldxc   */   /* added  */



/*****   V2LBI   *****/
code.C.6.1.1 = 3504233    /* v2lbi-lb     */
code.C.6.1.2 = 3299513    /* v2lbi-lbnr   */
code.C.6.1.3 = 4324493    /* v2lbi-ld     */
code.C.6.1.4 = 4504241    /* v2lbi-ldx    */
code.C.6.1.5 = 5011385    /* v2lbi-ledx   */
code.C.6.1.6 = 3756101    /* v2lbi-lx     */
code.C.6.1.7 = 3470157    /* v2lbi-lxnr   */
code.C.6.1.8 = 3333333    /* v2l-lb       */       /* new for c22 */
code.C.6.1.9 = 3498437    /* v2lbi-lxcnr  */       /* new for c22 */
code.C.6.1.10 = 4535077   /* v2lbi-ldxc   */       /* new for c22 */


/*        Array Variables for DRAM sizes for MRS-V3.1 */
/*****   VL   *****/
code.A.7.1.1 = 3673101    /* lb     */
code.A.7.1.3 = 4438569    /* ld     */
code.A.7.1.4 = 7864709    /* lda    */
code.A.7.1.5 = 4611177    /* ldx    */
code.A.7.1.6 = 8037317    /* ldxa   */
code.A.7.1.7 = 5122797    /* ledx   */
code.A.7.1.9 = 3845709    /* lx     */
code.A.7.1.22 = 5390113   /* ledxc  */
code.A.7.1.23 = 5464561   /* ledx3c  */


/*****   VLBI   *****/
code.A.7.1.13 = 3997585   /* lb     */
code.A.7.1.14 = 4763069   /* ld     */
code.A.7.1.15 = 7787613   /* lda    */
code.A.7.1.16 = 4935693   /* ldx    */
code.A.7.1.17 = 7960221   /* ldxa   */
code.A.7.1.18 = 5447313   /* ledx   */
code.A.7.1.20 = 4170193   /* lx     */
code.A.7.1.24 = 5714613   /* ledxc  */
code.A.7.1.25 = 5789077   /* ledx3c */

/*****   VL3   *****/
code.B.7.1.2 = 4529149    /* ld     */
code.B.7.1.3 = 7983097    /* lda    */
code.B.7.1.4 = 4701533    /* ldx    */
code.B.7.1.5 = 8155497    /* ldxa   */
code.B.7.1.6 = 5213089    /* ledx   */
code.B.7.1.7 = 8667037    /* ledxa  */
code.B.7.1.8 = 9433101    /* ledxan */
code.B.7.1.10 = 4968801   /* ldxc   */
code.B.7.1.12 = 5043249   /* ldx3c  */
code.B.7.1.13 = 5480341   /* ledxc */
code.B.7.1.14 = 5554805   /* ledx3c */
code.B.7.1.15 = 8934289   /* ledxac */
code.B.7.1.16 = 9008753   /* ledxa3c */

/*****   VL3BI   *****/
code.B.7.2.2 = 4942913    /* ld     */
code.B.7.2.3 = 8396861    /* lda    */
code.B.7.2.4 = 5115313    /* ldx    */
code.B.7.2.5 = 8569261    /* ldxa   */
code.B.7.2.6 = 5626853    /* ledx   */
code.B.7.2.7 = 9080801    /* ledxa  */
code.B.7.2.8 = 9846881    /* ledxan */
code.B.7.2.10 = 5382565   /* ldxc   */
code.B.7.2.11 = 7604189   /* lanr   */
code.B.7.2.12 = 5457029   /* ldx3c  */
code.B.7.2.13 = 5894105   /* ledxc */
code.B.7.2.14 = 5968569   /* ledx3c */
code.B.7.2.15 = 9348069   /* ledxac */
code.B.7.2.16 = 9422517   /* ledxa3c */

/*****   VL3PI   *****/
code.B.7.3.2 = 5019189    /* ld     */
code.B.7.3.3 = 8473137    /* lda    */
code.B.7.3.4 = 5191589    /* ldx    */
code.B.7.3.5 = 8645537    /* ldxa   */
code.B.7.3.6 = 5703129    /* ledx   */
code.B.7.3.7 = 9157077    /* ledxa  */
code.B.7.3.8 = 9923157    /* ledxan */
code.B.7.3.10 = 5458841   /* ldxc   */
code.B.7.3.12 = 5533305   /* ldx3c  */
code.B.7.3.13 = 5970381   /* ledxc */
code.B.7.3.14 = 6044845   /* ledx3c */
code.B.7.3.15 = 9498793   /* ledxac */
code.B.7.3.16 = 9498793   /* ledxa3c */

/*****   VL3A   *****/
code.B.7.4.2 = 6430973    /* ld     */
code.B.7.4.3 = 9903593    /* lda    */
code.B.7.4.4 = 6603373    /* ldx    */
code.B.7.4.5 = 10057113   /* ldxa   */
code.B.7.4.6 = 7114897    /* ledx   */
code.B.7.4.7 = 10587517   /* ledxa  */
code.B.7.4.8 = 11353261   /* ledxan */
code.B.7.4.13 = 7382165   /* ledxc */
code.B.7.4.14 = 7456629   /* ledx3c */
code.B.7.4.15 = 10854801  /* ledxac */
code.B.7.4.16 = 10929249  /* ledxa3c */


/*****   V2LBI   *****/
code.C.7.1.3 = 4653649    /* v2lbi-ld     */
code.C.7.1.4 = 4834361    /* v2lbi-ldx    */
code.C.7.1.5 = 5345981    /* v2lbi-ledx   */
code.C.7.1.6 = 4060773    /* v2lbi-lx     */
code.C.7.1.8 = 3171753    /* v2l-lb       */
code.C.7.1.11 = 3303009   /* v2lbi-lbx25  */
code.C.7.1.12 = 3157089   /* v2lbi-lbfr   */
code.C.7.1.13 = 3475617   /* v2lbi-lxx25  */
code.C.7.1.14 = 3329705   /* v2lbi-lxfr   */
code.C.7.1.15 = 5613297   /* v2lbi-ledxc  */
code.C.7.1.16 = 5687745   /* v2l-ledx3c   */


/*        Array Variables for DRAM sizes for MRS-V3.2 */
/*****   VL   *****/
code.A.8.1.1 = 4017829    /* lb     */
code.A.8.1.3 = 4853237    /* ld     */
code.A.8.1.4 = 7929673    /* lda    */
code.A.8.1.5 = 5041645    /* ldx    */
code.A.8.1.7 = 5571185    /* ledx   */
code.A.8.1.9 = 4206253    /* lx     */
code.A.8.1.22 = 5836302   /* ledxdc  */
code.A.8.1.23 = 5836301   /* ledx3c  */
code.A.8.1.26 = 5836301   /* ledxcc  */

/*****   VLBI   *****/
code.A.8.1.13 = 4366829   /* lb     */
code.A.8.1.14 = 4554453   /* ld     */
code.A.8.1.15 = 7849085   /* lda    */
code.A.8.1.16 = 5389861   /* ldx    */
code.A.8.1.18 = 5919401   /* ledx   */
code.A.8.1.20 = 4554453   /* lx     */
code.A.8.1.24 = 6184518   /* ledxdc */
code.A.8.1.25 = 6184517   /* ledx3c  */
code.A.8.1.27 = 6184517   /* ledxcc */

/*****   VL3   *****/
code.B.8.1.2 = 4989197    /* ld     */
code.B.8.1.3 = 8479161    /* lda    */
code.B.8.1.4 = 5177317    /* ldx    */
code.B.8.1.5 = 8667281    /* ldxa   */
code.B.8.1.6 = 5706569    /* ledx   */
code.B.8.1.7 = 9196533    /* ledxa  */
code.B.8.1.8 = 9436409    /* ledxan */
code.B.8.1.10 = 5442418   /* ldxdc  */
code.B.8.1.12 = 5442417   /* ldx3c  */
code.B.8.1.13 = 5971670   /* ledxdc */
code.B.8.1.14 = 5971669   /* ledx3c */
code.B.8.1.15 = 9461633   /* ledxadc */
code.B.8.1.16 = 9461633   /* ledxa3c */
code.B.8.1.17 = 5442417   /* ldxcc   */
code.B.8.1.18 = 5971669   /* ledxcc  */
code.B.8.1.19 = 9461633   /* ledxacc */
code.B.8.1.20 = 5890989   /* fldx    */
code.B.8.1.21 = 6057269   /* fldxcc  */
code.B.8.1.22 = 6057269   /* fldxdc  */
code.B.8.1.23 = 6057269   /* fldx3c  */
code.B.8.1.24 = 9378393   /* fldxa   */
code.B.8.1.25 = 9547105   /* fldxacc */
code.B.8.1.26 = 9547105   /* fldxadc */
code.B.8.1.27 = 9547105   /* fldxa3c */

/*****   VL3I   *****/
code.B.8.2.2 = 5564453    /* ld     */
code.B.8.2.3 = 9054433    /* lda    */
code.B.8.2.4 = 5752589    /* ldx    */
code.B.8.2.5 = 9242553    /* ldxa   */
code.B.8.2.6 = 6281825    /* ledx   */
code.B.8.2.7 = 9771789    /* ledxa  */
code.B.8.2.8 = 1011681    /* ledxan */
code.B.8.2.10 = 6017689   /* ldxdc  */
code.B.8.2.12 = 6017689   /* ldx3c  */
code.B.8.2.13 = 6546925   /* ledxdc */
code.B.8.2.14 = 6546925   /* ledx3c */
code.B.8.2.15 = 10036906  /* ledxadc */
code.B.8.2.16 = 10036905  /* ledxa3c */
code.B.8.2.17 = 6017689   /* ldxcc   */
code.B.8.2.18 = 6546925   /* ledxcc  */
code.B.8.2.19 = 10036905  /* ledxacc */
code.B.8.2.20 = 6463813   /* fldx    */
code.B.8.2.21 = 6632509   /* fldxcc  */
code.B.8.2.22 = 6632509   /* fldxdc  */
code.B.8.2.23 = 6632509   /* fldx3c  */
code.B.8.2.24 = 9953649   /* fldxa   */
code.B.8.2.25 = 10122345  /* fldxacc */
code.B.8.2.26 = 10122345  /* fldxadc */
code.B.8.2.27 = 10122345  /* fldxa3c */

/*****   VL3A  *****/
code.B.8.4.2 = 6372049    /* ld     */
code.B.8.4.3 = 9880573    /* lda    */
code.B.8.4.4 = 6560169    /* ldx    */
code.B.8.4.5 = 10049813   /* ldxa   */
code.B.8.4.6 = 7089437    /* ledx   */
code.B.8.4.7 = 10597961   /* ledxa  */
code.B.8.4.8 = 10837821   /* ledxan */
code.B.8.4.13 = 7354522   /* ledxdc */
code.B.8.4.14 = 7354521   /* ledx3c */
code.B.8.4.15 = 10863046  /* ledxadc */
code.B.8.4.16 = 10863045  /* ledxa3c */
code.B.8.4.18 = 7354521   /* ledxcc */
code.B.8.4.19 = 10863045  /* ledxacc */
code.B.8.4.20 = 7294161   /* fldx   */
code.B.8.4.21 = 7462857   /* fldxcc */
code.B.8.4.22 = 7462857   /* fldxdc */
code.B.8.4.23 = 7462657   /* fldx3c */
code.B.8.4.24 = 10802541  /* fldxa  */
code.B.8.4.25 = 10971253  /* fldxacc */
code.B.8.4.26 = 10971253  /* fldxadc */
code.B.8.4.27 = 10971253  /* fldxa3c */

/*****   V2LBI   *****/
code.C.8.1.3 = 4874265    /* v2lbi-ld     */
code.C.8.1.4 = 5071001    /* v2lbi-ldx    */
code.C.8.1.5 = 5600541    /* v2lbi-ledx   */
code.C.8.1.6 = 4377985    /* v2lbi-lx     */
code.C.8.1.8 = 3217297    /* v2l-lb       */
code.C.8.1.11 = 3356381   /* v2lbi-lbx25  */
code.C.8.1.12 = 3259781   /* v2lbi-lbfr   */
code.C.8.1.15 = 5865657   /* v2lbi-ledxdc */
code.C.8.1.16 = 5865657   /* v2lbi-ledx3c */
code.C.8.1.17 = 5865657   /* v2lbi-ledxcc */
code.C.8.1.18 = 3278197   /* v2lbi-lxfr   */
code.C.8.1.19 = 3068449   /* v2lbi-lxfrnb */

/*        Array Variables for DRAM sizes for MRS-V3.3 */
/*****   VL   *****      CC50_2b    */
code.A.9.1.1  = 4269825   /* lb     */
code.A.9.1.2  = 5128513   /* ld     */
code.A.9.1.3  = 7525093   /* lda    */
code.A.9.1.4  = 5321585   /* ldx    */
code.A.9.1.5  = 6371037   /* ledx   */
code.A.9.1.6  = 4462913   /* lx     */
code.A.9.1.7  = 5878773   /* ledxdc */
code.A.9.1.8  = 5878773   /* ledx3c */
code.A.9.1.9  = 6155801   /* ldvdc  */
code.A.9.1.10 = 6155801   /* ldv3c  */

/*****   VLBI   ****     CC50_2b    */
code.A.9.1.11 = 4628665   /* lb     */
code.A.9.1.12 = 5487337   /* ld     */
code.A.9.1.13 = 7861421   /* lda    */
code.A.9.1.14 = 5680384   /* ldx    */
code.A.9.1.15 = 6729861   /* ledx   */
code.A.9.1.16 = 4821721   /* lx     */
code.A.9.1.17 = 7237581   /* ledxdc */
code.A.9.1.18 = 7237581   /* ledx3c */
code.A.9.1.19 = 6362897   /* ldvdc  */
code.A.9.1.20 = 6362897   /* ldv3c  */

/*****   VL3   *****     CC50_22A    */
code.B.9.1.1  = 5347749   /* ld      */
code.B.9.1.2  = 8943421   /* lda     */
code.B.9.1.3  = 5541925   /* ldx     */
code.B.9.1.4  = 9137597   /* ldxa    */
code.B.9.1.5  = 6594021   /* ledx    */
code.B.9.1.6  = 10189528  /* ledxa   */
code.B.9.1.7  = 10435805  /* ledxan  */
code.B.9.1.8  = 6420745   /* ldxdc   */
code.B.9.1.9  = 6420745   /* ldx3c   */
code.B.9.1.10 = 7110329   /* ledxdc  */
code.B.9.1.11 = 7110329   /* ledx3c  */
code.B.9.1.12 = 10705509  /* ledxadc */
code.B.9.1.13 = 10705509  /* ledxa3c */
code.B.9.1.14 = 7184333   /* fldx   */
code.B.9.1.15 = 7225449   /* fldxdc  */
code.B.9.1.16 = 7225449   /* fldx3c  */
code.B.9.1.17 = 10779369  /* fldxa   */
code.B.9.1.18 = 10820485  /* fldxadc */
code.B.9.1.19 = 10820485  /* fldxa3c */
code.B.9.1.20 = 6472861   /* lvndc   */
code.B.9.1.21 = 6472861   /* lvn3c   */

/*****   VL3I   ****     CC50_22b    */
code.B.9.2.1  = 5941725   /* ld      */
code.B.9.2.2  = 9537397   /* lda     */
code.B.9.2.3  = 6135885   /* ldx     */
code.B.9.2.4  = 9731557   /* ldxa    */
code.B.9.2.5  = 7187981   /* ledx    */
code.B.9.2.6  = 10783489  /* ledxa   */
code.B.9.2.7  = 11029781  /* ledxan  */
code.B.9.2.8  = 7704289   /* ldxdc   */
code.B.9.2.9  = 7704289   /* ldx3c   */
code.B.9.2.10 = 7626449   /* ledxdc  */
code.B.9.2.11 = 7626449   /* ledx3c  */
code.B.9.2.12 = 11299469  /* ledxadc */
code.B.9.2.13 = 11299469  /* ledxa3c */
code.B.9.2.14 = 7778293   /* fldx    */
code.B.9.2.15 = 7819409   /* fldxdc  */
code.B.9.2.16 = 7819409   /* fldx3c  */
code.B.9.2.17 = 11373329  /* fldxa   */
code.B.9.2.18 = 11414445  /* fldxadc */
code.B.9.2.19 = 11414445  /* fldxa3c */
code.B.9.2.20 = 7066821   /* lvndc   */
code.B.9.2.21 = 7066821   /* lvn3c   */

/*****   VL3A  ****      CC50_22b    */
code.B.9.4.1  = 6742729   /* ld      */
code.B.9.4.2  = 10357257  /* lda     */
code.B.9.4.3  = 6936889   /* ldx     */
code.B.9.4.4  = 10532041  /* ldxa    */
code.B.9.4.5  = 7989689   /* ledx    */
code.B.9.4.6  = 11604053  /* ledxa   */
code.B.9.4.7  = 11850329  /* ledxan  */
code.B.9.4.10 = 8507669   /* ledxdc  */
code.B.9.4.11 = 8507669   /* ledx3c  */
code.B.9.4.12 = 12122050  /* ledxadc */
code.B.9.4.13 = 12122050  /* ledxa3c */
code.B.9.4.14 = 8604457   /* fldx    */
code.B.9.4.15 = 8645573   /* fldxdc  */
code.B.9.4.16 = 8645573   /* fldx3c  */
code.B.9.4.17 = 12218693  /* fldxa   */
code.B.9.4.18 = 12259825  /* fldxadc */
code.B.9.4.19 = 12259825  /* fldxa3c */

/*****   V2LBI   *****/
code.C.9.1.1  = 5143133   /* v2lbi-ld     */
code.C.9.1.2  = 5353229   /* v2lbi-ldx    */
code.C.9.1.3  = 6402697   /* v2lbi-ledx   */
code.C.9.1.4  = 4629245   /* v2lbi-lx     */
code.C.9.1.5  = 3195101   /* v2l-lb       */
code.C.9.1.6  = 3368201   /* v2lbi-lbx25  */
code.C.9.1.7  = 3277249   /* v2lbi-lbfr   */
code.C.9.1.8  = 3079789   /* v2lbi-lxfrnb */
code.C.9.1.9  = 6185381   /* v2lbi-ldvdc  */
code.C.9.1.10 = 6185381   /* v2lbi-ldv3c  */

/****************************************************************/
/*            Array variables for HEAP+BUFFER sizes             */
/****************************************************************/
/*            Array Variables for HEAP+BUFFER sizes for MRS-V2.0    */
/*****   VL   *****/
buff.A.4.1.1 = 1288112    /* la     */
buff.A.4.1.2 = 888428     /* lb     */
buff.A.4.1.3 = 895780     /* ld     */
buff.A.4.1.4 = 1300672    /* lda    */
buff.A.4.1.5 = 911908     /* ldx    */
buff.A.4.1.6 = 924892     /* ledx   */
buff.A.4.1.7 = 1308068    /* ledxa  */
buff.A.4.1.8 = 1305956    /* ledxar */
buff.A.4.1.9 = 914160     /* ledxk  */
buff.A.4.1.10 = 937196    /* ledxr  */
buff.A.4.1.11 = 901632    /* lx     */

/*****   VLBI   *****/
buff.A.4.1.12 = 919176    /* lb     */
buff.A.4.1.13 = 927848    /* ld     */
buff.A.4.1.14 = 1310384   /* lda    */
buff.A.4.1.15 = 934116    /* ldx    */
buff.A.4.1.16 = 924108    /* ledx   */
buff.A.4.1.17 = 1517460   /* ledxa  */
buff.A.4.1.18 = 1326644   /* ledxar */
buff.A.4.1.19 = 924192    /* ledxk  */
buff.A.4.1.20 = 1870216   /* ledxr  */
buff.A.4.1.21 = 924320    /* lx     */

/* FOR VL3s the BUFFER space is calculated. Following is HEAP only */
/*****   VL3   *******/
buff.B.4.1.1 = 445272     /* lb     */
buff.B.4.1.2 = 457804     /* ld     */
buff.B.4.1.3 = 856080     /* lda    */
buff.B.4.1.4 = 470592     /* ldx    */
buff.B.4.1.5 = 465092     /* ledx   */
buff.B.4.1.6 = 864328     /* ledxa  */
buff.B.4.1.7 = 881576     /* ledxar */
buff.B.4.1.8 = 478632     /* ledxk  */
buff.B.4.1.9 = 483060     /* ledxr  */
buff.B.4.1.10 = 459736    /* lx     */

/*****   VL3BI   *****/
buff.B.4.2.1 = 467132     /* lb     */
buff.B.4.2.2 = 488172     /* ld     */
buff.B.4.2.3 = 868328     /* lda    */
buff.B.4.2.4 = 473464     /* ldx    */
buff.B.4.2.5 = 476860     /* ledx   */
buff.B.4.2.6 = 886752     /* ledxa  */
buff.B.4.2.7 = 894064     /* ledxar */
buff.B.4.2.8 = 477504     /* ledxk  */
buff.B.4.2.9 = 513324     /* ledxr  */
buff.B.4.2.10 = 470780    /* lx     */

/*****   VL3PI   *****/
buff.B.4.3.1 = 468584     /* lb     */
buff.B.4.3.2 = 480640     /* ld     */
buff.B.4.3.3 = 879476     /* lda    */
buff.B.4.3.4 = 484052     /* ldx    */
buff.B.4.3.5 = 506900     /* ledx   */
buff.B.4.3.6 = 887644     /* ledxa  */
buff.B.4.3.7 = 919868     /* ledxar */
buff.B.4.3.8 = 489132     /* ledxk  */
buff.B.4.3.9 = 516952     /* ledxr  */
buff.B.4.3.10 = 486408    /* lx     */

/*****   VL3A   *****/
buff.B.4.4.1 = 454364     /* lb     */
buff.B.4.4.2 = 477152     /* ld     */
buff.B.4.4.3 = 865332     /* lda    */
buff.B.4.4.4 = 480724     /* ldx    */
buff.B.4.4.5 = 490600     /* ledx   */
buff.B.4.4.6 = 873580     /* ledxa  */
buff.B.4.4.7 = 900044     /* ledxar */
buff.B.4.4.8 = 501768     /* ledxr  */
buff.B.4.4.10 = 471148    /* lx     */

/*****   V2LBI   *****/
buff.C.4.1.1 = 2751013    /* lb     */
buff.C.4.1.2 = 3197469    /* ld     */
buff.C.4.1.3 = 3619541    /* ldx    */
buff.C.4.1.4 = 4118189    /* ledx   */
buff.C.4.1.5 = 2892349    /* lx     */

/*            Array Variables for BUFFER sizes for MRS-V2.1 */
/*****   VL   *****/
buff.A.5.1.1 =  924044    /* lb    B00 */
buff.A.5.1.2 =  917144    /* lbnr  B05 */
buff.A.5.1.3 =  943624    /* ld    B01 */
buff.A.5.1.4 = 1337620    /* lda   B03 */
buff.A.5.1.5 =  960076    /* ldx   B0B */
buff.A.5.1.6 = 1332996    /* ldxa  B0F */
buff.A.5.1.7 =  963232    /* ledx  B0C */
buff.A.5.1.8 = 1345688    /* ledxa B0D */
buff.A.5.1.9 =  928956    /* lx    B0A */
buff.A.5.1.10 = 913036    /* lxnr  B0E */
buff.A.5.1.11 = 1193932   /* lanr  B02 */         /*added*/

/*****   VLBI   *****/
buff.A.5.1.12 =  981440   /* lb    B10 */
buff.A.5.1.13 =  992000   /* ld    B11 */
buff.A.5.1.14 = 1374456   /* lda   B13 */
buff.A.5.1.15 =  996968   /* ldx   B1B */
buff.A.5.1.16 = 1379424   /* ldxa  B1F */
buff.A.5.1.17 = 1000344   /* ledx  B1C */
buff.A.5.1.18 = 1382800   /* ledxa B1D */
buff.A.5.1.19 =  986924   /* lx    B1A */

/* FOR VL3s the BUFFER space is calculated. Following is HEAP only */
/*****   VL3   *****/
buff.B.5.1.1 = 608840     /* lb     */
buff.B.5.1.2 = 622832     /* ld     */
buff.B.5.1.3 = 1020944    /* lda    */
buff.B.5.1.4 = 627092     /* ldx    */
buff.B.5.1.5 = 1022968    /* ldxa   */
buff.B.5.1.6 = 630612     /* ledx   */
buff.B.5.1.7 = 1030000    /* ledxa  */
buff.B.5.1.8 = 1049908    /* ledxan */
buff.B.5.1.9 = 623788     /* lx     */

/*****   VL3BI   *****/
buff.B.5.2.1 = 623508     /* lb     */
buff.B.5.2.2 = 637500     /* ld     */
buff.B.5.2.3 = 1054828    /* lda    */
buff.B.5.2.4 = 641392     /* ldx    */
buff.B.5.2.5 = 1027876    /* ldxa   */
buff.B.5.2.6 = 657872     /* ledx   */
buff.B.5.2.7 = 1044356    /* ledxa  */
buff.B.5.2.8 = 1064352    /* ledxan */
buff.B.5.2.9 = 638616     /* lx     */                           /*V221*/
buff.B.5.2.10 = 1000000   /* lanr   */  /*Need to Verify */

/*****   VL3PI   *****/
buff.B.5.3.1 = 634948     /* lb     */
buff.B.5.3.2 = 648220     /* ld     */
buff.B.5.3.3 = 1054828    /* lda    */
buff.B.5.3.4 = 652992     /* ldx    */
buff.B.5.3.5 = 1051812    /* ldxa   */
buff.B.5.3.6 = 657056     /* ledx   */                           /*V221*/
buff.B.5.3.7 = 1055876    /* ledxa  */                           /*V221*/
buff.B.5.3.8 = 1075472    /* ledxan */
buff.B.5.3.9 = 653132     /* lx     */                           /*V221*/

/*****   VL3A   *****/
buff.B.5.4.1 = 622688     /* lb     */
buff.B.5.4.2 = 636340     /* ld     */
buff.B.5.4.3 = 1044548    /* lda    */
buff.B.5.4.4 = 639832     /* ldx    */
buff.B.5.4.5 = 1039708    /* ldxa   */
buff.B.5.4.6 = 644216     /* ledx   */
buff.B.5.4.7 = 1044092    /* ledxa  */
buff.B.5.4.8 = 1063512    /* ledxan */
buff.B.5.4.9 = 638616     /* lx     */                           /*V221*/

/*****   V2LBI   *****/                 /* same as V2.0 need to verify */
buff.C.5.1.1 = 2751013    /* lb     */
buff.C.5.1.2 = 2751013    /* lbnr   */
buff.C.5.1.3 = 3197469    /* ld     */
buff.C.5.1.4 = 3619541    /* ldx    */
buff.C.5.1.5 = 4118724    /* ledx   */
buff.C.5.1.6 = 2892349    /* lx     */
buff.C.5.1.7 = 2892349    /* lxnr   */

/*            Array Variables for BUFFER sizes for MRS-V2.2 */
/*****   VL   *****/
buff.A.6.1.1 =  931848    /* lb    C00 */
buff.A.6.1.2 =  904336    /* lbnr  C05 */
buff.A.6.1.3 =  957924    /* ld    C01 */
buff.A.6.1.4 = 1444008    /* lda   C03 */
buff.A.6.1.5 =  961636    /* ldx   C0B */
buff.A.6.1.6 = 1449088    /* ldxa  C0F */
buff.A.6.1.7 = 964792     /* ledx  C0C */
buff.A.6.1.8 = 1452244    /* ledxa C0D */
buff.A.6.1.9 = 937288    /* lx    C0A */
buff.A.6.1.10 = 958355    /* lxnr  C0E */
buff.A.6.1.11 = 1287876   /* lanr  C02 */
buff.A.6.1.12 = 968052   /* ldxc C0H */

/*****   VLBI   *****/
buff.A.6.1.13 =  967512   /* lb    B10 */
buff.A.6.1.14 =  993900   /* ld    B11 */
buff.A.6.1.15 = 1479984   /* lda   B13 */
buff.A.6.1.16 = 997644    /* ldx   B1B */
buff.A.6.1.17 = 1483728   /* ldxa  B1F */
buff.A.6.1.18 = 1001020   /* ledx  B1C */
buff.A.6.1.19 = 1487104   /* ledxa B1D */
buff.A.6.1.20 =  970988   /* lx    B1A */
buff.A.6.1.21 = 1003544  /* ldxc C1H */

/* FOR VL3s the BUFFER space is calculated. Following is HEAP only */
/*****   VL3   *****/
buff.B.6.1.1 = 507940     /* lb     */
buff.B.6.1.2 = 519716     /* ld     */
buff.B.6.1.3 = 1026760    /* lda    */
buff.B.6.1.4 = 522792     /* ldx    */
buff.B.6.1.5 = 1031712    /* ldxa   */
buff.B.6.1.6 = 527584     /* ledx   */
buff.B.6.1.7 = 1035224    /* ledxa  */
buff.B.6.1.8 = 1035384    /* ledxan */
buff.B.6.1.9 = 509608     /* lx     */
buff.B.6.1.10 = 536000    /* ldxc   */   /* added  */

/*****   VL3BI   *****/
buff.B.6.2.1 = 533352     /* lb     */
buff.B.6.2.2 = 544448     /* ld     */
buff.B.6.2.3 = 1052248    /* lda    */
buff.B.6.2.4 = 548212     /* ldx    */
buff.B.6.2.5 = 1056252    /* ldxa   */
buff.B.6.2.6 = 552748     /* ledx   */
buff.B.6.2.7 = 1060772    /* ledxa  */
buff.B.6.2.8 = 1060788    /* ledxan */
buff.B.6.2.9 = 534868     /* lx     */
buff.B.6.2.10 = 561244    /* ldxc   */   /* added  */
buff.B.6.2.11 = 1019976   /* lanr   */  /*Need to Verify */

/*****   VL3PI   *****/
buff.B.6.3.1 = 582150     /* lb     */
buff.B.6.3.2 = 595440     /* ld     */
buff.B.6.3.3 = 1101996    /* lda    */
buff.B.6.3.4 = 599604     /* ldx    */
buff.B.6.3.5 = 1106000    /* ldxa   */
buff.B.6.3.6 = 604044     /* ledx   */                           /*V221*/
buff.B.6.3.7 = 1112168    /* ledxa  */                           /*V221*/
buff.B.6.3.8 = 1111924    /* ledxan */                           /*V221*/
buff.B.6.3.9 = 586100     /* lx     */
buff.B.6.3.10 = 612412    /* ldxc   */  /* added  */

/*****   VL3A   *****/
buff.B.6.4.1 = 1721688    /* lb     */
buff.B.6.4.2 = 1733420    /* ld     */
buff.B.6.4.3 = 2240912    /* lda    */
buff.B.6.4.4 = 1737492    /* ldx    */
buff.B.6.4.5 = 2243432    /* ldxa   */
buff.B.6.4.6 = 1742040    /* ledx   */                           /*V221*/
buff.B.6.4.7 = 2249440    /* ledxa  */                           /*V221*/
buff.B.6.4.8 = 1891404    /* ledxan */
buff.B.6.4.9 = 1725604    /* lx     */
buff.B.6.4.10 = 1750480   /* ldxc   */   /* added  */

/*****   V2LBI   *****/
buff.C.6.1.1 = 616452     /* v2lbi-lb     */
buff.C.6.1.2 = 608880     /* v2lbi-lbnr   */
buff.C.6.1.3 = 646544     /* v2lbi-ld     */
buff.C.6.1.4 = 666128     /* v2lbi-ldx    */
buff.C.6.1.5 = 667672     /* v2lbi-ledx   */
buff.C.6.1.6 = 632584     /* v2lbi-lx     */
buff.C.6.1.7 = 612700     /* v2lbi-lxnr   */
buff.C.6.1.8 = 628348     /* v2l-lb       */       /* new for c22 */
buff.C.6.1.9 = 615028     /* v2lbi-lxcnr  */       /* new for c22 */
buff.C.6.1.10 = 667968    /* v2lbi-ldxc   */       /* new for c22 */

/*            Array Variables for BUFFER sizes for MRS-V3.1 */
/*****   VL   *****/
buff.A.7.1.1 = 968376     /* lb     */
buff.A.7.1.3 = 978420     /* ld     */
buff.A.7.1.4 = 1465872    /* lda    */
buff.A.7.1.5 = 983404     /* ldx    */
buff.A.7.1.6 = 1470856    /* ldxa   */
buff.A.7.1.7 = 986572     /* ledx   */
buff.A.7.1.9 = 973360     /* lx     */
buff.A.7.1.22 = 993076    /* ledxc  */
buff.A.7.1.23 = 993076    /* ledx3c  */

/*****   VLBI   *****/
buff.A.7.1.13 =  981064   /* lb     */
buff.A.7.1.14 =  991108   /* ld     */
buff.A.7.1.15 = 1373564   /* lda    */
buff.A.7.1.16 =  996092   /* ldx    */
buff.A.7.1.17 = 1379144   /* ldxa   */
buff.A.7.1.18 =  999260   /* ledx   */
buff.A.7.1.20 =  986380   /* lx     */
buff.A.7.1.24 = 1006176   /* ledxc  */
buff.A.7.1.25 = 1005764   /* ledx3c  */

/* FOR VL3s the BUFFER space is calculated. Following is HEAP only */
/*****   VL3   *****/
buff.B.7.1.2 = 507019     /* ld     */
buff.B.7.1.3 = 1015191    /* lda    */
buff.B.7.1.4 = 510575     /* ldx    */
buff.B.7.1.5 = 1019531    /* ldxa   */
buff.B.7.1.6 = 514903     /* ledx   */
buff.B.7.1.7 = 1023859    /* ledxa  */
buff.B.7.1.8 = 1023863    /* ledxan */
buff.B.7.1.10 = 523591    /* ldxc   */
buff.B.7.1.12 = 523591    /* ldx3c  */
buff.B.7.1.13 = 528703    /* ledxc */
buff.B.7.1.14 = 527919    /* ledx3c */
buff.B.7.1.15 = 1036875   /* ledxac */
buff.B.7.1.16 = 1036875   /* ledxa3c */

/*****   VL3BI   *****/
buff.B.7.2.2 = 522255     /* ld     */
buff.B.7.2.3 = 1030427    /* lda    */
buff.B.7.2.4 = 525811     /* ldx    */
buff.B.7.2.5 = 1034767    /* ldxa   */
buff.B.7.2.6 = 530139     /* ledx   */
buff.B.7.2.7 = 1039095    /* ledxa  */
buff.B.7.2.8 = 1039099    /* ledxan */
buff.B.7.2.10 = 538827    /* ldxc   */
buff.B.7.2.11 = 1039012   /* lanr   */
buff.B.7.2.12 = 538827    /* ldx3c  */
buff.B.7.2.13 = 543939    /* ledxc */
buff.B.7.2.14 = 543939    /* ledx3c */
buff.B.7.2.15 = 1052111   /* ledxac */
buff.B.7.2.16 = 1052111   /* ledxa3c */

/*****   VL3PI   *****/
buff.B.7.3.2 = 533427     /* ld     */
buff.B.7.3.3 = 1041599    /* lda    */
buff.B.7.3.4 = 536983     /* ldx    */
buff.B.7.3.5 = 1045939    /* ldxa   */
buff.B.7.3.6 = 541311     /* ledx   */
buff.B.7.3.7 = 1050267    /* ledxa  */
buff.B.7.3.8 = 1050271    /* ledxan */
buff.B.7.3.10 = 549999    /* ldxc   */
buff.B.7.3.12 = 549999    /* ldx3c  */
buff.B.7.3.13 = 555111    /* ledxc */
buff.B.7.3.14 = 554327    /* ledx3c */
buff.B.7.3.15 = 1063283   /* ledxac */
buff.B.7.3.16 = 1063283   /* ledxa3c */

/*****   VL3A   *****/
buff.B.7.4.2 = 527575     /* ld     */
buff.B.7.4.3 = 1036531    /* lda    */
buff.B.7.4.4 = 531531     /* ldx    */
buff.B.7.4.5 = 1040487    /* ldxa   */
buff.B.7.4.6 = 535863     /* ledx   */
buff.B.7.4.7 = 1044819    /* ledxa  */
buff.B.7.4.8 = 714823     /* ledxan */
buff.B.7.4.10 = 1841884   /* ldxc   */
buff.B.7.4.13 = 548879    /* ledxc */
buff.B.7.4.14 = 548879    /* ledx3c */
buff.B.7.4.15 = 1057835   /* ledxac */
buff.B.7.4.16 = 1057835   /* ledxa3c */

/*****   V2LBI   *****/
buff.C.7.1.3 = 673884     /* v2lbi-ld     */
buff.C.7.1.4 = 681884     /* v2lbi-ldx    */
buff.C.7.1.5 = 684808     /* v2lbi-ledx   */
buff.C.7.1.6 = 669404     /* v2lbi-lx     */
buff.C.7.1.8 = 610592     /* v2l-lb       */
buff.C.7.1.11 = 639244     /* v2lbi-lbx25  */
buff.C.7.1.12 = 640640    /* v2lbi-lbfr   */
buff.C.7.1.13 = 643680    /* v2lbi-lxx25  */
buff.C.7.1.14 = 645076    /* v2lbi-lxfr   */
buff.C.7.1.15 = 688064    /* v2lbi-ledxc  */
buff.C.7.1.16 = 688064    /* v2l-ledx3c   */

/*            Array Variables for BUFFER sizes for MRS-V3.2*/
/*****   VL   *****/
buff.A.8.1.1 = 1226608    /* lb     */
buff.A.8.1.3 = 1102048    /* ld     */
buff.A.8.1.4 = 1575088    /* lda    */
buff.A.8.1.5 = 1106856    /* ldx    */
buff.A.8.1.7 = 1109992    /* ledx   */
buff.A.8.1.9 = 1098292    /* lx     */
buff.A.8.1.22 = 1116580   /* ledxdc */
buff.A.8.1.23 = 1116580   /* ledx3c  */
buff.A.8.1.26 = 1109000   /* ledxcc  */

/*****   VLBI   *****/
buff.A.8.1.13 = 1064946   /* lb     */
buff.A.8.1.14 = 1074456   /* ld     */
buff.A.8.1.15 = 1439808   /* lda    */
buff.A.8.1.16 = 1078796   /* ldx    */
buff.A.8.1.18 = 1082152   /* ledx   */
buff.A.8.1.20 = 1070232   /* lx     */
buff.A.8.1.24 = 1089164   /* ledxdc */
buff.A.8.1.25 = 1088648   /* ledx3c  */
buff.A.8.1.27 = 1082160   /* ledxcc  */

/* FOR VL3s the BUFFER space is calculated. Following is HEAP only */
/*****   VL3   *****/
buff.B.8.1.2 = 528419     /* ld     */
buff.B.8.1.3 = 1038827    /* lda    */
buff.B.8.1.4 = 529951     /* ldx    */
buff.B.8.1.5 = 1043007    /* ldxa   */
buff.B.8.1.6 = 534235     /* ledx   */
buff.B.8.1.7 = 1047295    /* ledxa  */
buff.B.8.1.8 = 1047299    /* ledxan */
buff.B.8.1.10 = 542951    /* ldxdc  */
buff.B.8.1.12 = 542941    /* ldx3c  */
buff.B.8.1.13 = 548019    /* ledxdc */
buff.B.8.1.14 = 547235    /* ledx3c */
buff.B.8.1.15 = 1060295   /* ledxadc */
buff.B.8.1.16 = 1060295   /* ledxa3c */
buff.B.8.1.17 = 529959    /* ldxcc */
buff.B.8.1.18 = 535027    /* ledxcc */
buff.B.8.1.19 = 1047303   /* ledxacc */
buff.B.8.1.20 = 531311    /* fldx    */
buff.B.8.1.21 = 534059    /* fldxcc  */
buff.B.8.1.22 = 547131    /* fldxdc  */
buff.B.8.1.23 = 547131    /* fldx3c  */
buff.B.8.1.24 = 1047115   /* fldxa   */
buff.B.8.1.25 = 1047115   /* fldxacc */
buff.B.8.1.26 = 1060187   /* fldxadc */
buff.B.8.1.27 = 1060187   /* fldxa3c */

/*****   VL3I   *****/
buff.B.8.2.2 = 552959     /* ld     */
buff.B.8.2.3 = 1065231    /* lda    */
buff.B.8.2.4 = 556355     /* ldx    */
buff.B.8.2.5 = 1069411    /* ldxa   */
buff.B.8.2.6 = 560639     /* ledx   */
buff.B.8.2.7 = 1073699    /* ledxa  */
buff.B.8.2.8 = 1073703    /* ledxan */
buff.B.8.2.10 = 569355    /* ldxdc  */
buff.B.8.2.12 = 569355    /* ldx3c  */
buff.B.8.2.13 = 574423    /* ledxdc */
buff.B.8.2.14 = 574423    /* ledx3c */
buff.B.8.2.15 = 1086699   /* ledxadc */
buff.B.8.2.16 = 1086699   /* ledxa3c */
buff.B.8.2.17 = 556363    /* ldxcc */
buff.B.8.2.18 = 561431    /* ledxcc */
buff.B.8.2.19 = 1073707   /* ledxacc */
buff.B.8.2.20 = 560463    /* fldx    */
buff.B.8.2.21 = 560463    /* fldxcc  */
buff.B.8.2.22 = 573535    /* fldxdc  */
buff.B.8.2.23 = 573535    /* fldx3c  */
buff.B.8.2.24 = 1073519   /* fldxa   */
buff.B.8.2.25 = 1073519   /* fldxacc */
buff.B.8.2.26 = 1086591   /* fldxadc */
buff.B.8.2.27 = 1086591   /* fldxa3c */

/*****   VL3A   *****/
buff.B.8.4.2 = 547231     /* ld     */
buff.B.8.4.3 = 1060291    /* lda    */
buff.B.8.4.4 = 551027     /* ldx    */
buff.B.8.4.5 = 1064087    /* ldxa   */
buff.B.8.4.6 = 555315     /* ledx   */
buff.B.8.4.7 = 1068371    /* ledxa  */
buff.B.8.4.8 = 1068375    /* ledxan */
buff.B.8.4.13 = 568315    /* ledxdc */
buff.B.8.4.14 = 568315    /* ledx3c */
buff.B.8.4.15 = 1081371   /* ledxadc */
buff.B.8.4.16 = 1081371   /* ledxa3c */
buff.B.8.4.18 = 555323    /* ledxcc */
buff.B.8.4.19 = 1068379   /* ledxacc */
buff.B.8.4.20 = 555131    /* fldx   */
buff.B.8.4.21 = 555139    /* fldxcc */
buff.B.8.4.22 = 568211    /* fldxdc */
buff.B.8.4.23 = 568411    /* fldx3c */
buff.B.8.4.24 = 1068195   /* fldxa   */
buff.B.8.4.25 = 1068195   /* fldxacc */
buff.B.8.4.26 = 1081267   /* fldxadc */
buff.B.8.4.27 = 1081267   /* fldxa3c */

/*****   V2LBI   *****/
buff.C.8.1.3 = 720812     /* bi-ld     */
buff.C.8.1.4 = 728652     /* bi-ldx    */
buff.C.8.1.5 = 731544     /* bi-ledx   */
buff.C.8.1.6 = 717660     /* bi-lx     */
buff.C.8.1.8 = 612180     /* -lb       */
buff.C.8.1.11 = 686852    /* bi-lbx25  */
buff.C.8.1.12 = 688848    /* bi-lbfr   */
buff.C.8.1.15 = 734796    /* bi-ledxdc */
buff.C.8.1.16 = 734796    /* bi-ledx3c */
buff.C.8.1.17 = 731552    /* bi-ledxcc */
buff.C.8.1.18 = 683768    /* bi-lxfr   */
buff.C.8.1.19 = 602000    /* bi-lxfrnb */

/*            Array Variables for BUFFER sizes for MRS-V3.3*/
/*****   VL   ****       CC50_2b     */
buff.A.9.1.1  = 1081464   /* lb      */
buff.A.9.1.2  = 1090028   /* ld      */
buff.A.9.1.3  = 1409922   /* lda     */
buff.A.9.1.4  = 1094852   /* ldx     */
buff.A.9.1.5  = 1114352   /* ledx    */
buff.A.9.1.6  = 1086288   /* lx      */
buff.A.9.1.7  = 1195936   /* ledxdc  */
buff.A.9.1.8  = 1195936   /* ledx3c  */
buff.A.9.1.9  = 1187968   /* ldvdc   */
buff.A.9.1.10 = 1187968   /* ldv3c   */

/*****   VLBI   ****     cc50_2b     */
buff.A.9.1.11 = 1154608   /* lb      */
buff.A.9.1.12 = 1163172   /* ld      */
buff.A.9.1.13 = 1539164   /* lda     */
buff.A.9.1.14 = 1180345   /* ldx     */
buff.A.9.1.15 = 1200056   /* ledx    */
buff.A.9.1.16 = 1172772   /* lx      */
buff.A.9.1.17 = 1282620   /* ledxdc  */
buff.A.9.1.18 = 1281720   /* ledx3c  */
buff.A.9.1.19 = 1273480   /* ldvdc   */
buff.A.9.1.20 = 1273480   /* ldv3c   */

/* FOR VL3s the BUFFER space is calculated. Following is HEAP only */
/*****   VL3   ****      CC50_22b    */
buff.B.9.1.1  = 562139    /* ld      */
buff.B.9.1.2  = 1071895   /* lda     */
buff.B.9.1.3  = 565935    /* ldx     */
buff.B.9.1.4  = 1075691   /* ldxa    */
buff.B.9.1.5  = 586711    /* ledx    */
buff.B.9.1.6  = 1096471   /* ledxa   */
buff.B.9.1.7  = 1096471   /* ledxan  */
buff.B.9.1.8  = 737475    /* ldxdc   */
buff.B.9.1.9  = 737475    /* ldx3c   */
buff.B.9.1.10 = 741283    /* ledxdc  */
buff.B.9.1.11 = 741283    /* ledx3c  */
buff.B.9.1.12 = 1247235   /* ledxadc */
buff.B.9.1.13 = 1247235   /* ledxa3c */
buff.B.9.1.14 = 592711    /* fldx    */
buff.B.9.1.15 = 734927    /* fldxdc  */
buff.B.9.1.16 = 734927    /* fldx3c  */
buff.B.9.1.17 = 1102467   /* fldxa   */
buff.B.9.1.18 = 1244683   /* fldxadc */
buff.B.9.1.19 = 1244683   /* fldxa3c */
buff.B.9.1.20 = 733195    /* lvndc   */
buff.B.9.1.21 = 733195    /* lvn3c   */

/*****   VL3I   ****     CC50_22b    */
buff.B.9.2.1  = 592031    /* ld      */
buff.B.9.2.2  = 1101787   /* lda     */
buff.B.9.2.3  = 595839    /* ldx     */
buff.B.9.2.4  = 1105595   /* ldxa    */
buff.B.9.2.5  = 616835    /* ledx    */
buff.B.9.2.6  = 1126595   /* ledxa   */
buff.B.9.2.7  = 1126599   /* ledxan  */
buff.B.9.2.8  = 767051    /* ldxdc   */
buff.B.9.2.9  = 767051    /* ldx3c   */
buff.B.9.2.10 = 771567    /* ledxdc  */
buff.B.9.2.11 = 771567    /* ledx3c  */
buff.B.9.2.12 = 1281327   /* ledxadc */
buff.B.9.2.13 = 1281327   /* ledxa3c */
buff.B.9.2.14 = 632539    /* fldx    */
buff.B.9.2.15 = 778563    /* fldxdc  */
buff.B.9.2.16 = 778563    /* fldx3c  */
buff.B.9.2.17 = 1142295   /* fldxa   */
buff.B.9.2.18 = 1288319   /* fldxadc */
buff.B.9.2.19 = 1288319   /* fldxa3c */
buff.B.9.2.20 = 763247    /* lvndc   */
buff.B.9.2.21 = 763247    /* lvn3c   */

/*****   VL3A   ****     cc50_22b    */
buff.B.9.4.1  = 1070031   /* ld      */
buff.B.9.4.2  = 1583607   /* lda     */
buff.B.9.4.3  = 1073847   /* ldx     */
buff.B.9.4.4  = 1583607   /* ldxa    */
buff.B.9.4.5  = 1095067   /* ledx    */
buff.B.9.4.6  = 1604823   /* ledxa   */
buff.B.9.4.7  = 1127827   /* ledxan  */
buff.B.9.4.10 = 1242691   /* ledxdc  */
buff.B.9.4.11 = 1242691   /* ledx3c  */
buff.B.9.4.12 = 1752447   /* ledxadc */
buff.B.9.4.13 = 1752447   /* ledxa3c */
buff.B.9.4.14 = 1097399   /* fldx    */
buff.B.9.4.15 = 1238978   /* fldxdc  */
buff.B.9.4.16 = 1238978   /* fldx3c  */
buff.B.9.4.17 = 1618275   /* fldxa   */
buff.B.9.4.18 = 1748731   /* fldxadc */
buff.B.9.4.19 = 1748731   /* fldxa3c */

/*****   V2LBI   ****    CC50_2b       */
buff.C.9.1.1  = 810080    /* bi-ld     */
buff.C.9.1.2  = 819920    /* bi-ldx    */
buff.C.9.1.3  = 839176    /* bi-ledx   */
buff.C.9.1.4  = 806936    /* bi-lx     */
buff.C.9.1.5  = 633660    /* -lb       */
buff.C.9.1.6  = 708116    /* bi-lbx25  */
buff.C.9.1.7  = 710112    /* bi-lbfr   */
buff.C.9.1.8  = 622136    /* bi-lxfrnb */
buff.C.9.1.9  = 909940    /* bi-ldvdc  */
buff.C.9.1.10 = 909940    /* bi-ldv3c  */
/****************************************************************/
/*            Array variables for FLASH  sizes                  */
/****************************************************************/
/*            Array Variables for FLASH sizes for MRS-V2.0 */
/*****   VL   *****/
flash.A.4.1.1 = 41  /* la     */
flash.A.4.1.2 = 18  /* lb     */
flash.A.4.1.3 = 23  /* ld     */
flash.A.4.1.4 = 43  /* lda    */
flash.A.4.1.5 = 25  /* ldx    */
flash.A.4.1.6 = 30  /* ledx   */
flash.A.4.1.7 = 50  /* ledxa  */
flash.A.4.1.8 = 50  /* ledxar */
flash.A.4.1.9 =  31 /* ledxk  */
flash.A.4.1.10 = 30 /* ledxr  */
flash.A.4.1.11 = 19 /* lx     */

/*****   VLBI   *****/
flash.A.4.1.12 = 21 /* lb     */
flash.A.4.1.13 = 26 /* ld     */
flash.A.4.1.14 = 47 /* lda    */
flash.A.4.1.15 = 27 /* ldx    */
flash.A.4.1.16 = 32 /* ledx   */
flash.A.4.1.17 = 52 /* ledxa  */
flash.A.4.1.18 = 53 /* ledxar */
flash.A.4.1.19 = 33 /* ledxk  */
flash.A.4.1.20 = 32 /* ledxr  */
flash.A.4.1.21 = 22 /* lx     */

/*****   VL3   *****/
flash.B.4.1.1 = 5   /* lb     */
flash.B.4.1.2 = 7   /* ld     */
flash.B.4.1.3 = 12  /* lda    */
flash.B.4.1.4 = 7   /* ldx    */
flash.B.4.1.5 = 8   /* ledx   */
flash.B.4.1.6 = 13  /* ledxa  */
flash.B.4.1.7 = 13  /* ledxar */
flash.B.4.1.8 = 8   /* ledxk  */
flash.B.4.1.9 = 8   /* ledxr  */
flash.B.4.1.10 = 5  /* lx     */

/*****   VL3BI  *****/
flash.B.4.2.1 = 6   /* lb     */
flash.B.4.2.2 = 7   /* ld     */
flash.B.4.2.3 = 12  /* lda    */
flash.B.4.2.4 = 7   /* ldx    */
flash.B.4.2.5 = 8   /* ledx   */
flash.B.4.2.6 = 14  /* ledxa  */
flash.B.4.2.7 = 14  /* ledxar */
flash.B.4.2.8 = 9   /* ledxk  */
flash.B.4.2.9 = 8   /* ledxr  */
flash.B.4.2.10 = 6  /* lx     */


/*****   VL3PI   *****/
flash.B.4.3.1 = 6   /* lb     */
flash.B.4.3.2 = 7   /* ld     */
flash.B.4.3.3 = 12  /* lda    */
flash.B.4.3.4 = 7   /* ldx    */
flash.B.4.3.5 = 8   /* ledx   */
flash.B.4.3.6 = 14  /* ledxa  */
flash.B.4.3.7 = 14  /* ledxar */
flash.B.4.3.8 = 9   /* ledxk  */
flash.B.4.3.9 = 9   /* ledxr  */
flash.B.4.3.10 = 6  /* lx     */


/*****   VL3A   ****/
flash.B.4.4.1 = 8   /* lb     */
flash.B.4.4.2 = 9   /* ld     */
flash.B.4.4.3 = 14  /* lda    */
flash.B.4.4.4 = 9   /* ldx    */
flash.B.4.4.5 = 10  /* ledx   */
flash.B.4.4.6 = 15  /* ledxa  */
flash.B.4.4.7 = 15  /* ledxar */
flash.B.4.4.8 = 10  /* ledxr  */
flash.B.4.4.10 = 8   /* lx     */


/*****   V2LBI   *****/
flash.C.4.1.1 = 20  /* lb     */
flash.C.4.1.2 = 23  /* ld     */
flash.C.4.1.3 = 27  /* ldx    */
flash.C.4.1.4 = 31  /* ledx   */
flash.C.4.1.5 = 21  /* lx     */



/*            Array Variables for FLASH sizes for MRS-V2.1 */
/*****   VL   *****/
flash.A.5.1.1 = 22        /* lb     */
flash.A.5.1.2 = 21        /* lbnr   */
flash.A.5.1.3 = 28        /* ld     */
flash.A.5.1.4 = 50        /* lda    */
flash.A.5.1.5 = 30        /* ldx    */
flash.A.5.1.6 = 52        /* ldxa   */
flash.A.5.1.7 = 34        /* ledx   */
flash.A.5.1.8 = 56        /* ledxa  */
flash.A.5.1.9 = 24        /* lx     */
flash.A.5.1.10 = 23       /* lxnr   */
flash.A.5.1.11 = 39       /* lanr   */

/*****   VLBI   *****/
flash.A.5.1.12 = 25       /* lb     */
flash.A.5.1.13 = 31       /* ld     */
flash.A.5.1.14 = 53       /* lda    */
flash.A.5.1.15 = 33       /* ldx    */
flash.A.5.1.16 = 54       /* ldxa   */
flash.A.5.1.17 = 37       /* ledx   */
flash.A.5.1.18 = 59       /* ledxa  */
flash.A.5.1.19 = 27       /* lx     */


/*****   VL3   *****/
flash.B.5.1.1 = 6         /* lb     */
flash.B.5.1.2 = 8         /* ld     */
flash.B.5.1.3 = 13        /* lda    */
flash.B.5.1.4 = 8         /* ldx    */
flash.B.5.1.5 = 14        /* ldxa   */
flash.B.5.1.6 = 9         /* ledx   */
flash.B.5.1.7 = 15        /* ledxa  */
flash.B.5.1.8 = 15        /* ledxan */
flash.B.5.1.9 = 7         /* lx     */


/*****   VL3BI   *****/
flash.B.5.2.1 = 7         /* lb     */
flash.B.5.2.2 = 8         /* ld     */
flash.B.5.2.3 = 14        /* lda    */
flash.B.5.2.4 = 9         /* ldx    */
flash.B.5.2.5 = 14        /* ldxa   */
flash.B.5.2.6 = 10        /* ledx   */
flash.B.5.2.7 = 15        /* ledxa  */
flash.B.5.2.8 = 16        /* ledxan */
flash.B.5.2.9 = 7         /* lx     */
flash.B.5.2.10 = 12       /* lanr   */

/*****   VL3PI   *****/
flash.B.5.3.1 = 7         /* lb     */
flash.B.5.3.2 = 8         /* ld     */
flash.B.5.3.3 = 14        /* lda    */
flash.B.5.3.4 = 9         /* ldx    */
flash.B.5.3.5 = 14        /* ldxa   */
flash.B.5.3.6 = 10        /* ledx   */
flash.B.5.3.7 = 15        /* ledxa  */
flash.B.5.3.8 = 16        /* ledxan */
flash.B.5.3.9 = 7         /* lx     */

/*****   VL3A   *****/
flash.B.5.4.1 = 10        /* lb     */
flash.B.5.4.2 = 11        /* ld     */
flash.B.5.4.3 = 17        /* lda    */
flash.B.5.4.4 = 12        /* ldx    */
flash.B.5.4.5 = 17        /* ldxa   */
flash.B.5.4.6 = 13        /* ledx   */
flash.B.5.4.7 = 18        /* ledxa  */
flash.B.5.4.8 = 18        /* ledxan */
flash.B.5.4.9 = 10        /* lx     */

/*****   V2LBI   *****/
flash.C.5.1.1 = 24        /* lb     */
flash.C.5.1.2 = 23        /* lbnr   */
flash.C.5.1.3 = 29        /* ld     */
flash.C.5.1.4 = 32        /* ldx    */
flash.C.5.1.5 = 36        /* ledx   */
flash.C.5.1.6 = 26        /* lx     */
flash.C.5.1.7 = 25        /* lxnr   */


/*            Array Variables for FLASH sizes for MRS-V2.2 */
/*****   VL   *****/
flash.A.6.1.1 = 24        /* lb     */
flash.A.6.1.2 = 21        /* lbnr   */
flash.A.6.1.3 = 29        /* ld     */
flash.A.6.1.4 = 54        /* lda    */
flash.A.6.1.5 = 31        /* ldx    */
flash.A.6.1.6 = 56        /* ldxa   */
flash.A.6.1.7 = 35        /* ledx   */
flash.A.6.1.8 = 60        /* ledxa  */
flash.A.6.1.9 = 25        /* lx     */
flash.A.6.1.10 = 23       /* lxnr   */
flash.A.6.1.11 = 39       /* lanr   */
flash.A.6.1.12 = 31       /* ldxc   */

/*****   VLBI   *****/
flash.A.6.1.13 = 26       /* lb     */
flash.A.6.1.14 = 32       /* ld     */
flash.A.6.1.15 = 57       /* lda    */
flash.A.6.1.16 = 33       /* ldx    */
flash.A.6.1.17 = 58       /* ldxa   */
flash.A.6.1.18 = 38       /* ledx   */
flash.A.6.1.19 = 62       /* ledxa  */
flash.A.6.1.20 = 28       /* lx     */
flash.A.6.1.21 = 33       /* ldxc   */


/*****   VL3   *****/
flash.B.6.1.1 = 6         /* lb     */
flash.B.6.1.2 = 8         /* ld     */
flash.B.6.1.3 = 14        /* lda    */
flash.B.6.1.4 = 8         /* ldx    */
flash.B.6.1.5 = 14        /* ldxa   */
flash.B.6.1.6 = 9         /* ledx   */
flash.B.6.1.7 = 16        /* ledxa  */
flash.B.6.1.8 = 16        /* ledxan */
flash.B.6.1.9 = 7         /* lx     */
flash.B.6.1.10 = 8        /* ldxc   */

/*****   VL3BI   *****/
flash.B.6.2.1 = 7         /* lb     */
flash.B.6.2.2 = 8         /* ld     */
flash.B.6.2.3 = 15        /* lda    */
flash.B.6.2.4 = 9         /* ldx    */
flash.B.6.2.5 = 15        /* ldxa   */
flash.B.6.2.6 = 10        /* ledx   */
flash.B.6.2.7 = 16        /* ledxa  */
flash.B.6.2.8 = 16        /* ledxan */
flash.B.6.2.9 = 7         /* lx     */
flash.B.6.2.10 = 9        /* ldxc   */
flash.B.6.2.11 = 13       /* lanr   */

/*****   VL3PI   *****/
flash.B.6.3.1 = 7         /* lb     */
flash.B.6.3.2 = 9         /* ld     */
flash.B.6.3.3 = 15        /* lda    */
flash.B.6.3.4 = 9         /* ldx    */
flash.B.6.3.5 = 15        /* ldxa   */
flash.B.6.3.6 = 10        /* ledx   */
flash.B.6.3.7 = 16        /* ledxa  */
flash.B.6.3.8 = 16        /* ledxan */
flash.B.6.3.9 = 7         /* lx     */
flash.B.6.2.10 = 9        /* ldxc   */

/*****   VL3A   *****/
flash.B.6.4.1 = 10        /* lb     */
flash.B.6.4.2 = 11        /* ld     */
flash.B.6.4.3 = 17        /* lda    */
flash.B.6.4.4 = 12        /* ldx    */
flash.B.6.4.5 = 18        /* ldxa   */
flash.B.6.4.6 = 13        /* ledx   */
flash.B.6.4.7 = 19        /* ledxa  */
flash.B.6.4.8 = 19        /* ledxan */
flash.B.6.4.9 = 10        /* lx     */
flash.B.6.4.10 = 12       /* ldxc   */


/*****   V2LBI   *****/
flash.C.6.1.1 = 25        /* lb     */
flash.C.6.1.2 = 23        /* lbnr   */
flash.C.6.1.3 = 31        /* ld     */
flash.C.6.1.4 = 33        /* ldx    */
flash.C.6.1.5 = 37        /* ledx   */
flash.C.6.1.6 = 27        /* lx     */
flash.C.6.1.7 = 25        /* lxnr   */
flash.C.6.1.8 = 23        /* v2l-lb       */        /* new for c22 */
flash.C.6.1.9 = 25        /* v2lbi-lxcnr  */        /* new for c22 */
flash.C.6.1.10 = 33       /* v2lbi-ldxc   */        /* new for c22 */


/*            Array Variables for FLASH sizes for MRS-V3.1 */
/*****   VL   *****/
flash.A.7.1.1 = 27         /* lb     */
flash.A.7.1.3 = 33         /* ld     */
flash.A.7.1.4 = 61         /* lda    */
flash.A.7.1.5 = 35         /* ldx    */
flash.A.7.1.6 = 62         /* ldxa   */
flash.A.7.1.7 = 39         /* ledx   */
flash.A.7.1.9 = 29         /* lx     */
flash.A.7.1.22 = 40        /* ledxc  */
flash.A.7.1.23 = 40        /* ledx3c  */


/*****   VLBI   *****/
flash.A.7.1.13 = 30        /* lb     */
flash.A.7.1.14 = 36        /* ld     */
flash.A.7.1.15 = 60        /* lda    */
flash.A.7.1.16 = 37        /* ldx    */
flash.A.7.1.17 = 62        /* ldxa   */
flash.A.7.1.18 = 41        /* ledx   */
flash.A.7.1.20 = 31        /* lx     */
flash.A.7.1.24 = 42        /* ledxc  */
flash.A.7.1.25 = 42        /* ledx3c */

/*****   VL3   *****/
flash.B.7.1.2 = 9          /* ld     */
flash.B.7.1.3 = 16         /* lda    */
flash.B.7.1.4 = 9          /* ldx    */
flash.B.7.1.5 = 16         /* ldxa   */
flash.B.7.1.6 = 10         /* ledx   */
flash.B.7.1.7 = 17         /* ledxa  */
flash.B.7.1.8 = 18         /* ledxan */
flash.B.7.1.10 = 10        /* ldxc   */
flash.B.7.1.12 = 10        /* ldx3c  */
flash.B.7.1.13 = 11        /* ledxc */
flash.B.7.1.14 = 11        /* ledx3c */
flash.B.7.1.15 = 17        /* ledxac */
flash.B.7.1.16 = 17        /* ledxa3c */

/*****   VL3BI   *****/
flash.B.7.2.2 = 10         /* ld     */
flash.B.7.2.3 = 16         /* lda    */
flash.B.7.2.4 = 10         /* ldx    */
flash.B.7.2.5 = 17         /* ldxa   */
flash.B.7.2.6 = 11         /* ledx   */
flash.B.7.2.7 = 18         /* ledxa  */
flash.B.7.2.8 = 18         /* ledxan */
flash.B.7.2.10 = 10        /* ldxc   */
flash.B.7.2.11 = 15        /* lanr   */
flash.B.7.2.12 = 10        /* ldx3c  */
flash.B.7.2.13 = 11        /* ledxc */
flash.B.7.2.14 = 11        /* ledx3c */
flash.B.7.2.15 = 18        /* ledxac */
flash.B.7.2.16 = 18        /* ledxa3c */

/*****   VL3PI   *****/
flash.B.7.3.2 = 10         /* ld     */
flash.B.7.3.3 = 16         /* lda    */
flash.B.7.3.4 = 10         /* ldx    */
flash.B.7.3.5 = 17         /* ldxa   */
flash.B.7.3.6 = 11         /* ledx   */
flash.B.7.3.7 = 18         /* ledxa  */
flash.B.7.3.8 = 18         /* ledxan */
flash.B.7.3.10 = 10        /* ldxc   */
flash.B.7.3.12 = 10        /* ldx3c  */
flash.B.7.3.13 = 11        /* ledxc */
flash.B.7.3.14 = 11        /* ledx3c */
flash.B.7.3.15 = 18        /* ledxac */
flash.B.7.3.16 = 18        /* ledxa3c */

/*****   VL3A   *****/
flash.B.7.4.2 = 12         /* ld     */
flash.B.7.4.3 = 19         /* lda    */
flash.B.7.4.4 = 13         /* ldx    */
flash.B.7.4.5 = 20         /* ldxa   */
flash.B.7.4.6 = 14         /* ledx   */
flash.B.7.4.7 = 21         /* ledxa  */
flash.B.7.4.8 = 21         /* ledxan */
flash.B.7.4.13 = 14        /* ledxc */
flash.B.7.4.14 = 14        /* ledx3c */
flash.B.7.4.15 = 21        /* ledxac */
flash.B.7.4.16 = 21        /* ledxa3c */


/*****   V2LBI   *****/
flash.C.7.1.3 = 35         /* v2lbi-ld     */
flash.C.7.1.4 = 37         /* v2lbi-ldx    */
flash.C.7.1.5 = 41         /* v2lbi-ledx   */
flash.C.7.1.6 = 31         /* v2lbi-lx     */
flash.C.7.1.8 = 23         /* v2l-lb       */
flash.C.7.1.11 = 24        /* v2lbi-lbx25  */
flash.C.7.1.12 = 23        /* v2lbi-lbfr   */
flash.C.7.1.13 = 26        /* v2lbi-lxx25  */
flash.C.7.1.14 = 24        /* v2lbi-lxfr   */
flash.C.7.1.15 = 42        /* v2lbi-ledxc  */
flash.C.7.1.16 = 42        /* v2l-ledx3c   */


/*            Array Variables for FLASH sizes for MRS-V3.2      */
/*****   VL   *****/
flash.A.8.1.1 = 30         /* lb     */
flash.A.8.1.3 = 36         /* ld     */
flash.A.8.1.4 = 61         /* lda    */
flash.A.8.1.5 = 38         /* ldx    */
flash.A.8.1.7 = 42         /* ledx   */
flash.A.8.1.9 = 31         /* lx     */
flash.A.8.1.22 = 43        /* ledxdc  */
flash.A.8.1.23 = 43        /* ledx3c  */
flash.A.8.1.26 = 43        /* ledxcc  */


/*****   VLBI   *****/
flash.A.8.1.13 = 33        /* lb     */
flash.A.8.1.14 = 39        /* ld     */
flash.A.8.1.15 = 61        /* lda    */
flash.A.8.1.16 = 41        /* ldx    */
flash.A.8.1.18 = 45        /* ledx   */
flash.A.8.1.20 = 34        /* lx     */
flash.A.8.1.24 = 46        /* ledxdc */
flash.A.8.1.25 = 46        /* ledx3c */
flash.A.8.1.27 = 46        /* ledxcc */

/*****   VL3   *****/
flash.B.8.1.2 = 10         /* ld     */
flash.B.8.1.3 = 17         /* lda    */
flash.B.8.1.4 = 10         /* ldx    */
flash.B.8.1.5 = 17         /* ldxa   */
flash.B.8.1.6 = 11         /* ledx   */
flash.B.8.1.7 = 18         /* ledxa  */
flash.B.8.1.8 = 19         /* ledxan */
flash.B.8.1.10 = 10        /* ldxdc  */
flash.B.8.1.12 = 10        /* ldx3c  */
flash.B.8.1.13 = 11        /* ledxdc */
flash.B.8.1.14 = 11        /* ledx3c */
flash.B.8.1.15 = 19        /* ledxadc */
flash.B.8.1.16 = 19        /* ledxa3c */
flash.B.8.1.17 = 10        /* ldxcc   */
flash.B.8.1.18 = 11        /* ledxcc  */
flash.B.8.1.19 = 19        /* ledxacc */
flash.B.8.1.20 = 12        /* fldx    */
flash.B.8.1.21 = 12        /* fldxcc  */
flash.B.8.1.22 = 12        /* fldxdc  */
flash.B.8.1.23 = 12        /* fldx3c  */
flash.B.8.1.24 = 19        /* fldxa   */
flash.B.8.1.25 = 19        /* fldxacc */
flash.B.8.1.26 = 19        /* fldxadc */
flash.B.8.1.27 = 19        /* fldxa3c */

/*****   VL3I   *****/
flash.B.8.2.2 = 11         /* ld     */
flash.B.8.2.3 = 18         /* lda    */
flash.B.8.2.4 = 11         /* ldx    */
flash.B.8.2.5 = 18         /* ldxa   */
flash.B.8.2.6 = 12         /* ledx   */
flash.B.8.2.7 = 19         /* ledxa  */
flash.B.8.2.8 = 20         /* ledxan */
flash.B.8.2.10 = 11        /* ldxdc  */
flash.B.8.2.12 = 11        /* ldx3c  */
flash.B.8.2.13 = 13        /* ledxdc */
flash.B.8.2.14 = 13        /* ledx3c */
flash.B.8.2.15 = 20        /* ledxadc */
flash.B.8.2.16 = 20        /* ledxa3c */
flash.B.8.2.17 = 11        /* ldxcc   */
flash.B.8.2.18 = 13        /* ledxcc  */
flash.B.8.2.19 = 20        /* ledxacc */
flash.B.8.2.20 = 13        /* fldx   */
flash.B.8.2.21 = 13        /* fldxcc */
flash.B.8.2.22 = 13        /* fldxdc */
flash.B.8.2.23 = 13        /* fldx3c */
flash.B.8.2.24 = 20        /* fldxa   */
flash.B.8.2.25 = 20        /* fldxacc */
flash.B.8.2.26 = 20        /* fldxadc */
flash.B.8.2.27 = 20        /* fldxa3c */

/*****   VL3A   *****/
flash.B.8.4.2 = 12         /* ld     */
flash.B.8.4.3 = 19         /* lda    */
flash.B.8.4.4 = 13         /* ldx    */
flash.B.8.4.5 = 20         /* ldxa   */
flash.B.8.4.6 = 14         /* ledx   */
flash.B.8.4.7 = 21         /* ledxa  */
flash.B.8.4.8 = 21         /* ledxan */
flash.B.8.4.13 = 14        /* ledxdc */
flash.B.8.4.14 = 14        /* ledx3c */
flash.B.8.4.15 = 21        /* ledxadc */
flash.B.8.4.16 = 21        /* ledxa3c */
flash.B.8.4.18 = 14        /* ledxcc  */
flash.B.8.4.19 = 21        /* ledxacc */
flash.B.8.4.20 = 14        /* fldx   */
flash.B.8.4.21 = 14        /* fldxcc */
flash.B.8.4.22 = 14        /* fldxdc */
flash.B.8.4.23 = 14        /* fldx3c */
flash.B.8.4.24 = 21        /* fldxa   */
flash.B.8.4.25 = 21        /* fldxacc */
flash.B.8.4.26 = 21        /* fldxadc */
flash.B.8.4.27 = 21        /* fldxa3c */


/*****   V2LBI   *****/
flash.C.8.1.3 = 37         /* bi-ld     */
flash.C.8.1.4 = 38         /* bi-ldx    */
flash.C.8.1.5 = 44         /* bi-ledx   */
flash.C.8.1.6 = 33         /* bi-lx     */
flash.C.8.1.8 = 24         /* -lb       */
flash.C.8.1.11 = 25        /* bi-lbx25  */
flash.C.8.1.12 = 24        /* bi-lbfr   */
flash.C.8.1.15 = 44        /* bi-ledxdc */
flash.C.8.1.16 = 44        /* bi-ledx3c */
flash.C.8.1.17 = 44        /* bi-ledxcc */
flash.C.8.1.18 = 24        /* bi-lxfr   */
flash.C.8.1.19 = 22        /* bi-lxfrnb */

/*            Array Variables for FLASH sizes for MRS-V3.3      */
/*****   VL   *****/
flash.A.9.1.1  = 32        /* lb      */
flash.A.9.1.2  = 39        /* ld      */
flash.A.9.1.3  = 63        /* lda     */
flash.A.9.1.4  = 41        /* ldx     */
flash.A.9.1.5  = 50        /* ledx    */
flash.A.9.1.6  = 34        /* lx      */
flash.A.9.1.7  = 54        /* ledxdc  */
flash.A.9.1.8  = 54        /* ledx3c  */
flash.A.9.1.9  = 48        /* ldvdc   */
flash.A.9.1.10 = 48        /* ldv3c   */


/*****   VLBI   *****/
flash.A.9.1.11 = 35        /* lb     */
flash.A.9.1.12 = 42        /* ld     */
flash.A.9.1.13 = 63        /* lda    */
flash.A.9.1.14 = 44        /* ldx    */
flash.A.9.1.15 = 52        /* ledx   */
flash.A.9.1.16 = 37        /* lx     */
flash.A.9.1.17 = 57        /* ledxdc */
flash.A.9.1.18 = 57        /* ledx3c */
flash.A.9.1.19 = 50        /* ldvdc  */
flash.A.9.1.20 = 50        /* ldv3c  */

/*****   VL3   *****/
flash.B.9.1.1  = 10        /* ld      */
flash.B.9.1.2  = 18        /* lda     */
flash.B.9.1.3  = 11        /* ldx     */
flash.B.9.1.4  = 18        /* ldxa    */
flash.B.9.1.5  = 13        /* ledx    */
flash.B.9.1.6  = 20        /* ledxa   */
flash.B.9.1.7  = 21        /* ledxan  */
flash.B.9.1.8  = 13        /* ldxdc   */
flash.B.9.1.9  = 13        /* ldx3c   */
flash.B.9.1.10 = 14        /* ledxdc  */
flash.B.9.1.11 = 14        /* ledx3c  */
flash.B.9.1.12 = 21        /* ledxadc */
flash.B.9.1.13 = 21        /* ledxa3c */
flash.B.9.1.14 = 14        /* fldx    */
flash.B.9.1.15 = 14        /* fldxdc  */
flash.B.9.1.16 = 14        /* ledx3c  */
flash.B.9.1.17 = 21        /* fldxa   */
flash.B.9.1.18 = 22        /* fldxadc */
flash.B.9.1.19 = 22        /* fldxa3c */
flash.B.9.1.20 = 13        /* lvndc   */
flash.B.9.1.21 = 13        /* lvn3c   */

/*****   VL3I   *****/
flash.B.9.2.1  = 11        /* ld      */
flash.B.9.2.2  = 19        /* lda     */
flash.B.9.2.3  = 12        /* ldx     */
flash.B.9.2.4  = 19        /* ldxa    */
flash.B.9.2.5  = 13        /* ledx    */
flash.B.9.2.6  = 21        /* ledxa   */
flash.B.9.2.7  = 22        /* ledxan  */
flash.B.9.2.8  = 14        /* ldxdc   */
flash.B.9.2.9  = 14        /* ldx3c   */
flash.B.9.2.10 = 15        /* ledxdc  */
flash.B.9.2.11 = 15        /* ledx3c  */
flash.B.9.2.12 = 22        /* ledxadc */
flash.B.9.2.13 = 22        /* ledxa3c */
flash.B.9.2.14 = 15        /* fldx    */
flash.B.9.2.15 = 15        /* ledxdc  */
flash.B.9.2.16 = 15        /* ledx3c  */
flash.B.9.2.17 = 23        /* fldxa   */
flash.B.9.2.18 = 23        /* fldxadc */
flash.B.9.2.19 = 23        /* fldxa3c */
flash.B.9.2.20 = 14        /* lvndc   */
flash.B.9.2.21 = 14        /* lvn3c   */

/*****   VL3A   *****/
flash.B.9.4.1  = 13        /* ld      */
flash.B.9.4.2  = 20        /* lda     */
flash.B.9.4.3  = 13        /* ldx     */
flash.B.9.4.4  = 21        /* ldxa    */
flash.B.9.4.5  = 16        /* ledx    */
flash.B.9.4.6  = 23        /* ledxa   */
flash.B.9.4.7  = 23        /* ledxan  */
flash.B.9.4.10 = 17        /* ledxdc  */
flash.B.9.4.11 = 17        /* ledx3c  */
flash.B.9.4.12 = 24        /* ledxadc */
flash.B.9.4.13 = 24        /* ledxa3c */
flash.B.9.4.14 = 17        /* fldx    */
flash.B.9.4.15 = 17        /* fldxadc */
flash.B.9.4.16 = 17        /* fldxa3c */
flash.B.9.4.17 = 24        /* fldxa   */
flash.B.9.4.18 = 24        /* fldxadc */
flash.B.9.4.19 = 24        /* fldxa3c */

/*****   V2LBI   *****/
flash.C.9.1.1  = 39        /* bi-ld     */
flash.C.9.1.2  = 41        /* bi-ldx    */
flash.C.9.1.3  = 50        /* bi-ledx   */
flash.C.9.1.4  = 35        /* bi-lx     */
flash.C.9.1.5  = 23        /* -lb       */
flash.C.9.1.6  = 25        /* bi-lbx25  */
flash.C.9.1.7  = 24        /* bi-lbfr   */
flash.C.9.1.8  = 24        /* bi-lxfrnb */
flash.C.9.1.9  = 48        /* bi-ldvdc  */
flash.C.9.1.10 = 48        /* bi-ldv3c  */

/**********************************************************************/
/*             Array for names for migration to MRS R2                */
/**********************************************************************/

name.A.1.1 = "vl-lbnr.img"
name.A.1.2 = "vl-lxnr.img"
name.A.1.3 = "vl-lb.img"
name.A.1.4 = "vl-ld.img"
name.A.1.5 = "vl-lx.img"
name.A.1.6 = "vl-ldx.img"
name.A.1.7 = "vl-ledx.img"
name.A.1.8 = "vl-lanr.img"
name.A.1.9 = "vl-lda.img"
name.A.1.10 = "vl-ldxa.img"
name.A.1.11 = "vl-ledxa.img"

name.A.1.12 = "vlbi-lb.img"
name.A.1.13 = "vlbi-lx.img"
name.A.1.14 = "vlbi-ld.img"
name.A.1.15 = "vlbi-ldx.img"
name.A.1.16 = "vlbi-ledx.img"
name.A.1.17 = "vlbi-lda.img"
name.A.1.18 = "vlbi-ldxa.img"
name.A.1.19 = "vlbi-ledax.img"

name.B.1.1 = "vl3-lb.img"
name.B.1.2 = "vl3-lx.img"
name.B.1.3 = "vl3-ld.img"
name.B.1.4 = "vl3-ldx.img"
name.B.1.5 = "vl3-ledx.img"
name.B.1.6 = "vl3-lda.img"
name.B.1.7 = "vl3-ldxa.img"
name.B.1.8 = "vl3-ledxa.img"
name.B.1.9 = "vl3-ledxan.img"

name.B.2.1 = "vl3bi-lb.img"
name.B.2.2 = "vl3bi-lx.img"
name.B.2.3 = "vl3bi-ld.img"
name.B.2.4 = "vl3bi-ldx.img"
name.B.2.5 = "vl3bi-ledx.img"
name.B.2.6 = "vl3bi-lanr.img"
name.B.2.7 = "vl3bi-lda.img"
name.B.2.8 = "vl3bi-ldxa.img"
name.B.2.9 = "vl3bi-ledxa.img"
name.B.2.10 = "vl3bi-ledxan.img"

name.B.3.1 = "vl3pi-lb.img"
name.B.3.2 = "vl3pi-lx.img"
name.B.3.3 = "vl3pi-ld.img"
name.B.3.4 = "vl3pi-ldx.img"
name.B.3.5 = "vl3pi-ledx.img"
name.B.3.6 = "vl3pi-lanr.img"
name.B.3.7 = "vl3pi-lda.img"
name.B.3.8 = "vl3pi-ldxa.img"
name.B.3.9 = "vl3pi-ledxa.img"
name.B.3.10 = "vl3pi-ledxan.img"

name.B.4.1 = "vl3a-lb.img"
name.B.4.2 = "vl3a-lx.img"
name.B.4.3 = "vl3a-ld.img"
name.B.4.4 = "vl3a-ldx.img"
name.B.4.5 = "vl3a-ledx.img"
name.B.4.6 = "vl3a-lanr.img"
name.B.4.7 = "vl3a-lda.img"
name.B.4.8 = "vl3a-ldxa.img"
name.B.4.9 = "vl3a-ledxa.img"
name.B.4.10 = "vl3a-ledxan.img"

name.C.1.1 = "v2lbi-lb.img"
name.C.1.2 = "v2lbi-lbnr.img"
name.C.1.3 = "v2lbi-ld.img"
name.C.1.4 = "v2lbi-ldx.img"
name.C.1.5 = "v2lbi-ledx.img"
name.C.1.6 = "v2lbi-lx.img"
name.C.1.7 = "v2lbi-lxnr.img"

/*      Name Variables for DRAM sizes for MRS-V3.1 */
/*****   VL   *****/
name.A.7.1.1  = "MRS.D00 vl-lb"
name.A.7.1.3  = "MRS.D01 vl-ld"
name.A.7.1.4  = "MRS.D03 vl-lda"
name.A.7.1.5  = "MRS.D0B vl-ldx"
name.A.7.1.7  = "MRS.D0C vl-ledx"
name.A.7.1.9  = "MRS.D0A vl-lx"
name.A.7.1.22 = "MRS.D0N vl-ledxc"
name.A.7.1.23 = "MRS.D0R vl-ledx3c"

/*****   VLBI   *****/
name.A.7.1.13 = "MRS.D10 vlbi-lb"
name.A.7.1.14 = "MRS.D11 vlbi-ld"
name.A.7.1.15 = "MRS.D1M vlbi-lda"
name.A.7.1.16 = "MRS.D1B vlbi-ldx"
name.A.7.1.17 = "MRS.D1I vlbi-ldxa"
name.A.7.1.18 = "MRS.D1C vlbi-ledx"
name.A.7.1.20 = "MRS.D1A vlbi-lx"
name.A.7.1.24 = "MRS.D1N vlbi-ledxc"
name.A.7.1.25 = "MRS.D1R vlbi-ledx3c"

/*****   VL3   *****/
name.B.7.1.2  = "MRS.D41 vl3-ld"
name.B.7.1.3  = "MRS.D43 vl3-lda"
name.B.7.1.4  = "MRS.D4B vl3-ldx"
name.B.7.1.5  = "MRS.D4F vl3-ldxa"
name.B.7.1.6  = "MRS.D4C vl3-ledx"
name.B.7.1.7  = "MRS.D4D vl3-ledxa"
name.B.7.1.8  = "MRS.D4G vl3-ledxan"
name.B.7.1.10 = "MRS.D4H vl3-ldxc"
name.B.7.1.12 = "MRS.D4Q vl3-ldx3c"
name.B.7.1.13 = "MRS.D4N vl3-ledxc"
name.B.7.1.14 = "MRS.D4R vl3-ledx3c"
name.B.7.1.15 = "MRS.D4P vl3-ledxac"
name.B.7.1.16 = "MRS.D4S vl3-ledxa3c"

/*****   VL3BI   *****/
name.B.7.2.2  = "MRS.D51 vl3bi-ld"
name.B.7.2.3  = "MRS.D53 vl3bi-lda"
name.B.7.2.4  = "MRS.D5B vl3bi-ldx"
name.B.7.2.5  = "MRS.D5F vl3bi-ldxa"
name.B.7.2.6  = "MRS.D5C vl3bi-ledx"
name.B.7.2.7  = "MRS.D5D vl3bi-ledxa"
name.B.7.2.8  = "MRS.D5G vl3bi-ledxan"
name.B.7.2.10 = "MRS.D5H vl3bi-ldxc"
name.B.7.2.11 = "MRS.D52 vl3bi-lanr"
name.B.7.2.12 = "MRS.D5Q vl3bi-ldx3c"
name.B.7.2.13 = "MRS.D5N vl3bi-ledxc"
name.B.7.2.14 = "MRS.D5R vl3bi-ledx3c"
name.B.7.2.15 = "MRS.D5P vl3bi-ledxac"
name.B.7.2.16 = "MRS.D5S vl3bi-ledxa3c"

/*****   VL3PI   *****/
name.B.7.3.2  = "MRS.D61 vl3pi-ld"
name.B.7.3.3  = "MRS.D63 vl3pi-lda"
name.B.7.3.4  = "MRS.D6B vl3pi-ldx"
name.B.7.3.5  = "MRS.D6F vl3pi-ldxa"
name.B.7.3.6  = "MRS.D6C vl3pi-ledx"
name.B.7.3.7  = "MRS.D6D vl3pi-ledxa"
name.B.7.3.8  = "MRS.D6G vl3pi-ledxan"
name.B.7.3.10 = "MRS.D6H vl3pi-ldxc"      /* ??? */
name.B.7.3.12 = "MRS.D6Q vl3pi-ldx3c"
name.B.7.3.13 = "MRS.D6N vl3pi-ledxc"
name.B.7.3.14 = "MRS.D6R vl3pi-ledx3c"
name.B.7.3.15 = "MRS.D6P vl3pi-ledxac"
name.B.7.3.16 = "MRS.D6S vl3pi-ledxa3c"

/*****   VL3A   *****/
name.B.7.4.2  = "MRS.D71 vl3a-ld"
name.B.7.4.3  = "MRS.D73 vl3a-lda"
name.B.7.4.4  = "MRS.D7B vl3a-ldx"
name.B.7.4.5  = "MRS.D7F vl3a-ldxa"
name.B.7.4.6  = "MRS.D7C vl3a-ledx"
name.B.7.4.7  = "MRS.D7D vl3a-ledxa"
name.B.7.4.8  = "MRS.D7G vl3a-ledxan"
name.B.7.4.13 = "MRS.D7N vl3a-ledxc"
name.B.7.4.14 = "MRS.D7R vl3a-ledx3c"
name.B.7.4.15 = "MRS.D7P vl3a-ledxac"
name.B.7.4.16 = "MRS.D7S vl3a-ledxa3c"

/*****   V2LBI   *****/
name.C.7.1.1  = "MRS.DD0 v2lbi-lb"
name.C.7.1.3  = "MRS.DD1 v2lbi-ld"
name.C.7.1.4  = "MRS.DDB v2lbi-ldx"
name.C.7.1.5  = "MRS.DDC v2lbi-ledx"
name.C.7.1.6  = "MRS.DDA v2lbi-lx"
name.C.7.1.8  = "MRS.DD6 v2l-lb"
name.C.7.1.11 = "MRS.DD8 v2lbi-lbx25"
name.C.7.1.12 = "MRS.DD9 v2lbi-lbfr"
name.C.7.1.13 = "MRS.DDK v2lbi-lxx25"
name.C.7.1.14 = "MRS.DDL v2lbi-lxfr"
name.C.7.1.15 = "MRS.DDN v2lbi-ledxc"
name.C.7.1.16 = "MRS.DDR v2lbi-ledx3c"

/*      Name Variables for DRAM sizes for MRS-V3.2 */
/*****   VL   *****/
name.A.8.1.1  = "MRS.E00 vl-lb"
name.A.8.1.3  = "MRS.E01 vl-ld"
name.A.8.1.4  = "MRS.E05 vl-lda"
name.A.8.1.5  = "MRS.E0B vl-ldx"
name.A.8.1.7  = "MRS.E0C vl-ledx"
name.A.8.1.9  = "MRS.E0A vl-lx"
name.A.8.1.22 = "MRS.E0N vl-ledxdc"
name.A.8.1.23 = "MRS.E0R vl-ledx3c"
name.A.8.1.26 = "MRS.E0E vl-ledxcc"

/*****   VLBI   *****/
name.A.8.1.13 = "MRS.E10 vlbi-lb"
name.A.8.1.14 = "MRS.E11 vlbi-ld"
name.A.8.1.15 = "MRS.E15 vlbi-lda"
name.A.8.1.16 = "MRS.E1B vlbi-ldx"
name.A.8.1.18 = "MRS.E1C vlbi-ledx"
name.A.8.1.20 = "MRS.E1A vlbi-lx"
name.A.8.1.24 = "MRS.E1N vlbi-ledxdc"
name.A.8.1.25 = "MRS.E1R vlbi-ledx3c"
name.A.8.1.27 = "MRS.E1E vlbi-ledxcc"

/*****   VL3   *****/
name.B.8.1.2  = "MRS.E41 vl3-ld"
name.B.8.1.3  = "MRS.E43 vl3-lda"
name.B.8.1.4  = "MRS.E4B vl3-ldx"
name.B.8.1.5  = "MRS.E4F vl3-ldxa"
name.B.8.1.6  = "MRS.E4C vl3-ledx"
name.B.8.1.7  = "MRS.E4D vl3-ledxa"
name.B.8.1.8  = "MRS.E4G vl3-ledxan"
name.B.8.1.10 = "MRS.E4H vl3-ldxdc"
name.B.8.1.12 = "MRS.E4Q vl3-ldx3c"
name.B.8.1.13 = "MRS.E4N vl3-ledxdc"
name.B.8.1.14 = "MRS.E4R vl3-ledx3c"
name.B.8.1.15 = "MRS.E4P vl3-ledxadc"
name.B.8.1.16 = "MRS.E4S vl3-ledxa3c"
name.B.8.1.17 = "MRS.E4J vl3-ldxcc"
name.B.8.1.18 = "MRS.E4E vl3-ledxcc"
name.B.8.1.19 = "MRS.E4M vl3-ledxacc"
name.B.8.1.20 = "MRS.E4T vl3-fldx"
name.B.8.1.21 = "MRS.E4K vl3-fldxcc"
name.B.8.1.22 = "MRS.E4V vl3-fldxdc"
name.B.8.1.23 = "MRS.E4W vl3-fldx3c"
name.B.8.1.24 = "MRS.E4U vl3-fldx"
name.B.8.1.25 = "MRS.E4L vl3-fldxcc"
name.B.8.1.26 = "MRS.E4X vl3-fldxdc"
name.B.8.1.27 = "MRS.E4Y vl3-fldxa3c"

/*****   VL3I   *****/
name.B.8.2.2  = "MRS.E81 vl3i-ld"
name.B.8.2.3  = "MRS.E83 vl3i-lda"
name.B.8.2.4  = "MRS.E8B vl3i-ldx"
name.B.8.2.5  = "MRS.E8F vl3i-ldxa"
name.B.8.2.6  = "MRS.E8C vl3i-ledx"
name.B.8.2.7  = "MRS.E8D vl3i-ledxa"
name.B.8.2.8  = "MRS.E8G vl3i-ledxan"
name.B.8.2.10 = "MRS.E8H vl3i-ldxdc"
name.B.8.2.12 = "MRS.E8Q vl3i-ldx3c"
name.B.8.2.13 = "MRS.E8N vl3i-ledxdc"
name.B.8.2.14 = "MRS.E8R vl3i-ledx3c"
name.B.8.2.15 = "MRS.E8P vl3i-ledxadc"
name.B.8.2.16 = "MRS.E8S vl3i-ledxa3c"
name.B.8.2.17 = "MRS.E8J vl3i-ldxcc"
name.B.8.2.18 = "MRS.E8E vl3i-ledxcc"
name.B.8.2.19 = "MRS.E8M vl3i-ledxacc"
name.B.8.2.20 = "MRS.E8T vl3i-fldx"
name.B.8.2.21 = "MRS.E8K vl3i-fldxcc"
name.B.8.2.22 = "MRS.E8V vl3i-fldxdc"
name.B.8.2.23 = "MRS.E8W vl3i-fldx3c"
name.B.8.2.24 = "MRS.E8U vl3i-fldxa"
name.B.8.2.25 = "MRS.E8L vl3i-fldxacc"
name.B.8.2.26 = "MRS.E8X vl3i-fldxadc"
name.B.8.2.27 = "MRS.E8Y vl3i-fldxa3c"

/*****   VL3A   *****/
name.B.8.4.2  = "MRS.E71 vl3a-ld"
name.B.8.4.3  = "MRS.E73 vl3a-lda"
name.B.8.4.4  = "MRS.E7B vl3a-ldx"
name.B.8.4.5  = "MRS.E7F vl3a-ldxa"
name.B.8.4.6  = "MRS.E7C vl3a-ledx"
name.B.8.4.7  = "MRS.E7D vl3a-ledxa"
name.B.8.4.8  = "MRS.E7G vl3a-ledxan"
name.B.8.4.13 = "MRS.E7N vl3a-ledxdc"
name.B.8.4.14 = "MRS.E7R vl3a-ledx3c"
name.B.8.4.15 = "MRS.E7P vl3a-ledxadc"
name.B.8.4.16 = "MRS.E7S vl3a-ledxa3c"
name.B.8.4.18 = "MRS.E7E vl3a-ledxcc"
name.B.8.4.19 = "MRS.E7M vl3a-ledxacc"
name.B.8.4.20 = "MRS.E7T vl3a-fldx"
name.B.8.4.21 = "MRS.E7K vl3a-fldxcc"
name.B.8.4.22 = "MRS.E7V vl3a-fldxdc"
name.B.8.4.23 = "MRS.E7W vl3a-fldx3c"
name.B.8.4.24 = "MRS.E7U vl3a-fldxa"
name.B.8.4.25 = "MRS.E7L vl3a-fldxacc"
name.B.8.4.26 = "MRS.E7X vl3a-fldxadc"
name.B.8.4.27 = "MRS.E7Y vl3a-fldxa3c"

/*****   V2LBI   *****/
name.C.8.1.3  = "MRS.ED1 v2lbi-ld"
name.C.8.1.4  = "MRS.EDB v2lbi-ldx"
name.C.8.1.5  = "MRS.EDC v2lbi-ledx"
name.C.8.1.6  = "MRS.EDA v2lbi-lx"
name.C.8.1.8  = "MRS.ED6 v2l-lb"
name.C.8.1.11 = "MRS.ED8 v2lbi-lbx25"
name.C.8.1.12 = "MRS.ED9 v2lbi-lbfr"
name.C.8.1.15 = "MRS.EDN v2lbi-ledxdc"
name.C.8.1.16 = "MRS.EDR v2lbi-ledx3c"
name.C.8.1.17 = "MRS.EDE v2lbi-ledxcc"
name.C.8.1.18 = "MRS.ED2 v2lbi-lxfr"
name.C.8.1.19 = "MRS.ED4 v2lbi-lxfrnb"

/*      Name Variables for DRAM sizes for MRS-V3.3 */
/*****   VL   *****/
name.A.9.1.1  = "MRS.F00 vl-lb"
name.A.9.1.2  = "MRS.F01 vl-ld"
name.A.9.1.3  = "MRS.FL1 vl-lda"
name.A.9.1.4  = "MRS.F0B vl-ldx"
name.A.9.1.5  = "MRS.F0C vl-ledx"
name.A.9.1.6  = "MRS.F0A vl-lx"
name.A.9.1.7  = "MRS.F0N vl-ledxdc"
name.A.9.1.8  = "MRS.F0R vl-ledx3c"
name.A.9.1.9  = "MRS.FL3 vl-ldvdc"
name.A.9.1.10 = "MRS.FL4 vl-ldv3c"

/*****   VLBI   *****/
name.A.9.1.11 = "MRS.F10 vlbi-lb"
name.A.9.1.12 = "MRS.F11 vlbi-ld"
name.A.9.1.13 = "MRS.FI1 vlbi-lda"
name.A.9.1.14 = "MRS.F1B vlbi-ldx"
name.A.9.1.15 = "MRS.F1C vlbi-ledx"
name.A.9.1.16 = "MRS.F1A vlbi-lx"
name.A.9.1.17 = "MRS.F1N vlbi-ledxdc"
name.A.9.1.18 = "MRS.F1R vlbi-ledx3c"
name.A.9.1.19 = "MRS.FI3 vlbi-ldvdc"
name.A.9.1.20 = "MRS.FI4 vlbi-ldv3c"

/*****   VL3   *****/
name.B.9.1.1  = "MRS.F41 vl3-ld"
name.B.9.1.2  = "MRS.F43 vl3-lda"
name.B.9.1.3  = "MRS.F4B vl3-ldx"
name.B.9.1.4  = "MRS.F4F vl3-ldxa"
name.B.9.1.5  = "MRS.F4C vl3-ledx"
name.B.9.1.6  = "MRS.F4D vl3-ledxa"
name.B.9.1.7  = "MRS.F4G vl3-ledxan"
name.B.9.1.8  = "MRS.F4H vl3-ldxdc"
name.B.9.1.9  = "MRS.F4Q vl3-ldx3c"
name.B.9.1.10 = "MRS.F4N vl3-ledxdc"
name.B.9.1.11 = "MRS.F4R vl3-ledx3c"
name.B.9.1.12 = "MRS.F4P vl3-ledxadc"
name.B.9.1.13 = "MRS.F4S vl3-ledxa3c"
name.B.9.1.14 = "MRS.F4T vl3-fldx"
name.B.9.1.15 = "MRS.F4V vl3-fldxdc"
name.B.9.1.16 = "MRS.F4W vl3-fldx3c"
name.B.9.1.17 = "MRS.F4U vl3-fldxa"
name.B.9.1.18 = "MRS.F4X vl3-fldxadc"
name.B.9.1.19 = "MRS.F4Y vl3-fldxa3c"
name.B.9.1.20 = "MRS.F44 vl3-lvndc"
name.B.9.1.21 = "MRS.F45 vl3-lvn3c"

/*****   VL3I   *****/
name.B.9.2.1  = "MRS.F81 vl3i-ld"
name.B.9.2.2  = "MRS.F83 vl3i-lda"
name.B.9.2.3  = "MRS.F8B vl3i-ldx"
name.B.9.2.4  = "MRS.F8F vl3i-ldxa"
name.B.9.2.5  = "MRS.F8C vl3i-ledx"
name.B.9.2.6  = "MRS.F8D vl3i-ledxa"
name.B.9.2.7  = "MRS.F8G vl3i-ledxan"
name.B.9.2.8  = "MRS.F8H vl3i-ldxdc"
name.B.9.2.9  = "MRS.F8Q vl3i-ldx3c"
name.B.9.2.10 = "MRS.F8N vl3i-ledxdc"
name.B.9.2.11 = "MRS.F8R vl3i-ledx3c"
name.B.9.2.12 = "MRS.F8P vl3i-ledxadc"
name.B.9.2.13 = "MRS.F8S vl3i-ledxa3c"
name.B.9.2.14 = "MRS.F8T vl3i-fldx"
name.B.9.2.15 = "MRS.F8V vl3i-fldxdc"
name.B.9.2.16 = "MRS.F8W vl3i-fldx3c"
name.B.9.2.17 = "MRS.F8U vl3i-fldxa"
name.B.9.2.18 = "MRS.F8X vl3i-fldxadc"
name.B.9.2.19 = "MRS.F8Y vl3i-fldxa3c"
name.B.9.2.20 = "MRS.F84 vl3i-lvndc"
name.B.9.2.21 = "MRS.F85 vl3i-lvn3c"

/*****   VL3A   *****/
name.B.9.4.1  = "MRS.F71 vl3a-ld"
name.B.9.4.2  = "MRS.F73 vl3a-lda"
name.B.9.4.3  = "MRS.F7B vl3a-ldx"
name.B.9.4.4  = "MRS.F7F vl3a-ldxa"
name.B.9.4.5  = "MRS.F7C vl3a-ledx"
name.B.9.4.6  = "MRS.F7D vl3a-ledxa"
name.B.9.4.7  = "MRS.F7G vl3a-ledxan"
name.B.9.4.10 = "MRS.F7N vl3a-ledxdc"
name.B.9.4.11 = "MRS.F7R vl3a-ledx3c"
name.B.9.4.12 = "MRS.F7P vl3a-ledxadc"
name.B.9.4.13 = "MRS.F7S vl3a-ledxa3c"
name.B.9.4.14 = "MRS.F7T vl3a-fldx"
name.B.9.4.15 = "MRS.F7V vl3a-fldxdc"
name.B.9.4.16 = "MRS.F7W vl3a-fldx3c"
name.B.9.4.17 = "MRS.F7U vl3a-fldxa"
name.B.9.4.18 = "MRS.F7X vl3a-fldxadc"
name.B.9.4.19 = "MRS.E7Y vl3a-fldxa3c"

/*****   V2LBI   *****/
name.C.9.1.1  = "MRS.FD1 v2lbi-ld"
name.C.9.1.2  = "MRS.FDB v2lbi-ldx"
name.C.9.1.3  = "MRS.FDC v2lbi-ledx"
name.C.9.1.4  = "MRS.FDA v2lbi-lx"
name.C.9.1.5  = "MRS.FU1 v2l-lb"
name.C.9.1.6  = "MRS.FU4 v2lbi-lbx25"
name.C.9.1.7  = "MRS.FU2 v2lbi-lbfr"
name.C.9.1.8  = "MRS.FU3 v2lbi-lxfrnb"
name.C.9.1.9  = "MRS.FU6 v2lbi-ldvdc"
name.C.9.1.10 = "MRS.FU7 v2lbi-ldv3c"
/*- - - - - - - - - - - - - -Prov Help - - - - - - - - - - - - - - */
select

 when ARG(1) = '?' then do

    do i = 1 to 5
      say h.i
      end
    say " For additional information on this program, enter '"pname" ??'"
    say " "
    exit
    end
  when ARG(1) = '??' then do
    do i = 1 to 26
      say h.i
      end
    exit
    end
  otherwise
    arg ufn uft ufm
  end

/* - - - - - - - - - - Ask Questions, Get Answers- - - - - - - - - - - */



call _11QUES


/*  - - - - - - - - -  New Questions About Migration - - - - - - -  - - */
/* This section currently is only seen by the user if they are running the newest */
/* Version of code; CC4 */

if q2 = 9 then do
     say " "
     say " Are you Migrating from a Previous release of MRS and would"
     say " you like an estimate of the change in DRAM requirments "
     say " "
     upmrs = CHOOSE("Enter Y = yes or N = No","",YN)
     if upmrs = 'Y' then do
interpret clear                              /* Clear screen if VM  V22*/
        say " "
        say " The build image you are upgrading from will"
        say "  now be determined."
        say " "
        real2sav = real2 /* save current values*/
        realsav  = real
        flashsav = flash
        imagesav = image
        inamesav = iname
        say "Which model 2210 were you running?"
        CALL _11QUES
        migcc4 = realsav - real
        migcc4 = TRUNC(migcc4*1024)
        say " "
        say "*****************************************"
        say " "
        l = "The migration to " inamesav " is going to require an extra"
        call ADDOUT(l)
        say l
        l = " bytes of DRAM"
        call ADDOUT(migcc4 l)
        say migcc4 l
        say " "
        call ADDOUT(" ")
        l = "    To check if your system can handle the upgrade, do the "
        call ADDOUT(l)
        say l
        l = "    following steps:"
        call ADDOUT(l)
        say l
        say " "
        call ADDOUT(" ")
        l = "    1) Enter the GWCON process by typing T 5 and press enter."
        call ADDOUT(l)
        say l
        l = "    2) Type MEM at the prompt."
        call ADDOUT(l)
        say l
        l = "    3) Look at the number for NEVER ALLOCATED memory."
        call ADDOUT(l)
        say l
        l = "    4) If the number for never allocated memory is less than the "
        call ADDOUT(l)
        say l
        l = "       increase needed in DRAM, then you are going to have "
        call ADDOUT(l)
        say l
        l = "       to increase system RAM."
        call ADDOUT(l)
        say l
        say " "
        call ADDOUT(" ")
        say "*****************************************"
        real2    = real2sav /* restore current values*/
        real     = realsav
        image    = imagesav
        flash    = flashsav
        iname    = inamesav
     end
end


/* - - - - - - - - - - - - -End of New Section - - - - - - - - - - - - - - */




if ufn = '' then
  save = CHOOSE("Would you like the results saved in a file (Y or N)?","",'YN')
else
  save = 'Y'
/* - - - - - - - - - - - - -Do Calculations  - - - - - - - - - - */
/* calculate buffer sizes                                          */
  eth_siz = eth_mtu+eth_ov+ahdrdel+dhdrdel+wrapdel
  tr_siz = tr_mtu+tr_ov+ahdrdel+dhdrdel+wrapdel
  wan_siz = wan_mtu+wan_ov+ahdrdel+dhdrdel+wrapdel
  bi_siz = bi_mtu+bi_ov+ahdrdel+dhdrdel+wrapdel
  pri_siz = pri_mtu+pri_ov+ahdrdel+dhdrdel+wrapdel
  atm_siz = atm_mtu+atm_ov+ahdrdel+dhdrdel+wrapdel
  gl_mtu = max(eth_mtu*eth_sw,tr_mtu*tr_sw,wan_mtu*wan_sw,atm_mtu*atm_sw,bi_mtu*bi_sw,bi_mtu*bi4_sw,pri_mtu*pri_sw)
  gl_siz = gl_mtu+gl_ov+ahdrdel+wrapdel
  if debug = Y then do
    Say "    "
    Say "DEBUG INFO"
    say 'ahdrdel= ' ahdrdel
    say 'dhdrdel= ' dhdrdel
    say 'wrapdel= ' wrapdel
    say 'eth_siz= ' eth_siz ' eth_int=' eth_int ' eth_buf=' eth_buf
    say 'tr_siz = ' tr_siz  ' tr_int= ' tr_int  ' tr_buf= 'tr_buf
    say 'wan_siz= ' wan_siz ' wan_int=' wan_int ' wan_buf='wan_buf
    say 'bi_siz = ' bi_siz  ' bi_int= ' bi_int  ' bi_buf= 'bi_buf
    say 'pri_siz= ' pri_siz ' pri_int=' pri_int ' pri_buf='pri_buf
    say 'atm_siz= ' atm_siz ' atm_int=' atm_int ' atm_buf='atm_buf
    say 'gl_buf.q1 = ' gl_buf.q1
    say 'gl_mtu = ' gl_mtu
    say 'gl_siz = ' gl_siz
    say 'appnshrk =' appnshrk
    Say "real="real
  end
row=,
/* Ethernet Buffers    */ (eth_siz/1024) 0
  call STCALC row,eth_int*eth_buf
                                                           row=,
/* Token Ring Buffers  */ (tr_siz/1024)  0
  call STCALC row,tr_int*tr_buf
                                                           row=,
/* WAN Buffers         */ (wan_siz/1024) 0
  call STCALC row,wan_int*wan_buf
                                                           row=,
/* ATM Buffers         */ (atm_siz/1024) 0
  call STCALC row,atm_int*atm_buf
                                                           row=,
/* ISDN BI Buffers     */ (bi_siz/1024) 0
  call STCALC row,bi_int*bi_buf
                                                           row=,
/* ISDN PRI Buffers    */ (pri_siz/1024) 0
  call STCALC row,pri_int*pri_buf
                                                           row=,
/* Global   Buffers    */ (gl_siz/1024) 0
  call STCALC row,(gl_buf.q1)
  if debug = Y then do
    Say "    "
    Say "DEBUG INFO real after adding buffers"
    Say "real="real
  end
                                                           row=,
/* HEAP for 4 port WAN */  wan4_hp 0
  call STCALC row,wan4_sw
                                                           row=,
/* HEAP for 8 port WAN */  wan8_hp 0
  call STCALC row,wan8_sw
                                                           row=,
/* HEAP for ATM adapter*/ atm_hp 0
  call STCALC row,atm_sw
                                                           row=,
/* HEAP for 1 port bri */ bi_hp  0
  call STCALC row,bi_sw
                                                           row=,
/* HEAP for 4 port bri */ bi4_hp 0
  call STCALC row,bi4_sw
                                                           row=,
/* HEAP for 1 port pri */ pri_hp 0
  call STCALC row,pri_sw
  if debug = Y then do
    Say "    "
    Say "DEBUG INFO real after adding ports"
    Say "real="real
  end
                                                                  row=,
/*DLSW   enabled       */ (dlswbase) 0  /*      */
  call STCALC row,(dlswflag='Y')
                                                                  row=,
/*DLSw partner         */ (dlswpmem) 0  /*          */
  call STCALC row,dlswp
                                                                  row=,
/* bytes per LLC2 sess.*/ (dlswemem) 0  /*          */
  call STCALC row,dlswe
                                                                  row=,
/* bytes per SDLC sess.*/ (sdlcemem) 0  /*          */
  call STCALC row,sdlce
  if debug = Y then do
    Say "    "
    Say "DEBUG INFO real after adding DLSw"
    Say "real="real
  end
                                                                  row=,
/*APPN shared memory   */ (appnshrk) 0  /*      */
  call STCALC row,(appnflag='Y')
                                                                  row=,
/*TN3270 sessions      */ (tn32heap) 0  /*      */
  call STCALC row,tn32lu
  if debug = Y then do
    Say "    "
    Say "DEBUG INFO real after adding APPN/TN3270"
    Say "real="real
  end
                                                                  row=,
/*Routes               */ (routec)   0  /*          */
  call STCALC row,rtnum
                                                                  row=,
/*DLCI's               */ (dlcic)    0  /*          */
  call STCALC row,dlci
                                                                  row=,
/* BRS  enabled        */ (brsbase)  0   /*          */
  call STCALC row,(brsflag='Y')
                                                                  row=,
/* BRS interfaces      */ (brsc)     0   /*          */
  call STCALC row,brs
                                                                  row=,
/*DIAL Circuits        */ (dialc)    0  /*          */
  call STCALC row,dial
                                                                  row=,
/* Compression History */ (comphc)   0   /*          */
  call STCALC row,comphi
                                                                  row=,
/* L2TP enabled        */ (l2tpbase) 0   /*          */
  call STCALC row,(l2tpflag='Y')
                                                                  row=,
/* L2TP Buffers        */ (gl_siz/1024)   0   /*          */
  call STCALC row,l2tpb
                                                                  row=,
/* L2TP Tunnels        */ (l2tptc)   0   /*          */
  call STCALC row,l2tpt
                                                                  row=,
/* L2TP Calls          */ (l2tpcc)   0   /*          */
  call STCALC row,l2tpc
                                                                  row=,
/* L2TP Interfaces     */ (l2tpic)   0   /*          */
  call STCALC row,l2tpi
                                                                  row=,
/* IPSEC Enabled       */ (ipsecbase) 0  /*          */
  call STCALC row,(ipsecflag='Y')
                                                                  row=,
/* IPSEC Tunnels       */ (iptunc)   0   /*          */
  call STCALC row,iptun
                                                                  row=,
/* AUTHENICATION ENABLED*/ (authbase) 0  /*          */
  call STCALC row,(authflag='Y')
                                                                  row=,
/* DVMRP ENABLED       */ (dvmrpbase) 0  /*          */
  call STCALC row,(dvmrpflag='Y')
                                                                  row=,
/* NDR   ENABLED       */ (ndrbase)   0
  call STCALC row,(ndrflag='Y')

  if debug = Y then do
    Say "    "
    Say "DEBUG INFO real after all protocol updates"
    Say "real="real
  end

/* the following assumes r > 1 - need logic to do r=1  recommendations */
real = TRUNC(real+.5)
flash2 = (flash * nl) + configs
call ADDOUT(" ")
call ADDOUT(" ")
l = "Recommendations for DRAM and FLASH"
call ADDOUT(l)
if q2>=7 then do
  l = "Based on your configuration, the image selected is :" iname
  call ADDOUT(l)
  call ADDOUT(" ")
end
select
  when (real < 4096) then
    cat = 1
  when (real < 8192) then
    cat = 2
  when (real < 16384) then
    cat = 3
  when (real < 32768) & (r3hrd = 1) then
    cat = 4
  otherwise
    cat = 5
  end
select
  when cat = 1 then do
    l = "This configuration uses" real"K bytes of memory."
    call ADDOUT(l)
    l = "Use model with 4M of DRAM."
    call ADDOUT(l)
    call ADDOUT(" ")
    l = "If you would like to plan for additional protocol support"
    call ADDOUT(l)
    l = "for future software releases, you may want to consider"
    call ADDOUT(l)
    l = "a model with 8M of DRAM."
    call ADDOUT(l)
    end
  when cat = 2 then do
    l = "This configuration uses" real"K bytes of memory and"
    call ADDOUT(l)
    l = "requires a model with 8M of DRAM."
    call ADDOUT(l)
    end
  when cat = 3 then do
    l = "This configuration uses" real"K bytes of memory and"
    call ADDOUT(l)
    l = "requires a model with 16M of DRAM."
    call ADDOUT(l)
    end
  when cat = 4 then do
    l = "This configuration uses" real"K bytes of memory and"
    call ADDOUT(l)
    l = "requires a model with 32M of DRAM."
    call ADDOUT(l)
    end
  when cat = 5 then do
    l = "WARNING WARNING WARNING WARNING WARNING WARNING"
    call ADDOUT(l)
    l = "This configuration would use" real"K bytes of memory and"
    call ADDOUT(l)
    l = "is too large of a configuration for a single 2210."
    call ADDOUT(l)
    end
  end  /* select */
call ADDOUT(" ")
/* FLASH comparisons */
if r3hrd = 0 then do
select
  when (flash2 < 65) then do
    l = "This configuration uses" flash2" banks of FLASH."
    call ADDOUT(l)
    l = "A bank equals 65,536 bytes on a Model 12x"
    call ADDOUT(l)
    if (flash2 < 33 ) then l = "Use a model with at least 2M (64K banks) of flash"
    else l = "Use a model with 4M (64 banks) of FLASH."
    call ADDOUT(l)
    end
  otherwise do
    l = "This configuration requires more FLASH than is available"
    call ADDOUT(l)
    l = "on a 2210.  Consider booting one or more loads from a server."
    call ADDOUT(l)
    end /* otherwise */
  end  /* select */
end /* if do */
else do
select      /* This is for Rel. 3 hardware (68040) */
  when (flash2 < 15) then do
    l = "This configuration uses" flash2" banks of FLASH."
    call ADDOUT(l)
    l = "A bank equals 262,144 bytes on a Model x4x"
    call ADDOUT(l)
    l = "Use a model with 4M (14 banks) of FLASH."
    call ADDOUT(l)
    end
  when (flash2 < 31) then do
    l = "This configuration uses" flash2" banks of FLASH."
    call ADDOUT(l)
    l = "A bank equals 262,144 bytes on a Model x4x"
    call ADDOUT(l)
    l = "Use a model with 8M (30 banks) of FLASH."
    call ADDOUT(l)
    end
  otherwise do
    l = "This configuration requires more FLASH than is available"
    call ADDOUT(l)
    l = "on a 2210.  Consider booting one or more loads from a server."
    call ADDOUT(l)
    end /* otherwise */
end /* select */
end /* if do */
select
  when (cat = 1 ) then
    ram = 4*1024*1024
  when (cat = 2 ) then
    ram = 8*1024*1024
  when (cat = 3 ) then
    ram = 16*1024*1024
  when (cat = 4 ) then
    ram = 32*1024*1024
  otherwise
    ram = 32*1024*1024
  end
real2 = real*1024
heap  = ram  -image
heapu = real2 -image
heapna  = heap - heapu
call ADDOUT(" ")
l ="DETAIL ESTIMATES "
call ADDOUT(l)
if debug='Y' then say l
l = "If DRAM = " ram " then heap = " heap " and heapna = " heapna
call ADDOUT(l)
if debug='Y' then say l
l = "Total memory used in bytes =" real2
call ADDOUT(l)
if debug='Y' then say l
l = "Amount of heap used =" heapu
call ADDOUT(l)
if debug='Y' then say l
if aflag = 1 then do
  l = "APPN Total Shared Memory: "appnshrt" bytes"
  call ADDOUT(l)
  if debug='Y' then say l
  l = "APPN Main Part Inuse(est.): "ts" bytes"
  call ADDOUT(l)
  if debug='Y' then say l
end
/* - - - - - - - - - - - - -Display Results- - - - - - - - - - - - - - */

interpret clear                              /* Clear screen if VM  V22*/
say COPIES("* ", 39)
do i = 1 to out.0
  say out.i
  if (syst \= 'CMS') Then do                /* Pause after 22 lines V22*/
    if (i//22 = 0) then 'PAUSE'             /* if DOS,OS2,WIN       V22*/
  end
end

if save = 'Y' then do
  /* generate filename: A1191353 2210STOR A */
  y = (LEFT(DATE(S),4)-1994)//6
  fn = SUBSTR('ABCDEF',y+1,1)
  ddd = RIGHT(DATE(D)+1000,3)
  parse value TIME() with hh ':' mm ':' .
  fn = fn||ddd||hh||mm
  if ufn \= '' then do
    fn = ufn
    if uft \= '' then do
      ft = uft
      if ufm \= '' then
        fm = ufm
    end
  end
  If (syst= 'CMS') Then do        /*  Handle VM unique IO           V22*/
    'SET CMSTYPE HT'              /* test for already existing file V22*/
    'STATE' fn ft fm
    fnrc = rc
    'SET CMSTYPE RT'
    select
      when fnrc = 28 then
        OK = 1
      when fnrc = 0 then
        OK = 1
    otherwise
      OK = 0
    end
    if OK then do
      call ADDOUT(" ")
      call ADDOUT(fn ft fm)
      call ADDOUT(" ")
      'EXECIO * DISKW' fn ft fm '(FINIS STEM OUT.'
      say "The results have been saved in" fn ft fm"."
      say ""
    end
    else
      say "The results could not be saved; STATE RC=" fnrc"."
  end                             /* End of VM unique IO            V22*/
  else do                         /* Handle PC unique IO            V22*/
    fntxt = fn||".txt"
    call ADDOUT(" ")
    call ADDOUT(fntxt)
    call ADDOUT(" ")
    rc=STREAM(fntst,'c','open')
    do i = 1 to out.0
     rc=LINEOUT(fntxt,out.i)
    end
    rc=STREAM(fntxt,'c','close')
    say "The results have been saved in " fntxt
  end                             /* End of PC unique IO           V22*/

end
/* - - - - - - - - - - - - - - - - End - - - - - - - - - - - - - - - - */

exit

/* - - - - - - - - - - - - - - Subroutines - - - - - - - - - - - - - - */

CHOOSE:
OK = 0
do while \OK
  say ARG(1)
  if ARG(2) \= '' then
    say ARG(2)
    pull ans
/*  ans = TRANSLATE(ASK())*/ /* DOS */
  if (POS(ans,ARG(3)) > 0) | (ans = 'QQ') then
    OK = 1
  end
if ans = 'QQ' then
  exit
else
  return ans

NUMOF:
OK = 0
do while \OK
  say ARG(1)
  if ARG(2) \= '' then
    say ARG(2)
    pull ans
/*  ans = TRANSLATE(ASK())*/ /* DOS */
  select
    when ans = 'QQ' then
      OK = 1
    when DATATYPE(ans) \= 'NUM' then
      say "Answer must be numeric."
    when ans > ARG(3) then
      say "Maximum number is" ARG(3)"."
    when ans < 0 then
      say "Positive number only!"
    otherwise
      OK = 1
    end
  end
if ans = 'QQ' then
  exit
else
  return TRUNC(ans)

ADDOUT:
k = out.0 + 1
out.k = ARG(1)
out.0 = k
return

STCALC:
parse var row c1 c2
real = real + TRUNC(c1*ARG(2)+.5)
flash = flash + TRUNC(c2*ARG(2) +.5)
return

/* - - - - - - - Flag Set Routine for VL - - - - - - - - - - - - - - */
_FLAGA:
select
          when q5 = 'I' | q5 = 'L' | q5 = 'P' then do
            dflag = 1
          end
          when q5 = 'B' | q5 = 'E' | q5 = 'F' then do
            dflag = 1
          end
          when q5 = '5' | q5 = 'M' | q5 = 'Z' then do
            dflag = 1
          end
          when q5 = 'Q' | q5 = 'R' | q5 = 'S' then do
            dflag = 1
          end
          when q5 = 'T' | q5 = 'U' | q5 = 'V' then do
            dflag = 1
          end
          when q5 = 'W' | q5 = 'X' | q5 = 'Y' then do
            dflag = 1
          end

          when q5 = '3' | q5 = 'C' | q5 = 'G' then do
            dflag = 1
            aflag = 1
          end
          when q5 = 'J' | q5 = 'O' | q5 = 'N' then do
            dflag = 1
            aflag = 1
          end

          when q5 = '4' then do
            aflag = 1
          end
          otherwise
 end
 return

/* - - - - - - - Flag Set Routine for VL3- - - - - - - - - - - - - - */
_FLAGB:
select
          when q5 = '1' | q5 = 'B' | q5 = 'C' then do
            dflag = 1
          end
          when q5 = 'H' | q5 = 'Q' | q5 = 'N' then do
            dflag = 1
          end
          when q5 = 'R' | q5 = '4' | q5 = '5' then do
            dflag = 1
          end
          when q5 = 'T' | q5 = 'U' | q5 = 'V' then do
            dflag = 1
          end

          when q5 = '3' | q5 = 'D' | q5 = 'F' then do
            dflag = 1
            aflag = 1
          end
          when q5 = 'G' | q5 = 'P' | q5 = 'S' then do
            dflag = 1
            aflag = 1
          end
          when q5 = 'M' | q5 = 'U' | q5 = 'L' then do
            dflag = 1
            aflag = 1
          end
          when q5 = 'X' | q5 = 'Y' then do
            dflag = 1
            aflag = 1
          end
          Otherwise
 end
 return

/* - - - - - - - Flag Set Routine for V2L - - - - - - - - - - - - - - */
_FLAGC:
     select                                 /* start flag assignments */

         when q4 = 'B' | q4 = 'D' then do   /* start B and D */
         dflag = 1
         end                                /* end B and D */
         when q4 = 'F' | q4 = 'J' then do   /* start F and J */
         dflag = 1
         end                                /* end F anf J */
         when q4 = 'O' | q4 = 'P' then do   /* start O and P */
         dflag = 1
         end                                /* end O anf P */
         when q4 = 'Q' then do              /* start Q */
         dflag = 1
         end                                /* end Q */
         when q4 = 'T' | q4 = 'U' then do   /* start O and P */
         dflag = 1
         end                                /* end O anf P */
         otherwise
     end                                    /* end flag assignments */
  return

/* - - - - - - - Blade Selection for VL3 - - - - - - - - - - - - - - */
_BLADE:
if upmrs = 'N' then do
    interpret clear                    /*      Clear screen if VM  V22*/
    say "Which hardware Model are you using?"
    say "1. 2210-24E  2 Ethernet and 4 WAN ports"
    say "2. 2210-24T  2 Token_Ring and 4 WAN ports"
    say "3. 2210-24M  1 Ethernet, 1 TR  and 4 WAN ports"
    say "4. 2210-14T  1 Token_Ring and 4 WAN ports"
    q6a = CHOOSE("Input 1,2,3, or 4","",'1234')
      select
        when q6a = '1' then do           /* 24E    */
          eth_int = 2                    /* 2 ethernets            */
          eth_sw  = 1                    /* set ethernet switch    */
        end                              /*                        */
        when q6a = '2' then do           /* 24T                    */
          tr_int  = 2                    /* 2 token rings          */
          tr_sw   = 1                    /* set token ring switch  */
        end                              /*                        */
        when q6a = '3' then do           /* 24M                    */
          eth_int = 1                    /* 1 ethernet             */
          eth_sw  = 1                    /* set ethernet switch    */
          tr_int  = 1                    /* 1 token ring           */
          tr_sw   = 1                    /* set token ring switch  */
        end
        when q6a = '4' then do           /* 14T                   */
          tr_int  = 1                    /* 1 token rings         */
          tr_sw   = 1                    /* set token ring switch */
        end                              /*                       */
      end
      if tr_sw = 1 then ahdrdel = ahdrdel+tr_del
      wan_int = 4           /* all models have 4 WAN ports         */
      wan_sw  = 1           /* set WAN switch                      */

    say "What Additional adapters are you using?"
    say "1. No adapter installed "
    say "2. ISDN Basic Rate 1 Port Adapter"
    say "3. ISDN Primary Rate Adapter"
    say "4. 25Mbps ATM Adapter"
    say "5. 4 Port WAN Adapter"
    say "6  8 Port WAN Adapter"
    say "7  ISDN Quad Basic Rate 4 Port Adapter"
    q6 = CHOOSE("Input 1,2,3,4,5,6 or 7","",'12345676')
      select
        when q6  = '1' then do            /* nothing               */
        end
        when q6  = '2' then do            /* set isdn port info    */
          bi_int = 1                      /*  1 bi port            */
          bi_sw  = 1                      /*                       */
        end
        when q6  = '3' then do            /* set isdn port info    */
          pri_int = 1                     /*  1 pri port           */
          pri_sw  = 1                     /*                       */
        end
        when q6  = '4' then do            /* ATM adapter           */
          atm_int = 1                     /* 1  ATM port           */
          atm_sw  = 1
          if (tr_sw \= 1) then ahdrdel = ahdrdel+atm_del
        end
        when q6  = '5' then do            /* 4 port WAN            */
          wan_int = wan_int + 4           /* 4 additional WANs     */
          wan4_sw  = 1                    /*                       */
          q6 = 1                          /* reset q6 to 1         */
        end                               /*                       */
        when q6  = '6' then do            /* 8 port WAN            */
          wan_int = wan_int + 8           /* 8 additional WANs     */
          wan8_sw  = 1                    /*                       */
          q6 = 1                          /* reset q6 to 1         */
        end                               /*                       */
        when q6  = '7' then do            /* set isdn port info    */
          bi_int = 4                      /*  4 bi port            */
          bi4_sw  = 1                     /*                       */
          q6 = 2                          /* reset q6 to 2         */
        end                               /*                       */
      end                          /* end of interface select      */
end
interpret clear                   /*      Clear screen if VM  V22*/
return
/* - - - - - - - End of blade selection - - - - - - - - - - - - - - - */
/* - - - - - - - Warning Message for Back Level Code - - - - - - - - - */

_WARN:
select                                            /* begin routine     */
  when q2 = 4 then do                             /* begin q2 =4       */
   select                                         /* begin selection   */
     when q1 = A then do                          /* begin machine VL  */
      numbers = "2 3 1 4 11 5 6 7 12 13 14 21 15 16 17"
      delta2 = WORD(numbers, POS(q5,'AB0CDEFGHIJKLMN'))
     end                                          /* end machine VL    */
     when q1 = B then do                          /* begin machine VL3 */
      numbers = "1 2 3 4 5 6 10"
      delta2 = WORD(numbers, POS(q5,'013BCDA'))
     end                                          /* end machine VL3   */
     when q1 = C then do                          /* begin machine V2L */
      numbers = "1 2 5 4"
      delta2 = WORD(numbers, POS(q4, 'ABCD'))
     end                                          /* end machine V2L   */
   end                                            /* end when q2 = 4   */
  end                                             /* end selection     */

  when q2 = 5 then do                             /* begin q2 = 5 */
   select                                         /* begin selection */
     when q1 = A then do                          /* begin machine VL */
      numbers = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"
      delta2 = WORD(numbers, POS(q5,'A1BCE3FGD24HIJLOMNK'))
     end                                          /* end machine VL */
     when q1 = B then do                          /* begin machine VL3 */
      select
        when q6 = 2 then do
          numbers = "1 2 3 4 5 6 7 8 9 10"
          delta2 = WORD(numbers, POS(q5,'013BFCDGA2'))
        end
        when q6 = 1 | q6 = 3 | q6 = 4 then do
          numbers = "1 2 3 4 5 6 7 8 9"
          delta2 = WORD(numbers, POS(q5,'013BFCDGA'))
        end
      end
     end                                          /* end machine VL3 */
     when q1 = C then do                          /* begin machine V2L */
      numbers = "1 2 3 4 5 6 7"
      delta2 = WORD(numbers, POS(q4, 'AEBFDCG'))
     end                                          /* end machine V2L */
   end                                            /* end selection */
  end                                             /* end when q2 = 5 */

  when q2 = 6 then do                             /* begin q2 = 6 */
   select                                         /* begin selection */
     when q1 = A then do                          /* begin machine VL */
      numbers = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21"
      delta2 = WORD(numbers, POS(q5,'A1BCE3FGD245HIJLOMNKP'))
     end                                          /* end machine VL */
     when q1 = B then do                          /* begin machine VL3 */
      select
        when q6 = 2 then do
          numbers = "1 2 3 4 5 6 7 8 9 10 11"
          delta2 = WORD(numbers, POS(q5,'013BFCDGAH2'))
        end
        when q6 = 1 | q6 = 3 | q6 = 4 then do
          numbers = "1 2 3 4 5 6 7 8 9 10"
          delta2 = WORD(numbers, POS(q5,'013BFCDGAH'))
        end
      end
     end                                          /* end machine VL3 */
     when q1 = C then do                          /* begin machine V2L */
      numbers = "1 2 3 4 5 6 7 8 9 10"
      delta2 = WORD(numbers, POS(q4, 'AEBFDCGHIJ'))
     end                                          /* end machine V2L */
   end                                            /* end selection */
  end                                             /* end when q2 = 6 */

  when q2 = 7 then do                             /* begin q2 = 7 */
   select                                         /* begin selection */
     when q1 = A then do                          /* begin machine VL */
      numbers = "1 3 4 5 6 7 9 13 14 15 16 17 18 20 22 23 24 25"
      delta2 = WORD(numbers, POS(q5,'ABCE3FDHIJLOMKQRST'))
     end                                          /* end machine VL */
     when q1 = B then do                          /* begin machine VL3 */
      select
        when q6 = 1 | q6 = 3 | q6 = 4 then do
          numbers = "2 3 4 5 6 7 8 10 12 13 14 15 16"
          delta2 = WORD(numbers, POS(q5,'13BFCDGHQNRPS'))
        end
        when q6 = 2 then do
          numbers = "2 3 4 5 6 7 8 10 11 12 13 14 15 16"
          delta2 = WORD(numbers, POS(q5,'13BFCDGH2QNRPS'))
        end
      end
     end                                          /* end machine VL3 */
     when q1 = C then do                          /* begin machine V2L */
      numbers = "3 4 5 6 8 11 12 13 14 15 16"
      delta2 = WORD(numbers, POS(q4, 'BFDCHKLMNOP'))
     end                                          /* end machine V2L */
   end                                            /* end selection */
  end                                             /* end when q2 = 7 */

  when q2 = 8 then do                             /* begin q2 = 8 */
   select                                         /* begin selection */
     when q1 = A then do                          /* begin machine VL */
      numbers = "1 3 4 5 7 9 13 14 15 16 18 20 22 23 24 25 26 27"
      delta2 = WORD(numbers, POS(q5,'ABCEFDHIJLMKQRSTUV'))
     end                                          /* end machine VL */
     when q1 = B then do                          /* begin machine VL3*/
      numbers = "2 3 4 5 6 7 8 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27"
      delta2 = WORD(numbers, POS(q5,'13BFCDGHQNRPSJEMTKVWULXY'))
     end                                          /* end machine VL3 */
     when q1 = C then do                          /* begin machine V2L*/
      numbers = "3 4 5 6 8 11 12 15 16 17 18 19"
      delta2 = WORD(numbers, POS(q4, 'BFDCHKLOPQRS'))
     end                                          /* end machine V2L */
   end                                            /* end selection */
  end                                             /* end when q2 = 8 */

  when q2 = 9 then do                             /* begin q2 = 9 */
   select                                         /* begin selection */
     when q1 = A then do                          /* begin machine VL */
      numbers = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20"
      delta2 = WORD(numbers, POS(q5,'ABCEFDQRWXHIJLMKSTYZ'))
     end                                          /* end machine VL */
     when q1 = B then do                          /* begin machine VL3*/
      numbers = "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21"
      delta2 = WORD(numbers, POS(q5,'13BFCDGHQNRPSTVWUXY45'))
     end                                          /* end machine VL3 */
     when q1 = C then do                          /* begin machine V2L*/
      numbers = "1 2 3 4 5 6 7 8 9 10"
      delta2 = WORD(numbers, POS(q4, 'BFDCHKLSTU'))
     end                                          /* end machine V2L */
   end                                            /* end selection */
  end                                             /* end when q2 = 9 */
end                                               /* end routine */
return
/* - - - - - - - - - - - - End Warning Routine - - - - - - - - - - - - */

/* - - - - - - - - - - Real caluculations Routine - - - - - - - - - - -*/
_CALC:
 if q2>=7 then iname = name.q1.q2.q6.delta2 /* set image name  */
 image = code.q1.q2.q6.delta2   /* Used to calculate "REAL" */
 buf   = buff.q1.q2.q6.delta2   /* Buffer DRAM needed for build */
 real2 = image + buf            /* "REAL" value calculated */
 real = (real2 + 1023) / 1024   /* "REAL" in 1024K blocks */
 real = FORMAT(real, 5, 1)      /* "REAL value rounded up */
 flash = flash.q1.q2.q6.delta2  /* FLASH value assigned in array */
 if debug = Y then do
  Say "    "
  Say "DEBUG INFO"
  Say "    "
   say "image = " image
   say "buf = " buf
   say "real2 = " real2
   say "real = " real
   say "flash = " flash
 end
return
/* - - - - - - - - - - - - - End Calculations - - - - - - - - - - - - -*/

/* - - - - - - - - - - - - - -2210 Questions - - - - - - - - - - - - - */

_11QUES:
if upmrs = 'N' then do
/* Determine 2210 Model, features and Configuration                    */
do i = 2 to 9                                                     /*V22*/
  say h.i                                                         /*V22*/
  call ADDOUT(h.i)                                                /*V22*/
end                                                               /*V22*/
l = "This Version of 2210STOR supports 2210 MRS V3.3 and previous releases."
say l
call ADDOUT(l)
call ADDOUT(" ")
l = "This version of 2210STOR supersedes all previous versions."
say l
call ADDOUT(l)
call ADDOUT(" ")
l = "WARNING: This does not guarantee a configuration will work."
say l
call ADDOUT(l)
l = "SRAM records should be considered by using the 2210"
say l
call ADDOUT(l)
l = "Configuration Program"
say l
call ADDOUT(l)
say
call ADDOUT(" ")
l="To quit program type QQ when prompted for a question."
/*    Get 2210 Model Number                                         V33*/
say l
say "Which 2210 model are you using?"
end
say "A. 2 WAN Port (12x models)"
say "B. 4 WAN Port (x4x models)"
say "C. 1 WAN + ISDN (1Sx/1Ux models)"
q1 = CHOOSE("Input A,B or C","",'ABC')

interpret clear                   /*      Clear screen if VM  V22*/

/*    Get 2210 MRS Release Number                                   V33*/
if upmrs = 'N' then say "Which Release of MRS are you using?"
else say "Which Release of MRS are you migrating from?"
say "4. MRS 2.0"
say "5. MRS 2.1"
say "6. MRS 2.2"
say "7. MRS 3.1"
say "8. MRS 3.2"
say "9. MRS 3.3"
q2 = CHOOSE("Input 4,5,6,7,8 or 9","",'456789')
interpret clear                         /*      Clear screen if VM  V22*/

/*    Select 2210 Image base on Model and Release                   V33*/
select                       /*main selection between q1= A, B, and C  */
 when q1 = 'A' then do       /*********VL models Q1=A ******************/
  q6 = 1
  select
    when q2= 4  then do                 /*      MRS-v2.0            V22*/
      say "Which MRS load are you using?"
      say "0. MRS.A02  IP + APPN"
      say "A. MRS.A00  IP only"
      say "B. MRS.A01  IP + DLSw"
      say "C. MRS.A03  IP + DLSw+ APPN"
      say "D. MRS.A0A  IP + IPX"
      say "E. MRS.A0B  IP + IPX + DLSw"
      say "F. MRS.A0C  IP + Addit. + DLSw + IPX"
      say "G. MRS.A0D  IP + Addit. + DLSw + IPX + APPN"
      say "H. MRS.A10  ISDN + IP"
      say "I. MRS,A11  ISDN + IP + DLSw"
      say "J. MRS.A13  ISDN + IP + DLSw + APPN"
      say "K. MRS.A1A  ISDN + IP + IPX"
      say "L. MRS.A1B  ISDN + IP + IPX + DLSw"
      say "M. MRS.A1C  ISDN + IP + Addit. + DLSw"
      say "N. MRS.A1D  ISDN + IP + Addit. + DLSw + APPN"
      q5=CHOOSE("Input 0,A,B,C,D,E,F,G,H,I,J,K,L,M,or N","",'0ABCDEFGHIJKLMN')
      call _FLAGA
    end   /* when q2 = 4 */

    when q2='5' then do                 /*      MRS-V2.1            V22*/
      say "Which MRS load are you using?"
      say "1. MRS.B05  IP without remote LAN"
      say "2. MRS.B0E  IP + IPX without remote LAN"
      say "3. MRS.B0F  IP + IPX + DLSw + APPN"
      say "4. MRS.B02  IP + APPN in 8 Meg. See sales pages for restrictions"
      say "A. MRS.B00  IP only"
      say "B. MRS.B01  IP + DLSw"
      say "C. MRS.B03  IP + DLSw + APPN"
      say "D. MRS.B0A  IP + IPX"
      say "E. MRS.B0B  IP + IPX + DLSw"
      say "F. MRS.B0C  IP + Addit. + IPX + DLSw"
      say "G. MRS.B0D  IP + Addit. + IPX + DLSw + APPN"
      say "H. MRS.B10  ISDN + IP"
      say "I. MRS,B11  ISDN + IP + DLSw"
      say "J. MRS.B13  ISDN + IP + DLSw + APPN"
      say "K. MRS.B1A  ISDN + IP + IPX"
      say "L. MRS.B1B  ISDN + IP + IPX + DLSw"
      say "M. MRS.B1C  ISDN + IP + Addit. + DLSw"
      say "N. MRS.B1D  ISDN + IP + Addit. + DLsw + APPN"
      say "O. MRS.B1F  ISDN + IP + DLSw + IPX + APPN"
      q5=CHOOSE("Input 1,2,..M,N,or O","",'1234ABCDEFGHIJKLMNO')
      call _FLAGA
    end   /* when q2 = 5 */

    when q2='6' then do                 /*   MRS-V2.2                  */
      say "Which MRS load are you using?"
      say "1. MRS.C05  IP without remote LAN"
      say "2. MRS.C0E  IP + IPX without remote LAN"
      say "3. MRS.C0F  IP + IPX + DLSw + APPN"
      say "4. MRS.C02  IP + APPN in 8 Meg. See sales pages for restrictions"
      say "5. MRS.C0H  IP + DLSw + IPX with encription"
      say "A. MRS.C00  IP only"
      say "B. MRS.C01  IP + DLSw"
      say "C. MRS.C03  IP + DLSw + APPN"
      say "D. MRS.C0A  IP + IPX"
      say "E. MRS.C0B  IP + IPX + DLSw"
      say "F. MRS.C0C  IP + Addit. + IPX + DLSw"
      say "G. MRS.C0D  IP + Addit. + IPX + DLSw + APPN"
      say "H. MRS.C10  ISDN + IP"
      say "I. MRS,C11  ISDN + IP + DLSw"
      say "J. MRS.C13  ISDN + IP + DLSw + APPN"
      say "K. MRS.C1A  ISDN + IP + IPX"
      say "L. MRS.C1B  ISDN + IP + IPX + DLSw"
      say "M. MRS.C1C  ISDN + IP + Addit. + DLSw + IPX"
      say "N. MRS.C1D  ISDN + IP + Addit. + DLsw + IPX + APPN"
      say "O. MRS.C1F  ISDN + IP + DLSw + IPX + APPN"
      say "P. MRS.C1H  ISDN + IP + DLsw + IPX + encription"
      q5=CHOOSE("Input 1,2,..N,O,or P","",'12345ABCDEFGHIJKLMONP')
      call _FLAGA
    end   /* when q2 = 6 */

    when q2='7' then do                 /*   MRS-V3.1               V31*/
      say "Which MRS load are you using?"
      say "3. MRS.D0F  IP + IPX + DLSw + APPN"
      say "A. MRS.D00  IP only"
      say "B. MRS.D01  IP + DLSw"
      say "C. MRS.D03  IP + DLSw + APPN"
      say "D. MRS.D0A  IP + IPX"
      say "E. MRS.D0B  IP + IPX + DLSw"
      say "F. MRS.D0C  IP + Addit. + IPX + DLSw"
      say "H. MRS.D10  ISDN + IP"
      say "I. MRS,D11  ISDN + IP + DLSw"
      say "J. MRS.D1M  ISDN + IP + DLSw + APPN w/o TN3270 and EBN"
      say "K. MRS.D1A  ISDN + IP + IPX"
      say "L. MRS.D1B  ISDN + IP + IPX + DLSw"
      say "M. MRS.D1C  ISDN + IP + Addit. + DLSw + IPX"
      say "O. MRS.D1I  ISDN + IP + DLSw + IPX + APPN w/o TN3270 and EBN"
      say "Q. MRS.D0N IP + Addit. + DLSw + IPX + Encryp(40&56bit)"
      say "R. MRS.D0R IP + Addit. + DLSw + IPX + Encryp(40&56bit & 3DES)"
      say "S. MRS.D1N IP + ISDN + Addit. + DLSw + IPX + Encryp(40&56bit)"
      say "T. MRS.D1R IP + ISDN + Addit. + DLSw + IPX + Encr(40&56bit & 3DES)"
      q5=CHOOSE("Input 3,A,..R,S,or T","",'3ABCDEFHIJKLMOQRST')
      call _FLAGA
    end   /* when q2 = 7 */

    when q2='8' then do                 /*****   MRS-V3.2           V32*/
      say "Which MRS load are you using?"
      say "A. MRS.E00  IP only"
      say "B. MRS.E01  IP + DLSw"
      say "C. MRS.E05  IP + DLSw + APPN"
      say "D. MRS.E0A  IP + IPX"
      say "E. MRS.E0B  IP + IPX + DLSw"
      say "F. MRS.E0C  IP + Addit. + IPX + DLSw"
      say "H. MRS.E10  ISDN + IP"
      say "I. MRS.E11  ISDN + IP + DLSw"
      say "J. MRS.E15  ISDN + IP + DLSw + APPN w/o TN3270 and EBN"
      say "K. MRS.E1A  ISDN + IP + IPX"
      say "L. MRS.E1B  ISDN + IP + IPX + DLSw"
      say "M. MRS.E1C  ISDN + IP + Addit. + DLSw + IPX"
      say "Q. MRS.E0N  IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
      say "R. MRS.E0R  IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
      say "S. MRS.E1N  ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
      say "T. MRS.E1R  ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
      say "U. MRS.E0E  IP + Addit. + DLSw + IPX + Encrypt(40bit)"
      say "V. MRS.E1E  ISDN + IP + Addit. + DLSw + IPX + Encrypt(40bit)"
      q5=CHOOSE("Input Letter A..F, H..M,or Q..V","",'ABCDEFHIJKLMQRSTUV')
      call _FLAGA
    end   /* when q2 = 8 */

    when q2='9' then do                 /*****   MRS-V3.3           V33*/
      say "Which MRS load are you using?"
      say "A. MRS.F00  IP only"
      say "B. MRS.F01  IP + DLSw"
      say "C. MRS.FL1  IP + DLSw + APPN"
      say "D. MRS.F0A  IP + IPX"
      say "E. MRS.F0B  IP + IPX + DLSw"
      say "F. MRS.F0C  IP + Addit. + IPX + DLSw"
      say "H. MRS.F10  ISDN + IP"
      say "I. MRS.F11  ISDN + IP + DLSw"
      say "J. MRS.Fi1  ISDN + IP + DLSw + APPN w/o TN3270 and EBN"
      say "K. MRS.F1A  ISDN + IP + IPX"
      say "L. MRS.F1B  ISDN + IP + IPX + DLSw"
      say "M. MRS.F1C  ISDN + IP + Addit. + DLSw + IPX"
      say "Q. MRS.F0N  IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
      say "R. MRS.F0R  IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
      say "S. MRS.F1N  ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
      say "T. MRS.F1R  ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
      say "W. MRS.FL3  IP + VPN + DLSw + Encrypt(40/56bit)"
      say "X. MRS.FL4  IP + VPN + DLSw + Encrypt(40/56/128bit)"
      say "Y. MRS.FI3  ISDN + IP + VPN + DLSw + Encrypt(40/56bit)"
      say "Z. MRS.FI4  ISDN + IP + VPN + DLSw + Encrypt(40/56/128bit)"
      q5=CHOOSE("Input Letter A..F, H..M,or Q..Z","",'ABCDEFHIJKLMQRSTWXYZ')
      call _FLAGA
    end   /* when q2 = 9 */
  end /* select q2 = 2,3,E,4,5,6,7 or 8 */
end /* end when q1 = 'A' */
/***********************************************************************/
 when q1='B' then do         /****    VL3 models Q1=B ******************/
  r3hrd = 1
  interpret clear                       /*      Clear screen if VM  V22*/
  select   /* start main image selection */
/********    MRS-V2.0   **********/
  when q2 = 4 then do
   call _BLADE
   select                         /* beginning of image select         */
     when q6 = '1' then do        /* q6 = 5,6 & 7 were reset to 1 & 2  */
       say "Which MRS load are you using?"
       say "0. MRS.A40 IP only"
       say "1. MRS.A41 IP + DLSw"
       say "3. MRS.A43 IP + DLSw + APPN"
       say "A. MRS.A4A IP + IPX"
       say "B. MRS.A4B IP + DLSw + IPX"
       say "C. MRS.A4C IP + Addit. + DLSw + IPX"
       say "D. MRS.A4D IP + Addit. + DLSw + IPX + APPN"
       q5 = CHOOSE("Input 0,1,3,A,B,C,or D","",'013ABCD')
       call _FLAGB
     end  /* q6='1' */
     when q6 = '2' then do
       say "Which MRS load are you using?"
       say "0. MRS.A50 IP only"
       say "1. MRS.A51 IP + DLSw"
       say "3. MRS.A53 IP + DLSw + APPN"
       say "A. MRS.A5A IP + IPX"
       say "B. MRS.A5B IP + DLSw + IPX"
       say "C. MRS.A5C IP + Addit. + DLSw + IPX"
       say "D. MRS.A5D IP + Addit. + DLSw + IPX + APPN"
       q5 = CHOOSE("Input 0,1,3,A,B,C,or D","",'013ABCD')
       call _FLAGB
     end /* q6 = '2' */
     when q6 = '3' then do
       say "Which MRS load are you using?"
       say "0. MRS.A60 IP only"
       say "1. MRS.A61 IP + DLSw"
       say "3. MRS.A63 IP + DLSw + APPN"
       say "A. MRS.A6A IP + IPX"
       say "B. MRS.A6B IP + DLSw + IPX"
       say "C. MRS.A6C IP + Addit. + DLSw + IPX"
       say "D. MRS.A6D IP + Addit. + DLSw + IPX + APPN"
       q5 = CHOOSE("Input 0,1,3,A,B,C,or D","",'013ABCD')
       call _FLAGB
     end /* q6 = '3' */
     when q6 = '4' then do
       say "Which MRS load are you using?"
       say "0. MRS.A70 IP only"
       say "1. MRS.A71 IP + DLSw"
       say "3. MRS.A73 IP + DLSw + APPN"
       say "A. MRS.A7A IP + IPX"
       say "B. MRS.A7B IP + DLSw + IPX"
       say "C. MRS.A7C IP + Addit. + DLSw + IPX"
       say "D. MRS.A7D IP + Addit. + DLSw + IPX + APPN"
       q5 = CHOOSE("Input 0,1,3,A,B,C,or D","",'013ABCD')
       call _FLAGB
     end /* q6  = '4' */
   end               /* image selection for v2.0 */
  end               /* when q2 = 4 for v2.0 */

/********    MRS-V2.1   **********/
  when q2 = '5' then do
   call _BLADE
   select                         /* beginning of image select         */
     when q6 = '1' then do        /* q6 = 5 and 6 are also reset to 1  */
       say "Which MRS load are you using?"
       say "0. MRS.B40 IP only"
       say "1. MRS.B41 IP + DLSw"
       say "3. MRS.B43 IP + DLSw + APPN"
       say "A. MRS.B4A IP + IPX"
       say "B. MRS.B4B IP + DLSw + IPX"
       say "C. MRS.B4C IP + Addit. + DLSw + IPX"
       say "D. MRS.B4D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.B4F IP + DLSw + IPX + APPN"
       say "G. MRS.B4G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       q5 = CHOOSE("Input 0,1,3,A,B,C,D,F,or G","",'013ABCDFG')
       call _FLAGB
     end  /* q6 = '1'  */
     when q6 = '2' then do
       say "Which MRS load are you using?"
       say "0. MRS.B50 IP only"
       say "1. MRS.B51 IP + DLSw"
       say "2. MRS.B52 IP + APPN without remote LAN"
       say "3. MRS.B53 IP + DLSw + APPN"
       say "A. MRS.B5A IP + IPX"
       say "B. MRS.B5B IP + DLSw + IPX"
       say "C. MRS.B5C IP + Addit. + DLSw + IPX"
       say "D. MRS.B5D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.B5F IP + DLSw + IPX + APPN"
       say "G. MRS.B5G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       q5 = CHOOSE("Input 0,1,2,3,A,B,C,D,F,or G","",'0123ABCDFG')
       call _FLAGB
     end /* q6 = '2' */
     when q6 = '3' then do
       say "Which MRS load are you using?"
       say "0. MRS.B60 IP only"
       say "1. MRS.B61 IP + DLSw"
       say "3. MRS.B63 IP + DLSw + APPN"
       say "A. MRS.B6A IP + IPX"
       say "B. MRS.B6B IP + DLSw + IPX"
       say "C. MRS.B6C IP + Addit. + DLSw + IPX"
       say "D. MRS.B6D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.B6F IP + DLSw + IPX + APPN"
       say "G. MRS.B6G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       q5 = CHOOSE("Input 0,1,3,A,B,C,D,F,or G","",'013ABCDFG')
       call _FLAGB
     end /* q6 = '3' */
     when q6 = '4' then do
       say "Which MRS load are you using?"
       say "0. MRS.B70 IP only"
       say "1. MRS.B71 IP + DLSw"
       say "3. MRS.B73 IP + DLSw + APPN"
       say "A. MRS.B7A IP + IPX"
       say "B. MRS.B7B IP + DLSw + IPX"
       say "C. MRS.B7C IP + Addit. + DLSw + IPX"
       say "D. MRS.B7D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.B7F IP + DLSw + IPX + APPN"
       say "G. MRS.B7G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       q5 = CHOOSE("Input 0,1,3,A,B,C,D,F,or G","",'013ABCDFG')
       call _FLAGB
     end /* when q6=4 */
   end   /*  end image select for v2.1 */
  end   /* when q2=5 for v2.1 */

/********    MRS-V2.2   **********/
  when q2='6' then do
   call _BLADE
   select                       /*        beginning of image select    */
     when q6 = '1' then do      /* q6 = 5 and 6 are also reset to 1    */
       say "Which MRS load are you using?"
       say "0. MRS.C40 IP only"
       say "1. MRS.C41 IP + DLSw"
       say "3. MRS.C43 IP + DLSw + APPN"
       say "A. MRS.C4A IP + IPX"
       say "B. MRS.C4B IP + DLSw + IPX"
       say "C. MRS.C4C IP + Addit. + DLSw + IPX"
       say "D. MRS.C4D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.C4F IP + DLSw + IPX + APPN"
       say "G. MRS.C4G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "H. MRS.C4H IP + DLSw + IPX + Encription"
       q5 = CHOOSE("Input 0,1,3,A,B,C,D,F,G,or H","",'013ABCDFGH')
       call _FLAGB
     end  /* q6='1' */
     when q6 = '2' then do
       say "Which MRS load are you using?"
       say "0. MRS.C50 IP only"
       say "1. MRS.C51 IP + DLSw"
       say "2. MRS.C52 IP + APPN without remote LAN"
       say "3. MRS.C53 IP + DLSw + APPN"
       say "A. MRS.C5A IP + IPX"
       say "B. MRS.C5B IP + DLSw + IPX"
       say "C. MRS.C5C IP + Addit. + DLSw + IPX"
       say "D. MRS.C5D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.C5F IP + DLSw + IPX + APPN"
       say "G. MRS.C5G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "H. MRS.C5H IP + DLSw + IPX + Encription"
       q5 = CHOOSE("Input 0,1,2,3,A,B,C,D,F,G,or H","",'0123ABCDFGH')
       call _FLAGB
     end /* q6 = '2' */
     when q6 = '3' then do
       say "Which MRS load are you using?"
       say "0. MRS.C60 IP only"
       say "1. MRS.C61 IP + DLSw"
       say "3. MRS.C63 IP + DLSw + APPN"
       say "A. MRS.C6A IP + IPX"
       say "B. MRS.C6B IP + DLSw + IPX"
       say "C. MRS.C6C IP + Addit. + DLSw + IPX"
       say "D. MRS.C6D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.C6F IP + DLSw + IPX + APPN"
       say "G. MRS.C6G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       q5 = CHOOSE("Input 0,1,3,A,B,C,D,F,or G","",'013ABCDFG')
       call _FLAGB
     end /* q6 = '3' */
     when q6 = '4' then do
       say "Which MRS load are you using?"
       say "0. MRS.C70 IP only"
       say "1. MRS.C71 IP + DLSw"
       say "3. MRS.C73 IP + DLSw + APPN"
       say "A. MRS.C7A IP + IPX"
       say "B. MRS.C7B IP + DLSw + IPX"
       say "C. MRS.C7C IP + Addit. + DLSw + IPX"
       say "D. MRS.C7D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.C7F IP + DLSw + IPX + APPN"
       say "G. MRS.C7G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "H. MRS.C7H IP + DLSw + IPX + Encription"
       q5 = CHOOSE("Input 0,1,3,A,B,C,D,F,G,or H","",'013ABCDFGH')
       call _FLAGB
     end /* when q6=4 */
   end   /*  end image select for v2.2 */
  end   /* end when q2=6 for v2.2 */

/********    MRS-V3.1   **********/

  when q2 = '7' then do
   call _BLADE
   select                    /*           beginning of image select    */
     when q6 = '1' then do   /* q6 = 5 and 6 are also reset to 1       */
       say "Which MRS load are you using?"
       say "1. MRS.D41 IP + DLSw"
       say "3. MRS.D43 IP + DLSw + APPN"
       say "B. MRS.D4B IP + DLSw + IPX"
       say "C. MRS.D4C IP + Addit. + DLSw + IPX"
       say "D. MRS.D4D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.D4F IP + DLSw + IPX + APPN"
       say "G. MRS.D4G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "H. MRS.D4H IP + DLSw + IPX + encryption"
       say "Q. MRS.D4Q IP + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "N. MRS.D4N IP + Addit. + DLSw + IPX + Encryp(40&56bit)"
       say "L. MRS.D4R IP + Addit. + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "P. MRS.D4P IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit)"
       say "S. MRS.D4S IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit & 3DES)"
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,H,J,K,L,M, or N","",'13BCDFGHJKLMN')
       call _FLAGB
     end  /* q6='1' */
     when q6 = '2' then do
       say "Which MRS load are you using?"
       say "1. MRS.D51 IP + DLSw"
       say "2. MRS.D52 IP + APPN without remote LAN"
       say "3. MRS.D53 IP + DLSw + APPN"
       say "B. MRS.D5B IP + DLSw + IPX"
       say "C. MRS.D5C IP + Addit. + DLSw + IPX"
       say "D. MRS.D5D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.D5F IP + DLSw + IPX + APPN"
       say "G. MRS.D5G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "H. MRS.D5H IP + DLSw + IPX + Encription"
       say "Q. MRS.D5Q IP + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "N. MRS.D5N IP + Addit. + DLSw + IPX + Encryp(40&56bit)"
       say "R. MRS.D5R IP + Addit. + DLSw + IPX + Encryp(40&56bit & 3DES )"
       say "P. MRS.D5P IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit )"
       say "S. MRS.D5S IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit & 3DES)"
       q5 = CHOOSE("Input 1,2,3,B,C,D,F,G,H,J,K,L,M, or N","",'123BCDFGHJKLMN')
       call _FLAGB
     end /* q6 = '2' */
     when q6 = '3' then do
       say "Which MRS load are you using?"
       say "1. MRS.D61 IP + DLSw"
       say "3. MRS.D63 IP + DLSw + APPN"
       say "B. MRS.D6B IP + DLSw + IPX"
       say "C. MRS.D6C IP + Addit. + DLSw + IPX"
       say "D. MRS.D6D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.D6F IP + DLSw + IPX + APPN"
       say "G. MRS.D6G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "H. MRS.D6H IP + DLSw + IPX + Encription"
       say "Q. MRS.D6Q IP + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "N. MRS.D6N IP + Addit. + DLSw + IPX + Encryp(40&56bit)"
       say "R. MRS.D6R IP + Addit. + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "P. MRS.D6P IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit)"
       say "S. MRS.D6S IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit & 3DES)"
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,H,Q,N,R,P, or S","",'13BCDFGHQNRPS')
        call _FLAGB
     end /* q6 = '3' */
     when q6 = '4' then do
       say "Which MRS load are you using?"
       say "1. MRS.D71 IP + DLSw"
       say "3. MRS.D73 IP + DLSw + APPN"
       say "B. MRS.D7B IP + DLSw + IPX"
       say "C. MRS.D7C IP + Addit. + DLSw + IPX"
       say "D. MRS.D7D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.D7F IP + DLSw + IPX + APPN"
       say "G. MRS.D7G IP + Addit. + DLSw + IPX + APPN + n. dispatcher"
       say "Q. MRS.D7Q IP + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "N. MRS.D7N IP + Addit. + DLSw + IPX + Encryp(40&56bit)"
       say "R. MRS.D7R IP + Addit. + DLSw + IPX + Encryp(40&56bit & 3DES)"
       say "P. MRS.D7P IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit)"
       say "S. MRS.D7S IP + Addit. + DLSw + IPX + APPN + Encryp(40&56bit  & 3DES)"
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,Q,N,R,P, or S","",'13BCDFGQNRPS')
       call _FLAGB
     end /* when q6=4 */
   end   /*  end image select for v3.1 */
  end   /* end when q2=7 for v3.1 */

/*****  v3.2  *****/
  when q2 = '8' then do
   call _BLADE
   select                       /* beginning of image select    */
     when q6 = '1' then do   /* q6 = 5 and 6 are also reset to 1  */
       say "Which MRS load are you using?"
       say "1. MRS.E41 IP + DLSw"
       say "3. MRS.E43 IP + DLSw + APPN"
       say "B. MRS.E4B IP + DLSw + IPX"
       say "C. MRS.E4C IP + Addit. + DLSw + IPX"
       say "D. MRS.E4D IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.E4F IP + DLSw + IPX + APPN"
       say "G. MRS.E4G IP + Addit. + DLSw + IPX + APPN + Net Dispatcher"
       say "H. MRS.E4H IP + DLSw + IPX + Encrypt(40/56bit)"
       say "Q. MRS.E4Q IP + DLSw + IPX + Encrypt(40/56/128bit)"
       say "N. MRS.E4N IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
       say "R. MRS.E4R IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
       say "P. MRS.E4P IP + Addit. + DLSw + IPX + APPN + Encrypt(40/56bit)"
       say "S. MRS.E4S IP + Addit. + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
       say "O. more..."
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,H,Q,N,R,P,S, or O","",'13BCDFGHQNRPSO')
       select
        when q5 = 'O' then do  /* more options */
          interpret clear                /*      Clear screen if VM  V22*/
          say "Which MRS load are you using?"
          say "J. MRS.E4J IP + DLSw + IPX + Encrypt(40bit)"
          say "E. MRS.E4E IP + Addit. + DLSw + IPX + Encrypt(40bit)"
          say "M. MRS.E4M IP + Addit. + DLSw + IPX + APPN + Encrypt(40bit)"
          say "T. MRS.E4T Full IP + IPv6 + DLSw + IPX"
          say "K. MRS.E4K Full IP + IPv6 + DLSw + IPX + Encrypt(40bit)"
          say "V. MRS.E4V Full IP + IPv6 + DLSw + IPX + Encrypt(40/56bit)"
          say "W. MRS.E4W Full IP + IPv6 + DLSw + IPX + Encrypt(40/56/128bit)"
          say "U. MRS.E4U Full IP + IPv6 + DLSw + IPX + APPN"
          say "L. MRS.E4L Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40bit)"
          say "X. MRS.E4X Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56bit)"
          say "Y. MRS.E4Y Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
          q5 = CHOOSE("Input Letter A..H, J..N, or P..Z","",'13BCDFGHQNRPSJEMTKVWULXY')
        end  /* end more options */
        otherwise
       end  /* end select */
       call _FLAGB
     end  /* q6='1' */
     when q6 = '2' | q6 = '3' then do
       q6 = 2                           /* Force q6 = 2  */
       say "Which MRS load are you using?"
       say "1. MRS.E81 ISDN + IP + DLSw"
       say "3. MRS.E83 ISDN + IP + DLSw + APPN"
       say "B. MRS.E8B ISDN + IP + DLSw + IPX"
       say "C. MRS.E8C ISDN + IP + Addit. + DLSw + IPX"
       say "D. MRS.E8D ISDN + IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.E8F ISDN + IP + DLSw + IPX + APPN"
       say "G. MRS.E8G ISDN + IP + Addit. + DLSw + IPX + APPN + Net Dispatcher"
       say "H. MRS.E8H ISDN + IP + DLSw + IPX + Encrypt(40/56bit)"
       say "Q. MRS.E8Q ISDN + IP + DLSw + IPX + Encrypt(40/56/128bit)"
       say "N. MRS.E8N ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
       say "R. MRS.E8R ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
       say "P. MRS.E8P ISDN + IP + Addit. + DLSw + IPX + APPN + Encrypt( 40/56bit)"
       say "S. MRS.E8S ISDN + IP + Addit. + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
       say "O. more..."
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,H,Q,N,R,P,S, or O","",'13BCDFGHQNRPSO')
       select
        when q5 = 'O' then do  /* more options */
          interpret clear                /*      Clear screen if VM  V22*/
          say "Which MRS load are you using?"
          say "J. MRS.E8J ISDN + IP + DLSw + IPX + Encrypt(40bit)"
          say "E. MRS.E8E ISDN + IP + Addit. + DLSw + IPX + Encrypt(40bit)"
          say "M. MRS.E8M ISDN + IP + Addit. + DLSw + IPX + APPN + Encrypt(40bit)"
          say "T. MRS.E8T ISDN + Full IP + IPv6 + DLSw + IPX"
          say "K. MRS.E8K ISDN + Full IP + IPv6 + DLSw + IPX + Encrypt(40bit)"
          say "V. MRS.E8V ISDN + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56bit)"
          say "W. MRS.E8W ISDN + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56/128bit)"
          say "U. MRS.E8U ISDN + Full IP + IPv6 + DLSw + IPX + APPN"
          say "L. MRS.E8L ISDN + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40bit)"
          say "X. MRS.E8X ISDN + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56bit)"
          say "Y. MRS.E8Y ISDN + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
          q5 = CHOOSE("Input 1,3,B..H, J..N, or P..Y","",'13BCDFGHQNRPSJEMTKVWULXY')
        end  /* end more options */
        otherwise
       end  /* end select */
       call _FLAGB
     end /* q6 = '2' */

     when q6 = '4' then do
       say "Which MRS load are you using?"
       say "1. MRS.E71 ATM + IP + DLSw"
       say "3. MRS.E73 ATM + IP + DLSw + APPN"
       say "B. MRS.E7B ATM + IP + DLSw + IPX"
       say "C. MRS.E7C ATM + IP + Addit. + DLSw + IPX"
       say "D. MRS.E7D ATM + IP + Addit. + DLSw + IPX + APPN"
       say "F. MRS.E7F ATM + IP + DLSw + IPX + APPN"
       say "G. MRS.E7G ATM + IP + Addit. + DLSw + IPX + APPN + Net Dispatcher"
       say "N. MRS.E7N ATM + IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
       say "R. MRS.E7R ATM + IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
       say "P. MRS.E7P ATM + IP + Addit. + DLSw + IPX + APPN + Encrypt(40/56bit)"
       say "S. MRS.E7S ATM + IP + Addit. + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
       say "O. more..."
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,N,R,P,S, or O","",'13BCDFGNRPSO')
      select
        when q5 = 'O' then do  /* more options */
          interpret clear                /*      Clear screen if VM  V22*/
          say "Which MRS load are you using?"
          say "E. MRS.E7E ATM + IP + Addit. + DLSw + IPX + Encrypt(40bit)"
          say "M. MRS.E7M ATM + IP + Addit. + DLSw + IPX + APPN + Encrypt(40bit)"
          say "T. MRS.E7T ATM + Full IP + IPv6 + DLSw + IPX"
          say "K. MRS.E7K ATM + Full IP + IPv6 + DLSw + IPX + Encrypt(40bit)"
          say "V. MRS.E7V ATM + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56bit)"
          say "W. MRS.E7W ATM + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56/128bit)"
          say "U. MRS.E7U ATM + Full IP + IPv6 + DLSw + IPX + APPN"
          say "L. MRS.E7L ATM + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40bit)"
          say "X. MRS.E7X ATM + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56bit)"
          say "Y. MRS.E7Y ATM + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
          q5 = CHOOSE("Input 1,3,B..G, K..N, or Q..Y","",'13BCDFGNRPSEMTKVWULXY')
        end  /* end more options */
        otherwise
      end  /* end select */
      call _FLAGB
     end /* when q6=4 */
   end   /*  end image select for v3.2 */
 end   /* end when q2=8 for v3.2 */

/*****  v3.3  *****/
  when q2 = '9' then do
   call _BLADE
   select                       /* beginning of image select    */
     when q6 = '1' then do   /* q6 = 5 and 6 are also reset to 1  */
       say "Which MRS load are you using?"
       say "1. MRS.F41 IP + DLSw"
       say "3. MRS.F43 IP + DLSw + APPN"
       say "B. MRS.F4B IP + DLSw + IPX"
       say "C. MRS.F4C IP + Misc.+ DLSw + IPX"
       say "D. MRS.F4D IP + Misc.+ DLSw + IPX + APPN"
       say "F. MRS.F4F IP + DLSw + IPX + APPN"
       say "G. MRS.F4G IP + Misc.+ DLSw + IPX + APPN + Net Dispatcher"
       say "H. MRS.F4H IP + DLSw + IPX + Encrypt(40/56bit)"
       say "Q. MRS.F4Q IP + DLSw + IPX + Encrypt(40/56/128bit)"
       say "N. MRS.F4N IP + Misc.+ DLSw + IPX + Encrypt(40/56bit)"
       say "R. MRS.F4R IP + Misc.+ DLSw + IPX + Encrypt(40/56/128bit)"
       say "P. MRS.F4P IP + Misc.+ DLSw + IPX + APPN + Encrypt(40/56bit  )"
       say "S. MRS.F4S IP + Misc. + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
       say "O. more..."
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,H,Q,N,R,P,S or O","",'13BCDFGHQNRPSO')
       select
        when q5 = 'O' then do  /* more options */
          interpret clear                /*      Clear screen if VM  V22*/
          say "Which MRS load are you using?"
          say "4. MRS.F44 IP + VPN + DLSW + ND + Encrypt(40/56bit)"
          say "5. MRS.F45 IP + VPN + DLSw + ND + Encrypt(40/56/128bit)"
          say "T. MRS.F4T Full IP + IPv6 + DLSw + IPX"
          say "U. MRS.F4U Full IP + IPv6 + DLSw + IPX + APPN"
          say "V. MRS.F4V Full IP + IPv6 + DLSw + IPX + Encrypt(40/56bit)"
          say "W. MRS.F4W Full IP + IPv6 + DLSw + IPX + Encrypt(40/56/128bit)"
          say "X. MRS.F4X Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56bit)"
          say "Y. MRS.F4Y Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
          q5 = CHOOSE("Input Character for desired Image 4,5,T,etc","",'13BCDFGHQNRPS45TUVWXY')
        end  /* end more options */
        otherwise
       end  /* end select */
       call _FLAGB
     end  /* q6='1' */
     when q6 = '2' | q6 = '3' then do
       say "Which MRS load are you using?"
       q6 = 2                           /* Force q6 = 2  */
       say "1. MRS.F81 ISDN + IP + DLSw"
       say "3. MRS.F83 ISDN + IP + DLSw + APPN"
       say "B. MRS.F8B ISDN + IP + DLSw + IPX"
       say "C. MRS.F8C ISDN + IP + Misc.+ DLSw + IPX"
       say "D. MRS.F8D ISDN + IP + Misc.+ DLSw + IPX + APPN"
       say "F. MRS.F8F ISDN + IP + DLSw + IPX + APPN"
       say "G. MRS.F8G ISDN + IP + Misc.+ DLSw + IPX + APPN + Net Disp."
       say "H. MRS.F8H ISDN + IP + DLSw + IPX + Encrypt(40/56bit)"
       say "Q. MRS.F8Q ISDN + IP + DLSw + IPX + Encrypt(40/56/128bit)"
       say "N. MRS.F8N ISDN + IP + Misc.+ DLSw + IPX + Encrypt(40/56bit)"
       say "R. MRS.F8R ISDN + IP + Misc.+ DLSw + IPX + Encrypt(40/56/128bit)"
       say "P. MRS.F8P ISDN + IP + Misc.+ DLSw + IPX + APPN + Encrypt(   40/56bit)"
       say "S. MRS.F8S ISDN + IP + Misc. + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
       say "O. more..."
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,H,Q,N,R,P,S or O","",'13BCDFGHQNRPSO')
       select
        when q5 = 'O' then do  /* more options */
          interpret clear                /*      Clear screen if VM  V22*/
          say "Which MRS load are you using?"
          say "4. MRS.F84 ISDN + IP + VPN + ND + Encrypt(40/56bit)"
          say "5. MRS.F85 ISDN + IP + VPN + ND + Encrypt(40/56/128bit)"
          say "T. MRS.F8T ISDN + Full IP + IPv6 + DLSw + IPX"
          say "U. MRS.F8U ISDN + Full IP + IPv6 + DLSw + APPN"
          say "V. MRS.F8V ISDN + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56)"
          say "W. MRS.F8W ISDN + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56/128bit)"
          say "X. MRS.F8X ISDN + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56bit)"
          say "Y. MRS.F8Y ISDN + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
          q5 = CHOOSE("Input Character for desired Image 4,5,T,etc","",'13BCDFGHQNRPS45TUVWXY')
        end  /* end more options */
        otherwise
       end  /* end select */
       call _FLAGB
     end /* q6 = '2' */

     when q6 = '4' then do
       say "Which MRS load are you using?"
       say "1. MRS.F71 ATM + IP + DLSw"
       say "3. MRS.F73 ATM + IP + DLSw + APPN"
       say "B. MRS.F7B ATM + IP + DLSw + IPX"
       say "C. MRS.F7C ATM + IP + Misc.+ DLSw + IPX"
       say "D. MRS.F7D ATM + IP + Misc.+ DLSw + IPX + APPN"
       say "F. MRS.F7F ATM + IP + DLSw + IPX + APPN"
       say "G. MRS.F7G ATM + IP + Misc.+ DLSw + IPX + APPN + Net Disp."
       say "N. MRS.F7N ATM + IP + Misc.+ DLSw + IPX + Encrypt(40/56bit)"
       say "R. MRS.F7R ATM + IP + Misc.+ DLSw + IPX + Encrypt(40/56/128bit)"
       say "P. MRS.F7P ATM + IP + Misc.+ DLSw + IPX + APPN + Encrypt(40/56bit)"
       say "S. MRS.F7S ATM + IP + Misc.+ DLSw + IPX + APPN + Encrypt(40/56/128bit)"
       say "O. more..."
       q5 = CHOOSE("Input 1,3,B,C,D,F,G,N,R,P,S, or O","",'13BCDFGNRPSO')
      select
        when q5 = 'O' then do  /* more options */
          interpret clear                /*      Clear screen if VM  V22*/
          say "Which MRS load are you using?"
          say "T. MRS.F7T ATM + Full IP + IPv6 + DLSw + IPX"
          say "U. MRS.F7U ATM + Full IP + IPv6 + DLSw + IPX + APPN"
          say "V. MRS.F7V ATM + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56bit)"
          say "W. MRS.F7W ATM + Full IP + IPv6 + DLSw + IPX + Encrypt(40/56/128bit)"
          say "X. MRS.F7X ATM + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56bit)"
          say "Y. MRS.F7Y ATM + Full IP + IPv6 + DLSw + IPX + APPN + Encrypt(40/56/128bit)"
          q5 = CHOOSE("Input Character for desired Image T,U,V,etc","",'13BCDFGNRPSTUVWXY')
        end  /* end more options */
        otherwise
      end  /* end select */
      call _FLAGB
     end /* when q6=4 */
   end   /*  end image select for v3.3 */
 end   /* end when q2=9 for v3.3 */
end      /* end main image selection */
end      /* end when q1 = 'B' */

/***********************************************************************/
 when q1= 'C' then do        /******* V2L models Q1=C ******************/
  q6 = 1
  select                                    /* start main image select */
    when q2 = 4 then do                     /* start when q2=4      V20*/
      say "Which MRS load are you using?"
      say "A. MRS.AD0 ISDN + IP"
      say "B. MRS.AD1 ISDN + IP + DLSw"
      say "C. MRS.ADA ISDN + IP + IPX"
      say "D. MRS.ADC ISDN + IP + Addit. + DLSw"
      q4 = CHOOSE("Input A,B,C, or D","",'ABCD')
      call _FLAGC
    end                                     /* end when q2 = 4         */
    when q2 = 5 then do                     /* start when q2=5      V21*/
      say "Which MRS load are you using?"
      say "A. MRS.BD0 ISDN + IP"
      say "B. MRS.BD1 ISDN + IP +DLSw"
      say "C. MRS.BDA ISDN + IP + IPX"
      say "D. MRS.BDC ISDN + IP + Addit. + DLSw + IPX"
      say "E. MRS.BD5 ISDN + IP without Remote LAN"
      say "F. MRS.BDB ISDN + IP + DLSw + IPX"
      say "G. MRS.BDG ISDN + IP + IPX without Remote LAN"
      q4 = CHOOSE("Input A,B,C,D,E,F, or G","",'ABCDEFG')
      call _FLAGC
    end                                     /* end q2 = 5              */
    when q2 = 6 then do                     /* start when q2=6      V22*/
      say "Which MRS load are you using?"
      say "A. MRS.CD0 ISDN + IP"
      say "B. MRS.CD1 ISDN + IP +DLSw"
      say "C. MRS.CDA ISDN + IP + IPX"
      say "D. MRS.CDC ISDN + IP + Addit. + DLSw + IPX"
      say "E. MRS.CD5 ISDN + IP without Remote LAN"
      say "F. MRS.CDB ISDN + IP + DLSw + IPX"
      say "G. MRS.CDE ISDN + IP + IPX without Remote LAN"
      say "H. MRS.CD6 IP only"
      say "I. MRS.CDJ ISDN + IP + IPX + Encription without Remote LAN"
      say "J. MRS.CDH ISDN + IP + IPX + DLSw + Encription"
      q4 = CHOOSE("Input A,B,C,D,E,F,G,H,I, or J","",'ABCDEFGHIJ')
      call _FLAGC
    end                                     /* end when q2 = 6         */
    when q2 = 7 then do                     /* start when q2=7      V31*/
      say "Which MRS load are you using?"
      say "B. MRS.DD1 ISDN + IP +DLSw"
      say "C. MRS.DDA ISDN + IP + IPX"
      say "D. MRS.DDC ISDN + IP + Addit. + DLSw + IPX"
      say "F. MRS.DDB ISDN + IP + DLSw + IPX"
      say "H. MRS.DD6 IP only"
      say "K. MRS.DD8 ISDN + IP + IPX + X25 & PPP"
      say "L. MRS.DD9 ISDN + IP + Frame Relay & PPP (no x25)"
      say "M. MRS.DDK ISDN + IP + IPX + X25 & ppp"
      say "N. MRS.DDL ISDN + IP + IPX + Frame Relay+ PPP (no x25)"
      say "O. MRS.DDN ISDN + IP + Addit. + DLSw + IPX + Encryp(40&56bit)"
      say "P. MRS.DDR ISDN + IP + Addit. + DLSw + IPX + Encry(40&56bit + DES)"
      q4 = CHOOSE("Input B,C,D,F,H,K,L,M,N,O or P","",'BCDFHKLMNOP')
      call _FLAGC
    end                                        /* end when q2 = 7      */
    when q2 = 8 then do                     /* start when q2=8      V32*/
      say "Which MRS load are you using?"
      say "B. MRS.ED1 ISDN + IP + DLSw"
      say "C. MRS.EDA ISDN + IP + IPX"
      say "D. MRS.EDC ISDN + IP + Addit. + DLSw + IPX"
      say "F. MRS.EDB ISDN + IP + DLSw + IPX"
      say "H. MRS.ED6 IP only"
      say "K. MRS.ED8 ISDN + IP + X25 & PPP (no Frame Relay)"
      say "L. MRS.ED9 ISDN + IP + Frame Relay & PPP (no X25)"
      say "O. MRS.EDN ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56bit)"
      say "P. MRS.EDR ISDN + IP + Addit. + DLSw + IPX + Encrypt(40/56/128bit)"
      say "Q. MRS.EDE ISDN + IP + Addit. + DLSw + IPX + Encrypt(40bit)"
      say "R. MRS.ED2 ISDN + IP + IPX + Frame Relay & PPP (no X25,OSPF,DVMRP)"
      say "S. MRS.ED4 ISDN + IP + IPX + Frame Relay & PPP (no X25,bridg  ing)"
      q4 = CHOOSE("Input B,C,D,F,H,K,L,O,P,Q,R or S","",'BCDFHKLOPQRS')
      call _FLAGC
    end                                     /* end when q2 = 8         */
    when q2 = 9 then do                     /* start when q2=9      V33*/
      say "Which MRS load are you using?"
      say "B. MRS.FD1 ISDN + IP + DLSw"
      say "C. MRS.FDA ISDN + IP + IPX"
      say "D. MRS.FDC ISDN + IP + Addit. + DLSw + IPX"
      say "F. MRS.FDB ISDN + IP + DLSw + IPX"
      say "H. MRS.FU1 IP only"
      say "K. MRS.FU4 ISDN + IP + X25 & PPP (no Frame Relay)"
      say "L. MRS.FU2 ISDN + IP + Frame Relay & PPP (no X25)"
      say "S. MRS.FU3 ISDN + IP + IPX + Frame Relay & PPP (no X25,bridging)"
      say "T. MRS.FU6 ISDN + IP + DLSW + VPN + Encrypt 40/56bit)"
      say "U. MRS.FU7 ISDN + IP + DLSW + VPN + Encrypt 40/56/128bit)"
      q4 = CHOOSE("Input B,C,D,F,H,K,L,S,T, or U","",'BCDFHKLSTU')
      call _FLAGC
    end                                        /* end when q2 = 9 */
  end             /* end main image select */
end      /* end when q1 = 'C' */
end      /* end routine image selection */
/*********************************************************************/

    interpret clear                    /*      Clear screen if VM  V22*/

         call _WARN
         call _CALC

select    /* begin test section for cc3 migration */
 when upmrs = 'N' then do
/************  Check for default MTU sizes and buffer settings ******/
q = "Are you using the default MTU sizes and number of buffers?"
ayn = "Enter 'Y' or 'N'"
default = CHOOSE(q, ayn, 'YN')
select
  when default = Y then do
  end
  when default = N then do
     say " **************************************************** "
     say " *                  W A R N I N G                   * "
     say " *                                                  * "
     say " *      Please exit the program and change the      * "
     say " *      variable settings for MTU size and buffer   * "
     say " *      use to match your setup. These lines are    * "
     say " *      located in the 2210stor exec starting       * "
     say " *      at line 200 of the code.                    * "
     say " *                                                  * "
     say " *      To exit the program, enter 'qq' at the      * "
     say " *      prompt.                                     * "
     say " **************************************************** "
     say " "
     say " "
  end
end


 /******************************************************************/

/* Determine DLSW memory size */
if dflag = 1 then do
  q = "Is DLSW  enabled (Y or N)?"                                /*V31*/
  dlswflag= CHOOSE(q,"",'YN')                                     /*V31*/
  if (dlswflag = 'Y') then do                                     /*V31*/
    wrapdel = wrapdel+dlswwr           /* increase buffer wrap      V31*/
    q = "Please enter the number of Data Link Switching partners (attached DLSw routers):"
    dlswp = NUMOF(q,"",dlswpm)
    q = "Please enter the number of DLSw LLC end stations (number of PUs):"
    dlswe = NUMOF(q,"",dlswem)
      q = "Please enter the number of DLSw SDLC/QLLC end stations (number of PUs):"
      sdlce = NUMOF(q,"",sdlcem)
    call ADDOUT("Data Link Switching is being used.")
    call ADDOUT(" Data Link Switching partners: "dlswp)
    call ADDOUT(" Data Link Switching LLC end stations: "dlswe)
    call ADDOUT(" Data Link Switching SDLC or QLLC end stations: "sdlce)
  end
  else do
    dlswflag = N
    dlswp = 0
    dlswe = 0
    sdlce = 0
    call ADDOUT("Data Link Switching is not being used.")
  end
end
call ADDOUT(" ")

    interpret clear                    /*      Clear screen if VM  V22*/
/* Determine APPN memory size */
if aflag = 1 then do
  q = "Is APPN or TN3270E enabled (Y or N)?"                      /*V32*/
  appnflag= CHOOSE(q,"",'YN')                                     /*V31*/
  if (appnflag = 'Y') then do                                     /*V31*/
    say "Please answer the following APPN questions"              /*V31*/
    say                                                           /*V31*/
    call ADDOUT("APPN is being used.")                            /*V31*/
    say " You may enter the amount of APPN Shared Memory desired in KBytes"
    say " or enter 0 to have the Shared Memory calculated "       /*V31*/
    q = "Please enter 0 or the amount of APPN Shared Memory:"     /*V31*/
    appnshr = NUMOF(q,"",appnshrm)                                /*V31*/
    if appnshr = 0 then do                                        /*V31*/
      q = "Enter the number of adjacent nodes(EN,NN,LEN, or DLUR PUs)("appnman"):"
      appnman = NUMOF(q,"",appnmanm)                              /*V31*/
      call ADDOUT(" APPN adjacent nodes: "appnman)                /*V31*/
      q = "Please enter the number of NN with the same Network ID ("appnmrn"):"
      appnmrn = NUMOF(q,"",appnmanm)                              /*V31*/
      call ADDOUT(" APPN NN in network: "appnmrn)                 /*V31*/
      appnmnt = appnmrn*3          /* use default number of TGS     V31*/
      q = "Please enter the maximum number of NN-NN TGs in the subnet ("appnmnt"):"
      appnmnt = NUMOF(q,"",appnmntm)                              /*V31*/
      call ADDOUT(" APPN TGs in network: "appnmnt)                /*V31*/
      q = "Please enter % adjacent nodes with HPR sessions:"      /*V31*/
      appnphn = NUMOF(q,"",100)                                   /*V31*/
      q = "Please enter % adjacent nodes with DLUR sessions:"     /*V31*/
      appnpnp = NUMOF(q,"",100)                                   /*V31*/
      q = "Please enter the maximum number of ISR or DLUR sessions:" /*V32*/
      appnmi = NUMOF(q,"",appnmim)                                /*V31*/
      call ADDOUT(" APPN sessions: "appnmi)                       /*V31*/
      q = "Please enter % ISR/DLUR sessions using HPR/RTP data connections:"
      appnpih = NUMOF(q,"",100)                                   /*V31*/
      q = "Please enter % ISR/DLUR sessions using DLUR LUs:"      /*V32*/
      appnpdl = NUMOF(q,"",100)                                   /*V31*/
      q = "Enter % of Shared Memory to reserve for buffers ("appnbufd"):"
      appnbuf = NUMOF(q,"",100)                                   /*V32*/
      appnbufn = (100-appnbuf)/100                                /*V32*/
      call ADDOUT(" APPN Shared Memory buffer %: "appnbuf)        /*V32*/
    end                                                           /*V31*/
    if q2>6 then do                                               /*V31*/
      q = "Is APPN EBN enabled (Y or N)?"                         /*V31*/
      appnebnf = CHOOSE(q,"",'YN')
      if (appnebnf = 'Y') then appnbase = appnbase + appnebnm     /*V31*/
      interpret clear                 /*      Clear screen if VM       */
      tn32flag= CHOOSE("Is TN3270E Server enabled (Y or N)?","",'YN')
      if tn32flag = 'Y' then do                                   /*V31*/
        q = "Please enter the number of TN3270 PUs defined:"      /*V31*/
        tn32pu = NUMOF(q,"",tn32pum)                              /*V31*/
        q = "Please enter the number of TN3270 LU sessions:"      /*V31*/
        tn32lu = NUMOF(q,"",tn32lum)                              /*V31*/
        call ADDOUT("TN3270 is being used.")
        call ADDOUT(" TN3270 PUs: "tn32pu)
        call ADDOUT(" TN3270 LUs: "tn32lu)
      end
    end
    if appnshr = 0 then do
      t1 = appnman*(appnmanc+(appnphnc*appnphn/100)+(appnpnpc*appnpnp/100))
      t2 = appnmi*(appnmic+(appnpihc*appnpih/100)+(appnpdlc*appnpdl/100))
      t3 =(appnmrn*appnmrnc) + (appnmnt*appnmntc)
      t4 =(tn32lu*tn32luc) + (tn32pu*tn32puc) + tn32base
      tb =trunc(appnbase+t1+t2+t3)
      ts =trunc(appnbase+t1+t2+t3+t4)
      tx =trunc(((appnupl*tb)+t4)/(appnbufn*(appncon/100)))
      if debug = 'Y' then do
        say "t1=" t1
        say "t2=" t2
        say "t3=" t3
        say "t4=" t4
        say "tb=" tb
        say "ts=" ts "main inuse"
        say "tx=" tx
      end
      if(tx <= 5242880) then tx = (524288 + .9*tx)
      txm = trunc(tx/(1024*1024))
      if (tx > 5242880) then do
        appncont = TRUNC(appncon+((txm-5)/3))
        appncont = TRUNC((appncont/2)*2)
        if (appncont > 90) then appncont = 90
        if (appncont > appncon) then tx =((appnupl*tb+t4)/(appnbufn*(appncont/100)))
      end
      appnshrt = trunc(tx)
      appnshrk = trunc((appnshrt+1023)/1024)
      if debug = 'Y' then do
        say "tx=" tx
        say "txm=" txm
        say "appncont =" appncont
        say "appnshrt =" appnshrt
        say "appnshrk =" appnshrk
      end
    end
    else do
      appnshrk = appnshr      /* set user defined shared memory as total */
      appnshrt = appnshr*1024 /* set user defined shared memory as total */
      ts = unknown
    end
    l = "APPN Total Shared Memory: "appnshrk" Kbytes"
    say l
    call ADDOUT(l)
  end
  else do       /* no APPN    */
    ts = "n/a"
    call ADDOUT("APPN is not being used.")
  end
end
call ADDOUT(" ")

/* Determine Features and routing table size */
say
say
say "Please answer the following protocol and feature questions"  /*V22*/
say
q = "Please enter the approximate number of routes for all protocols (number of addresses in network):"
rtnum = NUMOF(q,,rtm)
call ADDOUT("Routes for all protocols: "rtnum)
call ADDOUT(" ")

/* Number of FR or X.25 PVC's or SVC's */
q = "Please enter the total number of Frame Relay/X.25 PVC's/SVC's defined:"
dlci = NUMOF(q,,dlcim)
call ADDOUT("Frame Relay/X.25 PVC's/SVC's per box: "dlci)
call ADDOUT(" ")

/* New questions for V2.1  */
if q2>=5 then do                                                 /*V31*/
  /* Number of Dial Circuits             */
  q = "Please enter Total number of Dial Circuits defined:"
  dial = NUMOF(q,,dialm)
  call ADDOUT("Dial Circuits configured: "dial)
  call ADDOUT(" ")

  /* Compression History calculation */
  say "Please enter the number of Compression Histories enabled."
  q = "(i.e number of interfaces and/or DLCI's enabled for compression)"
  comphi = NUMOF(q,,comphim)
  call ADDOUT("Number of Compression Histories: "comphi)
  call ADDOUT(" ")
end

/* Bandwidth Reservation               */
  brsflag= CHOOSE("Is BRS enabled (Y or N)?","",'YN')            /*V31*/
  if (brsflag = 'Y') then do                                     /*V31*/
     call ADDOUT("BRS is being used.")                           /*V31*/
     q = "Please enter number of interfaces using BRS:"          /*V31*/
     brs = NUMOF(q,,brsm)                                        /*V31*/
     call ADDOUT("Number of BRS interfaces: "brs )               /*V31*/
     call ADDOUT(" ")                                            /*V31*/
  end
/* New questions for V2.2  */
if q2>=6 then do                                                 /*V32*/
  l2tpflag= CHOOSE("Is L2TP enabled (Y or N)?","",'YN')          /*V32*/
  if (l2tpflag = 'Y') then do                                    /*V32*/
     call ADDOUT("L2TP is being used.")                          /*V32*/
     q = "Please enter number of L2TP interfaces defined:"       /*V32*/
     l2tpi = NUMOF(q,,l2tpim)                                    /*V32*/
     call ADDOUT("Number of L2TP interfaces: "l2tpi)             /*V32*/
     q = "Please enter the max number of L2TP tunnels defined:"  /*V32*/
     l2tpt = NUMOF(q,,l2tptm)                                    /*V32*/
     call ADDOUT("Maximum number of L2TP tunnels: "l2tpt)        /*V32*/
     q = "Please enter the max number of L2TP calls defined:"    /*V32*/
     l2tpc = NUMOF(q,,l2tpcm)                                    /*V32*/
     call ADDOUT("Maximum number of L2TP calls: "l2tpc)          /*V32*/
     q = "Please enter the max number of L2TP buffers defined:"  /*V32*/
     l2tpb = NUMOF(q,,l2tpbm)                                    /*V32*/
     call ADDOUT("Maximum number of L2TP buffers: "l2tpb)        /*V32*/
     call ADDOUT(" ")                                            /*V32*/
     dhdrdel = dhdrdel+l2tphd         /* increase buffer hdrs      V32*/
     wrapdel = wrapdel+l2tpwr         /* increase buffer wrap      V32*/
  end
end
/* New questions for V3.1  */
if q2>=7 then do                                                 /*V31*/
    interpret clear                    /*      Clear screen if VM  V22*/
  /* IPSEC enabled                       */
  q = "Is IPSEC  enabled (Y or N)?"                              /*V31*/
  ipsecflag= CHOOSE(q,"",'YN')                                   /*V31*/
  if (ipsecflag = 'Y') then do                                   /*V31*/
     call ADDOUT("IPSEC is being used.")                         /*V31*/
     q = "Please enter number of IPSEC tunnels defined"          /*V31*/
     iptun= NUMOF(q,,iptunm)                                     /*V31*/
     call ADDOUT("Number of IPSEC tunnels: "iptun)               /*V31*/
     call ADDOUT(" ")                                            /*V31*/
     dhdrdel = dhdrdel+ipsechd        /* increase buffer hdrs      V31*/
     wrapdel = wrapdel+ipsecwr        /* increase buffer wrap      V31*/
  end   /* end IPSEC  */

  /* Authentication Enabled              */
  q = "Are any Authentication protocol (PAP,CHAP,SPAP) enabled (Y or N)?"
  authflag= CHOOSE(q,"",'YN')                                    /*V31*/
  if (authflag = 'Y') then do                                    /*V31*/
     call ADDOUT("Authentication is being used.")                /*V31*/
     call ADDOUT(" ")
  end   /* end authentication  */

  /* DVMRP  Enabled              */
  q = "Is DVMRP  enabled (Y or N)?"                              /*V31*/
  dvmrpflag= CHOOSE(q,"",'YN')                                   /*V31*/
  if (dvmrpflag = 'Y') then do                                   /*V31*/
     call ADDOUT("DVMRP is being used.")                         /*V31*/
     call ADDOUT(" ")
  end   /* end DVMRP   */

  /* NDR    Enabled              */
  q = "Is Network Dispatcher being used (Y or N)?"                /*V31*/
  ndrflag= CHOOSE(q,"",'YN')                                      /*V31*/
  if (ndrflag = 'Y') then do                                      /*V31*/
     call ADDOUT("Network Dispatcher is being used.")             /*V31*/
     call ADDOUT(" ")
  end   /* end NDR     */
end

if upmrs = 'N' then do
/* Questions for FLASH */
l="FLASH Memory Requirements:"
say(l)
call ADDOUT(l)
nlq = "How many code loads must be stored in FLASH memory?"
nl = NUMOF(nlq,"",nlm)
configsq = "How many configurations must be stored in FLASH memory?"
configs = NUMOF(configsq,"",configsm)
call ADDOUT("Number of code loads in FLASH: "nl)
call ADDOUT("Number of configurations in FLASH: "configs)
end
return
 end
 when upmrs = 'Y' then do
    return
 end
end                           /* end test section for cc3 migration */
/* - - - - - - - - - - - The End - - - - - - - - - - - - - - - - */
