home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 2
/
crawlyvol2.bin
/
apps
/
dtp
/
pgsmodst
/
atariexp
/
ascii.s
next >
Wrap
Text File
|
1991-08-20
|
4KB
|
210 lines
Include "expequ.h"
Include "equ.h"
.text
***************************************************
*** ***
***************************************************
dumbentry:
clr.l d0
rts
dc.l "EXPT"
dc.w 200
dc.l 0
table: dc.l 0
dc.l name,special,check,ascii
check:
rrts: rts
*
* Ascii
*
ascii: move.l table,a0
move.l f_openw(a0),a0
jsr (a0)
beq rrts
move.l table,a0
move.l setrange(a0),a0
jsr (a0)
move.l table,a0
move.l doflag(a0),a0
tst.b (a0)
beq asc10
bsr asc1
asc10: move.l table,a0
move.l f_closew(a0),a0
jmp (a0)
asc1: move.l table,a0
move.l dorange(a0),a0
jsr (a0)
*
* this will get called for every chunk of text to be exported till
* all chunks are gone
*
move.l table,a4
move.l objptr(a4),a3
move.l (a3),a3
move.l (a3),a3
move.l markcol1(a4),a0
move.w (a0),d0
mulu #ob_SizeOf,d0
move.l ob_Ptr(a3,d0.l),a0
move.l (a0),a0
move.l cm_THandle(a0),a0
move.l (a0),a0
move.l a0,a1
move.l markoff1(a4),a2
add.l (a2),a0
move.l markoff2(a4),a2
add.l (a2),a1
move.l a0,curptr
move.l a1,endptr
*
asc2: move.l curptr,a0
cmp.l endptr,a0
bcc rrts
move.b (a0)+,d0
beq asc9
move.l a0,curptr
lea ktoi,a0
move.b d0,d1
moveq #0,d0
asc3: cmp.b (a0)+,d1
beq asc4
addq.w #1,d0
cmp.w #256,d0
bcs asc3
bra asc2
asc4: bsr putbyte
bra asc2
asc9: moveq #0,d0
move.b (a0)+,d0
move.l a0,curptr
move.l d0,-(sp)
lsl.w #2,d0
lea t_rtns,a0
move.l 0(a0,d0.w),a0
jsr (a0)
move.l (sp)+,d0
move.l table,a0
move.l cmdlength(a0),a0
move.b 0(a0,d0.l),d0
add.l d0,curptr
bra asc2
*****************************************
* *
*****************************************
crlf: move.b #$d,d0 ;cr
bsr putbyte
move.b #$a,d0 ;lf
bra putbyte
tab: move.b #9,d0 ;tab
bra putbyte
*****************************************
* *
*****************************************
putbyte:
move.l table,a1
move.l f_put(a1),a1
jmp (a1)
*****************************************
* *
*****************************************
putword:
move.l table,a1
move.l f_putw(a1),a1
jmp (a1)
*************************************************************
*************************************************************
.data
*
t_rtns: dc.l rrts,crlf,rrts,rrts,rrts,rrts,tab,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
dc.l rrts,rrts,rrts,rrts,rrts,rrts,rrts,rrts
ktoi: dc.b $00,$00,$00,$00,$00,$00,$00,$00 ;$00-$07
dc.b $00,$00,$00,$00,$00,$00,$00,$00 ;$08-$0f
dc.b $00,$00,$00,$00,$00,$00,$00,$00 ;$10-$17
dc.b $00,$00,$00,$00,$00,$00,$00,$00 ;$18-$1f
dc.b $20,$21,$22,$23,$24,$25,$26,$27
dc.b $28,$29,$2a,$2b,$2c,$2d,$2e,$2f
dc.b $30,$31,$32,$33,$34,$35,$36,$37
dc.b $38,$39,$3a,$3b,$3c,$3d,$3e,$3f
dc.b $40,$41,$42,$43,$44,$45,$46,$47
dc.b $48,$49,$4a,$4b,$4c,$4d,$4e,$4f
dc.b $50,$51,$52,$53,$54,$55,$56,$57
dc.b $58,$59,$5a,$5b,$5c,$5d,$5e,$5f
dc.b $60,$61,$62,$63,$64,$65,$66,$67
dc.b $68,$69,$6a,$6b,$6c,$6d,$6e,$6f
dc.b $70,$71,$72,$73,$74,$75,$76,$77
dc.b $78,$79,$7a,$7b,$7c,$7d,$7e,$00
dc.b 199,252,233,226,228,224,229,231
dc.b 234,235,232,239,238,236,196,197
dc.b 201,230,198,244,246,242,251,249
dc.b 254,214,220,162,163,161,187,164
dc.b 225,237,243,250,241,209,189,156
dc.b 185,000,141,145,144,186,136,137
dc.b 227,245,159,191,247,215,192,195
dc.b 213,000,000,180,181,183,184,182
dc.b 000,000,138,000,000,000,000,000
dc.b 000,000,000,000,000,000,000,000
dc.b 000,000,000,000,000,000,000,000
dc.b 000,000,000,000,000,165,000,151
dc.b 000,000,000,150,000,000,153,000
dc.b 000,000,000,000,000,160,000,000
dc.b 131,140,135,134,000,000,139,130
dc.b 155,172,171,128,147,148,149,173
*
special:
dc.w 1
dc.l spc1
name: dc.b "Ascii Text v2.0.0",0
spc1: dc.b "Stripped Ascii",0
.bss
curptr: ds.l 1
endptr: ds.l 1