home *** CD-ROM | disk | FTP | other *** search
- ;Screen and File Routines
- cseg
- xref _asmlines
-
- xdef _p64to16
- _p64to16:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a0
- move.l 68(a7),d7
- subq.w #1,d7
- move.l a0,a1
- slp: move.w (a0)+,d0
- lsr.w #2,d0
- lsl.b #4,d0
- lsr.w #4,d0
- move.b d0,(a1)+
- dbra d7,slp
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- xdef _clrscr
- _clrscr:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a1
- move.l 68(a7),a2
- move.l 72(a7),a3
- move.l 76(a7),a4
- move.w _asmlines,d5
- clrlp0: move.w #38,d7
- clrlp1: clr.w (a1)+
- clr.w (a2)+
- clr.w (a3)+
- clr.w (a4)+
- dbra d7,clrlp1
- lea.l 2(a1),a1
- lea.l 2(a2),a2
- lea.l 2(a3),a3
- lea.l 2(a4),a4
- dbra d5,clrlp0
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- xdef _bwview
- _bwview:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a0
- move.l 68(a7),a1
- move.l 72(a7),a2
- move.l 76(a7),a3
- move.l 80(a7),a4
- move.l 84(a7),a5
- move.w _asmlines,d5
- bwlp0: move.l a0,a6
- move.w #38,d7
- bwlp1: move.w (a6)+,d6
- move.w d6,(a1)+
- clr.w (a2)+
- clr.w (a3)+
- clr.w (a4)+
- dbra d7,bwlp1
- lea.l 2(a1),a1
- lea.l 2(a2),a2
- lea.l 2(a3),a3
- lea.l 2(a4),a4
- adda.l a5,a0
- dbra d5,bwlp0
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- xdef _grayview
- _grayview:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a0
- move.l 68(a7),a1
- move.l 72(a7),a2
- move.l 76(a7),a3
- move.l 80(a7),a4
- move.l 84(a7),a5
- move.l #$10000000,d6
- move.w _asmlines,d5
- grlp0: move.l a0,a6
- move.w #77,d7
- grlp1: move.l (a6)+,d0
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- move.b d1,(a1)+
- move.b d2,(a2)+
- move.b d3,(a3)+
- move.b d4,(a4)+
- dbra d7,grlp1
- lea.l 2(a1),a1
- lea.l 2(a2),a2
- lea.l 2(a3),a3
- lea.l 2(a4),a4
- adda.l a5,a0
- dbra d5,grlp0
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- xdef _vplanesep
- _vplanesep:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a0
- move.l 68(a7),a1
- move.l 72(a7),a2
- move.l 76(a7),a3
- move.l 80(a7),a4
- move.l 84(a7),d7
- move.l #$10000000,d6
- subq.w #1,d7
- vplp: move.l (a0)+,d0
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- add.l d6,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- move.b d1,(a1)+
- move.b d2,(a2)+
- move.b d3,(a3)+
- move.b d4,(a4)+
- dbra d7,vplp
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- xdef _fplanesep
- _fplanesep:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a0
- move.l 68(a7),a1
- move.l 72(a7),a2
- move.l 76(a7),a3
- move.l 80(a7),a4
- move.l 84(a7),d7
- subq.w #1,d7
- fplp: move.l (a0)+,d0
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- lsl.l #1,d0
- roxl.b #1,d4
- lsl.l #1,d0
- roxl.b #1,d3
- lsl.l #1,d0
- roxl.b #1,d2
- lsl.l #1,d0
- roxl.b #1,d1
- not.b d1
- not.b d2
- not.b d3
- not.b d4
- move.b d1,(a1)+
- move.b d2,(a2)+
- move.b d3,(a3)+
- move.b d4,(a4)+
- dbra d7,fplp
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- xdef _fplanegen
- _fplanegen:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 64(a7),a0
- move.l 68(a7),a1
- move.l 72(a7),a2
- move.l 76(a7),a3
- move.l 80(a7),a4
- move.l 84(a7),d7
- subq.w #1,d7
- fpglp: move.b (a1)+,d1
- not.b d1
- move.b (a2)+,d2
- not.b d2
- move.b (a3)+,d3
- not.b d3
- move.b (a4)+,d4
- not.b d4
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- lsl.b #1,d4
- roxl.l #1,d0
- lsl.b #1,d3
- roxl.l #1,d0
- lsl.b #1,d2
- roxl.l #1,d0
- lsl.b #1,d1
- roxl.l #1,d0
- move.l d0,(a0)+
- dbra d7,fpglp
- movem.l (a7)+,d0-d7/a0-a6
- rts
-