home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-11-23 | 49.3 KB | 1,075 lines |
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 1
-
-
- UMB_DRVR.SYS Device Driver
- UMB provider for DOS 5.0
- Copyright (C) 1991, All Rights Reserved
-
- Christopher Blum CompuServe: 76625,1041
- 1022 East Wayne Avenue INTERNET: 76625.1041@compuserve.com
- Wooster, Ohio 44691 BIX: cblum
- (216)262-3786
-
-
- IMPORTANT INFORMATION - DISTRIBUTION AND LICENSING
-
-
- UMB_DRVR.SYS carries no warranties expressed or implied. It is
- solely up to the user to determine its suitability for use on his/her
- machine.
- This program is distributed as a self-extracting file containing
- the device driver and its associated documentation. Copying and
- redistribution is encouraged, but must be the original, unmodified
- file containing this documentation, and the transfer must not carry
- any fee or charge specific to this program: i.e. general BBS access
- or line charges are OK, but no 'download fee' or similar charge. This
- means that BBS operators may post this file for download, but may not
- charge a specific fee for it, and 'Distribution houses' may charge a
- disk-duplication fee, but not a specific charge for the program.
- UMB_DRVR.SYS is made available on a 'try before you buy' basis.
- It is not crippled in any way, and has no 'advertising'. The latest
- version will be available on CompuServe in the IBM forum ( 'GO IBMSYS',
- lib 1 ).
- Personal use license ( U.S. funds ) is $25 which should be mailed
- to the above address if the program is used after a reasonable trial
- period ( 30 days ). Please use the registration form at the end of this
- document. Users who register receive the latest version of the program.
- Corporate users must contact me for corporate rate or site license
- arrangements.
-
-
- TECHNICAL SUPPORT
-
-
- Technical support, including pre-registration questions or install
- assistance, is available at your expense at the above telephone number.
- Please be aware that I am in the Eastern U.S. time zone ( GMT - 4 or 5
- depending on season ) and try to call at a reasonable hour: i.e. 9 AM to
- Noon, 1 PM to 5PM, or 7 PM to 10 PM. Weekends are OK, but avoid Sunday
- morning, please. I can also be contacted via Email on CompuServe, BIX
- and INTERNET ( IDs above ) - I monitor my mail almost every day. You may
- also leave messages on CompuServe in the IBMSYS forum section 1. The
- Postal Service may also be used ( address above ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 2
-
-
- INTRODUCTION
-
-
- UMB_DRVR.SYS is a DOS 5.0 device driver that will use the 'shadow
- ram' capability of the memory controller portion of many chip sets to:
- A) force all roms not specifically excluded to be shadowed, and
- B) expand DOS base memory beyond 640KB if possible, and
- C) provide UMBs ( Upper Memory Blocks ) to DOS for loading
- programs and device drivers into 'high memory'
- while NOT using ANY resident memory ( mapped out or otherwise ).
- One advantage of this driver is that many if not all other device
- drivers and TSR programs may be loaded 'high' including HIMEM.SYS and
- EMM386.EXE ( even though the DOS documentation says not! ).
- A second advantage of using UMB_DRVR.SYS is that device drivers
- that cannot be loaded high when EMM386.EXE is providing UMBs via the
- 'ram' or 'noems' parameter because of their use of DMA transfers ( some
- CD-ROM drivers, for example ) will sometimes work with UMB_DRVR.SYS -
- EMM386.EXE remaps ram using virtual-86 mode with the memory management
- logic on the 386+ chips, and the virtual address is not the same as the
- real address for the ram area mapped as UMBs, whereas UMB_DRVR.SYS uses
- hardware support outside the cpu and remains in real mode, allowing DMA
- transfers within the UMB area. See MISCELLANEOUS NOTES - DMA ACCESS TO
- UPPER MEMORY for more information and possible restrictions.
- In addition, remaining in real mode allows programs that must be
- able to use protected or virtual-86 mode themselves, such as Borland's
- Turbo Debugger ( TD386.EXE / TDH386.SYS ), to operate as intended ( and
- yes, TDH386.SYS can be loaded high with no problems ).
- With respect to performance of UMB_DRVR.SYS versus EMM386.EXE, here
- are some benchmark results supplied by a ( happy ) user:
-
- " System: 386SX 20Mhz, VLSI TOPCAT chip set, 4MB ram, no math processor.
- DOS version: MS/DOS 5.0 UMB_DRVR.SYS version: 5.09
- Benchmark: CHECKIT 3.0 main system benchmark.
-
- CONFIG.SYS Dhrystones Whetstones
- ------------------------------------ ---------- ----------
- None 3767 76.7K
-
-
- DEVICE=C:\UMB_DRVR.SYS /C=13 4042 77.1K
- DEVICEHIGH=C:\DOS\HIMEM.SYS
- DEVICEHIGH=C:\DOS\ANSI.SYS
-
-
- DEVICE=C:\DOS\HIMEM.SYS 3683 45.7K
- DEVICE=C:\DOS\EMM386.SYS NOEMS
- DEVICEHIGH=C:\DOS\ANSI.SYS
-
-
- As you can see, there is a significant difference when using UMB_DRVR,
- not to mention the extra memory saved below 640k. The benchmarks ran
- faster with UMB_DRVR than they did with no CONFIG.SYS at all. "
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 3
-
-
-
- INTRODUCTION continued
-
-
-
- The driver must be installed *BEFORE* HIMEM.SYS is installed. It is
- an XMS 2.0 server providing UMBs to DOS via that standard. The chip
- set parameter is processed and the proper routine called to remap the
- unused shadow ram to DOS-useable memory. Available memory starting at
- A0000 is used to expand DOS base memory beyond 640K, and other available
- memory ( i.e. above the video memory ) is used for UMBs ( the areas
- DOS uses for DEVICEHIGH or LOADHIGH commands ).
- The driver by default will not use any areas used for video memory.
- It also forces all roms including the system BIOS ( F8000-FFFFF ) to be
- shadowed unless forced to be excluded ( refer to MISCELLANEOUS NOTES for
- considerations concerning disk controllers and network cards ). If the
- BIOS has a 'boot page' at F0000-F7FFF that the driver can recognize
- ( containing system/CMOS setup code - AMI is one brand that has this ),
- that area will be mapped in as available upper memory since it is not
- needed after boot time.
- The driver should be loaded as the first driver if possible. This
- allows following drivers and resident programs to be loaded high - even
- HIMEM.SYS and EMM386.SYS ( DOS documentation says they can't, but it
- works; see MISCELLANEOUS NOTES - WINDOWS and EMS DRIVERS, however ). It
- will initialize, supply UMBs, and go away leaving no resident memory.
- Appropriate status and error messages are issued during processing
- and a map of the driver's action is displayed.
- One of my systems is a 386SX with the Chips and Technologies NEATsx
- chip set and an AMI ( American Megatrends ) BIOS dated 04/09/90. It has
- 4MB of ram and a Hercules Monochrome Graphics card. I configure 2MB of
- EMS memory with a base address of C0000-CFFFF using the NEATsx hardware
- and their supplied software driver. I load DOS high using HIMEM.SYS, and
- load Borland's Turbo Debugger device driver TDH386.SYS for 386 virtual
- debugging ( TD386.EXE ) and the ANSI.SYS console driver. Using UMB_DRVR
- defaults and loading all drivers high gives me 704K base memory for DOS,
- a maximum executable program size of 689K and 160K in one UMB located at
- D0000-F7FFF with almost 136K still free in that upper memory block for
- any other drivers or TSRs I may want to load. The following information
- is extracted from that system ( Note: 1K = 1024 decimal ).
-
-
- UMB_DRVR.SYS initializes showing:
-
-
- Chip-controlled ram at: AAAABBBBCCCCDDDDEEEEFFFF ([D]OS base memory,
- 048C048C048C048C048C048C [e]ms base page area,
- has been configured as: DDDDvvvveeeeUUUUUUUUUUss [s]hadowed rom,
- DOS base memory expansion = 64K [U]pper memory area,
- Upper memory block ( UMB ) area = 160K [v]ideo, [-]excluded)
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 4
-
-
-
- INTRODUCTION continued
-
-
-
- The command 'MEM /C' displays the following:
-
-
- Conventional Memory :
-
- Name Size in Decimal Size in Hex
- ------------- --------------------- -------------
- MSDOS 12304 ( 12.0K) 3010
- COMMAND 2624 ( 2.6K) A40
- FREE 64 ( 0.1K) 40
- FREE 705744 (689.2K) AC4D0
-
- Total FREE : 705808 (689.3K)
-
- Upper Memory :
-
- Name Size in Decimal Size in Hex
- ------------- --------------------- -------------
- SYSTEM 131072 (128.0K) 20000
- HIMEM 1184 ( 1.2K) 4A0
- EMM_NEAT 11264 ( 11.0K) 2C00
- ANSI 4192 ( 4.1K) 1060
- TDH386 7920 ( 7.7K) 1EF0
- FREE 139168 (135.9K) 21FA0
-
- Total FREE : 139168 (135.9K)
-
- Total bytes available to programs (Conventional+Upper) : 844976 (825.2K)
- Largest executable program size : 705568 (689.0K)
- Largest available upper memory block : 139168 (135.9K)
-
- 2097152 bytes total EMS memory
- 2097152 bytes free EMS memory
-
- 1048576 bytes total contiguous extended memory
- 0 bytes available contiguous extended memory
- 983040 bytes available XMS memory
- MS-DOS resident in High Memory Area
-
-
- *NOTE* - If the video card were a CGA and no EMS active, the upper
- memory ( UMB ) area would be 224K(!) with 178.9K(!) still available, the
- DOS base memory expansion would be 96K(!) with executable program size a
- whopping 721K(!) and extended memory would be 3145728 bytes with 3080192
- bytes of available XMS memory... a pretty good cure for 'ram cram'!
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 5
-
-
- MISCELLANEOUS NOTES
-
-
- BOOT PAGE
-
- If UMB_DRVR.SYS uses the 'boot page' area ( see INTRODUCTION for
- definition ) by default and your system crashes, you need to use the /M=
- parameter to force it to be part of the BIOS ( use '##' or '--' ). If no
- 'boot page' is recognized, you may still try the /M= parameter ( with
- '++' for F0000-F7FFF ) if you are brave enough. Heed the warning about
- having a bootable diskette, however - you may need it.
-
-
- EMS DRIVERS ( EMM386, QEMM, 386^MAX, NETROOM, MEMORY COMMANDER, ETC )
-
- If you run EMS, it is most efficient in terms of contiguous memory
- to have your EMS base address immediately following your video ram and
- any adjacent rom ( e.g. C0000-CFFFF for CGA or monochrome, C8000-D7FFF
- for VGA ) or at the top of the useable area ( e.g. E8000-F7FFF with a
- 'boot page', E0000-EFFFF without ).
- It is also more efficient in terms of cpu usage overhead to use the
- hardware EMS driver for your chip set or your EMS memory card instead of
- a software emulation; see INTRODUCTION ( virtual-86 mode, benchmark ).
- If you use an EMS driver ( hardware or software emulation ), you
- should use the /M= parameter to force UMB_DRVR to exclude the EMS base
- area. Make sure you *DO NOT* have your driver try to map in the upper
- memory ( 640K - 1M ) area ( other than the EMS base area ) - UMB_DRVR
- has done that already ( refer to your driver's documentation ). You
- should be able to use DEVICEHIGH/LOADHIGH to put your driver into upper
- memory in most cases.
- Specific to EMM386.EXE, you should use the I= parameter to allow it
- to use the EMS base area, which *MUST* be above where EMM386 is loaded
- ( i.e. if you load it high, the base area must be above the UMB area ).
- Although you can't specify a frame= parameter of E800, using I=E800-F7FF
- will allow EMM386.EXE to set the frame there. DO *NOT* USE THE 'RAM' OR
- 'NOEMS' PARAMETERS! In addition, there have been reports of problems
- with EMM386,EXE in various configurations with UMB_DRVR, resulting in
- unexpected system reboots. EMM386 even without the 'ram' and 'noems'
- parameters still tries to control some of upper memory, and when certain
- ( as yet undetermined ) situations occur, things can become 'unstable'.
-
-
- ROMS THAT CANNOT BE SHADOWED ( DISK CONTROLLERS, NETWORK CARDS )
-
- Some roms cannot be shadowed by normal means because they have some
- ram or a memory-mapped I/O port they must use included in their address
- space ( e.g. some RLL, ESDI and SCSI disk controllers, and also some
- network cards ) and shadowing is done using protected ram. These roms
- will sometimes work when shadowed by this driver if they are within a
- protection block also containing UMBs. Try letting UMB_DRVR shadow the
- rom and see if it works. If your system hangs up or you have problems
- with disk or network access with the rom shadowed, you must use the /M=
- parameter to exclude it from UMB_DRVR.SYS control. Refer to CHIP-SET-
- SPECIFIC NOTES for any special considerations.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 6
-
-
- MISCELLANEOUS NOTES continued
-
-
- DMA ACCESS TO UPPER MEMORY
-
- DMA ( Direct Memory Access ) is a method of data transfer between
- main memory ( ram ) and I/O devices without requiring cpu intervention.
- Standard AT-compatible floppy disk controllers use it, as do some other
- devices, such as CD-ROMs and data acquisition hardware. It is supported
- through the Intel 8237A DMA controller chip or compatible integrated
- devices like the 82C206, or even by compatible components within the
- motherboard chip set. These devices control the data / address busses in
- the system to do the transfer while the cpu does other work. They do not
- have access to the internal 386+ cpu memory management facilities during
- their operation, and so are unaware of remapping of memory done there.
- Most of the time this is not a concern, as software that handles the
- remapping also handles DMA setup for known devices ( floppy disks ).
- Some devices ( CD-ROM, data acquisition ) have device drivers supplied
- with them ( that the 386+ remapping software is unaware of ) that use
- DMA to access their devices. These drivers cannot be loaded to upper
- memory mapped by these software drivers because of the addressing
- requirements of DMA transfers.
- UMB_DRVR, on the other hand, uses hardware external to the cpu that
- maps in the upper memory area such that these drivers ( usually ) will
- function properly when loaded there. The DMA mapping requirememts that
- the device drivers are aware of for a 'standard AT' system do not change
- when UMB_DRVR provides the upper memory area. Note that some drivers
- still cannot be loaded high because they are 'confused' by being at a
- higher address in memory than the program that is using them, but this
- is becoming much less common as drivers are rewritten to be able to take
- advantage of the DOS 5 high memory capabilities.
- One consideration remains, however: a *VERY* few chip sets that are
- supported by UMB_DRVR are designed such that the ram that is mapped into
- the upper memory area can only be accessed by the cpu. UMB_DRVR performs
- a test for proper DMA function at initialization and issues a warning
- message if DMA is not possible to the upper memory area. If ( and *ONLY*
- if ) this is the case, any DMA accesses attempted to an area above 640K
- and below 1M will not work, and the following restrictions will apply:
-
- (1) If you boot from a floppy disk or try to load any driver or
- TSR high reading it from a floppy, do not load UMB_DRVR.SYS -
- if you do, your system will probably hang up immediately upon
- trying to load anything into upper memory.
- (2) Almost no hard disk controllers use DMA, but if you have one
- that does, you will probably have problems with loading any
- driver or TSR into upper memory, and you may not be able to
- use UMB_DRVR at all.
- (3) Device drivers that use DMA for access to buffers within the
- driver itself, or allocated immediately after the driver when
- it initializes, cannot be loaded high on your system.
-
- Note that these restrictions apply *ONLY* if DMA access to upper
- memory is *NOT* available, i.e. if UMB_DRVR issues the warning message.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 7
-
-
- MISCELLANEOUS NOTES continued
-
-
- MICROSOFT WINDOWS
-
- Windows 3.0 has been tested as follows:
-
- 386 enhanced mode:
- Windows 3.0 will *NOT* initialize in 386 enhanced mode with UMBs
- provided by UMB_DRVR.SYS - use another driver ( e.g. EMM386.EXE, QEMM,
- 386^MAX, Memory Commander, etc. ) to provide UMBs to run this way.
-
- Standard mode:
- Windows 3.0 standard mode works with UMBs provided by UMB_DRVR.SYS
- and HIMEM.SYS and an EMS driver ( hardware or software ) loaded high or
- low. Note you must have something like 512K or more extended memory to
- run standard mode - i.e. do not have a software EMS driver remap ALL
- extended memory to expanded.
-
- Real mode:
- Windows 3.0 runs in real mode with UMBs provided by UMB_DRVR.SYS,
- HIMEM.SYS loaded high, and EMM386.EXE loaded LOW, giving 'large frame
- EMS'. You can remap all extended memory to expanded in this setup.
-
-
- PROGRAM ACCESS TO UPPER MEMORY WITH DOS 5 MANAGING UMBS
-
- 1. Record current status of memory system so you can restore it.
- int 21H/ax=5800h - returns al=strategy ( see below )
- int 21h/ax=5802h - returns al=UMB link state ( see below )
-
- 2. Set up for memory allocation / deallocation.
- int 21h/ax=5801h/bh=0/bl=strategy int 21h/ax=5803h/bh=0/bl=UMB status
- 00h - first fit, low memory 00h = remove UMBs from mem chain
- 01h - best " " " 01h = add UMBs to mem chain
- 02h - last " " " ( UMBs must be chained for access )
- 40h - first fit, high memory
- 41h - best " " "
- 42h - last " " "
- 80h - first fit, try high then low memory
- 81h - best " " " " " "
- 82h - last " " " " " "
-
- 3. Do normal int 21h/ah=48h, int 21h/ah=49h, int 21h/ah=4Ah as desired.
-
- 4. Restore values saved in step 1 above.
-
- The system defaults to first-fit-low with UMBs not chained. If you
- chain the UMBs, strategies 00/01/02 affect the entire chain. For example
- with the UMBs chained and strategy 00, you will get memory from the UMB
- area if the request cannot be satisfied from low memory.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 8
-
-
- DETERMINING YOUR CHIP SET
-
- If your system documentation or CMOS setup screen does not tell you
- what chip set you have, the best way to find out is to open the cover on
- your system and look at the motherboard. *MAKE SURE THE SYSTEM IS OFF
- AND UNPLUGGED* when you do this. The chip you will be looking for may
- not be one of the larger in size, but it will have many ( usually 80+,
- sometimes up to 200 or more ) pins. The number that identifies the key
- chip in the set is listed in CHIP-SET-SPECIFIC NOTES for each chip set
- supported. If you find a matching number on one of the chips on your
- motherboard, use the /C= value shown for that set. If you don't see a
- match, refer to the sections BAD NEWS, MAYBE?, and COMING ATTRACTIONS.
- Note that certain chips only contain peripheral support and do not
- indicate what chip set you have. These include, but are not limited to,
- the 82C206 ( several manufacturers ), VL82C106, VL82C107 and VL86C050
- ( VLSI Technology ), and the 85C206 ( Silicon Integrated Systems ).
-
-
- CHIP-SET-SPECIFIC NOTES
-
-
- *******************************************************
- * Chips & Technologies CS8221 NEAT, CS8281 NEATsx, *
- * CS8223 LeAPset, CS8283 LeAPset-sx *
- * Texas Instruments TACT82S411 Single Chip AT *
- * United Microelectronics (UMC) UM82C210 286/386SX AT *
- *******************************************************
- /C=01 - Chip ID(s): ( C & T ) 82C212, 82C812, 82C241, 82C841
- ( TI ) TACT82S411
- ( UMC ) UM82C212
-
- These chip sets allow the 384k of motherboard ram at A0000-FFFFF to
- relocate to extended memory at 100000-15FFFF on systems with only 1mb of
- ram. If this remapping is enabled when UMB_DRVR.SYS enables this area,
- the remapping is removed and the size of your extended memory is reduced
- by 384k, i.e. it disappears. A small INT 15H stub is installed in the
- BIOS stack area at 2DH:5DH to handle situations where your extended
- memory size changes. If you shadow anything in your CMOS setup or you
- disable the relocation ( see your CMOS setup ), then this stub is not
- required and not installed. Note that this applies only to systems with
- *EXACTLY* 1MB of memory.
- These chip sets map in 16k segments, but write protection for the
- area C0000-FFFFF is in 64k segments. To allow maximum memory utilization
- the driver marks any segment containing UMBs as read/write. If the 64k
- segment also contains a rom shadow, it is not protected.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude any non-rom areas within the 64k segment
- ( e.g. for a VGA rom at C0000-C7FFF, exclude C8000-CFFFF ).
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.SYS will recognize the EMS setup for these chip sets and
- will exclude the EMS base segment if the EMS hardware is enabled when
- UMB_DRVR initializes. Use of the /M= parm is not required in this case.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 9
-
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
-
- ****************************
- * VLSI Technology VL82C200 *
- ****************************
- /C=02 - Chip ID(s): VL82C201, VL82C202, VL82C203, VL82C204
- ( all 4 chips required )
-
- This chip set uses a jumper or switch to enable shadow ram ability.
- This does not actually cause shadowing, but must be in proper position
- for UMB_DRVR.SYS to work. Check your system documentation.
- This chip set maps and protects in 64k segments. To allow maximum
- memory utilization, 64k segments containing UMBs are set to read/write.
- If the 64k segment also contains a rom shadow, it is not protected.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude any non-rom areas within the 64k segment
- ( e.g. for a VGA rom at C0000-C7FFF, exclude C8000-CFFFF ).
- If you must force a rom to be unshadowed, exclude the entire 64k
- segment on a 64k boundary ( e.g. for a disk rom at C8000-CBFFF, exclude
- C0000-CFFFF ).
-
-
-
- *******************
- * FOREX FRX36C300 *
- *******************
- /C=03 - Chip ID(s): FRX36C300
-
- This chip set maps in 32k segments from C0000 to EFFFF, and one 64k
- segment for the system BIOS ( F0000-FFFFF ). Ram at A0000-BFFFF is
- always remapped to the highest area and cannot be used by the driver.
- Protection is set globally, meaning that all used ram ( shadow or UMBs )
- is marked read/write.
- The chip set also remaps D0000-EFFFF to the highest area if there
- is nothing shadowed in that area. When UMB_DRVR.SYS enables this area,
- the remapping is removed and the size of your extended memory is reduced
- by 128k. A small INT 15H stub is installed in the BIOS stack area at
- 2DH:5DH to handle situations where your extended memory size changes. If
- you shadow something in the area D0000-EFFFF in your CMOS setup ( even
- though you may have no rom there ), then this stub is not required and
- not installed.
- If you must force a rom to be unshadowed, exclude the entire 32k
- segment on a 32k boundary ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CFFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 10
-
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
-
- *******************************************************************
- * Chips & Technologies CS8230 386/AT, CS8231 Turbo Cache 386/AT, *
- * CS8233 PEAKset/386, CS82310 PEAKset DM/386 *
- *******************************************************************
- /C=04 - Chip ID(s): 82C302, 82C307, 82C311, 82C351
-
- These chip sets maps in 16k segments, but write protection for the
- area C0000-FFFFF is in 64k segments. To allow maximum memory utilization
- the driver marks any segment containing UMBs as read/write. If the 64k
- segment also contains a rom shadow, it is not protected.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude any non-rom areas within the 64k segment
- ( e.g. for a VGA rom at C0000-C7FFF, exclude C8000-CFFFF ).
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
-
-
-
- ******************************************************************
- * Chips & Technologies 82C235 SCAT, 82C836 SCATsx, CB8291 ELEAT, *
- * CB8295 ELEATsx, CS8285 PEAKset-sx, *
- * CS8227 CHIPSlite, CS8288 CHIPSlite-sx *
- ******************************************************************
- /C=05 - Chip ID(s): 82C235, 82C836
-
- These chip sets allow the 384k of motherboard ram at A0000-FFFFF to
- relocate to extended memory at 100000-15FFFF on systems with only 1mb of
- ram. If this remapping is enabled when UMB_DRVR.SYS enables this area,
- the remapping is removed and the size of your extended memory is reduced
- by 384k, i.e. it disappears. A small INT 15H stub is installed in the
- BIOS stack area at 2DH:5DH to handle situations where your extended
- memory size changes. If you shadow anything in your CMOS setup or you
- disable the relocation ( see your CMOS setup ), then this stub is not
- required and not installed. Note that this applies only to systems with
- *EXACTLY* 1MB of memory.
- These chip sets map in 16k segments, but write protection for the
- area C0000-FFFFF is in 32k segments. To allow maximum memory utilization
- the driver marks any segment containing UMBs as read/write. If the 32k
- segment also contains a rom shadow, it is not protected.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude any non-rom areas within the 32k segment
- ( e.g. for a rom at C8000-CBFFF, exclude CC000-CFFFF ).
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 11
-
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
-
- ************************
- * ETEQ Micro COUGAR II *
- ************************
- /C=06 - Chip ID(s): 82C491 ( same ID but different chips for 386, 486 )
-
- This chip set maps in 16k segments from C0000 to EFFFF, and one 64k
- segment for the system BIOS ( F0000-FFFFF ). Memory protection is done
- in 64k segments from C0000 to EFFFF. The hardware does not allow read /
- write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
- protected, but the driver cannot use the boot page. The driver also
- cannot use the ram at A0000-BFFFF.
- The chip set can remap A0000-BFFFF and D0000-EFFFF to the highest
- area if no shadowing is done in that area. If this remapping is enabled
- and UMB_DRVR.SYS enables the area D0000-EFFFF, the remapping is removed
- and the size of your extended memory is reduced by 256k. A small INT 15H
- stub is installed in the BIOS stack area at 2DH:5DH to handle situations
- where your extended memory size changes. If you shadow something in the
- area D0000-EFFFF in your CMOS setup ( even though you may have no rom
- there ) or you disable the remapping, then this stub is not required and
- not installed.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude non-rom areas within the 64k segment:
- e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
- you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 12
-
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
-
- ***************************
- * OPTi Sx/AT, Sx/AT Cache *
- ***************************
- /C=07 - Chip ID(s): 82C281, 82C282, 82C283
-
- These chip sets maps in 16k segments from C0000 to EFFFF, and one
- 64k segment for the system BIOS ( F0000-FFFFF ). Memory protection is
- in 64k segments from C0000 to EFFFF. The hardware does not allow read /
- write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
- protected, but the driver cannot use the boot page. The driver also
- cannot use the ram at A0000-BFFFF.
- These chip sets can remap A0000-BFFFF and D0000-EFFFF to the high
- end of extended memory if no shadowing is done in either area. If this
- remapping is enabled and UMB_DRVR.SYS enables the area D0000-EFFFF, the
- remapping is removed and the size of your extended memory is reduced by
- 256k. A small INT 15H stub is installed in the BIOS stack area at
- 2DH:5DH to handle situations where your extended memory size changes. If
- you shadow something in the area D0000-EFFFF in your CMOS setup ( even
- though you may have no rom there ) or you disable the remapping, then
- this stub is not required and not installed.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude non-rom areas within the 64k segment:
- e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
- you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 13
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
- ********************
- * OPTi DX/BB PC/AT *
- ********************
- /C=08 - Chip ID(s): 82C496
-
- This chip set maps in 16k segments from C0000 to EFFFF, and one 64k
- segment for the system BIOS ( F0000-FFFFF ). Memory protection is done
- in 64k segments from C0000 to EFFFF. The hardware does not allow read /
- write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
- protected, but the driver cannot use the boot page. The driver also
- cannot use the ram at A0000-BFFFF.
- The chip set can remap A0000-BFFFF and D0000-EFFFF to the highest
- area if no shadowing is done in that area. If this remapping is enabled
- and UMB_DRVR.SYS enables the area D0000-EFFFF, the remapping is removed
- and the size of your extended memory is reduced by 256k. A small INT 15H
- stub is installed in the BIOS stack area at 2DH:5DH to handle situations
- where your extended memory size changes. If you shadow something in the
- area D0000-EFFFF in your CMOS setup ( even though you may have no rom
- there ) or you disable the remapping, then this stub is not required and
- not installed.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude non-rom areas within the 64k segment:
- e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
- you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
-
-
- ***********************************
- * OPTi 386WB PC/AT, 486SXWB PC/AT *
- ***********************************
- /C=09 - Chip ID(s): 82C391, 82C493
-
- These chip sets maps in 16k segments from C0000 to EFFFF, and one
- 64k segment for the system BIOS ( F0000-FFFFF ). Memory protection is
- done in 64k segments from C0000 to EFFFF. The hardware does not allow
- read / write access to ram at F0000-FFFFF - i.e. the rom can be shadowed
- and protected, but the driver cannot use the boot page. The driver also
- cannot use the ram at A0000-BFFFF.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude non-rom areas within the 64k segment:
- e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
- you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 14
-
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
-
- ***********************
- * OPTi 386/486WB EISA *
- ***********************
- /C=10 - Chip ID(s): 82C682
-
- This chip set maps and protects in 16k segments at C0000-DFFFF, one
- 64k segment at E0000 and one 64k segment for the system BIOS at F0000.
- The the driver cannot use the ram at A0000-BFFFF.
- If one of the 64k segments contains both shadowed rom and UMB area,
- it is marked read/write. All shadowed roms in the C0000-DFFFF area are
- write-protected.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ) unless it is in the E0000 block or you wish to force the
- BIOS ( F0000-FFFFF) to be unshadowed. Then you must exclude the entire
- 64k block ( E0000-EFFFF and/or F0000-FFFFF ).
-
-
-
- ****************************************
- * Elite Microelectronics Eagle, Falcon *
- ****************************************
- /C=11 - Chip ID(s): e88C311, e88C411
-
- These chip sets map and protect in 16k segments for the entire area
- C0000-FFFFF. All shadowed roms are write-protected. UMB_DRVR cannot use
- the ram at A0000-BFFFF.
- These sets always remap A0000-BFFFF to the highest memory area, and
- can selectively remap C0000-FFFFF in 64k blocks if no shadowing is done
- within the 64k block. If this remapping is active and UMB_DRVR enables
- shadow memory within one of the remapped 64k blocks, the remapping is
- removed and the size of your extended memory is reduced. A small INT 15H
- stub is installed in the BIOS stack area at 2DH:5DH to handle situations
- where your extended memory size changes. If you shadow something in each
- 64k area from C0000 to FFFFF in your CMOS setup ( even though you may
- have no rom there ) or you disable the remapping, then this stub is not
- required and not installed.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 15
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
- *************************
- * VLSI Technology SCAMP *
- *************************
- /C=12 - Chip ID(s): VL82C310, VL82C311, VL82C311L
-
- These chip sets map and protect in 32k segments for A0000-BFFFF,
- 16k segments for C0000-DFFFF, and 32k segments for E0000-FFFFF. If a
- rom shadow shares a 32k segment from E0000 to FFFFF with a UMB area, it
- is marked read/write. Any shadowed rom from C0000-DFFFF is protected, as
- is any 32k segment from E0000 to FFFFF that is all shadowed rom.
- These sets can remap A0000-FFFFF to the highest memory area if no
- shadowing is done and system memory is 1MB, 2MB, 3MB or 4MB. If remap
- is active and UMB_DRVR enables any shadow memory, the remapping is
- removed and the size of your extended memory is reduced. A small INT 15H
- stub is installed in the BIOS stack area at 2DH:5DH to handle situations
- where your extended memory size changes. If you shadow anything in your
- CMOS setup or you disable the remapping, then this stub is not required
- and not installed. Note that this applies only to systems with *EXACTLY*
- 1MB, 2MB, 3MB or 4MB installed.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies if it is between C0000 and DFFFF ( e.g. for a
- disk rom at C8000-CBFFF, exclude C8000-CBFFF ). If it is between E0000
- and FFFFF, exclude all areas in the 32k segment ( e.g. for a disk rom at
- E0000-E3FFF, exclude E0000-E7FFF ).
-
-
- *********************************************
- * VLSI Technology VL82C286, VL82C386 TOPCAT * ( These sets are all made
- * Intel 82340SX, 82340DX * by VLSI Technology )
- *********************************************
- /C=13 - Chip ID(s): ( VLSI ) VL82C320, VL82C320A, VL82C330
- ( Intel ) 82343, 82343A, 82346
-
- These chip sets map in 16k segments for the entire area from A0000
- to FFFFF and protect in 16k segments from C0000 to FFFFF. All shadowed
- rom areas are protected. The video area ( A0000-BFFFF ) and the 'boot
- page' ( F0000-F7FFF ) can only be utilized on the VL82C320 / 82343 'A'
- revisions ( this implementation was chosen to avoid the DMA limitation;
- see MISCELLANEOUS NOTES - DMA ACCESS TO UPPER MEMORY ). UMB_DRVR will
- recognize the various chips and enforce these restrictions accordingly.
- These sets can remap A0000-FFFFF to the high end of extended memory
- if no shadowing is done and system memory is exactly 1MB or 2MB. If this
- remapping is active and UMB_DRVR enables shadow memory, the remapping is
- removed and the size of your extended memory is reduced. A small INT 15H
- stub is installed in the BIOS stack area at 2DH:5DH to handle situations
- where your extended memory size changes. If you shadow anything in your
- CMOS setup or you disable the remapping, then this stub is not required
- and not installed. Note that this applies only if the system memory size
- is *EXACTLY* 1MB or 2MB.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 16
-
-
- CHIP-SET-SPECIFIC NOTES continued
-
-
- *******************************
- * OPTi HiD/386 AT, HiB/486 AT *
- *******************************
- /C=14 - Chip ID(s): 82C382, 82C482
-
- These chip sets map in 16k segments from C0000 to EFFFF and one 64k
- segment for the system BIOS ( F0000-FFFFF ). Memory protection is done
- in 64k segments from C0000 to EFFFF. The hardware does not allow read /
- write access to the area F0000-FFFFF - i.e. the rom can be shadowed and
- protected, but the driver cannot use the boot page. The driver also
- cannot use the ram at A0000-BFFFF.
- The chip sets can remap A0000-BFFFF and D0000-EFFFF to the highest
- area if no shadowing is done in that area. If this remapping is enabled
- and UMB_DRVR.SYS enables the area D0000-EFFFF, the remapping is removed
- and the size of your extended memory is reduced by 256k. A small INT 15H
- stub is installed in the BIOS stack area at 2DH:5DH to handle situations
- where your extended memory size changes. If you shadow something in the
- area D0000-EFFFF in your CMOS setup ( even though you may have no rom
- there ) or you disable the remapping, then this stub is not required and
- not installed.
- Although it should not be necessary, if you wish to have a rom be
- shadowed and protected, exclude non-rom areas within the 64k segment:
- e.g. for a rom at C8000-CBFFF, exclude C0000-C7FFF and CC000-CFFFF. If
- you have a VGA rom at C0000-C7FFF, you only need exclude CC000-CFFFF.
- If you must force a rom to be unshadowed, you need only exclude the
- 16k segment(s) it occupies ( e.g. for a disk rom at C8000-CBFFF, exclude
- C8000-CBFFF ).
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 17
-
-
- INSTALLATION
-
- *PLEASE BE SURE YOU HAVE REVIEWED THE MISCELLANEOUS AND CHIP-SET-
- SPECIFIC NOTES* prior to installing. Also, make sure you have backed-up
- your system and that you have a diskette you can boot from in case you
- have problems with your CONFIG.SYS settings.
- Installation ( preferably as the first driver ) is via the lines:
-
- DEVICE=UMB_DRVR.SYS /C=nn [/M=ssssssssssssssssssssssss]
- DOS=[HIGH|LOW],UMB ( *REQUIRED* - turn on DOS 5 UMB support )
-
- in your CONFIG.SYS file. The /C= parameter is required - nn is the chip
- set from 'CHIP-SET-SPECIFIC NOTES'. The /M= parameter is optional and is
- used to override defaults. It contains characters corresponding to 16K
- memory blocks at the following addresses:
-
- /M=ssssssssssssssssssssssss
- A0000'||||||||||||||||||||||`FC000---| Only '..' and '--' may be
- A4000'||||||||||||||||||||`F8000----| used for the system BIOS.
- Video A8000'||||||||||||||||||`F4000--|
- RAM AC000'||||||||||||||||`F0000---| '..', '--', '++', and '##'
- area B0000'||||||||||||||`EC000 | may be used for boot page.
- B4000'||||||||||||`E8000 | Use '##' to force area to be
- B8000'||||||||||`E4000 | shadowed as part of BIOS.
- BC000'||||||||`E0000
- |||||||`DC000
- ||||||`D8000 Upper
- |||||`D4000 Memory
- ||||`D0000 area
- |||`CC000
- ||`C8000
- |`C4000
- `C0000
-
- s = '.' Allow default use of block
- '-' Force block to be unused and unshadowed
- '+' Force block usage for UMBs or DOS base ram expansion
-
- The /M= parameter must always be supplied as all 24 characters, using
- the '.' character to fill any positions not forced on or off. For
- example, on a VGA system using video memory from A0000 to BFFFF, if
- it is in CGA 80 x 25 mode, the only video memory in use is B8000-BFFFF.
- In this case, the memory from A0000-AFFFF may be used to expand DOS
- base memory beyond 640K ( with some VGA cards ) by using the parameter:
- /M=++++....................
- Of course, with the system configured like this, if you change the video
- mode, undefined ( read as disaster city! ) results will occur.
- A second example would be a system where you wish to use EMM386.EXE
- to supply EMS memory and wish to use E0000-EFFFF as the EMS base address
- range. To accomplish this, use the UMB_DRVR.SYS parameter:
- /M=................----....
- to reserve this memory for EMM386.EXE to use. You should also use the
- I=E000-EFFF parameter for EMM386.EXE to include the area for its use.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 18
-
-
- ERROR MESSAGES
-
-
- DMA NOT SUPPORTED ( WARNING )
-
- See MISCELLANEOUS NOTES - DMA ACCESS TO UPPER MEMORY.
-
-
- SHADOW RAM TEST FAILURE
-
- This message is issued when the shadow ram read/write test fails.
- It is usually an indication that you are trying to use memory that is
- not available, or ( possibly ) you do not have the chip set you have
- specified. Check your CMOS setup and any jumpers or switches per your
- hardware documentation. Also review CHIP-SET-SPECIFIC NOTES earlier in
- this document for any requirements.
- This can also occur if you are trying the example listed in the
- INSTALLATION section using a portion of the video ram area on a VGA
- system in CGA mode and your VGA hardware will not allow it.
-
-
- CHIP SET NOT RECOGNIZED
-
- As much as possible, UMB_DRVR.SYS tries to verify that you have the
- chip set you indicated in the /C= parameter. If you are sure you have
- the chip set and have correctly specified it, contact me ( see TECHNICAL
- SUPPORT ) and I will try to straighten things out.
-
-
- XMS ALREADY INSTALLED
-
- You have not installed UMB_DRVR.SYS before HIMEM.SYS ( UMB_DRVR.SYS
- issues message ), or you have omitted or incorrectly specified the line
- 'DOS=xxxx,UMB' in your CONFIG.SYS ( HIMEM.SYS issues message ). Correct
- your CONFIG.SYS file and and reboot.
-
-
- INCORRECT DOS VERSION
-
- UMB_DRVR.SYS requires MS/DOS 5.0 for proper operation.
-
-
- INVALID PARAMETER(S)
-
- On the DEVICE= statement for UMB_DRVR.SYS you have: 1) omitted or
- incorrectly specified the /C= parameter, 2) incorrectly specified the
- /M= parameter, or 3) included extra parameter(s).
- Check that you have entered the proper 2-digit number for your chip
- set, that ( if specified ) the /M= parameter contains 24 characters from
- the set '.' (period), '-' (minus), '+' (plus) and '#' (pound sign), and
- that nothing else is specified. Correct your CONFIG.SYS file and reboot.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 19
-
-
- BAD NEWS ( CHIPS THAT WILL NOT BE SUPPORTED )
-
- Chips & Technologies: CS8220(82C201/82C202) [1]
-
- Intel: 82335/82335SX [2]
-
- Sun Electronics ( SUNTAC ): ST62CS02(ST62BC002) [1]
-
- United Microelectronics ( UMC ): UM82C230(UM82C231) [1]
-
- VLSI Technology: VL82C10x series [1]
-
- Western Digital: ( Faraday ) FE3021/FE3021A [2]
-
- Notes:
- [1] - No shadow ram support
- [2] - Lock feature prohibits access
-
-
- MAYBE? ( NEED TECHNICAL DATA TO SUPPORT )
-
- ACER systems, COMPAQ systems, IBM PS/2 systems
-
- I have been unable to get any documentation for these systems. If
- anyone can supply me with adequate data on the chips involved, I
- will try to include support for them.
-
-
- COMING ATTRACTIONS ( SUPPORT PLANNED OR UNDER DEVELOPMENT )
-
- Headland Technology: HT12/HT15 [1], HT18/HT21/HT22 [2], HT322
-
- Intel: 82350 EISA (82359), 80386SL
-
- OPTi: L1/L2 Notebook
-
- Silicon Integrated Systems ( SIS ): 85C310, 85C401
-
- Sun Electronics ( SUNTAC ): ST62CS24(ST62C241), ST62CS25(ST62C251)
-
- Texas Instruments: TACT83000(TACT83442), TACT84500(TACT845??)
-
- United Microelectronics ( UMC ): UM82C380(UM82C384) [1]
-
- VLSI Technology: VL82C486
-
- Western Digital: WD6000/WD75C10/WD76C10/WD7710/WD7910 [1]
-
- Notes:
- [1] - Support minimal ( maximum 64K UMB area ).
- [2] - Support limited ( maximum 128K UMB area ).
-
- If your chip set is not listed, I will try to add it if you can get
- me technical information or put me in touch with the manufacturer.
- UMB_DRVR.DOC Version 5.13 11/23/91 Page 20
-
-
- REVISION HISTORY
-
-
- 5.13 [11/23/91] - Added Texas Instruments TACT82S411, UMC UM82C210;
- Added DMA verification code and warning message;
- Documentation expanded and reorganized ( again! )
-
- 5.12 [11/19/91] - Fix for OPTi HiD/386, HiB/486 memory remapping
-
- 5.11 [11/17/91] - Fixes for OPTi Sx/AT, Sx/AT Cache, DX/BB PC/AT;
- Relax validation check for Chips & Technologies
- CS8230, CS8231, CS8233, and CS82310;
- Documentation updated for various chip set IDs
- from Chips and Technologies
-
- 5.10 [11/12/91] - Added Chips & Technologies PEAK/DM,
- OPTi Sx/AT Cache, HiD/386 AT, HiB/486 AT;
- Fixes for VLSI Technology TOPCAT / Intel 82340,
- special conditions remapping extended memory
- on Chips & Technologies NEAT, LEAP and SCAT,
- miscellaneous logic improvements;
- Documentation updated and reorganized
-
- 5.09 [10/25/91] - Fix for VLSI Technology TOPCAT / Intel 82340
-
- 5.08 [10/14/91] - Fix for boot page special condition
-
- 5.07 [10/13/91] - Added VLSI Technology SCAMP, TOPCAT / Intel 82340
-
- 5.06 [10/12/91] - Added Elite Microelectronics Eagle, Falcon
-
- 5.05 [10/09/91] - Added OPTi Sx/AT, DX/BB PC/AT, 386WB PC/AT,
- 486SXWB PC/AT, 386/486WB EISA
-
- 5.04 [10/02/91] - Added ETEQ Micro COUGAR II
-
- 5.03 [09/21/91] - Added Chips & Technologies 386/AT,
- 386/AT Cache, PEAK, SCAT, ELEAT;
- Removed setup requirements
-
- 5.02 [09/12/91] - Added FOREX FRX32C300;
- Added support for use of 'boot page' area;
- Fix for VLSI Technology VL82C200;
- Default all roms shadowed
-
- 5.01 [09/04/91] - Added VLSI Technology VL82C200
-
- 5.00 [09/01/91] - Support for Chips & Technologies NEAT, LEAP;
- Original release version
-
- ***** END OF DOCUMENTATION *****
- UMB_DRVR.SYS, Version 5.13 [ 11/23/91 ] Registration Form
- ***** Please Type or Print Clearly *****
-
-
- Name:____________________________________________________
-
- Address:_________________________________________________
-
- _________________________________________________
-
- City/State_______________________________________________
-
- Zip/Postal Code__________________________________________
-
-
-
- ***** Telephone number_________________________________________
- * *
- * * Email system / routing / ID______________________________
- * *
- * * ____________________________________________________
- * *
- * O * Computer description, configuration, chip set, etc.
- * *
- * P * ____________________________________________________
- * *
- * T * ____________________________________________________
- * *
- * I * ____________________________________________________
- * *
- * O * Comments_________________________________________________
- * *
- * N * ____________________________________________________
- * *
- * A * ____________________________________________________
- * *
- * L * ____________________________________________________
- * *
- * * ____________________________________________________
- * *
- * * ____________________________________________________
- * *
- ***** ____________________________________________________
-
-
-
- Cost ( U.S.Funds ): $25 ( no credit cards )
-
- Mail to: Christopher Blum
- 1022 East Wayne Avenue
- Wooster, Ohio 44691