My first attempt was to dump the BIOS with the laptop set to Off and, as a result, I only got bad dumps. After looking a YouTube guide I decided to remove the chip and do a full dump again. And I got, finally, good dumps.

But since I have to flash and test many variants of the BIOS mod, why don’t we add another “feature”?
If you have read the Dreamcast BIOS hack article you will probably remember that I decided to put a second flash memory on the mainboard to have a Dual-BIOS solution! (the original flash memory with the original BIOS, the second flash memory with the development/final BIOS mod.)

With a bit of research I found that the BIOS is divided in two parts. The first part is the ME Region and the second is the AMI Aptio BIOS. Some other OEMs have the ME Region in a second flash.

Note: The BIOS is a unique file of 4096KB, I virtually split it in two parts of 2048KB each just to easily understand how my VAIO BIOS is made.
The ME (Management Engine) region is a firmware provided by Intel to manage communications between the chipset, the devices and the OS and, on some VAIO models, is not directly upgradable. The full SPI dump has given me the ability to update it, thanks also to some tutorials found in a forum.
To begin with, we’re going to have a look at the second part, the AMI Aptio BIOS.
A reliable dump is very important, because I’m certain I can modify all that I want (to the best of my knowledge. First I’ve opened the ROM image with AMIBCP. AMIBCP (AMI BIOS Configuration Program) is a tool that let the dev/user to modify the existent menu in the AMI Aptio BIOS, to set new default values and to hide/show some menus. I’ve just unlocked some menus and changed default settings to some limits that could improve performances a bit (also regarding VT-D function… If you’re a VAIO user you sure know what I mean).

I will not write here how many things I’ve changed and tested with a lot of reflashing, I spent about 1 month to consider my work as “final”.
Once I was done with this, I decided to upgrade, wherever possible, my O-ROM modules and to do this I used AMI MMTool Aptio.

Valid O-ROM modules were Intel HD Graphic, ATI Mobility Radeon (HD5650) and Marvell LAN. I found a good guide for Intel HD O-ROM modifications/upgrades, because it needs to be set before replacing in ROM file.

But that’s not all. By looking at some other BIOSes with my same CPU, I’ve found that the Intel HD Graphic O-ROM module name is “8086, 46” (8086 is Intel’s VendorID, 46 is ProductID), mine had two O-ROM (VBIOS, in this case), both with the same config, and the module name was “8086, fff” and “8086, ffe”. What’s that?
After two weeks of hard research and tests I found that the Intel HD Graphics NEVER existed! Why? Simple! SONY PERMANENTLY DISABLED IT VIA HARDWARE!!!

Why Sony would disable switchable graphics? Why not a software solution (in BIOS) but a hardware one? Of course, Sony will never tell us why.
After this I’ve looked for the ATI Mobility Radeon HD5650 O-ROM module (VBIOS, also in this case) and I found that another, but older, VAIO model have the same GPU, so I searched for the BIOS on the internet and dumped the VBIOS. I’ve also found VBIOSes about HD5650 on other laptop brands, more recent than mine, but I had some troubles with video outputs: that’s because Intel HD was permanently disabled as described before, so I’ve made some test just with the other VAIO VBIOS.
I’ve found no differences and improvements but some people on the internet suggested me to remain with the stock VBIOS because the older one could have different VRAM timings and other parameters that could make my machine unstable or damage it, and so I rolled back to the stock VBIOS.
Sony not only has disabled Intel HD GPU, but also DOWNCLOCKED the ATI one!
I asked myself: why not having the Intel HD too, as it does not use much power when on battery?

After reading many forums and doing a lot of research I’ve found how to increase stock clocks (450MHz for GPU @ 0.90V and 790MHz VRAM) with RBE (Radeon BIOS Editor ) and some Hex editing to the right frequencies, same as ALL OTHER LAPTOPS BY OTHER BRANDS! (550MHz for GPU @ 1.00V and 800MHz VRAM). It was hard because I’ve never managed things like this (the voltage table made PowerPlay always stuck on max frequencies), but hey! Now I can have more FPS in games! :D

Now the simplest part, Marvell LAN O-ROM.
By looking at Marvell LAN I’ve found that it was an “alpha” build. It worked very well, never a problem, but why not a stable? Never an update by Sony… Not a problem, I’ll dump from another BIOS ;)
After a bit of search I’ve discovered that EVGA made a 400$ motherboard that use the same Ethernet chip (Woah!). Grabbed the updated BIOS from official support site, opened with MMTool, grabbed the new O-ROM and replaced in my modded BIOS. It works perfectly :D
I’ve also updated some CPU microcodes. Maybe they are not essential, because OSes like Windows just update microcodes via Windows Update, so they will be loaded on boot.
Let’s go back to the first part of the BIOS, ME firmware update.
As I said before, I’ve found no differences between the old and the new firmware, but why we shouldn’t update it? Like Intel HD Graphic here we have a tool that can read the original values and copy to the new vanilla firmware, called Intel FIT (Flash Image Tool), but implementing it is a bit different.

