David Murn writes:
>
> On Sat, 13 Nov 1999, Blaz Antonic wrote:
>
> > All you have to do is to insure your ROM image uses correct format
> > (utils in netboot package create correct images from executable
> > binaries) and BIOS will do the rest of the job
>
> Actually, 'format' simply means 0x55aa at the start of the image, and the
> 3rd byte contains the number of 256 byte pages in the ROM. Nothing else
> is involved in the 'format'.
>
> > it will detect the ROM fetch its size and start address and start
> > executing code from it. It is up to you (ROM) to return control to BIOS
> > (and let it boot normaly) or execute kernel and boot into your OS
> > (that's the way you want it if you imaplnt a ROM inthere).
>
> I'd suggest that you don't do it this way, and that you actually hook
> interrupt 0x19. This allows BIOS to detect various hardware, and call any
> other important ROMs, such as video and disk controller. While you (in
> theory) can boot directly from the ROM, ELKS won't like you much. Apart
> from anything else, quite a few drivers, notably the disk and console
> drivers generally use BIOS calls.
>
The code Christian has contributed does just this, though I have not yet
been able to get it to work as I am still tracking down a network card that
will take a 64K ROM. I have the plans for a flashcard, but have not yet
been able to get thte parts to build one.
I am slightly confused about the int 19h issue however. If cassette BASIC
uses this mechanism, but is not envoked until Floppy and HDD boot have
failed, is this what we want? I have seen references in BIOS setup programs
which refer to "int 18h devices such as network boot". Is int 18h also used
by boot ROMS, and if so how does it differ from int 19h?
Al