[comp.os.cpm] Visible Ctrl-P toggle

mwilson@crash.cts.com (Marc Wilson) (04/22/88)

I have an old disassembly of DRI's 2.2 BDOS.  There are no guarantees that
this is the version you are running, but we can be semi-sure that they are
at least *similar*.

In this version, the Ctrl-P flag byte is at offset 030DH from the start
of the BDOS.  This is *not* the address contained in the BDOS vector
( 05H - 07H ).  The real start of BDOS is at the beginning of the page
pointed to by the vector.  Thus, if your BDOS vector points at 0CC06H,
you can assume that your BDOS actually begins at 0CC00H.  The unused
six bytes are for your serial number.
 
Add 030DH to this value, and you get the location of the flag byte.  In
our case, it's 0CF0DH.

Look around in this area with ZSID as you toggle the printer on and off.
ZSID will pass the Ctrl-P to BDOS.  When you see a byte changing from
zero to non-zero and back, you've got it.  Watch out for the next byte
after the flag byte, though.  It's supposed to be where BDOS keeps its
one buffered character.  If BDOS is buffering, you may see this location
change.  You may make sure of the flag byte by the fact that it will
contain either zero, one, or 0FFH.

Let me know if I can be of any more help.
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Marc Wilson
     ARPA: ...!crash!mwilson@nosc.mil
           ...!crash!pnet01!pro-sol!mwilson@nosc.mil
     UUCP: [ cbosgd | hp-sdd!hplabs | sdcsvax | nosc ]!crash!mwilson
     INET: mwilson@crash.CTS.COM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~