As suggested on some forums, the only way to do this is hex-editing, in my case, the first part of the BIOS. The only important thing is to select the right output format, so you can obtain the firmware file in the right size and then replace easily the older one.

The last thing: UEFI Boot.
Unfortunately it was pretty impossible to enable it, because it was permanently removed from the BIOS. Maybe it can be added via modules, but I don’t know where to grab and how to enable it.

About the Dual-BIOS mod: here is the schematic according to the flash memory datasheet:The SPI Chip Select (/CS) pin enables and disables device operation. When /CS is high the device is deselected and the Serial Data Output (DO) pin is at high impedance. When deselected, the devices power consumption will be at standby levels unless an internal erase, program or status register cycle is in progress. When /CS is brought low the device will be selected, power consumption will increase to active levels and instructions can be written to and data read from the device. After power-up, /CS must transition from high to low before a new instruction will be accepted.

READ THE DISCLAIMER AT THE END OF THIS ARTICLE FIRST!!!

To mod/reflash your BIOS you do not need the Dual-BIOS mod. Dual-BIOS mod is only for hardcore users :-)

And here there are the already modded Aptio ROM images for both VAIO models (Only AMI Aptio Image, 2nd part. If you want to also update the ME firmware you will have to make a full SPI dump and replace it via hex-editor by yourself). Remember that YOU MUST compare with your laptop original ME firmware and check if there are some bits to sets via Intel FIT, otherwise your machine could work badly or not work at all.

* Due to missing original Intel HD script file I was not able to update the Intel VGA O-ROM module. If anyone own the “ilm_1930.bsf” script file (Ironlake Mobile v1930) please contact me on Twitter.

Note: I can’t public software like AMIBCP, MMTool, Intel BMP and Intel FIT, because of copyright. Try search them on Google! :P

How to flash:IMPORTANT: Before flash, check which BIOS version you have. To check this: shutdown your laptop, power it on and press immediately and repeatedly “F2” button on keyboard, you’ll enter in the BIOS menu. Read “BIOS Version” and check if it’s “R1170Y8” OR “R0300Y8”. If your BIOS IS NOT named as one of these two DON’T GO FORWARD! DO NOT FLASH ANYTHING!!!
To prevent any problem close all programs, and also disable the antivirus. Some programs can interfere with the BIOS flash and in result you can BRICK your machine!
Note: You’ll hear the fan spinning to the maximum speed and in some operation (read or write) your mouse and keyboard will be temporarily disabled, this is normal.
Open AfuWin (select 32 or 64bit, depends on your OS), and first make a backup of your current ROM by clicking on the “Save” button. Write a name for your BIOS (eg. my_bios_ok.rom), if you want, and save in a known location to easily retrieve it if you need to. Be sure to make multiple copies of this backup (on external drive like USB pendrives, etc).

Then click on “Open” button and select the ROM with the name as your BIOS version. DO NOT SELECT THE WRONG FILE, YOU COULD BRICK! Then check “Do Not Check ROM ID” and “Restart After Programming” and press Flash. Click on “Ok” when AfuWin asks if you want to continue and wait until the flash is done.

Your PC will reboot and you should see a new logo! Press immediately F2 to enter BIOS options, go to “Exit” and select “Load Default Values” and then “Shutdown”. Power on your laptop and check if all is working good!
If you have any trouble you can reflash the backup ROM you made before.

UPDATE x1:

Guys at Guru3D have found a workaround to fix ATI video playback problems on newest drivers! There are two files, made by Sony, that are not shipped with newest drivers anymore so drivers cannot recognize the VGA at all. Just put this two files in System32 and SysWOW64 (in case you have a 64bit OS) and reboot. That’s all!
Works Windows 7, 8.x and 10 (for now)!

WARNING, I’LL NOT ASSUME ANY RESPONSIBILITY ABOUT THIS ARTICLE AND FILES/SOFTWARE LINKED, PUBLICIZED AND MENTIONED HERE! BIOS MODDING IS REALLY DANGEROUS AND COULD BRICK OR DAMAGE YOUR MACHINE! BE SURE TO KNOW WHAT ARE YOU DOING AND POSSIBLY HAVE AN SPI DUMP OF YOUR FULL BIOS!!!

How about if you discover that your PC is EFI compliant but without… EFI?

All started about one or two years ago, when me and my partner in science Dom (Snake) discovered the beautiful world of Hackintoshes.

We started to try to make OS X boot on our machines; me on my Sony VAIO and him on his desktop (that have the same motherboard as mine), with Chameleon as bootloader. To make OS X works good you need very much time to spend on it, to try various bootloader configurations and drivers (called Kernel Extensions or simply “kexts”). After some MONTHS we had our Hackintosh working at 99%: it’s a great goal!

In this months we switched to Clover Bootloader (firstly me, because with Chameleon I had some difficulties to make the most of the hardware working good, after him for some reasons like mines), and the results was very impressive. Clover is a very great bootloader, that works both in EFI (preferred) and in Legacy mode.

Since our machines are legacy we have to use Clover in legacy mode.

What are the differences?

Dom discovered, by testing on a newer machine with UEFI BIOS, that Clover in EFI mode is REALLY faster and OS X doesn’t need so much drivers/kexts like the Legacy one.

