> PrintTo/s " Connect user printer to file : ( mcode% &100 2load%=&FFFF0A4B <: F*OSFIND=&FFCE:OSBPUT=&FFD4:OSARGS=&FFDA POSWRCH=&FFEE:OSBYTE=&FFF4 ZUPTV=&0222 d lptr=&A8 n: x P=0 1 P%=load%:O%=mcode% [OPT P*3+4 .errCantOpen +BRK:EQUB 192:EQUS "Can't open file":BRK : .go% (LDA UPTV+0:CMP newUPTV+0:BNE Checked LDA UPTV+1:CMP newUPTV+1 .Checked BPHP :\ Save EQ/NE if UPTV claimed &LDX #lptr:LDY #0:LDA #1:JSR OSARGS ;LDA (lptr),Y:CMP #13:BNE PrintOn :\ *PrintTo 3PLP:BNE exit :\ Not claimed \ \ Should I do a 3? D\ No, because this is selecting a printer, not enabling printout "\ ,:JSR Close :\ Close file if open 6=LDA #5:LDX oldfx5:JSR OSBYTE :\ Switch to old printer @4PHP:SEI :\ Disable IRQs J4LDA oldUPTV+0:STA UPTV+0 :\ Release UPTV TLDA oldUPTV+1:STA UPTV+1 ^4PLP :\ Restore IRQs h .exit rRTS |:  .Close 5LDY handle:BEQ exit :\ File not open 0LDA #0:JMP OSFIND :\ Close it :  .PrintOn BPLP:PHP:BNE OpenFile :\ Not claimed, file not open :JSR Close :\ Close file if open  .OpenFile 4LDX lptr+0:LDY lptr+1 :\ XY=>filename 6LDA #&80:JSR OSFIND :\ Try to open it TAY:BEQ errCantOpen STA handle PLP:BEQ AlreadyClaimed  PHP:SEI 2LDA UPTV+0:STA oldUPTV+0 :\ Claim UPTV LDA UPTV+1:STA oldUPTV+1 &LDA newUPTV+0:STA UPTV+0 0LDA newUPTV+1:STA UPTV+1 :PLP D.AlreadyClaimed N6LDA #5:TAX:JSR OSBYTE :\ Select printer X8STX oldfx5 :\ Save old printer bRTS l: v\ RESIDENT CODE \ ============= \ Print to user printer #\ A=action, X=buffer, Y=printer .MyPrinter ]:O%=O%-4: H' (P%&FFFF)>&B00:"Code overrun": RD "*SAVE PrintTo ";~mcode%;" ";~O%;" ";~go%&FFFF0000;" ";~load%