Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!burl!codas!peora!ucf-cs!usfvax2!tscs!gerard From: gerard@tscs.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: ROM BIOS Message-ID: <128@tscs.UUCP> Date: Sat, 6-Jun-87 00:22:47 EDT Article-I.D.: tscs.128 Posted: Sat Jun 6 00:22:47 1987 Date-Received: Sun, 7-Jun-87 19:56:12 EDT References: <1040@rayssd.RAY.COM> Reply-To: gerard@tscs.UUCP (system administrator) Organization: Total Support Computer Systems, Tampa, Florida Lines: 74 Keywords: extracting information 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