Amstrad PC - Upgrading the Memory on a PC1512, PC1640 or PC2086

I'm often asked if there is any way to add memory above 640K to a 1512/1640/2086. There is a system called LIM EMS that can be used but it may not be worth the expense for the following reasons

When the only PC's in the world were based on the IBM PC design that had an 8086 that could only address 1MB of memory. Certain developers of particularly large programs (such as Lotus 123 in particular) decided that 640KB was not enough for huge spreadsheets. So together with Intel and Microsoft (LIM!!) they came up with a method whereby an unused 64K area between 640KB and 1MB could be used to switch in pages of some extra memory - 64K only being visible at a time. This is known as expanded memory. Hence you have LIM EMS (Expanded Memory System).

This was all really a bit of a fudgy fiddle to try and get around the design limitations of the original IBM PC. Just having a LIM card plugeed in and a LIM driver loaded in CONFIG.SYS doesn't actually do anything to help 99.9% of programs (including almost all DOS commands). It is only those huge programs that were specially designed to use LIM EMS that would benefit so there is absolutely no point in adding LIM memory to an 8086 based computer unless you have a program that specifically says it can benefit from it.

When Intel designed the 80286 and IBM then made the AT based on it. They incorporated a facility called extended memory (not to be confused with expanded). This was memory that appears outside the 1MB range that the 8086 was limited to addressing. It is an extra 15MB that carries on just above 1MB in the linear address map. At first programs would just grab bits of this extended memory and use it but it was soon realised that there had to be an arbitrating program that would hand out the memory only in answer to polite requests so programs working together did not tread on each other's toes. This proram is known as Himem.Sys and implements the XMS standard (eXtended Memory System).

In this day and age the use of LIM EMS is dwindling because all moder PC's have buckets full of LIM XMS extended memory so there is no point in using a 64K window fudge. Windows, for example, uses XMS memory. Anyone writing DOS applications these days (is anyone?!?) will probably design them to use LIM XMS rather than LIM EMS so this is yet another reason why adding a LIM EMS card to an 8086 is probably pointless - as you may not be able to find any software that will actually use it!

I'd also suggest having a look at my thoughts on upgrading in general. Click here to see what I think.

Some people ask the simpler question of how to upgrade the 512K in a 1512 to 640K. Well I was amazed to find after 10 years that there is STILL a company called Richnight selling a suitable set of chips to upgrade. In the UK phone them on 0800 318298 or access their web page here.