#NO_APP
gcc2_compiled.:
.text
LC0:
	.ascii "WriteStream: cmd %ld  buflen %ld  chan %ld\12\0"
	.even
.globl _WriteStream
_WriteStream:
	link a5,#-4
	movel d2,sp@-
	movew a5@(22),a5@(22)
	pea 1:w
	pea 48:w
	jbsr _AllocMem
	addqw #8,sp
	movel d0,a5@(-4)
	tstw _DDebug
	jeq L6
	moveq #0,d0
	movew a5@(22),d0
	movel d0,sp@-
	movel a5@(16),sp@-
	movel a5@(8),sp@-
	pea LC0
	jbsr _printf
	addw #16,sp
L6:
	movel a5@(-4),a0
	moveq #5,d2
	movel d2,a0@(10)
	movel a5@(-4),a0
	movel _IOSink,a0@(14)
	pea 1:w
	movel a5@(16),sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel a5@(-4),a0
	movel d0,a0@(40)
	movel a5@(-4),a0
	movel a5@(16),a0@(36)
	movel a5@(-4),a0
	clrl a0@(32)
	movel a5@(-4),a0
	movew a5@(10),a0@(28)
	movel a5@(-4),a0
	clrb a0@(31)
	movel a5@(-4),a0
	cmpw #128,a5@(22)
	jhi L7
	moveq #0,d1
	movew a5@(22),d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a1
	moveb a1@(10,d0:l),d0
	jra L8
L7:
	moveb #126,d0
L8:
	moveb d0,a0@(9)
	movel a5@(16),sp@-
	movel a5@(-4),a0
	movel a0@(40),sp@-
	movel a5@(12),sp@-
	jbsr _BMov
	addw #12,sp
	movel a5@(-4),sp@-
	pea _TxList
	jbsr _Enqueue
	addqw #8,sp
	jbsr _do_wupdate
L5:
	movel a5@(-8),d2
	unlk a5
	rts
LC1:
	.ascii "WritePort: cmd %ld  buflen %ld  rt %ld unit %ld\12\0"
	.even
.globl _WritePort
_WritePort:
	link a5,#-4
	pea 1:w
	pea 48:w
	jbsr _AllocMem
	addqw #8,sp
	movel d0,a5@(-4)
	tstw _DDebug
	jeq L10
	movel a5@(28),sp@-
	movel a5@(24),sp@-
	movel a5@(20),sp@-
	movel a5@(12),sp@-
	pea LC1
	jbsr _printf
	addw #20,sp
L10:
	movel a5@(-4),a0
	movel a5@(24),a0@(10)
	movel a5@(-4),a0
	tstl a5@(24)
	jeq L11
	movel _IOSink,d0
	jra L12
L11:
	movel _DNetPort,d0
L12:
	movel d0,a0@(14)
	movel a5@(-4),a0
	movel a5@(28),a0@(24)
	movel a5@(-4),a0
	movew a5@(14),a0@(28)
	movel a5@(-4),a0
	clrb a0@(31)
	movel a5@(-4),a0
	clrl a0@(40)
	movel a5@(-4),a0
	clrl a0@(36)
	movel a5@(-4),a0
	clrl a0@(32)
	tstl a5@(16)
	jeq L13
	pea 1:w
	movel a5@(20),sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel a5@(-4),a0
	movel d0,a0@(40)
	movel a5@(-4),a0
	movel a5@(20),a0@(36)
	movel a5@(20),sp@-
	movel a5@(-4),a0
	movel a0@(40),sp@-
	movel a5@(16),sp@-
	jbsr _BMov
	addw #12,sp
L13:
	movel a5@(-4),sp@-
	movel a5@(8),sp@-
	jbsr _PutMsg
	addqw #8,sp
	moveq #5,d1
	cmpl a5@(24),d1
	jne L14
	addql #1,_NumCon
L14:
L9:
	unlk a5
	rts
.data
	.even
_ran.8:
	.long 13
.text
	.even
