Hi all,
Dne 7.6.2015 v 02:12 Vladimir napsal(a): > Thank you very much for solving this riddle! > 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...) I think there was some effort to make VGA BIOS from scratch. I think the guys used a script to rewrite it to C. I don't remember anymore. Thats all I know, Thanks Rudolf > > On 3 June 2015 at 20:27, Rudolf Marek <r.ma...@assembler.cz> wrote: > >> Hi all, >> >> First byte after IBM is usually a checksum. So in fact only two bytes >> differ. >> Now you may ask what it is... and it is a IOBASE :) >> >> typedef struct _ATOM_ROM_HEADER >> { >> ATOM_COMMON_TABLE_HEADER sHeader; >> UCHAR> uaFirmWareSignature[4]; /*Signature to distinguish between >> Atombios >> and non-atombios,atombios should init it as "ATOM", don't change the >> position */ >> USHORT usBiosRuntimeSegmentAddress; >> USHORT usProtectedModeInfoOffset; >> USHORT usConfigFilenameOffset; >> USHORT usCRC_BlockOffset; >> USHORT usBIOS_BootupMessageOffset; >> USHORT usInt10Offset; >> USHORT usPciBusDevInitCode; >> USHORT usIoBaseAddress; <---------------this changes >> >> I guess IOBASE of PCI device changes also... >> >> USHORT usSubsystemVendorID; >> USHORT usSubsystemID; >> USHORT usPCI_InfoOffset;. >> USHORT usMasterCommandTableOffset; /*Offset for SW to get all command >> table >> offsets, Don't change the position */ >> USHORT usMasterDataTableOffset; /*Offset for SW to get all data table >> offsets, Don't change the position */ >> UCHAR ucExtendedFunctionCode; >> UCHAR ucReserved; >> }ATOM_ROM_HEADER; >> >> You can use atomDis to dump it I guess (Did not check if it dumps also the >> header. >> >> Thanks >> Rudolf >> > > > -- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot