[OpenBIOS] where I'm at with the 440gx and reading nvram

Wallace I. Kroeker WallaceKroeker at smarttech.com
Mon Jan 31 08:31:15 CET 2000


I am working from the OpenBIOS-0.0.2.  The beep code in
/Firmware/init/timer.c

I modified the print code to output a different number of beeps (2 of 'a'
and 6 for 'z').  The OpenBIOS code (as is) boots and then sits in a loop
waiting for a character of input.  Once the character arrives it trys to
print it out.  

I have some assembler code which also produces a beep.  I used it for the
initial debugging of /boo/boot16/start.asm.
Are you interested in this?

I know someone else was asking earlier where to start in with this so here
is what I've found out so far (someone can correct me if I'm wrong):
	1.  Download OpenBIOS.0.0.2pre1
	2.  Make sure you have the nasm assembler (www.web-sites.co.uk/nasm
to get the latest) and Gnu C (this came with Linux)
	3.  At the root directory type "make config"  this will make the
configuration and step you through the selections for Processor, Chipset,
etc. (if you go with the defaults it seems to come up for some 486 board ...
this sort of seemed to work for my machine to get things started)
	4.  Now type make and it should make everything.  Leaving you with a
ROM.bin

So now that you can actually get it to build you can download the LoadBIOS
program and try out your BIOS from RAM (as has been discussed in other
messages).
The documentation directory has a very brief description of the internal
structure.

How about adding a new chipset?
	1.  Everything starts in /boot/boot16/start.asm.  There is an
include of chipset.inc.  When you ran the configuration make you specify
which chipset which is actually telling the make which directories to find
things such as chipset.inc
	2.  First create a new chipset directory in /drivers/chipset. ( I
copied ali_M1511 to create a new chipset (440BX) directory.)   Comment
everything out as you will eventually have to modify this for your own
chipset.
	3.  Modify the .config to allow selection of your new chipset. 
	4.  Modify /drivers/Config.mak and add your chipset for the make
process
	5.  Now run make .config and make to rebuild it.  It should now be
using your new chipset definition.  To confirm that you are compiling the
correct code put in a deliberate error in your chipset assembler file.  If
everything is correct then you should get an error showing up in the build.

You follow the same approach for your superio.

Helpful books.  
	PC Intern				by Michael Tischer, Brun
Jennrich
	The Programmer's PC Sourcebook	by Thom Hogan  (Seems to be of print
but you might get your hands on a copy )

Hope this is of some use.

Wallace

> -----Original Message-----
> From:	James [SMTP:jvh at uclink4.berkeley.edu]
> Sent:	Friday, January 28, 2000 6:39 PM
> To:	'openbios at freiburg.linux.de'
> Subject:	RE: [OpenBIOS] where I'm at with the 440gx and reading nvram
> 
> > I am working with the 440BX chipset and have it hobbling along.  
> > I am having problems with the MDA getting any screen output.
> > I am able to get beeps out for different keys on the keyboard
> > but no character display.  (Of course, this could be just the situation
> to
> > use Morse code :-).
> 
> What is the code to get it to beep?
> 	- James
> 
> 
> -
> To unsubscribe: send mail to majordomo at freiburg.linux.de
> with 'unsubscribe openbios' in the body of the message
-
To unsubscribe: send mail to majordomo at freiburg.linux.de
with 'unsubscribe openbios' in the body of the message



More information about the openbios mailing list