Installing 1MB RAM in the IBM PC/XT Motherboard

From Lo-tech Wiki
Revision as of 12:42, 29 November 2011 by Admin (talk | contribs) (1 revision: Import from Turnkey Appliance)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The following document details a modification to the IBM Personal Computer XT System Board to enable up to 1MB of RAM to be fitted and used in DOS. The document was retrieved from a thread on vintage-computer.com forums.


928K HOW2-V10

                                  928K HOW2-V10
                                     27DEC89


             HOW TO INSTALL UP TO 1 MEG ON THE IBM PC XT MOTHERBOARD

                                       OR

           WHAT IS HIGH MEMORY, WHY DO I CARE, AND HOW CAN I USE IT?

       It is surprisingly easy to install up to 1 Meg on the IBM PC XT
    motherboard, of which a maximum of 896K can be addressable storage.  All
    that is required is the replacement of chips which IBM has considerately
    placed in sockets... so no soldering is necessary.  On my XT, I have run
    a 360k ramdisk, a 96k ramdisk, a 30K print spooler, and still had 410K
    left for DOS and applications.  A friend runs 192K of ramdisk, print
    spoolers, and DOS extensions, and still has a 704K DOS address space.
    This extra storage (the excess above 640K) is called HIGH MEMORY.

    WHAT IS HIGH MEMORY:

       The 8088 chip, the engine in the IBM PC and XT, can address one meg
    in 16 64K segments numbered 0 thru F.  IBM designed the hardware of the
    PC and XT to make the first 640K available to PCDOS and the user, and
    reserved the upper 360K for various hardware functions such as ROM and
    screen buffers, etc.  This upper portion of the 1 meg address capability
    is referred to as HIGH MEMORY, and it is available for the user in 64K
    segments IF THE SPECIFIC HARDWARE WHICH USES THAT SEGMENT IS NOT
    INSTALLED.

       The six 64K segments above 640K are reserved as follows:

    * Segment A is reserved for the fully expanded Enhanced Graphics
      Adapter.

    * Segment B is reserved for the Mono and Color graphics adapters, and is
      never completely available.  However, it is sometimes possible to
      reclaim most of the space which is not actually occupied by the screen
      buffers.

    * Segment C is reserved for the EGA ROM, Hard Disk Adapter, and the 3270
      card.

    * Segments D and E are reserved for expanded memory (EMS, etc.), and
      several miscellaneous adapters including the voice adapter card.  In
      the PCJr, this space is used for the rom cartridges.)

    * Segment F is reserved for BIOS and Basic Rom, and is never available.

    HOW CAN I INSTALL IT:

       To install HIGH MEMORY (any combination of segments A C D E) on an
    IBM PC XT which already has 640K on the motherboard, all you have to do
    is:
      1. Replace the original U44 decoder ROM with a HIMEMV2 custom decoder
         chip. (See below for full details on the HIMEM chip).
      2. Replace the 64K chips in the appropriate banks with 256K chips.
      3. Set SW2 positions 3 and 4, to select the desired memory
         configuration (for the most commonly used configurations, no change
         is required to the jumpers at E2).

       Yes, It really is just that easy!  And although the price of memory
    chips isn't what it was when this article was originally written, adding
    additional storage directly to the motherboard is still the most
    economical way to upgrade your IBM PC-XT.

       NOTE 1: If your machine does not already contain any 256K chips, you
    will also have to insert a 74LS158 chip in the empty chip socket U84,
    and you may have to install a jumper at E2.
       NOTE 2: There is only one switch block on the IBM PC XT motherboard.
    On most machines, it is labeled SW2, but on some, it is labeled SW1.
    We will follow convention and refer to this switch block as SW2.

    HOW CAN I USE IT:

       With the exception of the area from 640 to 704K (the eleventh 64K
    segment, and hence segment "A"), and the area from 704K to 736K (the
    bottom half of segment "B"), HIGH MEMORY can not be directly addressed
    by DOS.  But it can be used by various special programs such as HIRAMDSK
    which can use any or all of HIGH MEMORY as a vdisk, and can also combine
    HIGH MEMORY and normal (low) memory to create a ramdisk of up to 500K.

       Another type of HIGH MEMORY program is the "lid lifter" such as
    SET704K and SET736K.  These programs change the maximum size of the DOS
    region from 640K to 704K or 736K, and are useful when working with very
    large spreadsheets, etc.  SET704K and SET736K are non-resident device
    drivers, which do their job, then remove themselves from storage.

    HOW DOES IT WORK:

        =================================================================
                (WARNING -- NERD STUFF, SKIP IF YOU DON'T CARE)
        =================================================================

       The key to the whole thing is a 16-pin chip that plugs into a socket
    at U44.  U44 is a 256 X 4 bit Schottky PROM.  That is, it has 256
    addresses, each of which contains a single hex digit (four bits) of
    data.  This data is arranged into sixteen decoding tables, each of which
    has sixteen entries.  These tables are what tell the machine whether a
    particular 64K segment of storage exists, and in which bank of chips it
    is located.

       Which table is to be used is determined by the E2 jumpers and SW2 pos
    3 & 4.  These comprise the four high order input bits to U44 (A7-A4).
    The two jumpers (A7 & A6) select one of four sets of tables, and the
    switches (A5 & A4) select the specific table within a given set.

       Which entry in the selected table will be used to decode a specific
    storage address is determined by the four high order bits of that
    storage address (CA19-CA16 of the PC address bus), which are directed to
    the four low order input bits to U44 (A3-A0).

       Each entry in U44's decoding tables contains one of five hexidecimal
    values: x'9' (select bank 0), x'B' (select bank 1), x'D' (select bank
    2), x'F' (select bank 3), or x'E' (segment not addressable).  BY
    BUILDING A TABLE WITH THE APPROPRIATE VALUES, IT IS POSSIBLE TO DECODE
    ANY COMBINATION OF 64K AND/OR 256K STORAGE CHIPS UP TO ONE MEG -- SO
    LONG AS IT DOES NOT CONFLICT WITH INSTALLED ADAPTERS, AND SO LONG AS
    NO TWO 64K SEGMENTS ARE MAPPED INTO THE SAME AREA OF A 256K CHIP!

       That last sentence requires some elaboration.  In addition to the
    decoding done by U44, PC address bus bits A17 and A16 are multiplexed to
    each bank of chips.  These two bits determine which of four areas in a
    256K chip a given segment will be mapped into.  Without going into too
    many details, this means that no bank of chips may contain more than one
    segment from each of the following four groups:  0-4-8-C, 1-5-9-D,
    2-6-A-E, and 3-7-B-F.

       Let's take a look at the program in the U44 chip supplied by IBM.
    In the chart that follows, the numbers across the top are the segment
    numbers (the first, or high order character of the address), and the
    numbers down the left side represent the E2 jumpers and SW2 POS 3 & 4.

                  IBM STANDARD U44 STORAGE DECODER PROM PROGRAM

    WITH BOTH JUMPERS INSTALLED
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (Up to 4     0 = 9  9  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 128K
     banks of     1 = 9  9  B  B  E  E  E  E  E  E  E  E  E  E  E  E  = 256K
     128K chips)  2 = 9  9  B  B  D  D  E  E  E  E  E  E  E  E  E  E  = 384K
                  3 = 9  9  B  B  D  D  F  F  E  E  E  E  E  E  E  E  = 512K

     E2 JUMPER 3 to 4 ONLY
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (1 bank of   4 = F  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 64K
     64K chips    5 = F  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 64K
     in bank 3)   6 = F  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 64K
                  7 = F  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 64K

     E2 JUMPER 1 to 2 ONLY
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (Up to 2     8 = 9  9  9  9  E  E  E  E  E  E  E  E  E  E  E  E  = 256K
     banks of     9 = 9  9  9  9  B  B  B  B  E  E  E  E  E  E  E  E  = 512K
     256K and     A = 9  9  9  9  B  B  B  B  D  E  E  E  E  E  E  E  = 576K
     2 of 64K)    B = 9  9  9  9  B  B  B  B  D  F  E  E  E  E  E  E  = 640K

     NO JUMPERS INSTALLED
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (Up to 4     C = 9  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 64K
     banks of     D = 9  B  E  E  E  E  E  E  E  E  E  E  E  E  E  E  = 128K
     64K chips)   E = 9  B  D  E  E  E  E  E  E  E  E  E  E  E  E  E  = 192K
                  F = 9  B  D  F  E  E  E  E  E  E  E  E  E  E  E  E  = 256K

       (Examples:  02 in => E out, 34 in => D out, B9 in => F out, etc.)

       As you can see, of the four sets of tables, only one -- U44 inputs
    80 thru BF, is really useful in today's environment.  By the way, 128K
    chips used in the PC AT cannot be used in the PC XT.  The 128K chips for
    which the table above was created were never commercially available.

       Now, let's examine the program for the HIMEMV2 decoder prom.  This
    chip provides switch selectable storage configurations to accommodate
    the most common hardware configurations:

                        HIMEMV2 U44 DECODER PROM PROGRAM

     BOTH JUMPERS INSTALLED
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (4 banks of  0 = 9  9  9  9  B  B  B  B  D  D  D  D  F  F  F  E  = 928K
     256K chips)  1 = 9  9  9  9  B  B  B  B  D  D  D  D  E  F  F  E  = 864K
                  2 = 9  9  9  9  B  B  B  B  D  D  D  D  E  E  F  E  = 800K
                  3 = 9  9  9  9  B  B  B  B  D  D  D  D  E  F  E  E  = 800K

     E2 JUMPER 3 to 4 ONLY
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (Misc.       4 = F  F  F  F  D  D  D  D  B  B  B  E  9  9  9  E  = 896K
     arrangements)5 = F  F  F  F  D  D  D  D  B  B  B  E  E  E  E  E  = 704K
                  6 = 9  9  9  9  B  B  B  B  D  F  E  E  E  E  E  E  = 640K
                  7 = 9  B  D  F  E  E  E  E  E  E  E  E  E  E  E  E  = 256K

     E2 JUMPER 1 to 2 ONLY
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (Up to 4     8 = 9  9  9  9  B  B  B  B  D  D  F  E  F  F  D  E  = 896K
     banks of     9 = 9  9  9  9  B  B  B  B  D  D  F  E  E  F  D  E  = 832K
     256K chips)  A = 9  9  9  9  B  B  B  B  D  D  E  E  F  F  D  E  = 832K
                  B = 9  9  9  9  B  B  B  B  D  D  E  E  E  F  D  E  = 768K

     NO JUMPERS INSTALLED
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
      Seg# >>>=====>  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
                      =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =
     (Up to 3     C = B  B  B  B  D  D  D  D  F  F  E  E  E  9  F  E  = 768K
     banks of     D = B  B  B  B  D  D  D  D  F  F  F  E  E  9  E  E  = 768K
     256K and     E = 9  B  B  B  B  D  D  D  D  F  E  E  E  E  E  E  = 640K
     1 of 64K)    F = 9  B  B  B  B  D  F  E  E  E  E  E  E  E  E  E  = 448K

       Again, with the HIMEMV2 decoder prom, the third set of tables is the
    most universally useful.  It allows the use of three banks of 256K chips
    and one bank of 64K chips to address 640K of LOW MEMORY plus 128K HIGH
    MEMORY.  Further, if you already have 640k installed on your mother
    board, it is not necessary to change the E2 jumpers.  Just plug in the
    HIMEMV2 chip and the additional storage, set SW2 POS 3 & 4. and you're
    done!!  For 640K plus 192K or 256K of HIGH MEMORY it is necessary to
    install four banks of 256K chips.

    #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*
    *                                                                      #
    #    The fourth set of tables represents a major breakthrough for      *
    *  owners of very old XT's, which have 64K chips soldered into bank 0  #
    #  (no sockets).  It enables them to upgrade to 448K or 640K by        *
    *  installing 256K chips in bank 1 or in banks 1 and 2, while leaving  #
    #  the 64K chips in bank 0.                                            *
    *    Or, they may install 256K chips into banks 1, 2, and 3, and access#
    #  640K plus 128K of HIGH MEMORY in either of two different configura- *
    *  tions; one with 704K contiguous plus 64K in segment D, and one with #
    #  640K contiguous plus 128K in segments D and E.  Here also, it is    *
    *  unnecessary to make any changes at the E2 jumper block, since this  #
    #  set of tables is available when no jumpers are installed.           *
    *                                                                      #
    #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*

       The second set contains tables which are most likely to be useful
    only for testing purposes... that is, for testing storage itself, or for
    testing the compatibility of various storage configurations with various
    hardware and software.

       The first set of tables is for the more adventurous souls.  It can be
    used only on machines which have an MDA or CGA (but not both) installed,
    and it maps addressable motherboard storage into Segment B.  A portion
    of this storage overlays addresses used by the display adapter screen
    buffers, but for reasons I don't fully understand, the machine doesn't
    seem to mind.  Using these tables in conjunction with the appropriate
    software, it is possible to reclaim portions of segment B which are not
    actually used by the display adapter.  For instance, in my machine, with
    CGA and hard disk, I have selected the second table in this set (number
    1 in the left margin).  This gives me 640K in segments 0 thru 9, plus
    all of segment A and the lower half of segment B (an additional 96K),
    for a total DOS region of 736K.  Theoretically, one could also recover
    the unused portion of segment B above the CGA buffer, but that would
    require special software which is not (to my knowledge) available.  I
    believe that there are two factors which allow this dual storage
    situation to function.  First, storage on the display adapters is not
    parity checked.  And second, the machine operation is such that the
    screen buffers are ALWAYS written to before any attempt is made to read
    from them.

          One caution when considering this option:  Some software will
       find storage located in the bottom half of segment B, assume that
       a mono display adapter is installed, and write to it --- overlaying
       itself and/or the transient portion of COMMAND.COM.  The results
       are not pretty.  This option should be used with caution, and each
       application should be tested to make certain that it will function
       correctly in this non-standard environment.


    HOW DO I SET SW2:

       With a HIMEMV2 decoder chip installed at U44, and a jumper installed
    at E2 1 - 2, four new memory configurations are switch selectable:

    NOTE: In the tables which follow, "Closed" = ON and "Open" = OFF.

       SW2 4 & 3 = 00 (both closed)========> 640K plus Segs A, C, D, and E
                                              (no EGA and no Hard Disk)
       SW2 4 & 3 = 01 (4 closed, 3 open)===> 640K plus Segments A, D, and E
                                              (OK with Hard Disk but no EGA)
       SW2 4 & 3 = 10 (4 open, 3 closed)===> 640K plus Segments C, D, and E
                                              (no EGA and no Hard Disk)
       SW2 4 & 3 = 11 (both open)==========> 640K plus segments D and E
                                              (OK with EGA and Hard Disk)

       With the HIMEMV2 chip installed, and NO jumpers at E2, storage will
    decode this way:

       SW2 4 & 3 = 00 (both closed)========> 640K plus Segments D and E
                                              (OK with EGA and HD)
       SW2 4 & 3 = 01 (4 closed, 3 open)===> 640K plus Segments A and E
                                              (OK with no EGA)
       SW2 4 & 3 = 10 (4 open, 3 closed)===> 640K (NO HIGH MEMORY)

       SW2 4 & 3 = 11 (both open)==========> 448K (NO HIGH MEMORY)


       With the HIMEMV2 installed and a jumper at E2 3 - 4 only, storage
    decodes as:

       SW2 4 & 3 = 00 (both closed)========> 640K plus Segs A, C, D, and E
                                              (Segment assignments reversed)
       SW2 4 & 3 = 01 (4 closed, 3 open)===> 640K plus Segment A (segs rev.
                                              and bank 0 not used at all)
       SW2 4 & 3 = 10 (4 open, 3 closed)===> "Normal" 640K arrangement

       SW2 4 & 3 = 11 (both open)==========> "Normal" 256K arrangement
                                              (using 64K from each bank)

       And finally, with the HIMEMV2 installed and jumpers at both E2 1 - 2
    and 3 - 4, the decode is:

       SW2 4 & 3 = 00 (both closed)========> 640K plus Segs A, B, C, D, & E
                                           (No EGA & NO HD -- Seg B overlap)
       SW2 4 & 3 = 01 (4 closed, 3 open)===> 640K plus Segs A, B, D, & E
                                           (OK w/HD, NO EGA - Seg B overlap)
       SW2 4 & 3 = 10 (4 open, 3 closed)===> 640K plus Segs A, B, & E
                                           (OK w/HD, NO EGA - Seg B overlap)
       SW2 4 & 3 = 11 (both open)==========> 640K plus Segs A, B, & D
                                           (OK w/HD, NO EGA - Seg B overlap)

    CIRCUIT DETAILS:

       Each of the two E2 jumper positions and SW2 POS 3 & 4 is connected to
    one of the high order bits of the input to U44 with a circuit similar to
    the one pictured below:

                +5v ----\/\/\/\/\/\/\/\/\/-------+------> U44 input (A7-A0)
                        (pull-up resistor)       |
                                                 +->   |
         When this circuit is open, the input          |-- SW (shown open)
             to U44 for that bit is high (1).    +->   |
         If the circuit is closed, the input     |
             for that bit is low (0).            V
                                            (to ground)

    This means that the U44 inputs A7-A4 decode like this:

       Jumper   E2  3 to 4 :   Installed --> A7 = 0    Removed --> A7 = 1
       Jumper   E2  1 to 2 :   Installed --> A6 = 0    Removed --> A6 = 1
       Switch2  Position 4 :   Closed -----> A5 = 0    Open -----> A5 = 1
       Switch2  Position 3 :   Closed -----> A4 = 0    Open -----> A4 = 1

    Therefore, we develop the numbers at the left edge of the U44 program
    charts as follows:

       E2  3 to 4 (input bit A7) >>>====> 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
       E2  1 to 2 (input bit A6) >>>====> 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
       SW2  Pos 4 (input bit A5) >>>====> 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
       SW2  Pos 3 (input bit A4) >>>====> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
                                          = = = = = = = = = = = = = = = =
       Chart Numbers (left edge) >>>====> 0 1 2 3 4 5 6 7 8 9 A B C D E F

    The U44 outputs (Q3-Q0) decode this way:

                Q3 is the high order bit, and is not used.
                Q2 is "Bank Select 2", and has a value of 2.
                Q1 is "Bank Select 1", and has a value of 1.
                Q0 is "Segment Enable".  If it is off, there is
                      no addressable memory in this 64K segment.

    The values of Q2 and Q1 are added to determine the bank in which the
    addressed storage is to be found.

    Therefore:               Q Q Q Q
                             3 2 1 0
                Output 9  (b'1 0 0 1')  ==>  select Bank 0
                Output B  (b'1 0 1 1')  ==>  select Bank 1
                Output D  (b'1 1 0 1')  ==>  select Bank 2
                Output F  (b'1 1 1 1')  ==>  select Bank 3
                Output E  (b'1 1 1 0')  ==>  segment not addressable

    Finally, this is the pin layout of the U44 prom:

          Pin  1  input A6 ------ E2 pad 2
          Pin  2  input A5 ------ SW2 pos 4
          Pin  3  input A4 ------ S7W2 pos 3
          Pin  4  input A3 ------ CA 19
          Pin  5  input A0 ------ CA 16
          Pin  6  input A1 ------ CA 17
          Pin  7  input A2 ------ CA 18
          Pin  8  ground
          Pin  9  output Q3 ----- not connected
          Pin 10  output Q2 ----- E3 pad 1 (Bank Select 2)
          Pin 11  output Q1 ----- E3 pad 7 (Bank Select 1)
          Pin 12  output Q0 ----- U24 pin 4
          Pin 13  ground
          Pin 14  ground
          Pin 15  input A7 ------ E2 pad 4
          Pin 16  VCC ----------- +5V



                           16_15_14_13_12_11_10__9
                          |                       |
                          |                       |
                          >                       |
                          |                       |
                          |_______________________|
                            1  2  3  4  5  6  7  8


       ==================================================================
                   (END OF NERD STUFF -- RESUME READING)
       ==================================================================

    WHAT ABOUT CLONES?:

    This modification was developed for and tested on only the IBM PC-XT.
    It is based on design details which are likely to be unique to the IBM
    XT motherboard.  Since manufacturing techniques and board layouts vary
    considerably among the compatible boards, attempting to install a
    decoder chip which was created for an IBM board into a compatible is
    likely to damage either or both the chip and the motherboard.  If a
    complete schematic and readout of the factory-installed decoder PROM
    were available, it would be possible to design a similar modification
    for most compatibles, but I have neither the resources nor the
    inclination to do so.

    HOW CAN I GET A HIMEMV2 DECODER PROM:

    We are offering the HIMEMV2 chip, programmed according to the listing in
    this article for $9.00 (based on current local prices for the blanks).

    HOW CAN I GET THE SPECIAL SOFTWARE NECESSARY TO UTILIZE HIGH MEMORY:

    Three of the most useful programs, SET704K, SET736K, and HIRAMDSK, were
    briefly discussed above.  If you include a request for them with your
    order, we will send (for an additional $5.00) a diskette containing all
    three programs with documentation, and a SHAREWARE dynamically
    adjustable ramdisk named ADJRAM.

    HERES HOW TO ORDER:

    1.  If you live in the U.S., please mail your order to:

                        Cy Atkinson (CHIPS)
                        5218 Running Bear Drive
                        San Jose, CA  95136

        Please include a check in the amount of $9.00 for each chip ordered,
        PLUS an additional $3.00 for postage and handling for 1 to 10 chips,
        $6.00 for 11 to 20, etc.

    2.  If you live outside the U.S., mail your order to the same address,
        but please include $9.00 for each chip, PLUS an additional $5.00 for
        1 to 10 chips, etc.

    3.  If you are requesting the a diskette containing SET704K, SET736K,
        HIRAMDSK,and ADJRAM, all with documentation in machine readable
        form, please add an additional $5.00.


    4.  Please don't forget to clearly indicate YOUR mailing address in your
        order.  We will  handle all orders as promptly as possible.

    Happy Computing!!

                                  >>>>>>>>>================>> Cy Atkinson

See Also