bpendlet@esunix.UUCP (Bob Pendleton) (11/17/88)
From article <1717I78BC@CUNYVM>, by I78BC@CUNYVM.CUNY.EDU (Michael Polymenakos): > > One question. Can extended RAM be used as expanded? Sounds unlikely, > i know... I've been around computers for a long time (BSCS, MSCS + 14 years of system development), but am new to the PClone world. I just bought my first AT clone, got tired of not being able to get software for my Amiga. One question that I have not been able to get a good answer for is the difference between "extended" and "expanded" memory. Can someone please explain it to me? I have 1 meg on the mother board and at boot time the bios says I have 640K and 384K extended. I'm wondering how I can use that memory. I'm also wondering if I bought RAM I don't need/can't use? Suggestions for good books on the subject would be greatly appreciated. Bob P. P.S. Sorry for the mini resume, but I've found that without it I get a lot of answers that assume I'm a 16 year old grade school drop out. -- Bob Pendleton, speaking only for myself. UUCP Address: decwrl!esunix!bpendlet or utah-cs!esunix!bpendlet Reality is what you make of it.
kent@sun.ufnet.ufl.edu (Kent Phelps) (11/19/88)
I have heard of a program called LIMSYM that is supposed to map extended
RAM so it will act as EMS RAM. Has anybody had any experience with this
program? Does it work? I have heard that a company called Larson Computing
makes it but I have no idea how to contact them or where they are. I am mainly
interested in this for 286 based machines so 386-MAX is not applicable.
Any info on this will be greatly appreciated.
--
Kent Phelps | Internet: kent@sun.ufnet.ufl.edu
University of Florida | UUCP: ... ????
Digital Design Facility| Phone: 904-335-8322mvolo@ecsvax.uncecs.edu (Michael R. Volow) (11/21/88)
[poster asked about EMS emulators for 286 machines] Have not used LIMSIM myself, but our Zenith rep used it on a Z248 and liked it. This and other EMS emulators review in PC Mag about 20-22 months ago (not sure of exact issue). Did talk with Larson computing about it at the time. They advertise in the back of PC World and PC Mag intermittently. M Volow, VA Medical Center Durham, NC mvolo@ecsvax.UUCP
twb@hoqax.UUCP (T.W. Beattie) (11/22/88)
In article <1090@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes: >From article <1717I78BC@CUNYVM>, by I78BC@CUNYVM.CUNY.EDU (Michael Polymenakos): >> One question. Can extended RAM be used as expanded? Sounds unlikely, >> i know... > >One question that I have not been able to get a good answer for is the >difference between "extended" and "expanded" memory. Can someone >please explain it to me? I'll try. Extended memory is the 384K between 640K and 1M. Expanded memory is the RAM above 1M. I believe there is a Driver (EMSIM.SYS ?) that simulates extended using expanded (or is it the other way around). I have disk cache, print spooler and floppy simulator that use expanded memory. Any other utilities that use expanded (or extended) memory? Tom. att!hoqaa!twb
egs@killer.DALLAS.TX.US (Eric Schnoebelen) (11/23/88)
In article <1970@hoqax.UUCP> twb@hoqax.UUCP (T.W. Beattie) writes: >In article <1090@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes: >>From article <1717I78BC@CUNYVM>, by I78BC@CUNYVM.CUNY.EDU (Michael Polymenakos): >>> One question. Can extended RAM be used as expanded? Sounds unlikely, >>> i know... >> >>One question that I have not been able to get a good answer for is the >>difference between "extended" and "expanded" memory. Can someone >>please explain it to me? > > >I'll try. >Extended memory is the 384K between 640K and 1M. >Expanded memory is the RAM above 1M. > >[...] > >Tom. >att!hoqaa!twb This is WRONG!!!! There have been several good explainations of expanded and extended memory in the last few days. Here goes again. Expanded memory is the bank switched stuff that conforms to the Lotus-Intel-Microsoft Standard. It can be placed in any type of PC from a PC-1 on up. Extended memory is memory from 1M on in AT class or better computers ( 286/386/486(?) ). Extended memory is only directly accessable from protected mode on these processors. There are drivers that emulate expanded memory in extended memory, but I know of none that go the other way. Sorry about the flaming tone, I just wanted everyone to get it right. ( now, of course I will have exactly backwards, if Murphy is around.. ) Hope this helps Eric -- Eric Schnoebelen John W. Bridges & Associates, Inc. Lewisville, Tx. egs@u-word.dallas.tx.us ...!killer!u-word!egs
kent@sun.ufnet.ufl.edu (Kent Phelps) (11/23/88)
NO, NO, NO.
System memory is from 0 to 640K
The RAM from 640K to 1M is reserved for video RAM and EMS ( expanded ).
Extended RAM is above 1M, not expanded.
EMS stands for Expanded Memory Specification. There are two versions: 3.2
and 4.0. Version 4.0 is also referred to as "LIM 4.0". EMS is a bank
switching scheme that allows PC's that can't physically address RAM above
1M (8088 based machines) to break the 640K barrier. The differences
between the 3.2 spec and the 4.0 spec is that 3.2 can only expand to
8M and can only be used to store data. The 4.0 spec can expand up to
32M and can also be used to store applications so you can sort of
do multi-tasking. PC Tech Journal's July 1988 issue has a good article
that goes into much greater detail. Hope this clears up any questions.
.
--
Kent Phelps | Internet: kent@sun.ufnet.ufl.edu
University of Florida | UUCP: ... ????
Digital Design Facility| Phone: 904-335-8322c9c-ba@dorothy.Berkeley.EDU (George Voon) (11/23/88)
When one buys a 286/386, the 1 Meg is not from 0-1024K, but from 0-640K plus 1024-1408. The memory from 640-1024 is reserved for video, etc. Therefore, the extra 384K is extended memory. George Voon
john@wa3wbu.UUCP (John Gayman) (11/23/88)
In article <1970@hoqax.UUCP>, twb@hoqax.UUCP (T.W. Beattie) writes: > In article <1090@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes: > >From article <1717I78BC@CUNYVM>, by I78BC@CUNYVM.CUNY.EDU (Michael Polymenakos): > >One question that I have not been able to get a good answer for is the > >difference between "extended" and "expanded" memory. Can someone > >please explain it to me? > I'll try. > Extended memory is the 384K between 640K and 1M. > Expanded memory is the RAM above 1M. This is one very confusing aspect of extended memory. Actually the 384K you have additional on the motherboard lies *above* 1MB. The addressing region between 640K and 1MB is reserved for Video, BIOS, et al. So when you have a motherboard with 640K conventional and 384K extended, your top address is actually 1408K. John -- John Gayman, WA3WBU | UUCP: uunet!wa3wbu!john 1869 Valley Rd. | ARPA: john@wa3wbu.uu.net Marysville, PA 17053 | Packet: WA3WBU @ AK3P
phil@diablo.amd.com (Phil Ngai) (11/24/88)
In article <7710@pasteur.Berkeley.EDU> c9c-ba@dorothy.Berkeley.EDU.UUCP (George Voon) writes: |When one buys a 286/386, the 1 Meg is not from 0-1024K, but from 0-640K |plus 1024-1408. The memory from 640-1024 is reserved for video, etc. |Therefore, the extra 384K is extended memory. This is not true. I am running right now a Taiwanese 286 clone with a Suntac chip set. It allows you to set up the extra 384K as extended OR expanded. So the 384K is NOT always extended, although it usually is. -- Phil Ngai, phil@diablo.amd.com {uunet,decwrl,ucbvax}!amdcad!phil
ns@maccs.McMaster.CA (Nicholas Solntseff) (11/24/88)
I have used LIMSIM ver. 4.03 with a Zenith248 and extended memory. Windows/286 works perfectly with it and acknowledges, expanded memory and Smartdrive Cache properly. I use Windows regularly as a test for LIM 4.0 compatibility!
james@bigtex.cactus.org (James Van Artsdalen) (11/24/88)
In <7710@pasteur.Berkeley.EDU>, c9c-ba@dorothy.Berkeley.EDU.UUCP (George Voon) wrote: > When one buys a 286/386, the 1 Meg is not from 0-1024K, but from 0-640K > plus 1024-1408. The memory from 640-1024 is reserved for video, etc. > Therefore, the extra 384K is extended memory. This is not always the case. Most of our (Dell Computer) machines uses the "extra" 384K of memory for ROM shadowing, not for extended memory. Shadowing gives a couple of big benefits: 1. The RAM used for shadowing is either 16 or 32 bits wide, depending on whether the CPU is a 286 or 386. Many VGA cards only have 8 bit ROMs, so the wider RAM speeds execution. 2. ROM in a slot gets many wait states per access, whereas the system board RAM gets few if any. This alone can double the speed of code in a VGA BIOS. -- James R. Van Artsdalen james@bigtex.cactus.org "Live Free or Die" Home: 512-346-2444 Work: 338-8789 9505 Arboretum Blvd Austin TX 78759
fried@unicom.UUCP (Martin J Fried) (11/25/88)
In article <1970@hoqax.UUCP> twb@hoqax.UUCP (T.W. Beattie) writes: >In article <1090@esunix.UUCP> bpendlet@esunix.UUCP (Bob Pendleton) writes: >>From article <1717I78BC@CUNYVM>, by I78BC@CUNYVM.CUNY.EDU (Michael Polymenakos): >>...difference between "extended" and "expanded" memory. Can someone >>please explain it to me? > > >I'll try. >Extended memory is the 384K between 640K and 1M. >Expanded memory is the RAM above 1M. This is incorrect. Extended memory is memory above 1M (640K to 1M is used by video mainly, with some space for network cards or other system programs. In fact, this is where most _expanded_ memory is mapped. Expanded memory is is a chunk of ram that can be logically mapped into lower memory a section at at a time, where it can then be used by DOS (originally in 16K sections, up to 64K). DOS can't use anything over 1M, so it can't use extended memory. The expanded memory that is swapped into the lower address space acts like a 64K window into the physical memory. The physical memory can be any type of memory that is capable of being addressed as DOS memory, and can be accomplished in software only, although this is much slower than memory designed to be used as expanded memory. Expanded memory can be used by XT or AT, where extended memory only exists on the AT. I hope my explanation is somewhat understandable. I know I'm not the world's greatest writer!
cacsc222%mx@csun.edu (12/01/88)
A couple years ago, Jerry Pournelle (I know, he is not THE authority) came up with a good way to keep things straight... Extended implies long and thin -- thus the memory from 1M to 16M Expanded implies wide -- thus the (up to 32M) that is paged into the 8086 1M address space. "Disclaimer? We don't need no stinking disclaimers!!!!!" Scott Neugroschl ...!sm.uinisys.com!csun!mx!cacsc222
ray@micomvax.UUCP (Ray Dunn) (12/06/88)
There has been a lot of half truths and plain nonsense posted on this
subject amongst the pearls of wisdom, so I post the following which I had
previously sent privately, and to which I have made a couple of additions.
Excuse the length. 'n' now if you know all there is to know on this subject.
It is the truth. Honest. It is also in TFM!!!!
Extended memory is memory directly in the CPU memory address space, above
the 1 megabyte address.
It is "extended" because the 8088 can only access 1 meg. Thus "extended
memory" is part of the "extended memory addressing" of the 286 & 386
processors.
Expanded memory is paged memory which can be addressed through a Page Frame
within the first 1 megabyte. Expanded memory can be provided in a number of
ways (see below).
The mnemonic is easy, it is in the meaning of the words:
Extended is longer.
Expanded is fatter.
When you buy a 80286 or 386 based machine which has more than 640K of RAM,
that extra memory must be mapped somewhere, because *normally*, in the
architecture of the PC, the area between 640K and 1M is used for video RAM,
option card ROM and RAM, and the BIOS ROM.
Some machines map the 384K from this hole on top of any *other* memory above
1M. I.e. if the machine has 1M memory, the 384K is mapped at 1M. If the
machine has 2M memory, the 384K is mapped at 2M etc.
Some machines just map the memory away out of trouble at say 16 or 24Meg.
Some machines use all or part of it to "shadow" the system BIOS, and
sometimes a proprietary Video BIOS. Thus during system initialization,
these BIOSes are copied into the fast (16-bit or 32-bit) RAM,
write-protected, and the BIOS from then on executes from there. This
obviously requires motherboard hardware support.
Some machines allow all or part of the extended memory to be used as
expanded memory. This is achieved either by hardware support or software
emulation as described below.
*Some* machines allow all sorts of permutations of the above! This is an
area where manufacturers of clones can *add value*.
Extended Memory:
---------------
As *MSDOS* can only address the first 1 Megabyte of the address space,
extended memory on a 286 or 386 has limited use with DOS. It is most
commonly used as a RAM disk, because this involves only *block* access to
the memory and is a nicely self-contained application, but it could also be
used for cacheing or directly by an application or to implement some
Expanded Memory scheme (EMS).
An 80286 has a 24 bit address space, i.e. 16 megabytes (1 meg plus 15 meg of
extended memory).
An 80386 has a full 32 bit address space (work it out yourself!). Most AT
architecture implementations using an 80386 use a private memory address bus
which limits the addressing to 16 or 24 or 32 Megabytes.
Extended memory not widely used in the MSDOS environment other than by RAM
disk programs, disk caches, and expanded memory emulations, for several
reasons:
- It is not available on 8088 machines so *applications* stay away from using
it directly.
- It is not a standard resource, so there is no proper management of it for
co-existing software.
- It is very slow and a pain in the neck to access because MSDOS runs the
80286 in native mode (i.e. as an 8088). To access above 1 meg the 80286
must be switched into protected mode. This is fine, but there is no way to
switch it back to native mode!! So, the trick used is to get the keyboard
controller to RESET the CPU, and the BIOS reset code recognizes this and
continues! Thus it is really only good for some sort of *block* access to
the memory, and there is an INT15 function in the BIOS which does this for
you. All of this can be done more easily on an 80386, using its virtual 86
mode, but there are other problems running DOS in this mode (you have to
trap I/O etc) and I wont go into that here. There are also the usual "how
does the DMA interact with logical addressing" type problems.
The good news is that Unix and OS/2 make *full* use of extended memory, as
they run the machine in protected mode.
Exercise for the reader: It *is* possible to access the first 64K of
extended memory *without* going into protected mode. How?
Expanded Memory:
---------------
There have been several standards for expanded memory. Currently this is
settling down into the LIM 4.0 standard (_L_otus _I_ntel _M_icrosoft in
agreement).
LIM 4.0 describes the following architecture:
PC MAIN MEMORY LIM EXPANDED MEMORY
-------------- -------------------
+-------------+
| |
. Extended .
. Memory .
. up to .
. 16M on the .
. 80286 or .
. 4096M on .
. the 80386 .
| | ---- +-------------+ 32M
1M +-------------+ ---- | |
| | ---- | |
960K +-------------+ --- | Expanded |
| Page Frame | | Memory |
| 12*16K | | |
| Physical | | Divided |
| Pages | | into |
768K +-------------+ - | logical |
| | - . pages .
640K +-------------+ - . .
| 24*16K | - .
| Physical | - | |
| Pages | - | |
| | - | |
| | - | |
256K +-------------+ - | |
| | - | |
| | - | |
| | - | |
0 +-------------+ - | |
-- +-------------+ 0
Assuming you are familiar with the PC memory map (if not, read the tech
reference manuals quick quick), as you can see, the expanded memory gives
you up to 32M to map into up to 36 16K pages in the positions shown above.
The page frame below 640K which allows the existing RAM to be shadowed are
usually regarded as being for the use of operating systems/environments.
The page frame above 640K, in the "PROM" area, is for applications.
Code can be run or data stored interchangably in any of these frames.
30 functions are defined using int 67H, to allocate, map, swap etc these
pages. These are provided, depending on the implementation, as a loadable
driver, an extension to the motherboard BIOS, or on a PROM on a LIM 4.0
option card.
The number of pages available in the page frame depends on the
implementaion, and how much of the address space is already occupied by
option card ROMS (and perhaps RAM's) in the machine.
LIM 4.0 can be implemented in many ways:
- as an option card with memory and page registers etc as I/O hardware to
provide the mapping etc, and an on-board BIOS PROM to provide the
functionality.
- as a pure software emulation in a .sys or TSR driver:
- using extended memory and virtual 86 mode on an 80386 so that the
memory is mapped using the MMU into any of the physical LIM pages. I
currently run a 6Meg 80386 based machine that gives me this capability.
- *copying* into the RAM pages existing below 640K, either from extended
memory (if other than 8088), or from, say, disk. This is much slower as
pages are swapped using copying rather than just updating page registers.
- using extended memory and mapping and page register logic built into the
motherboard ASICs or logic on an 80286 or 80386 machine. We (Philips) make
several PC's based on this approach.
- combinations of the above etc.
LIM 4.0 management is handled by its BIOS only in so far as the application
can ask it what pages are free, how much memory is free to map etc. The
actual use of this paging is left up to the application. DOS does not
depand page or anything remotely like that, or support an application's use
of LIM in any way. Two or more co-existing applications can share the LIM
quite happily if they are well behaved (i.e. use LIM *only* through the BIOS
calls).
Functionality is provided to allow the saving and restoring of the page
registers etc, so that even interrupt routines can safely be written to use
LIM memory, assuming they allocate all their requirements up front.
DOS 4.0 *does* recognize LIM 4.0's presence, and allows buffers and fastopen
file names etc to be allocated in LIM pages. In no way is LIM *integrated*
into the operating system though.
The "Lotus/Intel/Microsoft Expanded Memory Specification Version 4.0"
(published by, you guessed it, Lotus, Intel and Microsoft), is the
definitive manual.
--
Ray Dunn. | UUCP: ..!philabs!micomvax!ray
Philips Electronics Ltd. | TEL : (514) 744-8200 Ext: 2347
600 Dr Frederik Philips Blvd | FAX : (514) 744-6455
St Laurent. Quebec. H4M 2S9 | TLX : 05-824090jalbert@cs.ubc.ca (Francois Jalbert) (01/13/90)
Hi there. A couple of weeks ago, I asked for advice concerning the
purchase of a memory board for my AT. I also tried to justify my desire
to acquire a extended-capable only board by mentioning its low cost,
speed, and simplicity. I would like to thank all who took the time to
reply, especially Timothy (Everex RAM 3000 Deluxe owner) who answered
additional questions. The interest seems to warrant a brief report.
Several brands were suggested, but the Everex RAM 3000 was the most
recommended. It also happened to be the second least expensive I could
find in Canada! The Canadian prices were:
RAM 3000 3Mb in 256Kb chips extended only $99
RAM 3000 Deluxe 3Mb in 256Kb chips extended/expanded 3.2 $118
RAM 10000 10Mb in 1Mb chips extended/expanded 3.2 $150?
RAM 8000 8Mb extended/expanded 4.0? $$$$
where 3.2 refers to hardware capabilities, not software...
I decided to go for the Deluxe and to experiment to see how extended
and expanded RAM disks compare. I bought 3Mb of memory at 100ns with 1
wait state for my 13.8/9.3 MHz AT clone. The machine already has 384Kb
of extended memory on the main board accessible at full speed, contrary
to the slower bus. I was very surprised to see that four 256Kb chips are
slightly cheaper than one 1Mb chip. The only reason to go the RAM 10000
way would appear to be if you really need the extra room.
I ran two benchmarks: copy 32 times a 128Kb file from the RAM disk
to the RAM disk, and copy 8 times a 1Mb file from the RAM disk to the
RAM disk. All with VERIFY and BREAK on. Here are the results in seconds:
128Kb 1Mb
384Kb extended on main board 5.82 N/A
3072Kb extended on Everex 6.81 11.81
3456Kb all extended combined 6.37 11.65
3072Kb expanded on Everex 7.20 13.29
It becomes clear that extended memory is faster than expanded (EMS
3.2) when RAM disks are concerned. As expected, the extended memory on
the main board is faster than the one on the Everex accessible through
the slow bus. The combination of both types of extended memory lies in
between, as also expected.
To make the expanded case even less attractive, the need to load the
EMM.SYS driver, and then the EDISK.SYS driver for the 3072Kb expanded
RAM disk (in addition to the standard EDISK.SYS driver for the 384Kb
extended disk) will cost you an extra 12Kb of main memory.
Finally, I should point out that it took me about 3 hours to get
that Everex board running! I was ready to set it up on fire at one
point, or give up thinking the card was incompatible with my AT clone,
or both. I would like to, perhaps, save somebody some frustration and
share my findings.
The problems occurred in EMS mode. First, the Everex supports 16 bit
EMS transfers, but only if your AT is not too fast. I interpreted the
documentation as saying the bus speed had to be 10MHz or slower. But it
should read, a CPU speed 10MHz or slower. Indeed, a partial disassemble
of EMM.SYS revealed some loop involving the timer chip as the culprit.
Once I realized the problem was related to speed, I switched back to 8
bit transfer. This allowed EMM.SYS to finally claim it had found a
satisfactory 64Kb cache in high memory.
The second problem was more subtle. The EMM.SYS driver scans memory
above 640Kb in order to set up its 64Kb cache. Don't trust its findings!
Either the scan is not performed correctly, or some upper memory areas
are not compatible with the 64Kb cache at hand on some AT clone. Impose
upon the driver that it use the segment D000H for its cache. Once I did
that, the sporadic data corruptions I had experienced in the RAM disk
disappeared.
Finally, note that the popular RAM tester RAMTEST that I got from
SIMTEL does not seem compatible with EDISK.SYS, but works with DOS'
VDISK.SYS. At least, I think at one point I had that impression. I am
too tired to investigate further the matter. RAMTEST reported errors in
the 3072Kb of expanded memory, and also failed to sense the 384Kb of
extended memory. It is perhaps sensitive to the presence of two copies
of EDISK.SYS in memory.
Overall, I must recommend the Everex RAM 3000 Deluxe. It seems well
built, has decent documentation, and has a very nice setup program. But
if all you need is a RAM disk, get the simpler, faster, and cheaper
Everex RAM 3000 extended-capable only memory board. It's $99 Canadian,
so it should be real cheap in the states. Be careful, I found that many
dealers know only of the Deluxe version EMS 3.2 capable. There is a
simpler version extended-only available.
Cheers. Francois
'mlord@bmers58.UUCP (Mark Lord) (01/16/90)
In article <6258@ubc-cs.UUCP> jalbert@cs.ubc.ca (Francois Jalbert) writes: > > I ran two benchmarks: copy 32 times a 128Kb file from the RAM disk >to the RAM disk, and copy 8 times a 1Mb file from the RAM disk to the >RAM disk. All with VERIFY and BREAK on. Here are the results in seconds: > 128Kb 1Mb > 384Kb extended on main board 5.82 N/A > 3072Kb extended on Everex 6.81 11.81 > 3456Kb all extended combined 6.37 11.65 > 3072Kb expanded on Everex 7.20 13.29 > It becomes clear that extended memory is faster than expanded (EMS >3.2) when RAM disks are concerned. As expected, the extended memory on The reason for this finding is that the EMS is running in 8-bit mode (in hardware) as you noted later in your article. The extended memory on this board *always* runs in 16-bit mode, which really helps massive data copying (assuming 16-bit instructions are used, as in EDISK.SYS). This data corelates closely with my own findings with this board about a year ago. -Mark -- +----------------------------------------+----------------------------+ | Mark S. Lord | Hey, It's only MY opinion. | | ..!utgpu!bnr-vpa!bnr-fos!mlord%bmers58 | Feel free to have your own.| +----------------------------------------+----------------------------+
emmo@moncam.co.uk (Dave Emmerson) (01/16/90)
In article <6258@ubc-cs.UUCP>, jalbert@cs.ubc.ca (Francois Jalbert) writes: > [bulk of summary deleted] > to the slower bus. I was very surprised to see that four 256Kb chips are > slightly cheaper than one 1Mb chip. > This is current policy of Japanese (& therefore world) DRAM manufacturers, in order to push sales of the 4Mbit DRAM, and reduce the glut (?) of 1Mb devices, 1 x 4Mbit costs 5 x 1Mbit ; 1 x 1Mbit costs 5 x 256K ..... I'd expect to see PC add-ons using 4Mbit devices in a year or so. Now the market is more stable, memory prices should follow the 30% / year reduction curve, so if you're still waiting 'till you can afford them don't hold your breath : unless a non-Japanese mfr turns these out in very high volume at low prices, they'll get their own way. > [more deleted] > Either the scan is not performed correctly, or some upper memory areas > are not compatible with the 64Kb cache at hand on some AT clone. Impose > upon the driver that it use the segment D000H for its cache. Once I did > that, the sporadic data corruptions I had experienced in the RAM disk > disappeared. Doubtless this holds good on Francois' setup, and is well worth the mention, but don't automatically assume that it will be necssary (or even work) on *yours*. Try it 'as is' first, then experiment with other segments if necessary. You cannot locate it anywhere where you already have a BIOS ROM and expect either to work. Sorry for nit-picking, it was a good, constructive article. Dave E.