שתשת  %                                    ;-----------------------------------------------------------------------------
;	sentcleaner v1.8 turbo - (c) galaxy/kingdom/tfa
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
;	save registers
;-----------------------------------------------------------------------------
start:
	movem.l	d0-d7/a0-a6,-(sp)

;-----------------------------------------------------------------------------
;	check if the tool was started from workbench
;-----------------------------------------------------------------------------
	move.l	4.w,a6
	jsr	-132(a6)			;forbid

	sub.l	a1,a1
	move.l	4.w,a6
	jsr	-294(a6)			;findtask
	move.l	d0,taskbuffer

	move.l	4.w,a6
	jsr	-138(a6)			;permit

	lea	taskbuffer(pc),a5
	move.l	(a5),a5
	tst.l	172(a5)
	bne.b	process

	lea	92(a5),a0
	move.l	4.w,a6
	jsr	-384(a6)			;waitport

	lea	92(a5),a0
	move.l	4.w,a6
	jsr	-372(a6)			;getmsg
	move.l	d0,wbstartup

;-----------------------------------------------------------------------------
;	open library
;-----------------------------------------------------------------------------
process:
	moveq	#0,d0
	lea	dosname(pc),a1
	move.l	4.w,a6
	jsr	-552(a6)			;openlibrary
	move.l	d0,dosbase
	tst.l	d0
	beq.w	exit2

	moveq	#0,d0
	lea	iconname(pc),a1
	move.l	4.w,a6
	jsr	-552(a6)			;openlibrary
	move.l	d0,iconbase
	tst.l	d0
	beq.w	exit1

;-----------------------------------------------------------------------------
;	open windows
;-----------------------------------------------------------------------------
	move.l	#windowname2,d1
	bsr.w	open
	move.l	filehandle(pc),windowhandle2

	move.l	#windowname1,d1
	bsr.w	open
	move.l	filehandle(pc),windowhandle1

;-----------------------------------------------------------------------------
;	get disk object icon
;-----------------------------------------------------------------------------
	lea	iconfile(pc),a0
	move.l	iconbase,a6
	jsr	-78(a6)				;get disk object
	move.l	d0,toolbuffer
	tst.l	d0
	bne.b	getnumber

;-----------------------------------------------------------------------------
;	if no icon exists then use default sentline
;-----------------------------------------------------------------------------
	move.l	#noicon,d2
	moveq	#noiconend-noicon,d3
	bsr.w	writetext2

	bset	#3,bittest
	bra.b	openagain

getnumber:
;-----------------------------------------------------------------------------
;	set first sentby if found
;-----------------------------------------------------------------------------
	bsr.w	getnumbers

	bset	#4,bittest
	bsr.w	togglesentby
	bclr	#4,bittest

;-----------------------------------------------------------------------------
;	open sent.dat und user.data
;-----------------------------------------------------------------------------
openagain:
	move.l	#filename1,d1
	bsr.w	lockfile
	move.l	d0,memory1
	lea	fileinfo(pc),a0
	move.l	124(a0),filelength1

	move.l	#text1,d2
	moveq	#text1end-text1,d3
	bsr.w	writetext2

	move.l	#filename1,d1
	bsr.w	open
	move.l	memory1(pc),d2
	bsr.w	read

	move.l	#filename2,d1
	bsr.w	lockfile
	move.l	d0,memory2
	lea	fileinfo(pc),a0
	move.l	124(a0),filelength2

	move.l	#text2,d2
	moveq	#text2end-text2,d3
	bsr.w	writetext2

	move.l	#filename2,d1
	bsr.w	open
	move.l	memory2(pc),d2
	bsr.w	read

;-----------------------------------------------------------------------------
;	goto main menu
;-----------------------------------------------------------------------------
	bra.w	askkeys

;-----------------------------------------------------------------------------
;	user data namen und position holen und file erstellen
;-----------------------------------------------------------------------------
main:
;58*4=232 longwords fuer user.data
;21*4=84  longwords fuer sent.dat

	bsr.w	openfile

	lea	filelength1(pc),a0
	move.l	(a0),d0
	divu	#84,d0
	swap	d0
	lsr.l	#8,d0
	lsr.l	#8,d0
	move.l	d0,numberofusersd1
	move.l	d0,numberofusersd2

	lea	filelength2(pc),a0
	move.l	(a0),d0
	divu	#232,d0
	swap	d0
	lsr.l	#8,d0
	lsr.l	#8,d0
	move.l	d0,numberofuserud1
	move.l	d0,numberofuserud2

	bsr.w	nextuser

