Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!seismo!sundc!netxcom!jallen From: jallen@netxcom.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: IBM ROM Format??? Message-ID: <13@netxcom.UUCP> Date: Thu, 23-Apr-87 12:25:20 EST Article-I.D.: netxcom.13 Posted: Thu Apr 23 12:25:20 1987 Date-Received: Sat, 25-Apr-87 06:44:31 EST References: <4342@beta.UUCP> Reply-To: jallen@netxcom.UUCP (John Allen) Lines: 33 Keywords: Help! In article <4342@beta.UUCP> myxm@beta.UUCP (Mike Mitchell) writes: >Hello, > >Can anyone explain the format of a ROM which lives in the address >space C8000 to F4000? I am aware that the first two bytes of one >of any 2K increments would need to be 0x55 and 0xAA. The third byte >is the length of the ROM software / 512 bytes. The fourth byte is >the beginning of the actual code. > >Mike Mitchell >myxm@lanl.gov OR >...!{ucbvax,decvax,cmcl2,sun,...}!lanl!myxm The ROM checksum is the simple sum of ALL bytes in the device modulo 256, and forced to zero. This includes the checksum byte itself. So, what you have to do is: 1) Choose a location for your checksum. Anyplace other than the first three + the initial JMP is OK. 2) Take the sum of all other bytes on the device, subtract that from 256, and write the result into the checksum location. 3) Test your end product by making sure that the checksum for the entire device is zero. John Allen ========================================================================= NetExpress Communications, Inc. seismo!{sundc|hadron}!netxcom!jallen 1953 Gallows Road, Suite 300 (703) 749-2238 Vienna, Va., 22180 =========================================================================