Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!hplabs!hpda!hpsemc!mbk
From: mbk@hpsemc.HP.COM (Miles Kehoe)
Newsgroups: comp.sys.hp
Subject: Re: HP 150 - how to write TSR's for the beastie?
Message-ID: <1250023@hpsemc.HP.COM>
Date: 23 Sep 88 23:08:56 GMT
References: <111@dalcsug.UUCP>
Organization: HP Technology Access Center, Cupertino, CA
Lines: 31

The 150 is, in it's spare time, an MS-DOS computer. As you know,
they ROM BIOS is not IBM compatible.  

Sadly, because the TERMINAL portion of the 150 is the boss,
it is not possible to write keyboard-interruptable TSRs for
the 150.  (well... possible, but not very easy at all).

40% of the system's time is spent as a terminal.  The first
thing terminal code does when it gets its time slice is to
set all the 'important' interupts back to known states. This
means that all the KB interupts, the kb controller, the screen
memory buffers, etc are all taken care of (as well as setting the
datacomm ports back to the state defined in the terminal
configuration menu).. This means that, if your MS DOS 
application sets a few pointers somewhere else (ie, set the
datacommm chip to a different setting) for your program...
the terminal will set it back in less than 600 milliseconds
to the terminal defined values.  

Wish I had better news:  it's jiust the way it is.

By the way, do you know about the IBM PC emulator for the
150? It is available in soucre code, and gives you many of
the BIOS video capabilities (ie, INT 10). It lets many ibm
compatible programs which do not write directly to diplay
memory run fine on the 150. It also runs much faster because
it turns off the terminal.  

Good luck,

Miles