Naushit Sakarvadia wrote:
> 
> Hi Jim
> 
> Really thanks for pointing out.I would like to know more with
> some silly doubts please bear it.
> 
> > Interupt 19h is the Bootstrap interupt. Loads the 1st secor of the disk
> > to 0:7c00
> > and a far jump to 0:7c00 if valid boot code does not exist the bios
> > issues a int 18h and jumps to Rom basic.
> 
> Can you write me more about Rom basic? or you also canpoint out some web tutorial.

ROM Basic was included on IBM PC's most clones did not have a ROM Basic.
But the 
same process could be used for any other programmed ROM. 

>
> >  External ROM modules may exist between addresses c800:0000 and
> > e000:0000.
> >  Each 2K block in this range is checked for a signature.
> 
> How to put signature in ROM or Linux kernel takes care of  those?
> and can you write/point  me more about RomScan of BIOS ?
> 
¦                                                                             
¦
¦ External ROM modules may exist between addresses c800:0000 and
e000:0000.    ¦
¦ Each 2K block in this range is checked for a signature and is in this
format:¦
¦                                                                             
¦
¦Offset Size
Contents                                                          ¦
¦______ ____
__________________________________________________________________¦
¦           
+---+                                                             ¦
¦ +0      1  ¦55H¦         Signature of BIOS-accessible ROM
module             ¦
¦            +---¦         (first word in segment is
aa55H)                    ¦
¦ +1      1 
¦aaH¦                                                             ¦
¦           
+---¦                                                             ¦
¦ +2      1  ¦len¦         length of ROM module in 512-byte
increments         ¦
¦            +---+ -
----+                                                     ¦
¦ +3      ?  ¦   ¦   ¦   ¦ executable
code                                     ¦
¦            +---+ - ----+ (often a NEAR jump to initialization
code)          ¦
¦            |   |         (a dummy byte usually exists to validate
checksum)  ¦
¦                                                                             
¦
¦ When BIOS finds a ROM signature, it performs a checksum on the
defined       ¦
¦ module.  Each byte is summed modulo 100H and the sum must be exactly
0.      ¦
¦ When a module is verified to be valid, BIOS performs a FAR CALL to
offset    ¦
¦ 0003H of its segment and the ROM must eventually return to the BIOS
via a    ¦
¦ FAR
RET.                                                                    
¦
¦                                                                             
¦
¦ Typically, the ROM module will perform any hardware initialization
tasks     ¦
¦ necessary and insert its own addresses into one or more interrupt
vectors.   ¦
¦                                                                             
¦

With this information at hand you could replace the int 18h vector with
your code
entry point.

The Rom scan will find your valid Rom signature and do a FAR CALL to
offset 0003h of your Rom. At offset 0003h you would write code to
replace the int 18h vector
with the segment and offset of your code entry to your ROM and then a
FAR ret. Bios will go along with it's task eventually trying to boot
from a drive. Failing this would execute in 18h and your ROM takes over.

> > >
> > > Have any one really burn Linux in EPROM?
> > >
> >
> > For a pentium ?
> 
> Any info would gain my knowledge..pentium is also fine.Please wite me in detail,if
> yes.

Not that I am aware of. You may be the 1st.

> 
> Regards,
> Naushit

-- 
Jim Willette                            [EMAIL PROTECTED]
Internet Systems Manager
Local Internet Services, Inc.           www.localis.com

Reply via email to