djb@wjh12.harvard.edu (David J. Birnbaum) (09/12/89)
While snooping around in high RAM I noticed a peculiarity. My CompuAdd 286 has a Phoenix ROM BIOS, version 3.07, dated 5/27/87. Doing a debug dump of f000:8000 shows that the BIOS begins at this address (at least the display begins with PPhhooeenniixx, etc.). But dumping e000:8000 (note: different segment) shows the identical information. In fact, dumping several random addresses between e000:8000 and e000:ffff produced exactly the same display as dumping the same offsets in the f000 segment. I called CompuAdd to ask why there should be two apparently identical copies of the BIOS in high RAM. I used debug to go to the cold boot address in the e000 segment and the machine indeed booted, so it looks like the BIOS is really there. The CompuAdd technical support folks mentioned that Phoenix version 3.1 is larger than usual and does extend into the e000 segment, but the 3.07 shouldn't. They guessed that my BIOS might have been supplied on larger than usual chips, so that the small amount of information, instead of being confined to addresses above f8000, is written twice, with the copy beginning at e8000. I know virtually nothing about such matters; is this possible? probable? In any case, I'd be grateful if: 1) anyone with a 286 with Phoenix BIOS version 3.07 dated 5/27/87 could peek at high memory and let me know whether they find the same information and 2) someone could explain what purpose is served by having two identical copies of the BIOS information. Is there any way I can reclaim my e000 segment? Please reply by email to: djb@wjh12.harvard.edu [Internet] djb@harvunxw.bitnet [Bitnet] Thanks. --David
las) (09/14/89)
In article <398@wjh12.harvard.edu> djb@wjh12.UUCP (David J. Birnbaum) writes: }While snooping around in high RAM I noticed a peculiarity. My CompuAdd }286 has a Phoenix ROM BIOS, version 3.07, dated 5/27/87. Doing a debug }dump of f000:8000 shows that the BIOS begins at this address (at least }the display begins with PPhhooeenniixx, etc.). But dumping e000:8000 }(note: different segment) shows the identical information. In fact, }dumping several random addresses between e000:8000 and e000:ffff produced }exactly the same display as dumping the same offsets in the f000 segment. } I called CompuAdd to ask why there should be two apparently identical }copies of the BIOS in high RAM. I used debug to go to the cold boot }address in the e000 segment and the machine indeed booted, so it looks }like the BIOS is really there. Actually, it is probably not "really there." Instead they're probably just the same place. What I mean is that the address decoding circuitry is probably mapping e000 and f000 to the same place - note that there is only a one bit difference between e (1110) and f (1111). This may have been done on purpose, though not necessarily to achieve the affect of having e000 and f000 both refer to the ROM space. Rather instead, implementing it this way may have saved a few gates - whether that saved any money or not may be arguable, but it's just the sort of thing a designer might do since it might simplify the design. The designers may simply have said to them- selves: "There's no need to decode the e000 address space since there's [supposedly] nothing there in the IBM PC memory map, so we won't." The result may then have been a design which just happens to decode e000 to the same memory space as f000. "But! But! But!..." you may sputteringly protest. Remember though, B000:0000 on up is reserved in the IBM PC address space, and although certain portions of that space are definitely used for known purposes, IBM never promised you that they had to make the unassigned sections of that space available for any purpose - they're "reserved." If I'm wrong, please be kind and don't flame. If you think it's a stupid idea, please don't {f|b}lame me! regards, Larry -- Signed: Larry A. Shurr (cbema!las@att.ATT.COM or att!cbema!las) Clever signature, Wonderful wit, Outdo the others, Be a big hit! - Burma Shave (With apologies to the real thing. The above represents my views only.) (Please note my mailing address. Mail sent directly to cbnews doesn't make it.)
rogers@SRC.Honeywell.COM (Brynn Rogers) (09/14/89)
In article <9523@cbnews.ATT.COM> cbema!las@cbnews.ATT.COM (Larry A. Shurr,20650,cb,9a110,6148605851) writes: >In article <398@wjh12.harvard.edu> djb@wjh12.UUCP (David J. Birnbaum) writes: >}While snooping around in high RAM I noticed a peculiarity. My CompuAdd >}286 has a Phoenix ROM BIOS, version 3.07, dated 5/27/87. Doing a debug >}dump of f000:8000 shows that the BIOS begins at this address (at least >}the display begins with PPhhooeenniixx, etc.). But dumping e000:8000 >}(note: different segment) shows the identical information. In fact, >}dumping several random addresses between e000:8000 and e000:ffff produced >}exactly the same display as dumping the same offsets in the f000 segment. >Actually, it is probably not "really there." Instead they're probably just >the same place. What I mean is that the address decoding circuitry is >probably mapping e000 and f000 to the same place - note that there is only >a one bit difference between e (1110) and f (1111). This may have been done >on purpose, though not necessarily to achieve the affect of having e000 and >f000 both refer to the ROM space. Actually it is because there is a 32kx8 rom in a socket for a 64kx8 and one address line (A15 on the chip, A16 on the bus) is just plain ignored by the 32k chip. The reason that A16 is run to the socket is to allow for the ROM bigger chips, which in IBM systems include basic in ROM. Nobody uses the e000 segment because if they did, it wouldn't work in a IBM, and IBM compatability (No matter how stupid IBM is) is the name of the game. Brynn Rogers Honeywell S&RC rogers@src.honeywell.com work 612-782-7577 home 874-7737
mallari@cory.Berkeley.EDU (Brian Mallari) (10/27/89)
I'm having a little problem with my 286. In May of last year, my dad bought a Packard Bell 286 computer. It uses Phoenix BIOS 3.07 and requires a "setup" program to configure the system (video card, drive types, memory configuration, etc.). The problem is that of the selections in the setup program for disk drives, It only gives an option for High Density 1.2Meg or Normal 360K. I called the Packard Bell Technical Service Dept and they said that I have the right BIOS but the wrong setup (old version). So the technician said to send him a blank disk and he'll send back the newest version. So far it's been 3 weeks and no cigar. So I thought that maybe setup programs were universal, that the info that they alter is the same for all setup programs. Is this true? I would also like to know if people out there using Phoenix BIOS 3.07 can configure their 1.44Mb 3.5" disk drives. Thanks in advance for all the help you can give me. -Brian ________________________________ Brian Mallari University of California, Berkeley mallari@cory.berkeley.edu