Perry Harrington writes:
> 
> > 
> > We could really do with a tool that looks at the vector interrupt table
> > so we can try and sort out how to boot ELKS on these strange palmtop
> > machines. It may be possible to load ELKS from DOS without replacing the
> > VII on some machines.
> 
> There are a couple of issues that I'm aware of.  Specifically, all of the hooked
> BIOS interrupts.  The version of DOS on the 200lx may be old enough (3.3?) that
> it doesn't replace any BIOS routines.  The big issue is the timer interrupt being
> hooked (int 18h?).  DOS hooks the timer interrupt for time of day and the floppy 
>drive
> spindown I believe.  We'd need to deal with that, or figure out a way to walk the 
>interrupt
> chain until we hit the BIOS interrupts (designated by the pointer being in F000 
>somewhere).

The only consequence I have found of not passing the BIOS apropriate timer
interrupts is the floppy not spinning down, and this fails to happen most
of the time anyway. It is one of the strange persistan bugs which I can
expain in more detail if anyone is interested.

> 
> Anyone have an idea of how to walk the interrupt chain?  I'm thinking that you'd 
>want to
> look for all BIOS interrupts that we know of (not specifically DOS ones), check the 
>pointers
> to see if they're in the BIOS region (A000:0h and above), if they aren't, start 
>disassembling
> the interrupt handler, look for a push and an iret, within a few instructions of 
>eachother
> and then try to look at the memory location that is being pushed (or can we hook 
>int3 and
> install a debugger?)

Walking the chain would be fairly easy by hand, but much more tricky
automatically. If we could add features to the DOS loader to do this, that
would solve the problem to a large extent, not to mention make the DOS
loader easier to use.

> 
> At the very least we can tell if DOS chained a BIOS interrupt or not by looking at 
>the
> pointer in the VII.

What would be the consequences of calling the DOS in ROM routine that chains
the BIOS rotuine? It may well end up overwriting arbitrary bits of RAM and
stuff, so I guess finding the BIOS routine is essential.

Al

Reply via email to