.globl _alloc_channel
_alloc_channel:
	link a5,#-16
	movel d3,sp@-
	movel d2,sp@-
	moveq #-12,d0
	addl a5,d0
	movel d0,sp@-
	jbsr _DateStamp
	addqw #4,sp
	movel _ran.8,d0
	movel d0,d1
	addl d1,d1
	addl d0,d1
	asll #2,d1
	addl d0,d1
	movel d1,d0
	addql #1,d0
	movel _ran.8,d2
	movel d2,d1
	moveq #9,d3
	lsrl d3,d1
	movel d1,d2
	addl a5@(-12),d2
	movel d2,d1
	addl a5@(-8),d1
	movel d1,d2
	addl a5@(-4),d2
	movel d0,d3
	eorl d2,d3
	movel d3,_ran.8
	moveq #127,d0
	andl _ran.8,d0
	movew d0,a5@(-14)
L16:
	cmpw #127,a5@(-14)
	jhi L17
	moveq #0,d1
	movew a5@(-14),d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	tstb a0@(8,d0:l)
	jne L19
	movew a5@(-14),d1
	moveq #0,d0
	movew d1,d0
	jra L15
L19:
L18:
	addqw #1,a5@(-14)
	jra L16
L17:
	nop
	moveq #127,d0
	andl _ran.8,d0
	movew d0,a5@(-14)
L20:
	cmpw #65535,a5@(-14)
	jeq L21
	moveq #0,d1
	movew a5@(-14),d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	tstb a0@(8,d0:l)
	jne L23
	movew a5@(-14),d1
	moveq #0,d0
	movew d1,d0
	jra L15
L23:
L22:
	subqw #1,a5@(-14)
	jra L20
L21:
	moveq #-1,d0
	jra L15
L15:
	movel a5@(-24),d2
	movel a5@(-20),d3
	unlk a5
	rts
	.even
.globl _GetNext
_GetNext:
	link a5,#-4
	movel a5@(8),a0
	movel a0@,a5@(-4)
	movel a5@(-4),a0
	tstl a0@
	jeq L25
	movel a5@(-4),d0
	jra L24
L25:
	moveq #0,d0
	jra L24
L24:
	unlk a5
	rts
	.even
.globl _chkbuf
_chkbuf:
	link a5,#-4
	movel d2,sp@-
	movew a5@(14),a5@(14)
	clrb a5@(-4)
	clrb a5@(-3)
	clrw a5@(-2)
L27:
	movew a5@(14),d2
	cmpw a5@(-2),d2
	jls L28
	moveq #0,d0
	movew a5@(-2),d0
	movel a5@(8),a0
	moveb a0@(d0:l),d2
	addb d2,a5@(-3)
	moveb a5@(-3),d2
	addb d2,a5@(-4)
L29:
	addqw #1,a5@(-2)
	jra L27
L28:
	moveb a5@(-4),d2
	addb d2,a5@(-3)
	negb a5@(-3)
	moveq #0,d0
	moveb a5@(-3),d0
	asll #8,d0
	moveq #0,d1
	moveb a5@(-4),d1
	orl d1,d0
	jra L26
L26:
	movel a5@(-8),d2
	unlk a5
	rts
LC2:
	.ascii "timer.device\0"
	.even
.globl _TimerOpen
_TimerOpen:
	link a5,#0
	clrl sp@-
	movel a5@(8),sp@-
	pea 1:w
	pea LC2
	jbsr _OpenDevice
	addw #16,sp
	tstb d0
	jeq L31
	pea LC2
	jbsr _dneterror
	addqw #4,sp
L31:
	movel a5@(8),a0
	movel a5@(12),a0@(14)
	movel a5@(8),a0
	movew #9,a0@(28)
L30:
	unlk a5
	rts
	.even
.globl _TimerClose
_TimerClose:
	link a5,#0
	movel a5@(8),sp@-
	jbsr _CloseDevice
	addqw #4,sp
	movel a5@(8),a0
	clrl a0@(20)
L32:
	unlk a5
	rts
	.even
.globl _InitServers
_InitServers:
	link a5,#0
	pea _SvList
	jbsr _NewList
	addqw #4,sp
L33:
	unlk a5
	rts
LC3:
	.ascii "r\0"
LC4:
	.ascii "dnet.servers\0"
LC5:
	.ascii "s:dnet.servers\0"
LC6:
	.ascii "%ld %s %s\0"
LC7:
	.ascii "Addr: %08lx\12\0"
LC8:
	.ascii "DNET.SERVER.%ld\0"
LC9:
	.ascii "__dnet\0"
