;       CheckPrinter v0.38
;       (cli-output)
;       DevPac-Version
;       Istvan 'Isy' Bognar


CheckPrinter:

sysbase        equ  4          
OpenLib        equ -552        
CloseLib       equ -414        
Output         equ -60         
Write          equ -48         

        lea.l  $bfd000,a0
        move.l (a0),d0
        and.b  #%111,d0
        cmp.w  #$ff00,d0
        beq.s  NoPaper
        cmp.w  #$fd00,d0
        beq.s  OffLine
        cmp.w  #$fc00,d0
        beq.s  OnLine
        rts

OffLine:
        move.l #OffLine_text,d2
        move.l #22,d3
        jsr    output
        rts

OnLine:
        move.l #OnLine_text,d2
        move.l #20,d3
        jsr    output
        rts

NoPaper:
        move.l #NoPaper_text,d2
        move.l #37,d3
        jsr    output
        rts


output:
        move.l  #dosname,a1
        moveq   #0,d0
        move.l  sysbase,a6
        jsr     OpenLib(a6)
        tst.l   d0
        beq     end
        move.l  d0,dosbase
        move.l  dosbase,a6
        jsr     Output(a6)
        move.l  d0,d4
        move.l  d4,d1
        move.l  dosbase,a6
        jsr     Write(a6)
        move.l  dosbase,a1
        move.l  sysbase,a6
        jsr     CloseLib(a6)    
end:    rts



OffLine_text:
        dc.b    'printer is offline !',7,10
        cnop    0,2
        
OnLine_text:
        dc.b    'printer is online !',10
        cnop    0,2
        
NoPaper_text:
        dc.b    'no paper or printer is turned off !',7,10
        cnop    0,2
        

dosbase dc.l    0

dosname dc.b    'dos.library',0
        cnop    0,2

