Path: utzoo!attcan!uunet!ncrlnk!ncrcae!hubcap!gatech!rutgers!bellcore!texbell!merch!cpe!hal6000!trsvax!earl From: earl@trsvax.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: System Board RAM above 640K (long) Message-ID: <216100086@trsvax> Date: 8 Mar 89 17:46:00 GMT References: <1890@oakhill.UUCP> Lines: 85 Nf-ID: #R:oakhill.UUCP:1890:trsvax:216100086:000:4183 Nf-From: trsvax.UUCP!earl Mar 8 11:46:00 1989 /* ---------- "System Board RAM above 640K (long)" ---------- */ I recently got a CompuAdd 286/20 with 1MB RAM on the system board, and I am a little confused as to how this memory can be used. The users' manual states that memory above 1024K can be used as extended -- I assume this refers to the memory you can put in the 4 SIMM slots. It also states that the memory between 640K and 1024K (the unusable memory) is for ROM shadowing and system useage. I've got 64K of the 384K used for ROM shadowing, but that leaves 320K which seems to be inaccessible. Here are some questions that I have about that inaccessible memory. I would greatly appreciate any answers anyone can provide. Thanks, Matthew Pressly -- address: mattp@oakhill ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Most all the companies have more or less given up on using this RAM above 640k for anything. It gets complicated real fast. For example: Segment A000 to A7FF used for video (CGA), unless you have EGA, then you need to set aside A000 to AFFF, but if it's VGA you can use A000 to AFFF unless your using the enhanced Hi-res modes, of which you need to set aside from A000 up to as much as BFFF in some cases. Other video boards can add or subtract accordingly from the video RAM areas. At first, if you using monochrome video, it looks promising here, as you only need 2k to 4k set aside for video; but usually the hardware address decoding only decodes down to a 32 or 64k level, thus you can't get more precise with video memory. It depends on the video board of course. The hard disk usually gets C000 to CFFF set aside for it. But some boards may let you get to C000 to C7FF if your lucky. It depends on how sophisticated the boards are. The BIOS normally uses from FE00 on up, but some machines go ahead and lock out F000 on up. It depends a lot on the hardware. You might be able to get to some of this memory area and use it for RAM. If I remember correctly, a 8086 doesn't use E000 to EFFF but the 80286 uses this memory, thus you can't use it with a 80286. But I forget right now. If you have a network board, you generally get D000 to DFFF reserved for it too. Of course if you aren't using a hard disk (diskless workstation) you could set the network board to C000-CFFF. Then you have the LIM 4.0 spec EMS boards. They need chunks or RAM above 640k for paging in EMS memory as requested. Hmmm.. I guess the network board has to go, no more places to put it. There are lots of other boards, but the above makes it complicated enough. We still haven't got into things like CMOS RAM's, Multi-port serial boards, smart parallel and serial boards, ESDI and SCSI interfaces, IEEE-488 interfaces, Super-VGA boards, special numeric calculator co-processing boards, RISC co-processors (aka IBM's RT), etc. Anyway, that nice pretty chunk of 384k above 640k is a real problem. Thus virtually all the companies have given up on using it for anything. If you want to use it, you have to set or unset or mask the interrupts accordingly, and then page or switch in or out the proper chunk, do something and then set eveything back to normal, before the machine crashes. If you do get a neat program for using this 384k or memory, it may only work on your machine only, nobody else will likely have that same hardware configuration. I hope this helps explain why it's reserved for system useage. *********************************************************************** Earl W. Bollinger @ "You were in the Clone Wars!", said Luke excitedly. "Yes", replied Obi Wan, "I was a DOS programmer. But that was before the dark times, before OS2."