LC10:
	.ascii "Addr: %08lx %08lx\12\0"
LC11:
	.ascii "\6__dnet\0"
LC12:
	.ascii "Starting Server: %s %s\12\0"
LC13:
	.ascii "Unable to start server: %s %s\12\0"
LC14:
	.ascii "Server not found: %s\12\0"
	.even
.globl _RunServer
_RunServer:
	link a5,#-316
	movel d2,sp@-
	movew a5@(10),a5@(10)
	tstw a5@(10)
	jne L35
	jra L34
L35:
	pea LC3
	pea LC4
	jbsr _fopen
	addqw #8,sp
	movel d0,d1
	movel d1,a5@(-4)
	tstl d1
	jne L36
	pea LC3
	pea LC5
	jbsr _fopen
	addqw #8,sp
	movel d0,a5@(-4)
L36:
	tstl a5@(-4)
	jeq L37
L38:
	movel a5@(-4),sp@-
	pea 128:w
	movel a5,d0
	addl #-132,d0
	movel d0,sp@-
	jbsr _fgets
	addw #12,sp
	tstl d0
	jeq L39
	movel a5,d0
	addl #-260,d0
	movel d0,sp@-
	movel a5,d0
	addl #-196,d0
	movel d0,sp@-
	movel a5,d0
	addl #-264,d0
	movel d0,sp@-
	pea LC6
	movel a5,d0
	addl #-132,d0
	movel d0,sp@-
	jbsr _sscanf
	addw #20,sp
	moveq #3,d2
	cmpl d0,d2
	jne L40
	moveq #0,d0
	movew a5@(10),d0
	cmpl a5@(-264),d0
	jne L40
	jra L41
L40:
	jra L38
L39:
	movel a5@(-4),sp@-
	jbsr _fclose
	addqw #4,sp
L37:
	jra L34
L41:
	movel a5@(-4),sp@-
	jbsr _fclose
	addqw #4,sp
	movel a5,d0
	addl #-196,d0
	movel d0,sp@-
	jbsr _LoadSeg
	addqw #4,sp
	movel d0,d1
	movel d1,a5@(-268)
	tstl d1
	jeq L42
	movel a5@(-268),sp@-
	pea LC7
	jbsr _printf
	addqw #8,sp
	clrl sp@-
	jbsr _FindTask
	addqw #4,sp
	movel d0,a5@(-276)
	pea 1:w
	pea 50:w
	jbsr _AllocMem
	addqw #8,sp
	movel d0,a5@(-272)
	moveq #0,d0
	movew a5@(10),d0
	movel d0,sp@-
	pea LC8
	moveq #14,d0
	addl a5@(-272),d0
	movel d0,sp@-
	jbsr _sprintf
	addw #12,sp
	movel a5@(-272),a0
	movel a5@(-268),a0@(46)
	movel #LC9,_FakeArgs
	moveq #6,d2
	movel d2,_FakeLen
	movel a5@(-272),a0
	movel a0@(46),d1
	movel d1,d0
	asll #2,d0
	movel d0,a1
	addqw #4,a1
	movel a1,_FakeGo
	movel a5@(-276),a0
	movel a0@(172),_FakeCLI
	movel _FakeGo,sp@-
	movel a5@(-268),sp@-
	pea LC10
	jbsr _printf
	addw #12,sp
	pea 32:w
	jbsr _malloc
	addqw #4,sp
	movel d0,a5@(-296)
	pea LC11
	movel a5@(-296),sp@-
	jbsr _strcpy
	addqw #8,sp
	movel _FakeCLI,sp@-
	jbsr _BTOC
	addqw #4,sp
	movel d0,a5@(-292)
	movel a5@(-292),a0
	movel a0@(16),a5@(-288)
	movel a5@(-296),sp@-
	jbsr _CTOB
	addqw #4,sp
	movel a5@(-292),a0
	movel d0,a0@(16)
	pea 4096:w
	movel #_fakeseg,d1
	movel d1,d0
	asrl #2,d0
	movel d0,sp@-
	clrl sp@-
	moveq #14,d0
	addl a5@(-272),d0
	movel d0,sp@-
	jbsr _CreateProc
	addw #16,sp
	movel d0,d1
	movel d1,a5@(-280)
	tstl d1
	jeq L43
	moveq #-92,d2
	addl d2,a5@(-280)
	moveq #92,d2
	addl a5@(-276),d2
	movel d2,a5@(-302)
	lea a5@(-260),a1
	movel a1,a5@(-306)
	moveq #14,d0
	addl a5@(-272),d0
	movel d0,sp@-
	movel a5,d0
	addl #-196,d0
	movel d0,sp@-
	pea LC12
	jbsr _printf
	addw #12,sp
	movel a5,d0
	addl #-316,d0
	movel d0,sp@-
	moveq #92,d0
	addl a5@(-280),d0
	movel d0,sp@-
	jbsr _PutMsg
	addqw #8,sp
	moveq #92,d0
	addl a5@(-276),d0
	movel d0,sp@-
	jbsr _WaitPort
	addqw #4,sp
	moveq #92,d0
	addl a5@(-276),d0
	movel d0,sp@-
	jbsr _GetMsg
	addqw #4,sp
	movel a5@(-272),sp@-
	pea _SvList
	jbsr _AddTail
	addqw #8,sp
	jra L44