gmoop:
	addq.l	#1,usernumber

moop:
	moveq	#0,d2
	move.l	numberofuserud2(pc),d2		;anzahl user im sent.dat holen
	tst.l	d2
	beq.w	finished

						;vergleiche handle
	moveq	#31-1,d7			;laenge des namens! bytes
loop:
	moveq	#0,d0
	moveq	#0,d1
	move.b	(a0)+,d0			;user.data
	move.b	(a1)+,d1			;sent.dat
	cmp.b	d0,d1				;userdata/sentdat checken!
	bne.w	nothandle
	tst.b	d0
	beq.b	handleinuse
	dbra	d7,loop

handleinuse:
	lea	memory1(pc),a0			;sent.dat
	move.l	(a0),a0
	add.l	addsentdat(pc),a0

	btst	#1,bittest
	bne.w	removeagain

sorry:
	lea	newhandle(pc),a1

	moveq	#84-1,d0			;bytes
copynew:
	move.b	(a0)+,(a1)+
	dbra	d0,copynew

	bsr.w	copynumber

	move.l	#found,d2
	moveq	#foundend-found,d3
	bsr.w	writetext2

	lea	newhandle(pc),a0
	moveq	#0,d3

gethandlesize:
	addq.b	#1,d3
	tst.b	(a0)+
	bne.b	gethandlesize
	subq.b	#1,d3

	move.l	#newhandle,d2
	bsr.w	writetext2

	move.l	#null,d2
	moveq	#nullend-null,d3
	bsr.w	writetext2

	move.l	#foundsentby,d2
	moveq	#foundsentbyend-foundsentby,d3
	bsr.w	writetext2

	move.l	#newhandle+31,d2
	moveq	#44,d3
	bsr.w	writetext2

	move.l	#null,d2
	moveq	#nullend-null,d3
	bsr.w	writetext2

	move.l	#slot,d2
	moveq	#slotend-slot,d3
	bsr.w	writetext2

	move.l	#newhandle+76,d2
	moveq	#4,d3
	bsr.w	writetext2

	move.l	#null,d2
	moveq	#nullend-null,d3
	bsr.w	writetext2

	move.l	#null,d2
	moveq	#nullend-null,d3
	bsr.w	writetext2

	move.l	#newhandle,d2
	bra.b	writenewuser

nothandle:
	moveq	#0,d2
	move.l	numberofusersd2(pc),d2		;anzahl user im sent.dat holen
	tst.l	d2
	beq.b	handlenotinuse

nexthandle:
	subq.l	#1,numberofusersd2
	add.l	#84,addsentdat			;naechsten user holen
	bsr.w	nextuser
	bra.w	moop

handlenotinuse:
	move.l	#nullbyte,d2

	btst	#0,bittest
	bne.b	createdefault

;-----------------------------------------------------------------------------
;	writenewfuser
;-----------------------------------------------------------------------------
writenewuser:
	move.l	filehandle(pc),d1
	moveq	#84,d3
	move.l	dosbase(pc),a6
	jsr	-48(a6)				;write

	add.l	#232,adduserdata		;naechsten user im user.data
	move.l	numberofusersd1(pc),numberofusersd2
	move.l	#0,addsentdat
	subq.l	#1,numberofuserud2
	bsr.w	nextuser
	bra.w	gmoop

;-----------------------------------------------------------------------------
;	create default sentby
;-----------------------------------------------------------------------------
createdefault:
	lea	memory2(pc),a0			;user.data
	move.l	(a0),a0
	add.l	adduserdata(pc),a0
	lea	defaultsentby(pc),a1
	lea	newhandle(pc),a2

	moveq	#31-1,d0
createl:
	tst.b	(a0)
	beq.b	nomoreprint
	moveq	#0,d2
	move.b	(a0)+,d2

printmore:
	move.b	d2,(a2)+
	dbra	d0,createl

	moveq	#2-1,d0
makesentby1:
	move.b	(a1)+,(a2)+
	dbra	d0,makesentby1

makesentby2:
	move.b	(a1)+,d1
	move.b	#$20,(a2)+

	lea	memory2(pc),a0			;user.data
	move.l	(a0),a0
	add.l	adduserdata(pc),a0

makesentby3:
	move.b	(a1)+,d1
	move.b	(a0)+,(a2)+
	tst.b	(a0)
	bne.b	makesentby3

