flat assembler
Message board for the users of flat assembler.

Index > OS Construction > BIOS developing

Author
Thread Post new topic Reply to topic
zir_blazer



Joined: 05 Dec 2006
Posts: 66
zir_blazer 03 Feb 2007, 14:32
This is one of the advanced topics that were the main reason about why I wanted to learn x86 Assembly. However, due to lack of patiente and motivation, I simply got stuck and didn't tried harder anymore, though I'm still interesed in looking at these advanced topics but not from the raw code standpoint. So that is what this is about.

As many know, BIOS Source Code is propietary, so making the smallest change to it would requiere dissamble the binary file and an expert guy with an smart brain to understand it. However, some people started to develop they own BIOSes from scratch. That is where LinuxBIOS ( http://en.wikipedia.org/wiki/Linuxbios ) comes from, that seems to be in good shape and gaining some ground. It got interesing concepts like the fact that the BIOS itself runs in 32 Bits mode and that it uses Cache-as-RAM, that I suppose that could allow machines with LinuxBIOS to boot with no RAM installed (Interesing for debug purposes, it may make easy to detect an uncompatible or defective Memory Module if you don't have another one to test). Another interesing fact is that the beggining part of the BIOS is done with a custom compiler that uses only Registers and not RAM space until it initilizes the Cache-as-RAM, then it uses regular C code.
Such types of projects looks interesing, but I didn't saw a custom project about a BIOS from scratch (Though they are few and far bewthem) with FASM and I am interesed in know if someone is planning to do this or there is more data to read about the matter.
Post 03 Feb 2007, 14:32
View user's profile Send private message MSN Messenger Reply with quote
zir_blazer



Joined: 05 Dec 2006
Posts: 66
zir_blazer 23 Feb 2007, 02:05
*BUMP*

Seriously, no one got anything to comment? The BIOS is one of the few things that are pratically for Assembly programmers only and one of the most interesing targets for projects and research.
Post 23 Feb 2007, 02:05
View user's profile Send private message MSN Messenger Reply with quote
HyperVista



Joined: 18 Apr 2005
Posts: 691
Location: Virginia, USA
HyperVista 23 Feb 2007, 02:40
zir_blazer - I applaud you on your inquizitive mind and spirt. You certainly have chosen the path less traveled.

Have you considered investigating developing for the emerging BIOS standard known as UEFI (Unified Extensible Firmware Interface)? To me, UEFI holds much promise and some VERY interesting capabilities.
If I weren't so busy with this damn hypervisor, I'd be writing some UEFI code. Cool

Here are some links for you to explore:

http://www.intel.com/cd/software/products/asmo-na/eng/219678.htm
http://www.uefi.org/events/EBC_Summit_invite_Final_2_.pdf
http://www.uefi.org/events/
http://blogs.phoenix.com/
http://www.insydesw.com.tw/en/Ps.asp?id=178
Post 23 Feb 2007, 02:40
View user's profile Send private message Visit poster's website Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 23 Feb 2007, 15:40
I would also like to add, that DexOS is like a 32bit BIOS, alot of people call it a 32bit Dos (including me), but the more you understand Dos, the more you see that most of the work is done with BIOS functions.
How the BIOS co, let M$ get away with all the $$$$$ from Dos, is beond me.

So to answer your ?, in a way Team DexOS is working on a 32bit BIOS.
Post 23 Feb 2007, 15:40
View user's profile Send private message Reply with quote
zir_blazer



Joined: 05 Dec 2006
Posts: 66
zir_blazer 23 Feb 2007, 19:06
I have readed many things about EFI, however, I don't place my bet in it.

http://en.wikipedia.org/wiki/Extensible_Firmware_Interface
Quote:
The EFI specification was originally developed by Intel, and is part[verification needed] of Intel's corporate-wide push for ubiquitous digital rights management on the PC platform.


Quote:
Security and freedom concerns

One of the stated goals of EFI is to protect hardware vendors "intellectual property"[citation needed]. This raises security concerns and notably makes creating a free software BIOS impossible.

EFI could be used to create a "DRM BIOS", thus letting vendors build computers which limit what the user can do.

For more information see this interview with LinuxBIOS author Ronald G Minnich.


For this sole reason, forget it. The potential of modernization of today BIOS is nice, but what we risk to lose is not. A open source developed BIOS with mainstream support (Well, LinuxBIOS is basically that) is needed.

Besides, even with EFI around, it would be needed a way to upgrade current Motherboards BIOSes to support useful features or correct bugs in them, not just something that comes with a new platform (This would requiere tons of reverse engineering for compatibility though). For example, considering that many BIOSes bring a FLASH chip with 2 or 4 MB capacity, I don't know myself why they can't bring useful tools in them like a BIOS version of Memtest, or a partition manager that can format them itself. Botting an OS or flashing the BIOS from an USB Pendrive is extremely nice also, so we can get rid once and for all of the 3 1/2 Diskettes Drive. Or even a small OS in the BIOS chip itself. There are many great things than the BIOS may be capable of doing if we give it a chance.
Post 23 Feb 2007, 19:06
View user's profile Send private message MSN Messenger Reply with quote
franka



Joined: 10 Dec 2005
Posts: 12
franka 04 Mar 2007, 10:10
this sure is a cool combination.

there is AM2 Gigabyte mainborad support now in LinuxBIOS which allows assembly routines in the source code.

It would be useful to defeat any malware running in system management mode for some reason (DRM or so).

OS in ROM (meuetOS) is a poss, too. Or even Pacifica support.
Post 04 Mar 2007, 10:10
View user's profile Send private message Reply with quote
hckr83



Joined: 12 Nov 2006
Posts: 86
Location: usa
hckr83 10 Mar 2007, 02:01
I think that the next BIOS standard should support the old BIOS..so that it is backwards compatable, and also have way to check if the new bios thingy is supported..
Post 10 Mar 2007, 02:01
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger Reply with quote
Dex4u



Joined: 08 Feb 2005
Posts: 1601
Location: web
Dex4u 10 Mar 2007, 14:01
I think it would be good to have a switch (jump) and have two chips (old & new), even better if they can be remove esay.

On my xbox chip i had 4 switchs so i could use 4 differant BIOS.
Post 10 Mar 2007, 14:01
View user's profile Send private message Reply with quote
Pinczakko



Joined: 02 May 2004
Posts: 34
Location: Takabonerate National Park, Indonesia
Pinczakko 17 Jul 2007, 11:44
Post 17 Jul 2007, 11:44
View user's profile Send private message Visit poster's website Yahoo Messenger Reply with quote
Dr. Mario



Joined: 17 Aug 2007
Posts: 8
Dr. Mario 02 Jan 2008, 20:26
Funny, I'm working on one of my own BIOS substitute, GreenOmega 64 AIOS (Advanced Input / Output System) - this one isn't really a BIOS - may be qualified as a 64-bit BIOS.

Although about the OS, it would basically shut Long Mode down before loading the boot sector onto Athlon 64's L2 cache to boot it up (in Real Mode session, to be exact)

I also plan to put in Blu-ray Disc boot support, and a 3D GUI too.
(Also, don't forget the complete USB emulation for DOS. Like port 209h for
detected USB gamepad, for example.)

Any source code would be appreciated, since I'm not sure about how the BIOS boots up. (Although I'm glad that I have Biostar K8T80-A7 motherboard, since it has all open-source chipsets, like VIA K8T800. I'm planning to flash it in this motherboard.)

_________________
Mama-mia, tha' the Athlon 64, Peach!
Post 02 Jan 2008, 20:26
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.