Mod Your Own Bios / Discussions on BIOS Transcoding

Discussion in 'BIOS Mods' started by hellohello, Jul 12, 2007.

  1. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Asus doesn't use a config lock anymore at this bios OR uses another lock (a new one).

    You can try for a manual mod. Therefore you need to know more about FC modules, OEM table and tableID's
    -insert Asus FC module
    -correct OEM table and tableID's
    -correct RSA1 string

    or insert SLIC into 1b module.

    This is not easy for a beginner. If you want to make a dynamic FC mod, you have to know more about AMI bioses, MMtool and so on..

    Second option:

    Use AMI_SLIC3 tool, this works for sure.

    If you want to make a dynamic mod we have to try how it works. Since AMI_SLIC3 tool is working properly noone cared about to make a dynamic mod so far. Later I can make some mods, you can try.
    If there is a new config. lock, you've to find it and disable or to go for a SSV3mod.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. Anonymouz

    Anonymouz MDL Novice

    Oct 6, 2008
    29
    1
    0
    Thanks for the fast reply man, If possible I would like the dynamic mod so assuming that there is no lock how do I insert the SLIC into the FC module?
     
  3. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. MrKim

    MrKim MDL Novice

    Oct 7, 2008
    4
    0
    0
    really really lost

    Since I didn't get modded bios from request thread, I read threads in the forum few more times. I was finally able to successfully flash my shuttle SP35P2 with bios that have asus SLIC. Everest showed up correct info as well.

    I figured then I would be able to activate vista so I tried... Only to see that it didn't get activated.

    At this point I'm lost at 5 year old child at crowded zoo. Is there more to be done/added on the bios to get activated?

    Should I add asus isa.bin from nisa-alloem.rar to my modded bios?


    ------------------------

    I successfully modded bios. vista activated and all is well.
     
  5. petar

    petar MDL Expert

    Apr 5, 2008
    1,188
    92
    60
    Can you please make an ACPI Scope report... :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. baribal

    baribal MDL Novice

    Oct 8, 2008
    11
    1
    0
    Please tell me how can I manually modify AMI bios with FC module? I have FC module 10h bytes long. Should I replace it with 340 bytes long? And why 340 bytes long and not 376 bytes long like in full SLIC file? Also I have no such string in the 1b module - 2E8A073C007431h, so I assume that I have no configuration lock. What should I do next?

    PS I can modify this bios with SSV3 method but want to try with fc method. :)
    PPS If using SSV3 method why ASUS 0800 string (F80Fh address) mapps to the 0FF400h memory address and not to how described in SSV1 manual - FFF80000h+F80Fh for 512Kb bios?

    Thanks in advance.
     
  7. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    #367 Yen, Oct 8, 2008
    Last edited by a moderator: Apr 20, 2017
    I don't know if there is another config. lock used by ASUS, but we can give it a try.
    Use the FC module of the mod. I've made above. The FC module doesn't contain the SLIC header so it is shorter. It consists of public key and public marker code only.(Plus two FFh bytes at the end).

    You also have to modify the 1b module. Have a look at my mod again to see what I've done. A comparison of the mod and the original will show it.

    -OEMID and table ID of SLIC changed to _ASUS_Notebook and reversed 1ASR to RSA1

    For all manipulations please use MMtool 3.19mod21 fix found at rebels haven.

    At SSV1 you are inserting the SLIC into the bios as uncompressed module.
    So at 512 KB you'll find the bios.rom file after flash at FFF80000h-FFFFFFFFh.

    The SLIC must start at FFF80000h+offset of SLIC at biosfile.

    At SSV3 you are inserting the SLIC into the 1b module, at relative offset to AMIBIOS 08 string (-200h). The 1b.rom module will be compressed after re-inserting it again, so a direct call of it at EEPROM area (FFF80000h-FFFFFFFFh) is impossible and of course not needed.
    Since AMIBIOS 08 string is always mapped to 0FF400h you'll find ALL SLIC's at 0FF400h-200h (0FF200h). ALWAYS!

    Another way to try a mod. is to insert the full SLIC into the 1b module and to modify the OEMID and table ID of RSDT and XSDT as well.

    IF these two mods don't work, we have to say that ASUS is using another config lock, we have to disable.....don't forget to flash such a FC mod you have to use the additional switches of afudos...as I'm interested in it as well we can cooperate to get a working mod....:)
    Typical FC module, used officially by OEM:
    Code:
    Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
    
    00000000   00 00 00 00 9C 00 00 00  06 02 00 00 00 24 00 00   ....œ........$..
    00000010   52 53 41 31 00 04 00 00  01 00 01 00 6F 92 9D DC   RSA1........o’Ü
    00000020   B3 79 EE 27 26 08 F8 DC  5B D8 5F 4B 21 34 AB 60   ³yî'&.øÜ[Ø_K!4«`
    00000030   EC 90 C7 C2 D5 60 D5 F5  D9 82 F9 2E BE E8 43 38   ìÇÂÕ`ÕõÙ‚ù.¾èC8
    00000040   D5 C2 5B 9E 25 B8 93 CD  15 B8 1B C3 30 7D AD 55   ÕÂ[ž%¸“Í.¸.Ã0}*U
    00000050   69 79 BD 1A 7E 44 C8 BC  59 5A 17 BE 81 AD EF EE   iy½.~DȼYZ.¾*ïî
    00000060   96 21 37 CC 8A 42 62 C6  14 05 09 21 69 7A E1 8C   –!7ÌŠBbÆ...!izáŒ
    00000070   4A CE D6 C8 18 78 78 86  2B 30 63 A6 E5 64 B7 D2   JÎÖÈ.xx†+0c¦åd·Ò
    00000080   14 5E 2B 44 BE 33 12 6B  6B A3 BD 9E 85 BB BE 6C   .^+D¾3.kk£½ž…»¾l
    00000090   E1 B1 33 C2 DA 91 80 F3  44 B4 CA 9F 01 00 00 00   á±3ÂÚ‘€óD´ÊŸ....
    000000A0   B6 00 00 00 00 00 02 00  5F 41 53 55 53 5F 4E 6F   ¶......._ASUS_No
    000000B0   74 65 62 6F 6F 6B 57 49  4E 44 4F 57 53 20 00 00   tebookWINDOWS ..
    000000C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
    000000D0   00 00 24 B0 89 CF B1 F3  1D B8 7A 80 35 CB CD 4A   ..$°‰Ï±ó.¸z€5ËÍJ
    000000E0   C8 2F 84 CE 99 A0 4F 38  76 B0 04 F9 6F 05 33 C7   È/„Ι*O8v°.ùo.3Ç
    000000F0   EC A8 58 A6 D7 B7 3F 5B  82 B1 EE 2B A7 81 52 F3   ì¨X¦×·?[‚±î+§Ró
    00000100   45 13 CE EE D5 57 37 FE  75 5F 5C 62 C4 53 DA 86   E.ÎîÕW7þu_\bÄSÚ†
    00000110   F1 34 FA ED 91 86 73 9E  D2 65 FD 8A 3D 86 94 2F   ñ4ú푆sžÒeýŠ=†”/
    00000120   2A 65 18 5C D9 E5 7C 15  1E F2 08 C5 85 C4 8F 0B   *e.\Ùå|..ò.Å…Ä.
    00000130   FA A5 C3 A9 B0 F1 B2 E7  6A 46 FB 18 01 5D 4C 36   ú¥Ã©°ñ²çjFû..]L6
    00000140   33 DE FB E7 1D E8 15 C2  85 9F 8A A9 32 68 1F B4   3Þûç.è.Â…ŸŠ©2h.´
    00000150   BC A8 FF FF                                        ¼¨ÿÿ
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. baribal

    baribal MDL Novice

    Oct 8, 2008
    11
    1
    0
    Why reversed? And why in your mod there is no addresses for SLIC in the RSDT and XSDT tables? Because your mod is dynamic? So if bios determine the mapping address for SLIC then where bios writes it in memory? 1B module contains SLIC string and you write there oemid but all other SLIC data located in the FC module. How all this working in dynamic mod? COuld you explain a little?

    Yes, I'm using it. But strange thing - if I replace 1b with ammwin and MMtool roms aren't the same. Is it normal? Also I lost ASUSTEK string at the bios begining. Should I fix it or all should be working w/o this procedure?

    Got it! Just checked with hwdirect - all is like you described. Main bios (1b module) is mapped in uncompress form to the first memory addresses.

    I see, the simpliest method SSV3 'couse you don't have to add new module, determine necessary memory mapping address for SLIC after replace 1b...

    Sounds great. I can test it with my Asus P5Q but should find FDD if smth. goes wrong. :)
     
  9. baribal

    baribal MDL Novice

    Oct 8, 2008
    11
    1
    0
    Just red this forum and understood some things: RSD PTR should point (10h offset) to address where RSDT is situated. But in my bios there are only zeroes at places where should be addresses. Such things for other tables. So I assume when comp. loading bios determine how much memory it has and automaticaly insert addresses where tables will be situated accordingly to the amount of memory. Am I wrong?

    So if I have predefined space for SLIC table I can insert there full SLIC table 376 bytes long and of course have to change OEM ID and OEM Table ID in the RSDT and XSDT tables. After that all should be working and address for SLIC and other tables will be determined automaticaly by bios? Dynamic mod, yeah? :)

    I've red that SLIC table can be divided into 3 parts. So if there are 2 parts of SLIC 340 bytes long with FF FF at the end in the FC module then I should only change OEM ID and OEM Table ID in the RSDT and XSDT tables and write right Header (how many bytes long from SLIC beggining?) in the SLIC table which is situated at 1B module. After that all should be working? I have OEM ID and OEM Table ID in the FC module so I've red that it is not neccesary to write them to RSDT and SLIC in the 1B module because bios can write them automatically. Am I wrong?

    And a last question - how bios determine that data which is located in the FC module are the neccessary for SLIC table Public key and Marker?

    Sorry for newbie questions and thanks in advance. ;)
     
  10. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    #370 Yen, Oct 9, 2008
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. baribal

    baribal MDL Novice

    Oct 8, 2008
    11
    1
    0
    It's not working in Vista x64 :( Do you know other such tools?

    It's described in ACPI specification?

    What is this - config lock? If it exists then why SSV3 method is working?

    Yeah, i see them too.

    I have Asus P5Q. Dynamic mod isn't working. :( I have replaced FC 10h long module with valid 340h long module. Then insert full SLIC to the SLIC table in 1B module (also tried to insert only header), insert OEM ID and OEM Table ID to the RSDT and XSDT tables in the 1B module. SLIC didn't appear in Everest. Also I tried to do not insert anything to fc table, but changed all other things in 1B module - same result. I have 4Gb ram so ACPI tables are appeared in memory at CFF70000h address - RSDT. Other tables near to that address. There is no SLIC table in memory. If SLIC table exists in 1B module then why it doesn't load to memory?

    Looks like SSV3 method. What there at this offset? Do you have there free space? Me don't.

    So it is not necessary to write OEM ID and OEM Table ID to the RSDT and XSDT table?

    Me too.

    What I can't understand is how SSV3 method works. Below is the acpiscope output of my computer at work. RSDT table consists of such parts:

    Signature 4 0h 'RSDT' The ASCII string representation of the table identifier
    Length 4 4h 50h The length of the table, in bytes, including the header, starting from offset 0. This field is used to record the size of the entire table.
    Revision 1 8h 1 The revision of the structure corresponding to the signature field for this table. Larger revision numbers are backward compatible to lower revision numbers with the same signature
    Checksum 1 9h 3Eh The entire table, including the checksum field, must add to zero to be considered valid
    OEM ID 6 0Ah 'INTEL ' An OEM-supplied string that identifies the OEM
    OEM Table ID 8 10h 'D945GCR ' An OEM-supplied string that the OEM uses to identify the particular data table. This field is particularly useful when defining a definition block to distinguish definition block functions. The OEM assigns each dissimilar table a new OEM Table ID
    OEM Revision 4 18h 3Bh An OEM-supplied revision number. Larger numbers are assumed to be newer revisions.
    Creator ID 4 1Ch ' ' Vendor ID of utility that created the table. For tables containing Definition Blocks, this is the ID for the ASL Compiler,
    Creator Revision 4 20h 1000013h Revision of utility that created the table. For tables containing Definition Blocks, this is the revision for the ASL Compiler.
    Entry 0 4 24h 7F6FC000h The 32-bit physical address of table (FADT)
    Entry 1 4 28h 7F6F6000h The 32-bit physical address of table (APIC)
    Entry 2 4 2Ch 7F6F5000h The 32-bit physical address of table (WDDT)
    Entry 3 4 30h 7F6F4000h The 32-bit physical address of table (MCFG)
    Entry 4 4 34h 7F6F3000h The 32-bit physical address of table (ASF!)
    Entry 5 4 38h 7F6F2000h The 32-bit physical address of table (HPET)
    Entry 6 4 3Ch 7F6F1000h The 32-bit physical address of table (SSDT)
    Entry 7 4 40h 7F6F0000h The 32-bit physical address of table (SSDT)
    Entry 8 4 44h 7F6EF000h The 32-bit physical address of table (SSDT)
    Entry 9 4 48h 7F6EE000h The 32-bit physical address of table (SSDT)
    Entry 10 4 4Ch 7F6ED000h The 32-bit physical address of table (SSDT)

    RSDT table in bios file doesn't have addresses for other tables so I assume that while bios initialization bios search ??where?? for names of existing tables APIC, HPET, SLIC etc. If it finds such table name than it maps it dynamically to memory and insert this table address in RSDT table in memory and increase tables length by 4. In last 4 bytes of RSDT table in bios file we write memory address of SLIC table. So while initialization bios goes there and see that SLIC table is already there so he just ignore SLIC table that is presented in bios by default. Right?
     
  12. offon7544

    offon7544 MDL Expert

    Sep 27, 2007
    1,018
    8
    60
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. offon7544

    offon7544 MDL Expert

    Sep 27, 2007
    1,018
    8
    60
    Look like the same.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  15. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    I don't get it.:confused: Can you please re-link to 'First generation of lock'. Link is broken........

    Could you make a mod for P5Q, please?

    Thank you. :)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. dude0316

    dude0316 MDL Novice

    Oct 13, 2008
    9
    0
    0

    Thanks to all involved in this project.
    Sucessfull Asus P4S8X-MX self mod.
     
  17. iamhlisky

    iamhlisky MDL Novice

    Oct 12, 2008
    27
    0
    0
    #377 iamhlisky, Oct 14, 2008
    Last edited by a moderator: Apr 20, 2017
  18. offon7544

    offon7544 MDL Expert

    Sep 27, 2007
    1,018
    8
    60
    #378 offon7544, Oct 14, 2008
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  19. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,101
    14,047
    340
    #379 Yen, Oct 14, 2008
    Last edited by a moderator: May 23, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  20. Anonymouz

    Anonymouz MDL Novice

    Oct 6, 2008
    29
    1
    0
    offon7544, did u successfully dynamic mod latest ASUS bioses?