makesentby4:
	move.b	(a1)+,d1
	move.b	#$20,(a2)+

makesentby5:
	move.b	(a1)+,(a2)+
	tst.b	(a1)
	bne.b	makesentby5

	lea	newhandle+81(pc),a0
	move.b	#1,(a0)

	lea	newhandle+83(pc),a0
	move.b	#1,(a0)

	bsr.b	copynumber

	move.l	#newhandle,d2
	bra.w	writenewuser

nomoreprint:
	moveq	#0,d2
	bra.b	printmore

;-----------------------------------------------------------------------------
;	remove default
;-----------------------------------------------------------------------------
removeagain:
	move.b	81(a0),d0
	cmp.b	#1,d0
	bne.b	notremove
	bra.w	handlenotinuse

notremove:
	bra.w	sorry

;-----------------------------------------------------------------------------
;	next user
;-----------------------------------------------------------------------------
nextuser:
	lea	memory1(pc),a1			;sent.dat
	move.l	(a1),a1
	add.l	addsentdat(pc),a1
	lea	memory2(pc),a0			;user.data
	move.l	(a0),a0
	add.l	adduserdata(pc),a0
	rts

;-----------------------------------------------------------------------------
;	binary to decimal converter
;-----------------------------------------------------------------------------
converter:
	lea	convpuffer(pc),a0
	divu	#1000,d0
	bsr.b	savepuffer

	divu	#100,d0
	bsr.b	savepuffer

	divu	#10,d0
	bsr.b	savepuffer

	add.w	#$30,d0
	move.b	d0,(a0)+
	rts

savepuffer:
	cmp.b	#0,d0
	beq.b	continent
	add.w	#$30,d0

continent:
	move.b	d0,(a0)+
	move.w	#0,d0
	swap	d0
	rts

;-----------------------------------------------------------------------------
;	copy user number
;-----------------------------------------------------------------------------
copynumber:
	move.l	usernumber(pc),d0
	bsr.b	converter
	lea	newhandle+76(pc),a1

copymode:
	lea	convpuffer(pc),a0
	move.l	(a0),d0

cut:
	tst.b	d0
	beq.b	goon
	ror.l	#8,d0
	move.l	d0,(a0)
	bra.b	cut

goon:
	moveq	#4-1,d0

copyworth:
	move.b	(a0)+,(a1)+
	dbra	d0,copyworth
	rts

;-----------------------------------------------------------------------------
;	ask keys
;-----------------------------------------------------------------------------
askeys:
	bra.w	togglesentby

askkeys:
	move.l	#menu,d2
	move.w	#menuend-menu,d3
	bsr.w	writetext1

loopkeys:
	bsr.w	getinput

	lea	inline(pc),a0
	move.b	(a0),d0

	cmp.b	#$31,d0
	beq.w	main

	cmp.b	#$32,d0
	beq.w	dodefaultsentby

	cmp.b	#$33,d0
	beq.w	removesentby

	cmp.b	#$34,d0
	beq.w	showcustom

	cmp.b	#$35,d0
	beq.w	togglesentby

	cmp.b	#$71,d0
	beq.b	ende

	cmp.b	#$51,d0
	beq.b	ende

	cmp.b	#$6c,d0
	beq.w	togglelog

	cmp.b	#$4c,d0
	beq.w	togglelog

	cmp.b	#$77,$bfec01
	beq.b	askkeys

	cmp.b	#$79,$bfec01
	beq.b	askkeys

	bra.b	loopkeys

;-----------------------------------------------------------------------------
;	finished
;-----------------------------------------------------------------------------
finished:
	move.l	#0,usernumber
	move.l	#0,adduserdata
	move.l	#0,addsentdat
	move.l	numberofusersd1(pc),numberofusersd2
	move.l	numberofuserud1(pc),numberofuserud2

	bclr	#0,bittest
	bclr	#1,bittest

	move.l	#created,d2
	moveq	#createdend-created,d3
	bsr.w	writetext2

	bsr.w	closefile
	bra.w	openagain

ende:
	lea	memory1(pc),a1
	move.l	(a1),a1
	move.l	filelength1(pc),d0
	move.l	4.w,a6
	jsr	-210(a6)			;freemem

	lea	memory2(pc),a1
	move.l	(a1),a1
	move.l	filelength2(pc),d0
	move.l	4.w,a6
	jsr	-210(a6)			;freemem

;-----------------------------------------------------------------------------
;	close everything
;-----------------------------------------------------------------------------
quit:
	btst	#2,bittest
	beq.b	quited
	bsr.w	closecapture

