wjr@rayssd.RAY.COM (Bill) (05/26/87)
Is there a way to read your ROM BIOS without removing the device(s) from the motherboard? Any information would be helpful! Thanks Bill Ramey
johnl@ima.UUCP (John R. Levine) (05/27/87)
In article <1040@rayssd.RAY.COM> wjr@rayssd.RAY.COM (Bill) writes: > Is there a way to read your ROM BIOS without removing the device(s) >from the motherboard? Any information would be helpful! The ROM BIOS is a ROM, not surprisingly. It's in the PC's address space at addresses starting at F000:0. Look at it with debug. For the IBM PC, XT, and AT, the Technical Reference manuals all include assembler listings of the BIOS. -- John R. Levine, Javelin Software Corp., Cambridge MA +1 617 494 1400 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something U.S. out of New Mexico!
davidsen@steinmetz.UUCP (05/27/87)
In article <1040@rayssd.RAY.COM> wjr@rayssd.RAY.COM (Bill) writes: > > Is there a way to read your ROM BIOS without removing the device(s) >from the motherboard? Any information would be helpful! Hint: it's at page F000 in the system memory... DEBUG RBX BX 0000 :0001 N ROMFILE.DAT W F000:0 Q The above sequence will write it into a file called ROMFILE.DAT for later perusal. -- bill davidsen sixhub \ ARPA: wedu@ge-crd.arpa ihnp4!seismo!rochester!steinmetz -> crdos1!davidsen chinet / "Stupidity, like virtue, is its own reward"
neighorn@qiclab.UUCP (05/29/87)
In article <1040@rayssd.RAY.COM> wjr@rayssd.RAY.COM (Bill) writes: > Is there a way to read your ROM BIOS without removing the device(s) >from the motherboard? Any information would be helpful! > >Bill Ramey You can either write a short program to dump the area of memory your ROM BIOS is mapped to, or you can buy an EPROM burner that comes with software for reading and writing EPROM's. The former is the easier and cheaper of the two methods. If you would like, I would be happy to send you some source code for dumping PC/XT or PC/AT ROM BIOS's to disk. The programs are really quite simple, ie easy to fancy up and make them do *exactly* what you want. -- Steven C. Neighorn tektronix!{psu-cs,reed}!qiclab!neighorn Portland Public Schools "Where we train young Star Fighters to defend the (503) 249-2000 ext 337 frontier against Xur and the Ko-dan Armada"
ger@qtecmuc.UUCP (06/05/87)
>> >> Is there a way to read your ROM BIOS without removing the device(s) >>from the motherboard? Any information would be helpful! > >Hint: it's at page F000 in the system memory... On my AT clone, this seems not to be true. The contents of F000:0 look completely different than the contents of the two ROMS. I can find something at F800:0, but theres nothing at F000:0. If someone could shed some ore light on this subject ....
gerard@tscs.UUCP (06/06/87)
In article <1040@rayssd.RAY.COM> wjr@rayssd.RAY.COM (Bill) writes: > > Is there a way to read your ROM BIOS without removing the device(s) >from the motherboard? Any information would be helpful! The best way to do this is in "debug". Things that you type are underlined. 1.) Go into debug C>DEBUG ----- 2.) Set the name of the file you wish to output your BIOS to -N MYBOIS.DAT (tells debug to use filename MYBIOS.DAT) ------------ 3.) Find your BIOS. You will need to know the address and size of your BIOS or whatever you want to copy. The following are usually correct: Machine Start-Address Size IBM AT F000:0000 10000 (64K) AT Clone F000:8000 08000 (32K) Hints: The location F000:FFF0 should contain a JMP instruction that is used at power up to perform system initialization. On XT type machines, winchester disk BIOS is located on the disk controller card, location C800:0000. On AT's this is included in the BIOS in segment F000. 4.) Tell debug how big your BIOS is. The CX register contains the least significant 16 bits of the size you wish to write, and the BX register contains the most significant 16 bits. Number of bytes to write BX CX 32768 (8000 hex) 0000 8000 65536 (10000 hex) 0001 0000 For example, let's assume you have an AT clone with 32K BIOS. -RCX --- CX nnnn (nnnn is present value of CX) :8000 (set CX to 8000 hex) ---- -RDX --- DX nnnn (nnnn is present value of DX) :0 (set DX to 0) - 5.) Tell debug to write your memory to a disk file (binary). -W F000:8000 (AT clone) ----------- Writing 8000 bytes (hex number of bytes written) The above example will be correct for most AT clones, if a genuine IBM AT with BASIC, use F000:0 instead of F000:8000. 6.) Exit debug. -Q (Quit) - C> You should now have a file called "MYBIOS.DAT" in the current directory of the default drive that contains your BIOS. The size of this file should agree with the number of bytes written out by debug. Steve ------------------------------------------------------------------------------ Stephen Gerard - Total Support Computer Systems - Tampa - (813) 876-5990 UUCP: ...{akgua, novavax}!usfvax2!tscs!gerard US-MAIL: Post Office Box 15395 - Tampa, Florida 33684-5395