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.
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