Award & AMI Bios mod requests. Previous requests

Discussion in 'BIOS Mods' started by ancestor, Oct 26, 2007.

Thread Status:
Not open for further replies.
  1. Mindenegyeb

    Mindenegyeb MDL Novice

    May 25, 2008
    18
    0
    0
  2. petar

    petar MDL Expert

    Apr 5, 2008
    1,188
    92
    60
    #11943 petar, Aug 15, 2008
    Last edited by a moderator: May 23, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. petar

    petar MDL Expert

    Apr 5, 2008
    1,188
    92
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. ifndef

    ifndef MDL Novice

    Apr 3, 2008
    33
    0
    0
    #11945 ifndef, Aug 15, 2008
    Last edited by a moderator: May 23, 2017
  5. Orbiting234

    Orbiting234 MDL Member

    Jul 20, 2008
    167
    0
    10
  6. flagmax

    flagmax MDL Member

    Jun 22, 2008
    206
    2
    10
    #11950 flagmax, Aug 15, 2008
    Last edited: Aug 15, 2008
    ifndef :
    I just want to post the info I've learned here so not trying to sound like know it all.

    First lets go into the reason for releasing then inserting the modules starting with ACPITBL. It is done so to minimize modules(files) inside bios.bin from shifting(moving) from their original locations. Specifically if these sensivite modules MEMINIT, MINIT and GV3 are in bios.bin. I don't know exactly why, but my guess is there is some code that has direct calls or jump instead of releative calls or jump, or bios does some kind of checksum on those module, or this is required for decompression, so the rest of the code in these module must be in the right place. Maybe others can add why exactly.

    Another thing to understand is most modules in bios.bin are compressed using LHA compression. Before the modules can be executed or used, they must be decompressed. The fastest memory in a PC is RAM, so, bios gets copied to highest addresses in RAM before anything is done. So if you bios is 256kb, it gets copied to FFFC000 in RAM. If bios is 512kb, its copied to FFF80000. If 1mb then to FFF00000. Those three addresses are very important if you want to do a Super Static v3 (SSV3) mod to an AWARD bios.

    SSV3 mod requires you do the following:
    1. Add a new SLIC table to bios file
    2. Extend RSDT and XSDT(if acpi2.0) tables inside ACPITBL.BIN for pointer(s) address to the new SLIC table
    3 Change OEMID and OEM TABLE ID to match the SLIC.

    When you extend the RSDT/XSDT table inside ACPITBL.BIN, that makes the file larger in size. If you put the acpitbl.bin file in its original position, because its bigger, the rest of modules will be moved back towards end of bios.bin. And if you have those sensitive modules, you might brick the motherboard.
    A member here, Yen, came up with a solution to keep the sensitive modules in place, and its done by making a bogus file that will match original ACPITBL.BIN size. The bogus file is just random garbage data thats used as a buffer. It wastes space but for good reason. Not to waste all the space, Yen put the SLIC table at the begining of the wasted space. This module usually named oem.bin because of /oem command used with cbrom to compress the bogus module. In actuality, no compression is done because the garbage data is so random that if compressed, size will get larger then uncompressed, so CBROM leaves it uncompressed. And it MUST be not compressed for you to calculate offset and for RSDT/XSDT tables to acess the SLIC table.
    So onces you make this oem.bin file you need to insert it in place where ACPITBL lived. To make this file you can use SLICFIX 070515 tool.

    There are two ways to insert oem.bin, one by release/insert method that takes time. Or by adding oem.bin to bios.bin, then find it with a hexeditor and copy/paste over ACPITBL.BIN space. You want to paste over a copy of original bios so that there are no two copies of oem.bin. Remember to extract ACPITBL.BIN first. If you plan on using a hexeditor for this, you need to study the layout of modules. They all start with a header and end with a 00 or a checksum in some ASUS bioses. This way you know what you must copy/paste.

    After this you can edit the ACPITBL.BIN and insert into bios.bin

    Hope this answered few questions.

    EDIT. To calculate the correct real address to SLIC, you simply find the offset of SLICv in bios.bin, it will be infront of oem.bin, and knowing that offset 00 of bios.bin in hexeditor matches FFFC0000 in RAM for 256kb bios, you add the offset of SLICv to it. Thats how to get it.
     
  7. ifndef

    ifndef MDL Novice

    Apr 3, 2008
    33
    0
    0
    #11951 ifndef, Aug 15, 2008
    Last edited: Aug 15, 2008
    flagmax

    Thank you for the help(copy and pasted it into my little diary of bios modding :) ) I will obviously be re-reading that a few times. Right now my minds a bit scrambled but I know after runningit through a few tiimes the picure will become clearer. The help is more then appreciated!!!

    ifndef

    edit: oh and yes you did clear up some stuff for me... I'm not as scrambled as before, starting to get the whole picture :). Its one thing to just follow directions
    i.e. open cmd prompt type "cbrom xxxx.bin /isa dell.bin" and yor done and it another to know where that came from and why.
     
  8. lore

    lore MDL Novice

    Aug 11, 2008
    4
    0
    0
  9. hansdampf88

    hansdampf88 MDL Novice

    Dec 30, 2007
    17
    0
    0
  10. nemonius

    nemonius MDL Novice

    Aug 15, 2008
    5
    0
    0
  11. petar

    petar MDL Expert

    Apr 5, 2008
    1,188
    92
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. petar

    petar MDL Expert

    Apr 5, 2008
    1,188
    92
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...