----- Original Message -----
From: "Jay West" <jwest at classiccmp.org>
To: "General Discussion: On-Topic and Off-Topic Posts"
<cctalk at classiccmp.org>
Sent: Thursday, January 11, 2007 7:46 PM
Subject: Re: HP 21MX/F and OS choices (was Lookee what I just got!)
<snip>
If it were strictly a matter of code & data in
memory, of course your
right. But there's more to it as there's more parts to a running
machine/OS than the code in memory. Like disk drives, tape drives,
interrupts, etc.
Jay
The DMS keywords are in the IPL build you have now.
Do the VM tasks have to cooperate? Yes, and no.
If a program run from VM halts, you can mess with it via the front
panel, just as it would be on an old core memory machine.
If the program crashes, there is nothing IPL can do about that
but when you PRESET and restart the machine you back to an
uncorrupted IPL image, AND your balky program is also intact
in VM, so you can poke at it using IPL.
If you want to return to IPL from the program running from VM
then yes, there is a short sequence of instructions that will perform
the needed DMS magic and your back at the prompt, or still
inside whatever IPL code transferred control to the program loaded
into VM.
To understand how simply this is all implemented you need to
look at the IPL source code for the DMS extensions and have the
CPU documentation handy unless you know the DMS opcodes in
your sleep (I don't).
IRQ's are no problem, they refer to memory locations, and IPL does
remap page zero (all of it) for the VM program. So IRQ's run
normally. HP BASIC uses IRQ's for all its I/O (basically SIO code).
Try it out, load several copies of IPL into VM pages and play around!
I'm sure single CPU versions of TSB will run from VM. If not, I'll
fix the DMS code until it does.