quited:
	move.l	windowhandle1(pc),filehandle
	bsr.w	closefile

	move.l	windowhandle2(pc),filehandle
	bsr.w	closefile

	move.l	iconbase(pc),a1
	move.l	4.w,a6
	jsr	-414(a6)			;closelibrary

exit1:
	move.l	dosbase(pc),a1
	move.l	4.w,a6
	jsr	-414(a6)			;closelibrary

exit2:
	tst.l	wbstartup
	beq.b	notreply

	move.l	4.w,a6
	jsr	-132(a6)			;forbid

	move.l	wbstartup(pc),a1
	move.l	4.w,a6
	jsr	-378(a6)			;replymsg

	move.l	4.w,a6
	jsr	-138(a6)			;permit

notreply:
	moveq	#0,d0

	movem.l	(sp)+,d0-d7/a0-a6
	rts

;-----------------------------------------------------------------------------
;	create new file
;-----------------------------------------------------------------------------
openfile:
	move.l	#filename3,d1
	move.w	#1006,d2
	bsr.b	doopen
	rts

;-----------------------------------------------------------------------------
;	set a lock on the file
;-----------------------------------------------------------------------------
lockfile:
	moveq	#-2,d2
	move.l	dosbase(pc),a6
	jsr	-84(a6)				;lock
	move.l	d0,locksave
	tst.l	d0
	beq.w	quit

;-----------------------------------------------------------------------------
;	get the fileinfo structure
;-----------------------------------------------------------------------------
	move.l	locksave(pc),d1
	move.l	#fileinfo,d2
	move.l	dosbase(pc),a6
	jsr	-102(a6)			;examine
	tst.l	d0
	bne.b	unlockfile

	bsr.b	unlock
	bra.w	quit

unlockfile:
	bsr.b	unlock

;-----------------------------------------------------------------------------
;	allocmem
;-----------------------------------------------------------------------------
	lea	fileinfo(pc),a0
	move.l	124(a0),d0
	move.l	#$10002,d1
	move.l	4.w,a6
	jsr	-198(a6)			;allocmem
	tst.l	d0
	beq.w	quit
	rts

;-----------------------------------------------------------------------------
;	unlock the file
;-----------------------------------------------------------------------------
unlock:
	move.l	locksave(pc),d1
	move.l	dosbase(pc),a6
	jsr	-90(a6)				;unlock
	rts

;-----------------------------------------------------------------------------
;	open file
;-----------------------------------------------------------------------------
open:
	move.w	#1005,d2

doopen:
	move.l	dosbase(pc),a6
	jsr	-30(a6)				;open
	move.l	d0,filehandle
	tst.l	d0
	beq.w	ende
	rts

;-----------------------------------------------------------------------------
;	read file
;-----------------------------------------------------------------------------
read:
	move.l	filehandle(pc),d1
	lea	fileinfo(pc),a0
	move.l	124(a0),d3
	move.l	dosbase(pc),a6
	jsr	-42(a6)				;read

;-----------------------------------------------------------------------------
;	close file
;-----------------------------------------------------------------------------
closefile:
	move.l	filehandle(pc),d1
	move.l	dosbase(pc),a6
	jsr	-36(a6)				;close
	tst.l	d0
	beq.w	ende
	rts

;-----------------------------------------------------------------------------
;	writetext
;-----------------------------------------------------------------------------
writetext1:
	move.l	windowhandle1(pc),d1
	move.l	dosbase(pc),a6
	jsr	-48(a6)				;write
	rts

;-----------------------------------------------------------------------------
;	writetext
;-----------------------------------------------------------------------------
writetext2:
	move.l	windowhandle2(pc),d1
	move.l	dosbase(pc),a6
	jsr	-48(a6)				;write
	rts

;-----------------------------------------------------------------------------
;	getinput
;-----------------------------------------------------------------------------
getinput:
	move.l	windowhandle1(pc),d1
	move.l	#inline,d2
	moveq	#1,d3
	move.l	dosbase(pc),a6
	jsr	-42(a6)				;read
	rts

;-----------------------------------------------------------------------------
;	show custom sentby
;-----------------------------------------------------------------------------
showcustom:
	move.l	#defsentby,d2
	moveq	#defaultsentbyend-defsentby,d3
	bsr.b	writetext2
	bra.w	askkeys

;-----------------------------------------------------------------------------
;	aktivate default creation
;-----------------------------------------------------------------------------
dodefaultsentby:
	bset	#0,bittest
	bra.w	main