And here is were I got mad. By entering in my VAIO BIOS Setup Menu I discovered the label “Aptio Setup Utility”, and with AIDA64 (A software for Windows that show you ALL the information about your hardware) I discovered that is an AMI EFI BIOS.

So immediately I thought “EFI BIOS without EFI boot?” and made a really vaster search on the internet.

Meanwhile I searched for the BIOS of my VAIO, because Sony NEVER released it and NEVER have released an update! (Instead of other brand that full support users with BIOS updates).

Then I’ve asked directly to Sony support and of course they replied… “We are sorry, but your model is too old!”
A VPCEB4C5E bought in 2011 IS TOO OLD!?
900€ MACHINE IS TOO OLD AFTER TWO YEARS!?

Thanks to various communities we discovered very much about how a BIOS is made and how it works: O-Rom modules (discovered by flashing modified BIOS for our desktop motherboard), DSDT (discovered by working on Hackintoshes), MSR Registers, etc.

<ot>

The good thing to have an updated BIOS is that firstly many possibles bugs could be fixed, secondly (and not less important) is the upgrades of O-ROMs.

O-ROMs are little modules provided by hardware producers (Intel, AMD, Marvell, etc) that are substantially the firmwares of each microchip we have in the computer. By testing modified BIOSes, made by KET, for our desktop motherboard (P5Q-E) we discovered firstly great improvements in performances (especially in games!), but also more stability in overclocking! So BIOS updates are really important.

</ot>

Now what to do? I just searched on the internet for the “right tools” to dump, explore and modify my BIOS!

Firstly I’ve downloaded tha AMI Flash Tool (AFU for the Aptios), and dumped my BIOS. One time via Windows and another via DOS, for security purposes.

As you can see the tools just dump 2048Kb from my ROM instead of the 4096Kb which is. The tools open correctly the ROM image, so I assume it’s ok. I’ve also tried with another thirdy part tool, that just dumped all 4096Kb, but by inspecting him I discovered that there are soo much empty bytes (0xFF), so I discarded it. I think that in the first 2048KB there are very important and untouchables things (maybe a self recovery?).

By the way I’ve just opened the ROM with the right tools and started investigating. All menu options seems visible (unlocked), and there are soo many options that not appears in the Setup Menu. By reading on the internet some users says that this options probably are locked thought NVRAM or by a BIOS module. Unfortunately I’ve not found a good tool to dump my NVRAM, edit it and rewrite, maybe I can unlock all these features, or at least some of the more important (Have I told you that my VAIO does NOT support the auto-switch between Intel HD Graphics and ATI Mobility Radeon when is needed? No? Well, my machine have always the Radeon active, and the battery life is about 1h and 30min, in idle, when I’m REALLY lucky. *SIGH*)

But no EFI boot options… So I continued to search on the internet for more information, but nothing…

Recently I had an idea. Just try to search the version number of my BIOS, to see if there are others from others brand. I’ve searched everything, so why don’t try?

I was right. I found a thread where a guy asked help for a boot in UEFI mode, and… He have an ASUS with THE SAME IDENTICAL BIOS AS MY VAIO! But with the differences that he can boot in EFI mode, because there are the options available in the Setup Menu, me not, because I don’t have any option!

Look at differences with AMIBCP. The first one is my BIOS menu, the second is that of the ASUS machine, with UEFI boot options!

I’ve found the module that have the BIOS menu and replaced in my ROM, but when I try to open it with the AMIBCP it crash. So it can’t be replaced. One more thing. In another thread some guys used a “Phoenix Tools” to unlock some restrictions of AMI Aptio BIOSes, and… The ASUS one have the recovery thought USB (when you open the ROM with that tool it search for the right string that should be the name of the ROM that you have to put on the USB stick in case of bricking), my SONY not. Could be because I dumped the ROM, and not downloaded it… But I don’t believe it.

By this, I’m afraid to do any serious modification and to flash, especially now that my machine COULD NOT have a recovery system, better don’t try.

In the ends:

Sony does NOT want help me and all the peoples that have a the same BIOS mounted on their VAIO (2011 machines are too old! Really!), Sony does NOT provide original ROM or an updated one, wich could improve system performances (new O-ROMs), stability, EFI boot (we need it!) and self-switchable VGA to improve BATTERY LIFE, I cannot modify the BIOS to unlock all these menu, or I don’t know how, and I do not want to risk my machine.

And… Next machine of course will be not Sony. I would try an Apple instead, because the battery life is very long (about 7-8h in idle, and with the next OS X “Mavericks” should be around 12h, WOW!), Apple support for serious their users and products, OS X works natively (without any hack), and because I’m thinking about to learn some programming for iOS (yes, I know I can also do with any Hackintosh).

So, if you was planning to buy a Sony, think about these words… I ever loved and trusted Sony, but after this, I’m feeling cheated.

Ah, did you know that Sony told me that I CAN’T install Windows 8 because my machine is inadequate? Well I’m waiting Windows 8.1 RTM and I’ll post here if is true!