[comp.sys.apple] Printing from Assembly

cwilson@NISC.SRI.COM (Chan Wilson) (12/11/89)

Hoh hoh.  I got Zapped.


I'm writing a program that process some data and then spits the
results out; either into a file or out to the printer.  This is all in
assembly, under Prodos 8.  Now, what's the proper way to dump the
output to the printer?  Just a 'Jsr $C100' ?  This doesn't seem to
work, though I might be doing this at the wrong time.   

Do I have to do something like Jsr $C100, then patch CSWL/CSWH to
point at the right entry point?  I've done lots of things, but never
printed from assembly....

Off to browse through tech notes.. maybe the question is answered
there...

--Chan

................
Chan Wilson -- cwilson@nisc.sri.com <or> cwilson@nic.ddn.mil
'A computer operator at SRI International'  
"I think, therefore...uh...I should be?"
...UUCP/GS in research phase. More to come...
................

ericmcg@pro-generic.cts.com (Eric Mcgillicuddy) (12/15/89)

In-Reply-To: message from cwilson@NISC.SRI.COM

IF you have maintained Basic.System, then let it do your work. Use DOSCMD to
initialize the printer. Store the string "PR#1"<cr> at $200 and JSR DOSCMD
($BE03). This sets up the output hooks for the printer. You can now use COUT
($FDED) to print your text just as if you writing to the screen.

If you are being difficult and designing a SYS program then it's more
difficult.You would need to initialize the card ($Cn0D) and then probably use
the PWRITE routine ($Cn0f holds the low byte of the address) to output it. 
Actually, ... disregard that.  Flipping to section 3.1, it says that by moving
$Cn00 to $36,$37 changes the standard output links. You should call the
subroutine at $3EA to transfer this link if you were using DOS. After this is
set COUT should be usable to get the text to the printer.