Welcome to the dark corner of BIOS reverse engineering, code injection and various modification techniques only deemed by those immensely curious about BIOS

Friday, July 20, 2012

Thoughts on Having Access to Official BIOS Source Code

I have access to official AMI BIOS Core8 source code for more than a year now,
due to one of my work. I think it's good to share the ups and downs of having access to such source code. 

It's nice to have BIOS source code at your hand because you can do a lot of things.
However, having access to the source code doesn't equal understanding the code any better. 
It's quite a steep learning curve to understand how to use the development tools and 
also some code requires you to understand various hardware protocol to have a sense on it. 


Of course, having reversed some BIOS binaries helped me. But, it also produces unwanted effects.
Sometimes, I tend to use "binary surgical" approach instead of trying to use the existing development tools, 
which in the end produces ugly kludge. It takes sometime for me to get used to the development tools.
Overall, though I can say that I learned a lot from the source code.
Post a Comment

7 comments:

Anonymous said...

Share some of what you have learned?

Darmawan Salihun said...

Unfortunately, I'm under NDA. I could only talk about very general things :-).

john said...

Hi! can you tell me how initialized ide in AMIBIOS8? my laptop doesnt detect my new ssd drive and i want fix it.

john said...

Hi! can you tell me how initialized ide in AMIBIOS8? my laptop doesnt detect my new ssd drive and i want fix it.

Darmawan Salihun said...

I think the detection would be via ATA command sets, just like for ordinary HDDs. SSD firmware "emulates" HDD, therefore it should work the same way. I forgot the exact ATA command sets for driver detection but you can look for it in the ATA command set spec.

Anonymous said...

FYI (partial?) AMIBIOS source code has been floating around on the 'net for some time now. It's an old version from the late 90s and seems to have come from the accompanying CD of a Chinese book named "BIOS研发技术剖析".

Darmawan Salihun said...

No, not partial. The code is specific to a development board I have at hand. ANd it's not the old 90's source code. This is AMIBIOS CORE 8. I'm not sure about the release date of Core8 but lot's of board from 2003 until now use it. Well, lot's have moved to AMI Aptio, but for a legacy BIOS solution Core8 is the latest version from AMI.