;-----------------------------------------------------------------------------
;	removesentby
;-----------------------------------------------------------------------------
removesentby:
	bset	#1,bittest
	bra.w	main

;-----------------------------------------------------------------------------
;	togglelog
;-----------------------------------------------------------------------------
togglelog:
	bchg	#2,bittest

	btst	#2,bittest
	bne.b	activatecap

	bsr.b	closecapture
	move.l	#deactivate,d2
	moveq	#deactivateend-deactivate,d3
	bsr.b	writetext2
	move.l	#logcreated,d2
	moveq	#logcreatedend-logcreated,d3
	bsr.b	writetext2
	bra.w	askkeys

activatecap:
	move.l	#activate,d2
	moveq	#activateend-activate,d3
	bsr.b	writetext2
	bsr.b	opencapture
	bra.w	askkeys

;-----------------------------------------------------------------------------
;	create new file
;-----------------------------------------------------------------------------
opencapture:
	move.l	#filename4,d1
	move.w	#1006,d2
	move.l	dosbase(pc),a6
	jsr	-30(a6)				;open
	move.l	d0,caphandle
	tst.l	d0
	beq.w	ende

	move.l	windowhandle2(pc),puffer
	move.l	caphandle(pc),windowhandle2
	rts

;-----------------------------------------------------------------------------
;	close file
;-----------------------------------------------------------------------------
closecapture:
	move.l	caphandle(pc),d1
	move.l	dosbase(pc),a6
	jsr	-36(a6)				;close
	tst.l	d0
	beq.w	ende

	move.l	puffer(pc),windowhandle2
	rts

;-----------------------------------------------------------------------------
;	sentnumbers
;-----------------------------------------------------------------------------
togglesentby:
	btst	#3,bittest
	bne.b	kotz

	addq.w	#1,addnumber
	move.w	addnumber(pc),d0
	bsr.w	converter

	lea	sentnumber(pc),a1
	lea	convpuffer(pc),a0
	bsr.w	copymode

	bsr.b	gettooltype

	lea	convpuffer(pc),a0
	lea	numberbuffer(pc),a1
	moveq	#0,d0
	moveq	#0,d1
	move.w	(a0),d0
	move.w	(a1),d1
	cmp.w	d0,d1
	bne.b	clear
	move.w	#0,addnumber

clear:
	btst	#4,bittest
	bne.b	jungle

	bra.w	showcustom

kotz:
	btst	#4,bittest
	bne.b	jungle

	move.l	#noicon,d2
	moveq	#noiconend-noicon,d3
	bsr.w	writetext2

	bra.w	showcustom

jungle:
	rts

;-----------------------------------------------------------------------------
;	get sentby and copy to buffer
;-----------------------------------------------------------------------------
gettooltype:
	lea	sentbyget(pc),a1
	bsr.b	geticondata
	tst.l	d0
	beq.b	noicontype

	move.l	d0,a1
	lea	defaultsentby(pc),a0

	moveq	#44-1,d0
copydefault:
	move.b	(a1)+,(a0)+
	dbra	d0,copydefault

noicontype:
	rts

;-----------------------------------------------------------------------------
;	get amount of number posted in icon
;-----------------------------------------------------------------------------
getnumbers:
	lea	numbers(pc),a1
	bsr.b	geticondata
	tst.l	d0
	beq.b	nonumbers

	move.l	d0,a1
	lea	numberbuffer(pc),a0

	moveq	#2-1,d0
copynumbers:
	move.b	(a1)+,(a0)+
	dbra	d0,copynumbers
	rts

nonumbers:
	move.l	#noicon,d2
	moveq	#noiconend-noicon,d3
	bsr.w	writetext2

	bset	#3,bittest
	rts

;-----------------------------------------------------------------------------
;	get these tooltypes and position them all corectly
;-----------------------------------------------------------------------------
geticondata:
	lea	toolbuffer(pc),a0
	move.l	(a0),a0
	move.l	$36(a0),a0
	move.l	iconbase,a6
	jsr	-96(a6)				;findtooltype
	rts

;-----------------------------------------------------------------------------
;	data
;-----------------------------------------------------------------------------
dosname:
	dc.b	"dos.library",0
	even

dosbase:
	dc.l	0

iconname:
	dc.b	"icon.library",0
	even

iconbase:
	dc.l	0

windowname1:
	dc.b	"con:10/10/620/90/SentCleaner V1.8 Turbo By Galaxy/Kingsom/Tfa"
	dc.b	0
	even

