[comp.sys.apple2] _SetOutputDev bug?

KPS112@psuvm.psu.edu (02/23/91)

I'm working on a print spooler for the GS.  It's set up as an init and
traps the main tool vector at $e1/0000.  I have it fixed so that a
_SetOutputDev to slot 1 (to start sending stuff to the printer) is ignored,
and instead it does a _SetOutput to my own personal driver.  (so instead of
sending characters to the printer they are intercepted by my program)  My
program puts all of the characters that were supposed to go to the printer
in a disk file.  This part of the thing works ok.

To output the stuff to the printer, I set up a heartbeat interrupt.
Every time it's called, it reads a character from disk, does another
_SetOutputDev to the printer, and does a _WriteChar.   (Saving and restoring
the previous device and globals)  Instead of going to the printer though,
all of the stuff goes to the screen!  I can't figure out what's going on.
I've made sure that the scheduler's busy flag isn't set, and _SetOutputDev
isn't trapped by the program twice (it doesn't intercept its own call)

Can anybody help?    Should I use an _InitTextDev or what?

Kevin Stone
KPS112@psuvm.psu.edu