• Please review our updated Terms and Rules here

1MB on XT Macine

willmurray461

Experienced Member
Joined
Jun 11, 2018
Messages
303
Location
Boca Raton, FL
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?
 
You'll never get 1MB of RAM conventionally addressed (i.e. not EMS or other bank-switching schemes) on an 8088/8086 PC-compatible because some portion of the address space is permanently set aside for BIOS and video adapters.

However, there are ways that allow you to reclaim areas in the top of the address range, say Dxxxx and Exxxx addresses for RAM.
 
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?

Using more than 640K (without adding an EMS board) requires additional hardware and software, and the list of programs on 8088 that can benefit from it is very small. For an 8088-class system, 640K is more than acceptable.
 
True, but I wrote additional hardware, and chestnut requires a hardware mod. These are out of the realm of novices, which the OP's question betrays him as.
 
This Thread is an excellent write up for the 1 Meg XT Mod. that Chuck(G) referenced in his "chestnut" written by forum member pcdata76. It is still somewhat involved, but pcdata76 makes it pretty clear without needing to read through the entire thread that I started years ago.

If you are serious about this mod, I can provide a programmed GAL.

Greg
 
I don't need 1MB of RAM. I was just curious if it had any practical applications since I had an extra RAM expansion card lying around.
 
Well, now you have your answer.

The need for more RAM was largely due to the popularity of Lotus 1-2-3 on the PC XT. Handling large spreadsheets by paging to slow hard disk was a real bottleneck. The best way was to use an EMS card, originally called "LIM" for the "Lotus/Intel/Microsoft specification". Other applications used it as well. For example, I've got an XT with an Intel Aboveboard 2MB installed and much of the MSLANMAN networking software will install in the EMS memory.
 
Hmmmmmmm...

Okay, I should backtrack on that one, given that he just restored a 3270 PC. No disrespect meant. What I meant was "novice in this area". Generally, anyone asking "is 640k the maximum your computer will use" is generally not prepared for the answer, either in configuration effort or in tracking down software that might actually use more than 640k via any means.
 
Some software did have the ability to map extra memory into the 640k-704k region at the cost of not being able to use EGA or VGA graphics. It was beneficial for Desqview and DOS databases.
 
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.
 
A while back someone had mentioned that it was possible to load DOS 5 in to an upper memory block on an 8088 similar to how it is loaded in to HMA on a 286. Of course that assumes an add on card or motherboard modification is mapping RAM in the upper memory area. Never tried that myself, and usually DOS 3.3 or 3.31 is a better fit for an 8088/8086 class machine anyway.

Practically speaking, loading a mouse driver, part of a network stack, or resident utilities in to an upper memory block can sometimes be handy while keeping conventional 640k free for applications.
 
You can use USE!UMBS and DOSMAX to load PC/MS-DOS 5 or higher into upper memory. DR DOS 5 or higher it's more flexible, it lets you load the kernel into HMA or UMBs using HIDOS.SYS (HIMEM.SYS in Novell/DR DOS 7). DR DOS 6.0 HIDOS.SYS can create UMBs if you have an EMS 4.0 card. To use real RAM at "upper" addresses I think you need DR DOS 7 HIMEM (they renamed HIDOS) but AFAIK it needs a 286:

HIMEM
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:

AM286ZX

For Advanced Micro Devices Am286ZX/LX chip set.

EMSALL

For all EMS upper memory, including the page frame. This option disables use of EMS by all other programs.

EMSUMB

For EMS 4.0 or EEMS upper memory blocks. An EMS 4.0 or EEMS memory manager must also be loaded before HIMEM.

HEDAKA

For Ever-Success HEDAKA D60 chipset.

NEAT

For Chips and Technologies NeAT, NeATsx, LeAPSet, or LeAPSetsx chip set.

RAM

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.

SCAT

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.

I'm not sure how, but the Sharp PC 7000 can take up to 720k of conventional fully upgraded...at least, mine reports 720k installed and usable.
 
Back
Top