Extract DSDT from AMI ROM

Discussion in 'BIOS Mods' started by Carel, May 2, 2012.

  1. Carel

    Carel MDL Member

    Oct 11, 2009
    119
    3
    10
    I know this might sound like a dumb question, but can someone please direct me in the right direction. I want to know how to extract the DSDT table from an AMI BIOS ROM file. I know that I can extract the 1B file using MMTOOL and then I can extract the ACPITBL_SEG from the 1B file. From here, I have no idea how to obtain the DSDT.aml file or the DSDT.dsl which is the files I want to edit. I want to repack the edited DSDTs back into the BIOS ROM, but I want to do it manually - not with AMITool. I would REALLY appreciate it if someone can at least guide me to obtain the DSDT.aml from the AMI BIOS ROM file. Unfortunately - Google dropped me and was not my friend...
     
  2. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    10,938
    10,478
    340
    Extract the DSDTtable containing module (can be 1B). Locate the DSDT ACPITable and copy and paste it into a new file according to its table length bytes (Offset 4-7, right after the table name 'DSDT', little endian) with a hexeditor. This is the binary ACPI Machine Language File. To disassemble it you need Iasl compiler /disassembler to get the DSL file.
    After changes are made compile it again and copy and paste the table back to the module and replace it. Make sure the table 8bit sums to zero and the length (bytes) are correct.
    Also don't move any other acpitable's offset when reinserting the modified one (in case its size has increased).

    You can use andyP's AMI mod tool it comes with both Iasl.exe (Intel) and asl.exe (M$), it allows to modify the DSDT table at advanced options.
    MMTool means ModuleManipulation tool and you need it to replace the modified module at the BIOS.

    To get the DSDT binary you can extract it from the registry as well (HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT.....), but if you want to modify the BIOS then you need mmtool.
    You can also use read write everything (rw-everything), it dumps all ACPITables from ACPI namespace...and can decompile the DSDT...but to mod the BIOS you need a manipulation tool such as MMTool
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...