home *** CD-ROM | disk | FTP | other *** search
- ;---------------------------------------------------------------------
- ; DEBUG-Stuff
- ;
-
- even
- dinit movem.l d0-d7/a0-a6,-(sp)
- move.l 4.w,a6
- move.l 276(a6),a1
- moveq #0,d0
- jsr -300(a6) ;Priorität auf 0, sonst klappt nix!
- lea ddosname(pc),a1
- jsr -408(a6)
- move.l d0,ddosbase
- move.l d0,a6
- clr.l doutput
- move.l #debugprocname,d1
- moveq #19,d2
- move.l #debugprocess-4,d3
- lsr.l #2,d3
- move.l #4096,d4
- jsr -138(a6)
- move.l d0,debugprocessid
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- cnop 0,4
- debugprocess move.l ddosbase(pc),a6
- move.l #dconname,d1
- move.l #1005,d2
- jsr -30(a6)
- move.l d0,dconwindow
- .waitloop moveq #1,d1
- jsr -198(a6) ;Delay
- tst.w dquitflag
- bne.s .quit
- move.l doutput(pc),d2
- beq.s .waitloop
- move.l dconwindow(pc),d1
- move.l d2,a0
- moveq #-1,d3
- .1 tst.b (a0)+
- dbeq d3,.1
- neg.l d3
- subq.l #1,d3
- jsr -48(a6)
- clr.l doutput
- bra.s .waitloop
- .quit move.l dconwindow(pc),d1
- jsr -36(a6)
- clr.w dquitflag
- rts
-
- dexit movem.l d0-d7/a0-a6,-(sp)
- st dquitflag
- move.l ddosbase(pc),a6
- .1 moveq #1,d1
- jsr -198(a6)
- tst.w dquitflag
- bne.s .1
- move.l 4.w,a6
- move.l ddosbase(pc),a1
- jsr -414(a6)
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- dtype movem.l d0-d7/a0-a6,-(sp) ;Text in a0 ausgeben
- move.l a0,doutput
- move.l ddosbase(pc),a6
- .1 ;moveq #1,d1
- ;jsr -198(a6)
- tst.l doutput
- bne.s .1
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- dtypeb movem.l d0-d7/a0-a6,-(sp) ;BSTR ausgeben
- ; a0 BPTR auf BCPL-String
- add.l a0,a0
- add.l a0,a0
- lea dconvbuf(pc),a1
- moveq #0,d0
- move.b (a0)+,d0
- subq.w #1,d0
- bmi.s .ende
- .11 move.b (a0)+,(a1)+
- dbra d0,.11
- clr.b (a1)+
- lea dconvbuf(pc),a0
- bsr dtype
- .ende movem.l (sp)+,d0-d7/a0-a6
- rts
-
- dspc move.l a0,-(sp) ;Space drucken
- lea dspct(pc),a0
- bsr dtype
- move.l (sp)+,a0
- rts
-
- dcr move.l a0,-(sp) ;Linefeed drucken
- lea dcrt(pc),a0
- bsr dtype
- move.l (sp)+,a0
- rts
-
- dtypehex ;ULONG in d0 als HEX-Zahl ausgeben
- movem.l d0-d7/a0-a6,-(sp)
- lea dconvbuf(pc),a0
- bsr dlong2hex
- move.b #32,(a0)+
- clr.b (a0)+
- lea dconvbuf(pc),a0
- bsr dtype
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- dtypedec ;ULONG in d0 als DEC-Zahl ausgeben
- movem.l d0-d7/a0-a6,-(sp)
- lea dconvbuf(pc),a0
- bsr dlong2dec
- move.b #32,(a0)+
- clr.b (a0)+
- lea dconvbuf(pc),a0
- bsr dtype
- movem.l (sp)+,d0-d7/a0-a6
- rts
-
- dlong2hex ;konvertiert LONG in d0 in HEX-String nach (a0)+
- moveq #7,d1
- .1 rol.l #4,d0
- move.b d0,d2
- and.b #$f,d2
- add.b #48,d2
- cmp.b #58,d2
- bcs.s .2
- addq.b #7,d2
- .2 move.b d2,(a0)+
- dbra d1,.1
- rts
-
- dlong2dec ;Converts Long in d0 to Dec-String in (a0)+
- tst.l d0
- bne.s .0
- move.b #"0",(a0)+
- rts
- .0 lea dlong2asciitab(pc),a1
- moveq #9,d1
- moveq #0,d6
- .1 move.l (a1)+,d2
- move.l d0,d3
- moveq #-1,d4
- .2 move.l d3,d5
- sub.l d2,d3
- cmp.l d5,d3
- dbhi d4,.2
- add.l d2,d3
- move.l d3,d0
- not.w d4
- bne.s .3
- tst.w d6
- beq.s .4
- .3 st d6
- add.b #"0",d4
- move.b d4,(a0)+
- .4 dbra d1,.1
- rts
- dlong2asciitab dc.l 1000000000,100000000,10000000,1000000,100000
- dc.l 10000,1000,100,10,1
-
- dconvbuf ds.b 200
-
- ddosbase dc.l 0
- dconwindow dc.l 0
- doutput dc.l 0
- dquitflag dc.w 0
- debugprocessid dc.l 0
- dconname dc.b "CON:0/150/640/106/DEBUG messages..",0
- ddosname dc.b "dos.library",0
- debugprocname dc.b "rSt-debug!",0
- dspct dc.b 32,0
- dcrt dc.b 10,0
- cnop 0,4
-