Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!blake!ogccse!husc6!cfa!ward From: ward@cfa.harvard.EDU (Steve Ward) Newsgroups: comp.sys.ibm.pc Subject: Re: Problem of breaking DOS 640K RAM limit? Summary: PC/XT memory map, beyond 640K Message-ID: <1431@cfa.cfa.harvard.EDU> Date: 9 Mar 89 20:59:58 GMT References: <74032HJW2@PSUVM> <15373@cup.portal.com> <1345@ccncsu.ColoState.EDU> <1429@cfa.cfa.harvard.EDU> Organization: Harvard-Smithsonian Lines: 61 In article <1429@cfa.cfa.harvard.EDU>, ward@cfa.harvard.EDU (Steve Ward) writes: > > MSDOS does NOT impose the 640K limit commonly encountered on IBM and > clone PC's. > [stuff deleted on how BIOS/MSDOS work together to size and set MSDOS memory limits and suggestions on squeezing out/in more MSDOS memory] > A careful check of memory space use by all your I/O boards should be > made to make sure that any memory you install will not clash in the > memory address space. > Note that I DID issue the above warning about checking for memory conflicts! This is to avoid 2000 followup postings pointing out that in typical PC's video display buffer memory exists between addresses A0000h - C0000h where the exact video buffer size and location will vary with the video display type. Yes, it is there, no, it doesn't change the facts as I described them except that it is difficult to relocate the video buffer memory, mostly because a lot of software does not use the [inadequate] video BIOS and directly reads/writes the display video buffer. Here is a PC memory map I found, which shows there is available memory address space, but not useful without rearranging the memory map locations of either the video board or BIOS extension ROM's (shadow ROM's) or both. I never said it would be easy! 00000h - 9FFFFh msdos memory A0000h - AFFFFh EGA display buffer B0000h - B7FFFh MONO display buffer B8000h - B8FFFh CGA display buffer C0000h - C7FFFh EGA BIOS ROM C8000h - CFFFFh hard disk BIOS ROM D0000h - DFFFFh user space E0000h - EFFFFh user space on XT, on AT may be used for BIOS ROM F0000h - FFFFFh BIOS ROM, though usually only top 2k-8k Most XT and AT clones have BIOS in upper 8K. TRUE BLUE IBM machines may fill up the top 64K with BIOS + Basic in ROM. There are probably even more variations out there. Usually, only one of the displays is installed so there is room to expand msdos memory, but sadly it is hard to do because the display and ROM's are scattered about in the memory map rather than being packed at the very top of memory. So, in more gory detail, to squeeze in more MSDOS memory your software will have to be well behaved and use BIOS calls and/or device drivers (especially the video) and of course, your BIOS and device drivers will have to accomodate relocation of the video display hardware to higher memory locations, as will the video board itself. Too bad this wasn't done in the beginning since this makes it too big a pain to attempt doing for most people. steve w. ward@cfa.harvard.edu