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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~