home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / sys / ibm / pc / hardware / 28936 < prev    next >
Encoding:
Internet Message Format  |  1992-11-04  |  2.3 KB

  1. Path: sparky!uunet!europa.asd.contel.com!darwin.sura.net!spool.mu.edu!sgiblab!cs.uoregon.edu!ogicse!das-news.harvard.edu!spdcc!dirtydog.ima.isc.com!laidbak!tellab5!vpnet!cgordon
  2. From: cgordon@vpnet.chi.il.us (gordon hlavenka)
  3. Newsgroups: comp.sys.ibm.pc.hardware
  4. Subject: Re: eprom checksum
  5. Message-ID: <1992Nov04.033558.25890@vpnet.chi.il.us>
  6. Date: 4 Nov 92 03:35:58 GMT
  7. Article-I.D.: vpnet.1992Nov04.033558.25890
  8. References: <1992Nov02.123234.19615@donau.et.tudelft.nl>
  9. Organization: Vpnet Public Access
  10. Lines: 37
  11.  
  12.  
  13.  martijn@zen.et.tudelft.nl (Martijn Nykerk) writes:
  14. >Does anybody out there now how to compute the checksum (assuming there is one)
  15. >for an EPROM. I am trying to add some hardware to a PC with its own EPROM,
  16. >but can't seem to tell DOS to install it.
  17. >I known there is a byte after the AA 55, but what does it say?
  18.  
  19. The "BIOS Extension Signature" is 55 AA nn where nn is the length of
  20. the extension.  I think the unit used is 128-byte chunks, but I'm not
  21. sure.  Anyway, the arithmetic sum (mod 256) of all bytes in the
  22. extension must be zero.
  23.  
  24. How it is adjusted doesn't matter; by convention the last byte in the
  25. ROM is set to the appropriate value to adjust the checksum.  You could
  26. use any byte in the ROM -- provided that byte isn't say, code or something.
  27.  
  28. The contents of the ROM will be executed at boot time; the entry point
  29. is at offset 3.  Again by convention, this location holds a JMP
  30. instruction to the initialization code.  (The initialization code
  31. could just as well start at offset 3, though.)  The idea here is that
  32. you get control to do any required initialization.  The inialization
  33. would, in addition to actually setting up the hardware, hook whatever
  34. interrupt vectors were applicable so you could access your hardware
  35. later.  After initialization, return control to the BIOS with a RETF.
  36.  
  37. Your ROM _can't_ use any DOS calls during initialization, since DOS
  38. hasn't loaded yet.  And, you shouldn't use DOS calls in the ROM
  39. elsewhere either, since that would really bug someone trying to write
  40. a NextStep driver for your hardware. (or whatever :-)
  41.  
  42. There may be some errors / omissions in the above, but it's certainly
  43. close enough to get you started.
  44.  
  45. -- 
  46. ----------------------------------------------------
  47. Gordon S. Hlavenka           cgordon@vpnet.chi.il.us
  48.      "A political plug formerly appeared here."
  49.