windowname2:
	dc.b	"con:10/100/620/166/Action Window"
	dc.b	0
	even

text1:
	dc.b	"Reading File 'Doors:FileId/Sent.Dat' .... Done!"
	dc.b	0,$a
text1end:
	even

text2:
	dc.b	"Reading File 'Bbs:User.Data' ............ Done!"
	dc.b	0,$a,$a
text2end:
	even

created:
	dc.b	$a
	dc.b	"Optimized File Called 'Doors:FileId/Sent.Dat' Created!"
	dc.b	0,$a
createdend:
	even

logcreated:
	dc.b	$a
	dc.b	"Log File Called 'Doors:FileId/Sent.Log' Created!"
	dc.b	0,$a
logcreatedend:
	even

found:
	dc.b	$9b,"31m"
	dc.b	"User Found ..... "
	dc.b	$9b,"32m",0
foundend:
	even

foundsentby:
	dc.b	$9b,"31m"
	dc.b	"Sentby Found ... "
	dc.b	$9b,"33m",0
foundsentbyend:
	even

slot:
	dc.b	$9b,"31m"
	dc.b	"Slot Number .... "
	dc.b	0
slotend:
	even

activate:
	dc.b	$9b,"31m"
	dc.b	"Log Activated ....."
	dc.b	0,$a
activateend:
	even

deactivate:
	dc.b	$9b,"31m"
	dc.b	"Log Deactivated ..."
	dc.b	0,$a
deactivateend:
	even

null:
	dc.b	$a
nullend:
	even

menu:
	dc.b	$0c
	dc.b	"     1 = Clean Up 'Sent.Dat' Normaly"
	dc.b	$a
	dc.b	"     2 = Clean Up 'Sent.Dat' And Add Custom Sentby For Missing Sentby"
	dc.b	$a
	dc.b	"     3 = Clean Up 'Sent.Dat' And Remove Custom Sentby"
	dc.b	$a
	dc.b	"     4 = Show Current Custon Sentby"
	dc.b	$a
	dc.b	"     5 = Get Next Custom Sentby"
	dc.b	$a
	dc.b	$a
	dc.b	"     Press ["
	dc.b	$9b,"33m"
	dc.b	"1-5,Q,L"
	dc.b	$9b,"31m"
	dc.b	"] >"
	dc.b	0
menuend:
	even

noicon:
	dc.b	"No Icon Found/Loaded ...."
	dc.b	0,$a,$a
noiconend:
	even

defsentby:
	dcb.b	15,$20
	dc.b	$9b,"33m"

defaultsentby:
		;01234567890123456789012345678901234567890123
	dc.b	"--------------------------------------------"
	dc.b	0
	dc.b	$9b,"31m"
	dc.b	$a,$a
defaultsentbyend:
	even

sentbyget:
	dc.b	"SENTBY."

sentnumber:
	dc.b	0
	dc.w	0
	even

numbers:
	dc.b	"LINES",0

iconfile:
	dc.b	"doors:fileid/sentcleaner",0
	even

filename1:
	dc.b	"doors:fileid/sent.dat",0
	even

filename2:
	dc.b	"bbs:user.data",0
	even

filename3:
	dc.b	"doors:fileid/Sent.Dat",0
	even

filename4:
	dc.b	"doors:fileid/Sent.Log",0
	even

locksave:
	dcb.l	2,0

	align	0,4

fileinfo:
	dcb.l	260,0

filehandle:
	dc.l	0

windowhandle1:
	dc.l	0

windowhandle2:
	dc.l	0

caphandle:
	dc.l	0

filelength1:
	dc.l	0

filelength2:
	dc.l	0

memory1:
	dc.l	0

memory2:
	dc.l	0

numberofusersd1:
	dc.l	0

numberofusersd2:
	dc.l	0

numberofuserud1:
	dc.l	0

numberofuserud2:
	dc.l	0

addsentdat:
	dc.l	0

adduserdata:
	dc.l	0

usernumber:
	dc.l	0

puffer:
	dc.l	0

nullbyte:
	dcb.b	84,0

newhandle:
	dcb.b	84,0

convpuffer:
	dc.l	0

toolbuffer:
	dc.l	0

inline:
	dc.b	0
	even

bittest:
	dc.w	0

numberbuffer:
	dc.w	0

addnumber:
	dc.w	0

taskbuffer:
	dc.l	0

wbstartup:
	dc.l	0
