<div dir="ltr"><div><div>Thank you very much for solving this riddle!<br>And one more question for Rudolf: please tell, are you using atomDis utility to disassemble atombios into C code? Or there are some other special tools, which probably have more recent versions? (latest version of atomDis is already 4 years old...)<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 3 June 2015 at 20:27, Rudolf Marek <span dir="ltr"><<a href="mailto:r.marek@assembler.cz" target="_blank">r.marek@assembler.cz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
First byte after IBM is usually a checksum. So in fact only two bytes differ.<br>
Now you may ask what it is... and it is a IOBASE :)<br>
<br>
typedef struct _ATOM_ROM_HEADER<br>
{<br>
  ATOM_COMMON_TABLE_HEADER sHeader;<br>
  UCHAR> uaFirmWareSignature[4];    /*Signature to distinguish between Atombios<br>
and non-atombios,atombios should init it as "ATOM", don't change the position */<br>
  USHORT usBiosRuntimeSegmentAddress;<br>
  USHORT usProtectedModeInfoOffset;<br>
  USHORT usConfigFilenameOffset;<br>
  USHORT usCRC_BlockOffset;<br>
  USHORT usBIOS_BootupMessageOffset;<br>
  USHORT usInt10Offset;<br>
  USHORT usPciBusDevInitCode;<br>
  USHORT usIoBaseAddress; <---------------this changes<br>
<br>
I guess IOBASE of PCI device changes also...<br>
<br>
  USHORT usSubsystemVendorID;<br>
  USHORT usSubsystemID;<br>
  USHORT usPCI_InfoOffset;.<br>
  USHORT usMasterCommandTableOffset; /*Offset for SW to get all command table<br>
offsets, Don't change the position */<br>
  USHORT usMasterDataTableOffset;   /*Offset for SW to get all data table<br>
offsets, Don't change the position */<br>
  UCHAR  ucExtendedFunctionCode;<br>
  UCHAR  ucReserved;<br>
}ATOM_ROM_HEADER;<br>
<br>
You can use atomDis to dump it I guess (Did not check if it dumps also the header.<br>
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Rudolf<br>
</font></span></blockquote></div><br></div>