L43:
	moveq #14,d0
	addl a5@(-272),d0
	movel d0,sp@-
	movel a5,d0
	addl #-196,d0
	movel d0,sp@-
	pea LC13
	jbsr _printf
	addw #12,sp
	pea 50:w
	movel a5@(-272),sp@-
	jbsr _FreeMem
	addqw #8,sp
L44:
	movel a5@(-292),a0
	movel a5@(-288),a0@(16)
	movel a5@(-296),sp@-
	jbsr _free
	addqw #4,sp
	jra L45
L42:
	movel a5,d0
	addl #-196,d0
	movel d0,sp@-
	pea LC14
	jbsr _printf
	addqw #8,sp
L45:
L34:
	movel a5@(-320),d2
	unlk a5
	rts
LC15:
	.ascii "Waiting for server %s to exit\12\0"
	.even
.globl _DeleteServers
_DeleteServers:
	link a5,#-8
	nop
L47:
	pea _SvList
	jbsr _RemHead
	addqw #4,sp
	movel d0,d1
	movel d1,a5@(-4)
	tstl d1
	jeq L48
	jbsr _Forbid
L49:
	moveq #14,d0
	addl a5@(-4),d0
	movel d0,sp@-
	jbsr _FindTask
	addqw #4,sp
	movel d0,d1
	movel d1,a5@(-8)
	tstl d1
	jeq L50
	pea 4096:w
	movel a5@(-8),sp@-
	jbsr _Signal
	addqw #8,sp
	jbsr _Permit
	moveq #14,d0
	addl a5@(-4),d0
	movel d0,sp@-
	pea LC15
	jbsr _printf
	addqw #8,sp
	jbsr _Forbid
	jra L49
L50:
	jbsr _Permit
	movel a5@(-4),a0
	movel a0@(46),sp@-
	jbsr _UnLoadSeg
	addqw #4,sp
	pea 50:w
	movel a5@(-4),sp@-
	jbsr _FreeMem
	addqw #8,sp
	jra L47
L48:
L46:
	unlk a5
	rts
	.even
.globl _dneterror
_dneterror:
	link a5,#-8
	movel a2,sp@-
	tstl a5@(8)
	jeq L52
	movel a5@(8),sp@-
	jbsr _puts
	addqw #4,sp
L52:
	tstl _DNetPort
	jeq L53
	jbsr _Forbid
L54:
	pea _TxList
	jbsr _RemHead
	addqw #4,sp
	movel d0,d1
	movel d1,a5@(-6)
	tstl d1
	jne L56
	movel _DNetPort,sp@-
	jbsr _GetMsg
	addqw #4,sp
	movel d0,d1
	movel d1,a5@(-6)
	tstl d1
	jne L56
	jra L55
L56:
	movel a5@(-6),a0
	st a0@(31)
	movel a5@(-6),sp@-
	jbsr _ReplyMsg
	addqw #4,sp
	jra L54
L55:
	movel _DNetPort,sp@-
	jbsr _DeletePort
	addqw #4,sp
	jbsr _Permit
	clrl _DNetPort
