jdb@reef.cis.ufl.edu (Brian K. W. Hook) (03/14/91)
Okay, I have been running saying that the VGA memory area is at A000, right? And this is above 640K....but what about systems with 512K? Where do all the ROM extensions and stuff go? Are they on the cards? If they are, is that memory above 640K really there as far as applications are concerned? Couldn't you recover it for use with applications? Just wondering, Brian
imp@Solbourne.COM (Warner Losh) (03/14/91)
In article <27437@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: >Couldn't you recover it for use with applications? I suppose that it could. However, the standard MS-DOS that get shipped with PCs would recognize it. I do know there is at least one system (The DEC Rainbow) that allows you to have up to 896K and lets all programs see all this memory w/o any XMS or EMS or anything at all like that. Too bad the Rainbow isn't PC compatable (it is a 8088 that runs MS-DOS or CP/M). Warner -- Warner Losh imp@Solbourne.COM We sing about Beauty and we sing about Truth at $10,000 a show.
imp@Solbourne.COM (Warner Losh) (03/14/91)
In article <1991Mar13.231856.4307@Solbourne.COM> imp@Solbourne.COM (Warner Losh) writes: >I suppose that it could. However, the standard MS-DOS that get >shipped with PCs would recognize it. ^^^ NOT Sorry about that. Warner -- Warner Losh imp@Solbourne.COM We sing about Beauty and we sing about Truth at $10,000 a show.
klingler@triton.unm.edu (David Klingler) (03/14/91)
First let me make sure I understand your question: On most modern mother boards, any memory left over after the standard 640k base memory is assigned can be configured in some combination of 3 different ways: 1) Extended Memory, which is in the 1 meg+ region of the address space of an AT class or higher computer. 2) Expanded (LIM spec) memory, which sits out by itself but has a kind of "movable window" that shows up in the under 1 meg address space. 3) Shadow RAM, Hi-Mem(?), etc, (I'm not too sure about the terms used here) This memory actually goes in the 640-1meg space, which is what I think you are talking about. They serve 2 functions, first (Shadow RAM) your machine may copy the contents from the slow ROMS that are in your machine during boot-up time and copy them to your much faster RAM. This way your machine is accessing this fast RAM when it thinks it is accessing slow ROMs. Second, there is a lot of blank spaces in the 640-1meg area that is between these blocks of ROM. You can fill this with RAM then SOME programs that are designed to go look for it can use it. It is popular to load TSRs in this space. Also DOS extenders, Desqview & Windows seem to know how to put this to good use too. D
resnicks@netcom.COM (Steve Resnick) (03/15/91)
In article <27437@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: > >Okay, I have been running saying that the VGA memory area is at A000, >right? And this is above 640K....but what about systems with 512K? Where >do all the ROM extensions and stuff go? Are they on the cards? If they >are, is that memory above 640K really there as far as applications are >concerned? Couldn't you recover it for use with applications? > Devices and ROM extensions still go into adresses >A000. Even if you had 128K in the machine (I used to have a 128K PC) the hardware addresses are pretty much the same. There are some devices which will put themselves in various addresses depending on jumpers and such, but no device should attempt to map itself to an address < A000. As far as the ROM goes, the 8086 at reset jumps to address FFFF:0000. The 286/386/486 go to a higher memory address, but at boot time, the upper address lines are masked off, and the reset vector still works out to be FFFF:0000. This is "hard-coded" to the chip itself.... Cheers! Steve -- ------------------------------------------------------------------------------- resnicks@netcom.com, steve@camphq, IFNA: 1:143/105.0, USNail: 530 Lawrence Expressway, Suite 374 Sunnyvale, Ca 94086 - In real life: Steve Resnick. Flames, grammar and spelling errors >/dev/null 0x2b |~ 0x2b, THAT is the question. The Asylum OS/2 BBS - (408)263-8017 12/2400,8,1 - Running Maximus CBCS 1.2 -------------------------------------------------------------------------------
rwsoukoreff@trillium.uwaterloo.ca (Rob Soukoreff) (03/21/91)
In article <28292@netcom.COM> resnicks@netcom.COM (Steve Resnick) writes: >In article <27437@uflorida.cis.ufl.EDU> jdb@reef.cis.ufl.edu (Brian K. W. Hook) writes: >to map itself to an address < A000. As far as the ROM goes, the 8086 >at reset jumps to address FFFF:0000. The 286/386/486 go to a higher memory >address, but at boot time, the upper address lines are masked off, and the >reset vector still works out to be FFFF:0000. This is "hard-coded" to the >chip itself.... Ok, so WHAT address does a 286/386/486 jump to when it resets, (or at boot time)?? Thanks in advance, Rob Soukoreff rwsoukoreff@trillium.uwaterloo.ca
ralf+@cs.cmu.edu (Ralf Brown) (03/21/91)
In article <1991Mar20.185914.11656@watdragon.waterloo.edu> rwsoukoreff@trillium.uwaterloo.ca (Rob Soukoreff) writes: }Ok, so WHAT address does a 286/386/486 jump to when it resets, (or at }boot time)?? 286 = FFFFFF:0 386/486 = FFFFFFFF:0 In other words, the start of the highest segment in the address space. -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/3.1 BITnet: RALF%CS.CMU.EDU@CMUCCVMA AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? Did | It isn't what we don't know that gives us trouble, it's I claim something?| what we know that ain't so. --Will Rogers
jerry@polygen.uucp (Jerry Sheckel) (03/28/91)
ralf+@cs.cmu.edu (Ralf Brown) writes: > >>Ok, so WHAT address does a 286/386/486 jump to when it resets, (or at >>boot time)?? > >286 = FFFFFF:0 >386/486 = FFFFFFFF:0 > >In other words, the start of the highest segment in the address space. > What!? I always thought that both the 286 and the 386/486 are in real mode when they reset, so they still jump to FFFF:0. Am I wrong? How can the 286 (or 386/486) jump to an address above 1MB if the protected mode selectors for the segment registers haven't been created yet? If the 386/486 supports 4GB segments, what does "highest segment in the address space" mean? > >{backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/3.1 > -- +-------------------+----------------------+---------------------------------+ | JERRY J. SHEKHEL | POLYGEN CORPORATION | When I was young, I had to walk | | Drummers do it... | Waltham, MA USA | to school and back every day -- | | ... In rhythm! | (617) 890-2175 | 20 miles, uphill both ways. | +-------------------+----------------------+---------------------------------+ | ...! [ princeton mit-eddie bu sunne ] !polygen!jerry | | jerry@polygen.com | +----------------------------------------------------------------------------+
resnicks@netcom.COM (Steve Resnick) (03/29/91)
In article <1019@stewart.UUCP> jerry@stewart.UUCP (Jerry Shekhel) writes: >ralf+@cs.cmu.edu (Ralf Brown) writes: >> >>>Ok, so WHAT address does a 286/386/486 jump to when it resets, (or at >>>boot time)?? >> >>286 = FFFFFF:0 >>386/486 = FFFFFFFF:0 >> >>In other words, the start of the highest segment in the address space. >> > >What!? I always thought that both the 286 and the 386/486 are in real mode >when they reset, so they still jump to FFFF:0. Am I wrong? How can the >286 (or 386/486) jump to an address above 1MB if the protected mode selectors >for the segment registers haven't been created yet? If the 386/486 supports >4GB segments, what does "highest segment in the address space" mean? That information seems to jibe with teh intel documentation. - Steve -- ------------------------------------------------------------------------------- resnicks@netcom.com, steve@camphq, IFNA: 1:143/105.0, USNail: 530 Lawrence Expressway, Suite 374 Sunnyvale, Ca 94086 - In real life: Steve Resnick. Flames, grammar and spelling errors >/dev/null 0x2b |~ 0x2b, THAT is the question. The Asylum OS/2 BBS - (408)263-8017 12/2400,8,1 - Running Maximus CBCS 1.2 -------------------------------------------------------------------------------
ralf+@cs.cmu.edu (Ralf Brown) (03/29/91)
In article <1019@stewart.UUCP> jerry@stewart.UUCP (Jerry Shekhel) writes: }ralf+@cs.cmu.edu (Ralf Brown) writes: }>>Ok, so WHAT address does a 286/386/486 jump to when it resets, (or at }>>boot time)?? }> }>286 = FFFFFF:0 }>386/486 = FFFFFFFF:0 }> }>In other words, the start of the highest segment in the address space. } }What!? I always thought that both the 286 and the 386/486 are in real mode }when they reset, so they still jump to FFFF:0. Am I wrong? How can the }286 (or 386/486) jump to an address above 1MB if the protected mode selectors }for the segment registers haven't been created yet? If the 386/486 supports }4GB segments, what does "highest segment in the address space" mean? Well, I've double-checked my copies of the 286 and 486 PRMs, and found that I was slightly off: 286 = FF000:FFF0 = FFFFF0h absolute 486 = FFFF0000:0000FFF0 = FFFFFFF0h absolute (in both cases, 16 bytes before the top of the address space). As to how this is possible in the real mode in which the processor starts, the CS register is set to F000h, but the invisible descriptor cache for CS holds the full address. After the first far jump, the high four (twelve) bits of the descriptor cache address field are forced to zero. -- {backbone}!cs.cmu.edu!ralf ARPA: RALF@CS.CMU.EDU FIDO: Ralf Brown 1:129/3.1 BITnet: RALF%CS.CMU.EDU@CMUCCVMA AT&Tnet: (412)268-3053 (school) FAX: ask DISCLAIMER? Did | It isn't what we don't know that gives us trouble, it's I claim something?| what we know that ain't so. --Will Rogers