farris@marlin.NOSC.MIL (Russell H. Farris) (11/26/88)
I have a PC clone (Columbia 1600) with a no-name memory card. I have 128k on the motherboard and 512 on the memory card, with room on the card for an additional 256k. Is there any way to use memory above 640k for a ram drive? Do I need a special memory card, or some sort of a driver program? Thanks in advance, Russ Farris (farris@marlin.nosc.mil)
leefi@microsoft.UUCP (Lee Fisher) (11/26/88)
In article <1095@marlin.NOSC.MIL>, farris@marlin.NOSC.MIL (Russell H. Farris) writes: > I have a PC clone (Columbia 1600) with a no-name memory card. I have > 128k on the motherboard and 512 on the memory card, with room on the > card for an additional 256k. Is there any way to use memory above 640k > for a ram drive? Do I need a special memory card, or some sort of > a driver program? Thanks in advance, I've answered similar questions on this newsgroup before, but this time I'll answer it over the net since the information may help someone else (and my direct mail to this person keeps getting bounced by a mailer daemon...) Extra memory on the motherboard of systems is strange. There is no standard method to deal with it. Most ROM BIOS implementations I've seen map it to the FIRST chunk of extended memory. Other OEMs, like Compaq, on their 80386 systems, map it to the END of extended memory and require some interesting steps to make it usable (they call it Built-In Memory or BIM). Other OEMs will make it addressable in areas between 640KB and 1MB, where most programs don't play with. The end result is that it's hard to count on where this memory is. Some versions of Microsoft's RAMDRIVE.SYS, included with MS-DOS and Windows, will take advantage of memory mapped between 640KB and 1MB, and later versions of RAMDrive will not. RAMDrive versions before 2.12 (such as the one included with MS-DOS version 3.3) WILL use memory between the "top conventional memory and the start of the video buffers, if it is available, and if you try to create a RAMDrive in conventional memory (meaning, don't use the EXTENDED or EXPANDED command line options). In situations like this, RAMDrive will look from the top of conventional memory (pointed to by ROM BIOS interrupt 12h) to the start of the video buffer area, A0000h. If RAMDrive finds memory in this area that is not used, it'll try to use it for the virtual drive, saving your conventional memory. However, RAMDrive version 2.12, included with MS-DOS version 4.00, doesn't do this anymore, since some clone ROM BIOS manufacturers use this area as a "scratchpad" for their ROM BIOS, and RAMDrive would overwrite this area, causing problems. And now, instead of causing a problem on a few strange ROM BIOS implementations, it happens on IBM PS/2s as well. The IBM PS/2 ROM BIOS can have an Extended BIOS Data Area, the top 1KB at the top of memory (RAM allocated by the POST for the PS/2 ROM BIOS to play with). So a 640KB PS/2 will have 639KB free, if you go by the rules and ask ROM BIOS interrupt 12h. (See the "IBM PC and PS/2 BIOS Interface Technical Reference", page 3-15 for more details on this new data area.) I believe that other OEM systems also have support this PS/2 ROM BIOS ability in their non-PS/2 systems, making life even more confusing. The write/read test that RAMDrive does to check for the presense of RAM in this area stomps on this Extended BIOS Data Area... So, RAMDrive no longer tries to use this memory, with the compatibility problems with the various ROM BIOS versions available. Normally, this isn't a problem since most people don't waste precious conventional memory on a RAMDrive. To clarify, versions of RAMDrive after 2.12 will NOT use memory between the top of conventional memory and the top of the video adaptors due to compatibility problems with various ROM-BIOS implementations and the Extended BIOS Data Area new to the IBM PS/2 ROM BIOS. If I had this situation, I'd try very hard to get the memory so it's mapped as the first bit of extended memory and not mess with memory mapped between 640KB and 1MB. -Lee 01001100 Lee Fisher, Microsoft Corporation, Redmond, WA. 01000101 leefi@microsof.UUCP leefi%microsof@uw-beaver.ARPA 01000101 leefi@microsof.beaver.washington.EDU 01000110 {uw-beaver,decvax,decwrl,intelca,sco,sun,trsvax,uunet}!microsof!leefi 01001001 Everything mentioned here is MY fault, not my employer's.
evwong@athena.mit.edu (Eric V Wong) (11/27/88)
I too have a Columbia, though the 1600-4, rather than the -1. I've found that a number of PD RAMDISK programs will do the job just fine though I don't remember anyoffhand. I suggest you try your local bbs, and just check out a few. Any further help is always available, just buzz. Eric +------------------------------------------------------+ | Eric V Wong, Massachusetts Institute of Technology | | ARPA: evwong@athena.mit.edu BITNET: WONG@MITWIBR | | CIS: 72117,431 GEnie: E.WONG2 |