L53:
	tstl _Wto+20
	jeq L57
	tstb _Wto_act
	jeq L58
	pea _Wto
	jbsr _AbortIO
	addqw #4,sp
	pea _Wto
	jbsr _WaitIO
	addqw #4,sp
	clrb _Wto_act
L58:
	pea _Wto
	jbsr _TimerClose
	addqw #4,sp
L57:
	tstl _Rto+20
	jeq L59
	tstb _Rto_act
	jeq L60
	pea _Rto
	jbsr _AbortIO
	addqw #4,sp
	pea _Rto
	jbsr _WaitIO
	addqw #4,sp
	clrb _Rto_act
L60:
	pea _Rto
	jbsr _TimerClose
	addqw #4,sp
L59:
	tstl _Cto+20
	jeq L61
	tstb _Cto_act
	jeq L62
	pea _Cto
	jbsr _AbortIO
	addqw #4,sp
	pea _Cto
	jbsr _WaitIO
	addqw #4,sp
	clrb _Cto_act
L62:
	pea _Cto
	jbsr _TimerClose
	addqw #4,sp
L61:
	jbsr _NetClose
	tstl _IOSink
	jeq L63
	movel _IOSink,sp@-
	jbsr _DeletePort
	addqw #4,sp
L63:
	clrl _IOSink
	clrw a5@(-2)
L64:
	cmpw #127,a5@(-2)
	jgt L65
	movew a5@(-2),a2
	movel a2,d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	cmpb #1,a0@(8,d0:l)
	jeq L67
	movew a5@(-2),a2
	movel a2,d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	tstl a0@(4,d0:l)
	jeq L67
	movew a5@(-2),a2
	movel a2,d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	movel a0@(4,d0:l),a1
	st a1@(31)
	movew a5@(-2),a2
	movel a2,d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	moveb #1,a0@(8,d0:l)
	movew a5@(-2),a2
	movel a2,d1
	movel d1,d0
	addl d0,d0
	addl d1,d0
	asll #2,d0
	lea _Chan,a0
	movel a0@(4,d0:l),sp@-
	jbsr _ReplyMsg
	addqw #4,sp
L67:
L66:
	addqw #1,a5@(-2)
	jra L64
L65:
	jbsr _DeleteServers
	pea 1:w
	jbsr _exit
	addqw #4,sp
L51:
	movel a5@(-12),a2
	unlk a5
	rts
	.even
.globl _fixsignal
_fixsignal:
	link a5,#0
	movel d2,sp@-
	movel a5@(8),a0
	moveq #24,d0
	addl a5@(8),d0
	cmpl a0@(20),d0
	jeq L69
	movel a5@(8),a0
	moveq #0,d0
	moveb a0@(15),d0
	moveq #1,d1
	movel d1,d2
	asll d0,d2
	movel d2,d0
	movel d0,sp@-
	movel a5@(8),a0
	movel a0@(16),sp@-
	jbsr _Signal
	addqw #8,sp
L69:
L68:
	movel a5@(-4),d2
	unlk a5
	rts
	.even
.globl _SetTimeouts
_SetTimeouts:
	link a5,#0
	pea 10:w
	movel a5@(8),sp@-
	jbsr ___divsi3
	addqw #8,sp
	movel d0,d1
	addql #1,d1
	movel d1,sp@-
	movel #400000,sp@-
	jbsr ___divsi3
	addqw #8,sp
	movel d0,_WTimeoutVal
	pea 10:w
	movel a5@(8),sp@-
	jbsr ___divsi3
	addqw #8,sp
	movel d0,d1
	addql #1,d1
	movel d1,sp@-
	movel #250000,sp@-
	jbsr ___divsi3
	addqw #8,sp
	movel d0,_RTimeoutVal
	movel _WTimeoutVal,d1
	movel d1,d0
	asll #5,d0
	subl d1,d0
	asll #2,d0
	addl d1,d0
	asll #3,d0
	movel d0,_WTimeoutVal
	movel _RTimeoutVal,d1
	movel d1,d0
	asll #5,d0
	subl d1,d0
	asll #2,d0
	addl d1,d0
	asll #3,d0
	movel d0,_RTimeoutVal
L70:
	unlk a5
	rts
.comm _FakeArgs,4
.comm _FakeLen,4
.comm _FakeGo,4
.comm _FakeCLI,4
.lcomm _SvList,12
