Forum RSS Feed Follow @ Twitter Follow @ Twitter

Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[How To] Phoenix BIOS Modifications
#1
Question 
Big Grin Hello everyone I'm interested in collecting everyone's
knowledge on modding Phoenix BIOSes.Big Grin

On this thread I hope we can finally create ways for people with Phoenix to finally unlock multipliers,
make custom boot screens and all other aspects of a BIOS we currently cant access.

If we can all put our knowledge together I am 100% sure we can
create a simple tutorial for newbies and people with new computers.Big Grin
find
quote
#2
An excellent endeavor! The admins have got to be ridiculously bogged down with so, so many requests. Getting users informed (and noobs like myself, included), seems the best way to solve problems. Pros, admins (if you have time..?), if there are any tips/methodologies/general procedures that come to mind which you can lay down relatively simply, and have the time for, please do. I'd be more than happy to fulfill my requests myself, if I knew how, and I think dozens of others on this forum would do the same. ("Teach a man to fish..." ideology) I'm just too afraid of botching it if I do it alone/without advice. At the moment, I'm primarily interested in unlocking memory timings. But of course, customized boot screens, prompts, and unlocked multipliers are awesome, too. Wink
find
quote
#3
would be awesome to know how to unlock some features, any idea on when the info is going to be posted ?
find
quote
#4
Add me to the list as I would also like to know/learn how to do this Big Grin

Anyone who has never made a mistake has never tried anything new.
find
quote
#5
Information 
I'd like to add a few tutorials to this thread. The first one I am going to be adding is for BIOS modders (or "aspiring" modders). This tutorial will teach you how to fix a PhoenixTool error message that occurs when repacking the modified TEMPLAT module. PhoenixTool says that the file is "4 bytes too long" or some other number of bytes too large or small even though the TEMPLAT file is EXACTLY the same size as before.

The reason that this issue occurs is compression. When you modify bytes, the entire file must recompress differently. In some cases, the modification will cause the modified file to be bigger when compressed than the original file. Since PhoenixTool does NOT want to change the offsets of the modules, it refuses to repack if the repacked file size is different. The different recompression is also why, when repacked, the modded BIOS image will have a massive number of sequential modified bytes in the place where the TEMPLAT module is in the image.

CREDITS: Yen from MDL taught me about why this happens and how to fix it. I am just converting his tip into a full tutorial for public use.

NOTE: In this tutorial, I will be using my BIOS image (R0070J4) as an example. Here is the link. The file "bios.wph" in the linked archive is a flashable BIOS image. You will only need the unmodified BIOS image ("bios.wph") for this tutorial, but the following 2 files serve as an example. The "TEMPLAT0_mod.ROM" file contains an example of the "spacing" in the offset range 0x686B-0x689D. Notice how I replaced the text with spaces (In hex a space is 20h). Compare this with the "TEMPLAT0.ROM" file (original unmodified TEMPLAT).

NOTE: I will be using HxD Hex Editor in this tutorial as well.

Reproduction of this error:
1.) Perform your modification (such as adding a menu or changing an option, you only need a single byte to reproduce the error) on TEMPLAT0.ROM, but keep the file size EXACTLY the same.
2.) Attempt to repack the image with PhoenixTool.
•No SLIC, no other options checked that will modify the image (no ID replacement, etc.)
•Dynamic style mod (This error also appears with SSV2)

Instructions

1.) Perform your modification to the TEMPLAT0.ROM file. Make sure the file size stays EXACTLY the same. Copy the modified file to another directory before continuing to the next step (as it will undo your work). The best way to do this is to unpack the image, copy the TEMPLAT module to a nearby directory, mod it from there, and then copy paste it back to the DUMP directory whenever you want to repack the image with PhoenixTool.

2.) Try to repack the image with PhoenixTool. Take note of the error message (specifically how many bytes the file is "too large" or "too small"). This number of bytes will be the approximate number of bytes in the text string to replace with spaces.

3.) Search (plain text) for "PCI SCSI:" or just "PCI". You should come across a text string. In this BIOS, it is "PCI SCSI: LSI MPI Boot Support".

4.) After the "PCI SCSI:" (you could do it before, but this will make it difficult to differentiate the text string from the hex code which you do NOT want to edit), click in some part of the text string in the text column of the hex editor and replace characters with spaces. The number of spaces will be approximately the number of bytes in the error message from step #2.

Example:

If the file was "4 bytes too large," you would turn
Quote:Ã..PCI SCSI: LSI MPI Boot Support.....................

Into...

Quote:Ã..PCI SCSI: ___ _PI Boot Support.....................

Note: In this example, I used 4 underscores, because the site would not let me keep the spaces. In your modification, you would input spaces, not underscores.


5.) Save this file and copy it back to the DUMP directory for repacking. When repacking, if the file it still "x bytes too long," try replacing x number of bytes in the text string with spaces, then try repacking again.

