Path: utzoo!bnr-vpa!bnr-fos!bmers58!mlord From: mlord@bmers58.UUCP (Mark Lord) Newsgroups: comp.sys.ibm.pc Subject: Re: 640KB + 3072KB = 4 MB? Message-ID: <241@bmers58.UUCP> Date: 18 Sep 89 17:32:13 GMT References: <8909170749.AA26779@euler.Berkeley.EDU> <240@bmers58.UUCP> Reply-To: mlord@bmers58.UUCP (Mark Lord) Organization: Bell-Northern Research, Ottawa, Canada Lines: 57 In article <240@bmers58.UUCP> schow%BNR.CA.bitnet@relay.cs.net (Stanley Chow) writes: >In article <8909170749.AA26779@euler.Berkeley.EDU>, ndeng@EULER.BERKELEY.EDU (Nan Deng) writes: >> Recently I have seen a number of 386 motherboards all using PHEONIX BIOS. >> (MICRONICS, GENE, etc.) All boards have 4MB memory chips installed. All >> boards reported 640KB of base memory and 3072KB extended memory when boot up. >> My question is: where is the additional 384KB? > >The standard PC memory map has this 384KB reserved for BIOS ROM, I/O card >ROM/RAM, etc. What happens to it is complicated and depends on the chip >set, BIOS. I have AMI BIOS with the NEAT chip set so that is what I will >talk about. > ...lots of good stuff deleted... > >Unfortunately, all the unused address range is protected. This means >eventhough the DRAM is sitting on the motherboard, no program will >find it. There is nothing to stop me from writing a program to fiddle >the registers so that NEAT will map the unused address range back to >unprotected DRAM. But looking at the address map, there is not that >much that can be recovered: > 64K BIOS ROM Shadowing > 32K Video ROM Shadowing (remember 16K block size) > 64K EMS page frame > 128K Video RAM (at least I think it is 128K) >-------- > 288K used. >So the most that can be recovered is around 96K. (Hmm, I remember the >days when 48K was the maximum for an Apple II). Hmm.. well, that tells us lots about the *address space* but not much about the missing 384K of *physical memory* that is still hidden away somewhere. In the above example, we have 64K+32K used for shadowing, but that is only 96K of the missing 384K, leaving 288K unaccounted for. There have been several postings recently about how to *recover* that last 288K as useable extended/expanded memory. On some systems, 386MAX can find it and remap it into XMS/EMS for use by Windows/DOS4/DesqView/Caches etc. Apparantly this memory actually does exist way up high in the extended memory map when not being used by the NEAT/BIOS, and 386MAX knows where to look for it. QEMM on the other hand, can only find contiguous extended memory from the 1024K boundary (it isn't smart enough to skip over *holes*.. not even a command line option for this -- too bad). My 386sx motherboard uses an Intel ChipSet instead of NEAT, and the AWARD bios remaps the unused portions of the famous 384K as extended memory begining after the end of the rest of the motherboard (extended) memory. The board currently has 6Meg installed, with room for another 2Meg. I get 640K, some shadowing (which can be disabled to free up more memory), and 5Meg extended, plus up to another 384K extended tacked onto the end. What might be needed for NEAT board users is a little program to fiddle the NEAT registers to remap the rest of the RAM onto the end of the "normal" extended memory (plus fiddle the BIOS so it knows it is there). Any takers ? -Mark