Is there any purpose to installing the full 1MB that the 8088 can address on a PC XT/5150? Or is 640KB really the maximum that your computer will actually use?
The HIMEM memory manager provides access to the upper memory area. The features provided by HIMEM, however, will depend on your hardware. If you are using a 286-based computer with extended memory, the only HIMEM feature you may be able to use is relocation of the DOS software to high memory. If you have a chip set or expanded memory board, you can use other HIMEM features.
Use HIMEM if your computer is 80286-based. Also use HIMEM if you are using a pre-386 machine that has any of the following:
A chip set such as Chips and Technologies NeAT* or NeATsx*, LeAPSet* or LeAPSetsx*, and SCAT*
An EMS or EEMS expanded memory board and driver
Permanent upper RAM
[ ... ]
The full syntax of the HIMEM DEVICE statement is as follows:
DEVICE = C:\DRDOS\HIMEM.SYS /CHIPSET=AUTO|chipset|NONE
[ ... ]
You can specify any of the following as chipset:
For Advanced Micro Devices Am286ZX/LX chip set.
For all EMS upper memory, including the page frame. This option disables use of EMS by all other programs.
For EMS 4.0 or EEMS upper memory blocks. An EMS 4.0 or EEMS memory manager must also be loaded before HIMEM.
For Ever-Success HEDAKA D60 chipset.
For Chips and Technologies NeAT, NeATsx, LeAPSet, or LeAPSetsx chip set.
For permanent upper RAM. You must also use the /USE option to define the location of the RAM to HIMEM; see "Making an Area of Upper Memory Available (EMM386 and HIMEM)" on page 10-21.
For Chips and Technologies SCAT chip set.
Sure, there were even one or two "almost PC" clones that populated the space between 0xA0000 and 0xB0000 with RAM giving 704K--and a couple "not even PC-ish" that used almost the entire 1MB space for RAM (video was handled by serial I/O). There's no absolute reason for 640KB other than IBM's convention. Plain MS-DOS runs fine on any of these.