home *** CD-ROM | disk | FTP | other *** search
- **********************************************************************
- * program hpspoo.s residenter modul zur umlenkung *
- * pm 7/93 des biostraps 13.implementiert *
- * (pure-c) druck-dämon für *.pco-files. *
- **********************************************************************
-
- export oldgem
- export grpgem
- export oldbios
- export grpbios
- import gembuffer
- import gemclose
- import biosbuffer
- import spool
- import flag
-
- .text
-
- *-------------------------------*
- * residenter programmteil *
- *-------------------------------*
-
- dc.b "XBRAHPPD"
- oldgem: dc.l 0
-
- grpgem: tst.w flag
- bne dogem3
- move.w (a7),d0 * test user/super mode
- btst #13,d0
- bne.b sup1
- move.l usp,a0
- bra.b tst1
-
- sup1: lea 6(a7),a0
- tst1: cmp.w #17,(a0) * is it Cprnos
- bne dogem2
- move.w #-1,d0
- rte
- dogem2:
- cmp.w #5,(a0)
- bne dogem4
- move.w 2(a0),d0
- movem.l a1/d1-d2,-(a7)
- jsr gembuffer
- movem.l (a7)+,a1/d1-d2
- bra.b dogem3
- dogem4:
- cmp.w #$40,(a0)
- bne.b dogem5
- cmp.w #-3,2(a0)
- bne.b dogem5
- move.l 4(a0),d0
- move.l 8(a0),a0
- jsr gembuffer
- rte
- dogem5:
- cmp.w #$3E,(a0)
- bne.b dogem3
- cmp.w #-3,2(a0)
- bne.b dogem3
- jsr gemclose
- rte
- dogem3:
- move.l oldgem,-(a7)
- rts
-
-
- dc.b "XBRAHPPD"
-
- oldbios: dc.l 0
-
- grpbios:
- tst.w flag
- bne dobios
- move.w (a7),d0 * test user/super mode
- btst #13,d0
- bne.b sup
- move.l usp,a0
- bra.b tst
-
- sup: lea 6(a7),a0
- tst: cmp.w #3,(a0) * is it Bconout
- bne dobios1
- cmp.w #0,2(a0) * PRN:
- bne dobios
- move.w 4(a0),d0
- jsr biosbuffer
- rte
-
- dobios1:
- cmp.w #8,(a0) * is it Bconostat
- bne dobios
- cmp.w #0,2(a0) * PRN:
- bne dobios
- move.w #-1,d0
- rte
-
- dobios: move.l oldbios,-(a7)
- rts
-
- .data
-
- end
-
-