6.) If the image successfully repacks, check the little log portion of the PhoenixTool window for a message saying that the TEMPLAT module was "x bytes too small." If so, replace x number of spaces with the original text in the text string and repack again.

7.) Perform steps #5 and/or #6 as many times as necessary. For my full(ish) unlock of 3 new parent menus, it took 2 tries.

8.) Congratulations, you now have a modified BIOS!

Be sure to unpack the file to verify that the modules weren't mutilated in the normal repacking process (I do this for ALL BIOS mods, regardless of whether or not the size issue is present). You can test your image in PBE.


NOTE: I will be updating this thread with more examples within the tutorial. If you have any questions or suggestions, feel free to contact me.

~Steven

Smile Hi there! If you like my BIOS mod, please consider making a donation. Thank you! ->Donate via PayPal here<- Smile
www find
quote
#6
Information 
This is the next installment in my Phoenix modding tutorials series. In the linked tutorial, I will be explaining, in detail, how to trace NVRAM registers to and from your symcmos NVRAM Token Table dump and their respective plain text strings in STRINGS0.ROM.

Here is the link to the tutorial in the bios-mods Wiki.

If you wish to discuss the tutorial, please go to this thread.

I have created a thread dedicated to the finding and documentation of Phoenix NVRAM registers on bios-mods. Here is the link to the NVRAM Register Master List. So far, the list includes VT-x, AHCI, & DEP registers. Upon request, I can find other registers as well (such as thermal settings).

~Steven

Smile Hi there! If you like my BIOS mod, please consider making a donation. Thank you! ->Donate via PayPal here<- Smile
www find
quote
#7
Just found this interesting thing: when you download the bios from oem manufacturer, it works opening it in Phoenix Bios Editor
When I made a backup of my Bios with WinPhlash, it didn't opened it, yielding "Invalid ROM length"
The solution was to open original bios from oem manufacturer, go to 100000h and copy the missing 27 hex bytes from it in your created backup file.
Now it works opening and I got rid of that error.

Found it from "https://www.wimsbios.com/forum/depth-high-tech-bios-section-f37/wph-bios-with-nxseries-t10465.html#p53029"

I wonder if I can flash it modified or if I need to flash it original.
find
quote
#8
Alright so I have some advice and a problem.

Advice: de-compile using Andy P's SLIC tool as it is a bit more updated, less glitchy, and/or if PBE won't properly load your BIOS.
Also here is a link to another thread that also has a complete PDF on how to edit a phoenix BIOS:
https://www.bios-mods.com/forum/Thread-P...OS-modding

Problem: I de-compiled 2 dell BIOSs and both don't have their files with names like "template0" and "strings0". Instead they are just listed as hex numbers like "0E_22" or "09_17" which does not help differentiate which file is which.

Any help?

P.S I know this thread is old, I hope someone replies...
find
quote
#9
(09-19-2017, 05:48 PM)1creeperbomb Wrote: Alright so I have some advice and a problem.

Advice: de-compile using Andy P's SLIC tool as it is a bit more updated, less glitchy, and/or if PBE won't properly load your BIOS.
Also here is a link to another thread that also has a complete PDF on how to edit a phoenix BIOS:
https://www.bios-mods.com/forum/Thread-P...OS-modding

Problem: I de-compiled 2 dell BIOSs and both don't have their files with names like "template0" and "strings0". Instead they are just listed as hex numbers like "0E_22" or "09_17" which does not help differentiate which file is which.

Any help?

P.S I know this thread is old, I hope someone replies...


If you upload the BIOS images, I may be able to answer your question.
~Steven

Smile Hi there! If you like my BIOS mod, please consider making a donation. Thank you! ->Donate via PayPal here<- Smile
www find
quote
#10
(09-20-2017, 08:12 PM)Sml6397 Wrote:
(09-19-2017, 05:48 PM)1creeperbomb Wrote: Alright so I have some advice and a problem.

Advice: de-compile using Andy P's SLIC tool as it is a bit more updated, less glitchy, and/or if PBE won't properly load your BIOS.
Also here is a link to another thread that also has a complete PDF on how to edit a phoenix BIOS:
https://www.bios-mods.com/forum/Thread-P...OS-modding

Problem: I de-compiled 2 dell BIOSs and both don't have their files with names like "template0" and "strings0". Instead they are just listed as hex numbers like "0E_22" or "09_17" which does not help differentiate which file is which.

Any help?

P.S I know this thread is old, I hope someone replies...


If you upload the BIOS images, I may be able to answer your question.
~Steven


Alright, since the max limit of files is 5 I had to upload to google drive instead (link below).

These are the files I got after using Andy P's SLIC tool to decompile it from a dell bios .exe file. Interestingly, by uploading to the google drive it registered some of the rom files as an image which looks like a boot logo and 6 "intel inside" logos. This further removes some files out of the list however there are still a lot that are unidentified.

https://drive.google.com/drive/folders/0...sp=sharing

Thanks for reply   Big Grin
find
quote


Forum Jump:


Users browsing this thread: 1 Guest(s)