changeset 2291:c4aa9c53261a

DriveWire Internet server now made in 3rdparty/packages/drivewire
author boisy
date Wed, 30 Dec 2009 20:02:02 +0000
parents c0961e667550
children 2062c89e8492
files level1/cmds/chat.asm level1/cmds/dw.asm level1/cmds/ftp.asm level1/cmds/wget.asm level1/modules/scdwt.asm level2/coco3_6309/bootfiles/makefile level2/coco3_6309/cmds/makefile level2/coco3_6309/makefile level2/coco3_6309/startup.dwserver
diffstat 9 files changed, 37 insertions(+), 1000 deletions(-) [+]
line wrap: on
line diff
--- a/level1/cmds/chat.asm	Wed Dec 30 16:20:53 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-*********************************************************************************
-*  chat client via the DriveWire server
-*
-*	version 0.2 - 12/28/09 - AAW - mostly works
-*
-
-           nam     chat
-           ttl     program module
-
-           ifp1
-           use     defsfile
-           endc
-
-tylg        set     Prgrm+Objct
-atrv        set     ReEnt+rev
-rev         set     $00
-edition     set     1
-
-           mod     eom,name,tylg,atrv,start,size
-pbuffer     rmb     256
-portdev		rmb		10
-portpath	rmb		1
-outpath		rmb		1
-numbyt		rmb		1
-
-
-size        equ     .
-
-name        fcs     /chat/
-           fcb     edition
-
-******************************************			
-* writech - write character in A to screen
-* In:
-*   A = character to write
-*
-
-writech     pshs    y,x,a           ;preserve regs + put A on stack for write
-           lda     #1              ;path 1
-           ldy     #1              ;1 character
-           leax    ,s              ;write from stack
-           os9     I$Write         ;write it
-           puls    a,x,y,pc        ;return
-
-* write out the contents of pbuffer.. length is in numbyt
-writepb		clra
-			ldb		numbyt,u
-			tfr		d,y
-			lda		outpath,u
-			leax	pbuffer,u
-			os9		I$Write
-wrpb02		rts
-
-*************************************
-* chat main
-*
-
-
-
-        	
-wrname		ldy		#0001
-			
-wrnlp		lda		,x+
-			bmi		wrnout		;this is the last char
-			pshs	x
-			pshs	a			
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	1,s
-			puls	x
-			lbcs	errex2
-			bra		wrnlp         	
-
-wrnout		ldb		#C$CR		 	;end with a CR
-			anda    #$7F
-			pshs	d
-			ldy		#0002
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	2,s
-			lbcs	errex2
-			rts
-
-	
-        	
-			
-           * save initial parameters
-start      	pshs	d
-			pshs	x
-			
-			* set output to stdout
-			lda		#1
-			sta		outpath,u
-			
-			
-			* see if we can find a port to use
-			
-			* first setup pbuffer
-			leax 	pbuffer,u
-			lda		#47
-			sta		,x+
-			lda		#85
-			sta		,x+
-			lda		#48
-			sta		,x+
-			lda		#13
-			sta		,x
-						
-tryport		lda   #UPDAT.      		get mode for modem path
-			leax	pbuffer,u    	point to modem path
-			os9   	I$Open      	open it
-			bcc		gotport		
-			
-			cmpb	#250		;in use?
-			lbne	errex1		;other error, bail out
-			leax	pbuffer,u
-			lda		2,x
-			inca
-			sta		2,x
-			bra		tryport
-		
-chat		fcs		'chat'				
-			
-gotport		sta		portpath,u
-				
-			*print out port we got
-			lda		#4
-			sta		numbyt,u
-			leax	pbuffer,u
-			lbsr		writepb
-						
-			* at this point we should have a port
-			leax		chat,pc
-			lbsr		wrname			;write our command to server
-		
-			* write parameters to port - X = start addr, y = # bytes, A = path#
-			
-			puls 	x
-			puls	y
-			lda		portpath,u
-			
-			os9		I$Write
-			lbcs	errex2
-			
-			* response loop
-			* read 1 byte, this is how many bytes follow in this set.  0 for end of response
-			
-			* check for typed characters
-rloop		ldd   #SS.Ready    Get code to check data ready on Std In
-        	os9   I$GetStt     any data from keyboard?
-        	bcc   stdinc		read and send the byte
-        	
-        	* check for incoming serial data
-        	lda		portpath,u
-        	ldb		#SS.Ready
-        	os9		I$GetStt
-        	bcc		serinc		read and print the byte
-        	
-        	* sleep a while
-        	ldx		#0001
-        	os9		F$Sleep
-        	bra		rloop
-
-        	* read one byte from stdin, send to server
-stdinc		ldy		#0001
-			clra
-			leax	numbyt,u
-			os9		I$Read
-			lbcs	errex2
-			
-			ldy		#0001
-			lda		portpath,u
-			leax	numbyt,u
-			os9		I$Write
-			lbcs	errex2
-			
-			bra		rloop
-			
-        	* read one byte from serial, print on screen
-serinc		ldy		#0001
-			lda		portpath,u
-			leax	numbyt,u
-			os9		I$Read
-			lbcs	errex2
-			
-			* bail out if 0
-			lda		numbyt,u
-			beq		done
-			
-			ldy		#0001
-			lda		#1
-			leax	numbyt,u
-			os9		I$Write
-			lbcs	errex2
-			
-			bra		rloop
-			
-			
-			
-done        clrb                    ;no errors here			
-			* close port
-errex2		lda		portpath,u
-			os9		I$Close
-		
-errex1		os9     F$Exit          ;goodbye
-
-
-
-           emod
-eom         equ     *
- end
--- a/level1/cmds/dw.asm	Wed Dec 30 16:20:53 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-*********************************************************************************
-*  dw - send commands to DriveWire server
-* 
-*   using a virtual channel from DriveWire, send commands and write results
-*   to stdout.
-* 
-*	version 0.1 - 12/17/09 - AAW - bare minimum implementation 
-*
-
-            nam     dw
-            ttl     program module       
-
-            ifp1
-            use     defsfile
-            endc
-
-tylg        set     Prgrm+Objct   
-atrv        set     ReEnt+rev
-rev         set     $00
-edition     set     1
-
-            mod     eom,name,tylg,atrv,start,size
-pbuffer     rmb     256
-portdev		rmb		10
-portpath	rmb		1
-numbyt		rmb		1
-
-size        equ     .
-
-name        fcs     /dw/
-            fcb     edition
-
-******************************************			
-* writech - write character in A to screen
-* In:
-*   A = character to write
-*
-
-writech     pshs    y,x,a           ;preserve regs + put A on stack for write
-            lda     #1              ;path 1         
-            ldy     #1              ;1 character
-            leax    ,s              ;write from stack               
-            os9     I$Write         ;write it
-            puls    a,x,y,pc        ;return
-            
-* write out the contents of pbuffer.. length is in numbyt
-writepb		clra
-			ldb		numbyt,u
-			tfr		d,y
-			lda		#1
-			leax	pbuffer,u
-			os9		I$Write
-wrpb02		rts
-            
-*************************************           
-* dw main
-*
-
-* default to port /t0.. and use it no matter what, maybe set on cmdline in future?	
-defport  	fcc   '/t0'
-         	fcb   C$CR
-         	fcb   $00,$00               
-
-            * initialization/startup?
-start      nop
-			
-			* save parameters for later
-			pshs	d
-			pshs	x
-			
-			* see if we can find a port to use
-			
-			* first setup pbuffer
-			leax 	pbuffer,u
-			lda		#47
-			sta		,x+
-			lda		#85
-			sta		,x+
-			lda		#48
-			sta		,x+
-			lda		#13
-			sta		,x
-						
-tryport		lda   #UPDAT.      		get mode for modem path
-			leax	pbuffer,u    	point to modem path
-			os9   	I$Open      	open it
-			bcc		gotport		
-			
-			cmpb	#250		;in use?
-			lbne	errex1		;other error, bail out
-			leax	pbuffer,u
-			lda		2,x
-			inca
-			sta		2,x
-			bra		tryport
-
-gotport		sta		portpath,u
-				
-		
-			* write our name
-			ldy		#0001
-			leax	<name,pc
-wrnlp		lda		,x+
-			bmi		wrnout		;this is the last char
-			pshs	x
-			pshs	a			
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	1,s
-			puls	x
-			lbcs	errex2
-			bra		wrnlp
-			
-wrnout		ldb		#C$CR		 	;end with a CR
-			anda    #$7F 
-			pshs	d
-			ldy		#0002
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	2,s
-			lbcs	errex2
-			
-			
-			* write parameters to port - X = start addr, y = # bytes, A = path#
-			
-			puls 	x
-			puls	y
-			lda		portpath,u
-			
-			os9		I$Write
-			lbcs	errex2
-			
-			* response loop
-			* read 1 byte, this is how many bytes follow in this set.  0 for end of response
-			
-rloop		ldy		#0001			;read one byte
-			leax	numbyt,u		;put it in our numbyt 
-			lda		portpath,u		;read from port path
-			os9		I$Read
-			lbcs	errex2
-			
-			* if Y = 1, we got our byte, otherwise bail out
-			cmpy	#0001
-			bne		errex2
-			
-			* if byte was 0, we're done
-			ldb		numbyt,u
-			beq		done
-			
-			*otherwise read the number of bytes announced
-			clra
-			tfr		d,y
-			leax	pbuffer,u
-			lda		portpath,u
-			os9		I$Read
-			lbcs	errex2
-			
-			* did we get the right # of bytes?
-			tfr		y,d
-			cmpb	numbyt,u
-			bne		errex2		; gives bytes actually read as error #.. wrong but handy
-			
-			* write out pbuffer
-			lbsr		writepb
-
-			* next set
-			bra		rloop	
-
-
-			
-			
-done        clrb                    ;no errors here			
-			* close port
-errex2		lda		portpath,u
-			os9		I$Close
-		
-errex1		os9     F$Exit          ;goodbye    
-            
-
-
-            
-            
-			
-*end of mod         
-            emod
-eom         equ     *
-            end
-
--- a/level1/cmds/ftp.asm	Wed Dec 30 16:20:53 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-*********************************************************************************
-*  ftp - ftp client via the DriveWire server
-* 
-*   using a virtual channel from DriveWire, send commands and write results
-*   to stdout.
-* 
-*	version 0.2 - 12/19/09 - AAW - bare minimum implementation 
-*
-
-            nam     ftp
-            ttl     program module       
-
-            ifp1
-            use     defsfile
-            endc
-
-tylg        set     Prgrm+Objct   
-atrv        set     ReEnt+rev
-rev         set     $00
-edition     set     1
-
-            mod     eom,name,tylg,atrv,start,size
-pbuffer     rmb     256
-portdev		rmb		10
-portpath	rmb		1
-outpath		rmb		1
-numbyt		rmb		1
-filename	rmb		128
-filepath	rmb	 	1
-
-
-size        equ     .
-
-name        fcs     /ftp/
-            fcb     edition
-
-******************************************			
-* writech - write character in A to screen
-* In:
-*   A = character to write
-*
-
-writech     pshs    y,x,a           ;preserve regs + put A on stack for write
-            lda     #1              ;path 1         
-            ldy     #1              ;1 character
-            leax    ,s              ;write from stack               
-            os9     I$Write         ;write it
-            puls    a,x,y,pc        ;return
-            
-* write out the contents of pbuffer.. length is in numbyt
-writepb		clra
-			ldb		numbyt,u
-			tfr		d,y
-			lda		outpath,u
-			leax	pbuffer,u
-			os9		I$Write
-wrpb02		rts
-            
-*************************************           
-* dw main
-*
-
-
-         	
-wrname		ldy		#0001
-			leax	<name,pc
-wrnlp		lda		,x+
-			bmi		wrnout		;this is the last char
-			pshs	x
-			pshs	a			
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	1,s
-			puls	x
-			lbcs	errex2
-			bra		wrnlp         	
-
-wrnout		ldb		#C$CR		 	;end with a CR
-			anda    #$7F 
-			pshs	d
-			ldy		#0002
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	2,s
-			lbcs	errex2
-			rts
-
-			
-            * save initial parameters
-start      	pshs	d
-			pshs	x
-			
-			* set output to stdout
-			lda		#1
-			sta		outpath,u
-			
-			
-			* see if we can find a port to use
-			
-			* first setup pbuffer
-			leax 	pbuffer,u
-			lda		#47
-			sta		,x+
-			lda		#85
-			sta		,x+
-			lda		#48
-			sta		,x+
-			lda		#13
-			sta		,x
-						
-tryport		lda   #UPDAT.      		get mode for modem path
-			leax	pbuffer,u    	point to modem path
-			os9   	I$Open      	open it
-			bcc		gotport		
-			
-			cmpb	#250		;in use?
-			lbne	errex1		;other error, bail out
-			leax	pbuffer,u
-			lda		2,x
-			inca
-			sta		2,x
-			bra		tryport
-		
-chat		fcs		'chat'				
-			
-gotport		sta		portpath,u
-							
-			bsr		wrname			;write our name to server
-		
-			* write parameters to port - X = start addr, y = # bytes, A = path#
-			
-			puls 	x
-			puls	y
-			lda		portpath,u
-			
-			os9		I$Write
-			lbcs	errex2
-			
-			* response loop
-			* read 1 byte, this is how many bytes follow in this set.  0 for end of response
-			
-rloop		leax	numbyt,u		;put it in our numbyt 
-			bsr		read1
-			
-			* if byte is 0, we're done
-			ldb		numbyt,u
-			lbeq		done
-			
-			* if byte is 240, server wants input
-			cmpb	#240
-			lbeq		getinp
-			
-			* if byte is 241, start writing to file
-			cmpb	#241
-			lbeq		wrfile
-			
-			* if byte is 242, close file
-			cmpb 	#242
-			beq		clfile
-			
-			* if byte is 243, start writing to stdout
-			cmpb	#243
-			lbeq		wrstdo
-			
-			* if byte is 244, set file name
-			cmpb	#244
-			beq		setfile
-			
-			* if byte is 245, create file
-			cmpb	#245
-			beq		crfile
-			
-			*otherwise read the number of bytes announced
-			clra
-			tfr		d,y
-			leax	pbuffer,u
-			lda		portpath,u
-			os9		I$Read
-			lbcs	errex2
-			
-			* did we get the right # of bytes?
-			tfr		y,d
-			cmpb	numbyt,u
-			lbne		errex2		; gives bytes actually read as error #.. wrong but handy
-			
-			* write out pbuffer
-			lbsr		writepb
-
-			* next set
-			bra		rloop	
-
-			* read one byte
-read1		ldy		#0001			;read one byte
-			lda		portpath,u		;read from port path
-			os9		I$Read
-			lbcs	errex2
-			
-			* if Y = 1, we got our byte, otherwise bail out
-			cmpy	#0001
-			bne		errex2			
-		
-			rts
-			
-			
-			
-			* set file name
-setfile		leax	filename,u
-			bsr		read1
-			clra	
-			ldb		filename,u
-			tfr		d,y
-			leax	filename,u
-			lda		portpath,u
-			os9		I$Read
-			lbcs	errex2
-			bra		rloop
-			
-			* create file
-crfile		lda		#WRITE.
-			ldb		#3			;read write
-			leax	filename,u
-			os9		I$Create
-			lbcs	errex2
-			sta		filepath,u
-			lbra		rloop
-
-			* close file
-clfile		lda		filepath,u
-			os9		I$Close
-			lbcs	errex2
-			lbra		rloop
-			
-			* start writing to file
-wrfile		
-			lda		filepath,u
-			sta		outpath,u
-			lbra		rloop
-			
-			* set output for stdout 
-wrstdo		lda		#1			
-			sta		outpath,u
-			lbra	rloop
-			
-			* read a line from stdin
-getinp		clra				;stdin			
-			leax	pbuffer,u
-			ldy		#80
-			os9		I$ReadLn
-			lbcs	errex2
-			
-			pshs	y
-			
-			* send our name to server
-			lbsr		wrname
-			
-			puls	y
-			
-			* send data server
-			lda		portpath,u
-			leax	pbuffer,u
-			os9		I$Write
-			lbcs	errex2
-			
-			lbra		rloop
-			
-done        clrb                    ;no errors here			
-			* close port
-errex2		lda		portpath,u
-			os9		I$Close
-		
-errex1		os9     F$Exit          ;goodbye    
-            
-
-
-            
-            
-			
-*end of mod         
-            emod
-eom         equ     *
-            end
-
--- a/level1/cmds/wget.asm	Wed Dec 30 16:20:53 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-*********************************************************************************
-*  wget - a (very!) simple implementation of something sort of like wget
-* 
-*   using a virtual channel from DriveWire, request a URL and write the response
-*   to stdout.
-* 
-*	version 0.1 - 12/17/09 - AAW - bare minimum implementation 
-*
-
-            nam     wget
-            ttl     program module       
-
-            ifp1
-            use     defsfile
-            endc
-
-tylg        set     Prgrm+Objct   
-atrv        set     ReEnt+rev
-rev         set     $00
-edition     set     1
-
-            mod     eom,name,tylg,atrv,start,size
-pbuffer     rmb     256
-portdev		rmb		10
-portpath	rmb		1
-numbyt		rmb		1
-
-size        equ     .
-
-name        fcs     /wget/
-            fcb     edition
-
-******************************************			
-* writech - write character in A to screen
-* In:
-*   A = character to write
-*
-
-writech     pshs    y,x,a           ;preserve regs + put A on stack for write
-            lda     #1              ;path 1         
-            ldy     #1              ;1 character
-            leax    ,s              ;write from stack               
-            os9     I$Write         ;write it
-            puls    a,x,y,pc        ;return
-            
-* write out the contents of pbuffer.. length is in numbyt
-writepb		clra
-			ldb		numbyt,u
-			tfr		d,y
-			lda		#1
-			leax	pbuffer,u
-			os9		I$Write
-wrpb02		rts
-            
-*************************************           
-* wget main
-*
-
-* default to port /t0.. and use it no matter what, maybe set on cmdline in future?	
-
-            * initialization/startup?
-start      nop
-			
-			* save parameters for later
-			pshs	d
-			pshs	x
-
-			* see if we can find a port to use
-			
-			* first setup pbuffer
-			leax 	pbuffer,u
-			lda		#47
-			sta		,x+
-			lda		#85
-			sta		,x+
-			lda		#48
-			sta		,x+
-			lda		#13
-			sta		,x
-						
-tryport		lda   #UPDAT.      		get mode for modem path
-			leax	pbuffer,u    	point to modem path
-			os9   	I$Open      	open it
-			bcc		gotport		
-			
-			cmpb	#250		;in use?
-			lbne	errex1		;other error, bail out
-			leax	pbuffer,u
-			lda		2,x
-			inca
-			sta		2,x
-			bra		tryport
-			
-gotport		sta		portpath,u
-			
-			* write our name
-			ldy		#0001
-			leax	<name,pc
-wrnlp		lda		,x+
-			bmi		wrnout		;this is the last char
-			pshs	x
-			pshs	a			
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	1,s
-			puls	x
-			lbcs	errex2
-			bra		wrnlp
-			
-wrnout		ldb		#C$CR		 	;end with a CR
-			anda    #$7F 
-			pshs	d
-			ldy		#0002
-			lda		portpath,u
-			leax	,s
-			os9		I$Write
-			leas	2,s
-			lbcs	errex2
-			
-			
-			* write parameters to port - X = start addr, y = # bytes, A = path#
-			
-			puls 	x
-			puls	y
-			lda		portpath,u
-			
-			os9		I$Write
-			lbcs	errex2
-			
-			* response loop
-			* read 1 byte, this is how many bytes follow in this set.  0 for end of response
-			
-rloop		ldy		#0001			;read one byte
-			leax	numbyt,u		;put it in our numbyt 
-			lda		portpath,u		;read from port path
-			os9		I$Read
-			lbcs	errex2
-			
-			* if Y = 1, we got our byte, otherwise bail out
-			cmpy	#0001
-			bne		errex2
-			
-			* if byte was 0, we're done
-			ldb		numbyt,u
-			beq		done
-			
-			*otherwise read the number of bytes announced
-			clra
-			tfr		d,y
-			leax	pbuffer,u
-			lda		portpath,u
-			os9		I$Read
-			lbcs	errex2
-			
-			* did we get the right # of bytes?
-			tfr		y,d
-			cmpb	numbyt,u
-			bne		errex2		; gives bytes actually read as error #.. wrong but handy
-			
-			* write out pbuffer
-			lbsr		writepb
-
-			* next set
-			bra		rloop	
-
-
-			
-			
-done        clrb                    ;no errors here			
-			* close port
-errex2		lda		portpath,u
-			os9		I$Close
-		
-errex1		os9     F$Exit          ;goodbye    
-            
-
-
-            
-            
-			
-*end of mod         
-            emod
-eom         equ     *
-            end
-
--- a/level1/modules/scdwt.asm	Wed Dec 30 16:20:53 2009 +0000
+++ b/level1/modules/scdwt.asm	Wed Dec 30 20:02:02 2009 +0000
@@ -67,7 +67,7 @@
          	lbra  	Init
          	lbra  	Read
          	lbra  	Write
-         	lbra  	GetStt
+         	lbra  	GetStat
          	lbra  	SetStat
 	 	
 
@@ -691,25 +691,9 @@
 *    B  = error code 
 *
 
-GetStt
-* advertise our GetStt code to the server
-         pshs  a,y,u
-         ldb   V.PORT+1,u
-         exg   a,b
-         pshs  d
-         lda   #OP_SERGETSTAT
-         pshs  a
-         leax  ,s
-         ldy   #$0003
-         IFGT  LEVEL-1
-         ldu   <D.DWSubAddr
-         ELSE
-         ldu   >D.DWSubAddr
-         ENDC
-         jsr   6,u                    
-         leas  3,s
-         puls  a,y,u
-
+GetStat
+         ldb   #OP_SERGETSTAT
+                bsr    SendStat
 		clrb    			; default to no error...
 			pshs  	cc,dp  		; save IRQ/Carry status,system DP
            
@@ -751,6 +735,27 @@
            	sta   	R$B,x		; set 6551 ACIA style DCD/DSR status in caller's [B]
            	puls  	cc,dp,pc	; restore Carry status, system DP, return			
 
+* A = Function Code
+* B = OP_SERGETSTAT or OP_SERSETSTAT
+SendStat
+* advertise our GetStt code to the server
+         pshs  a,y,u
+         leas  -3,s
+         leax  ,s
+         stb   ,x
+         sta   2,x
+         ldb   V.PORT+1,u
+         stb   1,x
+         ldy   #$0003
+         IFGT  LEVEL-1
+         ldu   <D.DWSubAddr
+         ELSE
+         ldu   >D.DWSubAddr
+         ENDC
+         jsr   6,u                    
+         leas  3,s
+         puls  a,y,u,pc
+
 *************************************************************************         
 * SetStat
 *
@@ -765,35 +770,24 @@
 *  
 * also needs much work
 SetStat  
-         pshs  y,u
-         ldb   V.PORT+1,u
-         exg   a,b
-         pshs  d
-         lda   #OP_SERSETSTAT
-         pshs  a
-         leax  ,s
-         ldy   #$0003
+         ldb   #OP_SERSETSTAT
+         bsr   SendStat
+         cmpa  #SS.ComSt
+         bne   donebad
+         leax  PD.OPT,y
+         ldy   #OPTCNT
          IFGT  LEVEL-1
          ldu   <D.DWSubAddr
          ELSE
          ldu   >D.DWSubAddr
          ENDC
-         jsr   6,u                    
-* check for error?
-         leas  1,s
-         puls  d
-         cmpb  #SS.ComSt
-         bne   donebad
-         ldx   ,s			get Y (path descriptor) from stack
-         leax  PD.OPT,x
-         ldy   #OPTCNT
          jsr   6,u
 done
          clrb
-         puls  y,u,pc
+         rts
 donebad  comb
          ldb   #E$UnkSVc
-         puls  y,u,pc
+         rts
           
          emod
 eom      equ   *
--- a/level2/coco3_6309/bootfiles/makefile	Wed Dec 30 16:20:53 2009 +0000
+++ b/level2/coco3_6309/bootfiles/makefile	Wed Dec 30 20:02:02 2009 +0000
@@ -31,31 +31,6 @@
 		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
 		$(MD)/clock_60hz $(MD)/clock2_dw3
 
-# NitrOS-9 disk bootfile to allow booting from DriveWire 3 server
-# minimum bootfile without graphics console support
-BOOTFILE_DW3_SERVER	= $(MD)/krnp2 $(MD)/ioman $(MD)/init \
-		$(MD)/rbf.mn \
-		$(MD)/dw3.sb \
-		$(MD)/rbdw3.dr \
-		$(MD)/ddx0.dd $(MD)/x1.dd $(MD)/x2.dd $(MD)/x3.dd \
-		$(MD)/scf.mn \
-		$(MD)/vtio.dr \
-		$(MD)/keydrv_cc3.sb $(MD)/joydrv_joy.sb $(MD)/snddrv_cc3.sb \
-		$(MD)/cowin.io $(MD)/covdg.io \
-		$(MD)/term_win80.dt \
-		$(MD)/w.dw $(MD)/w1.dw $(MD)/w2.dw $(MD)/w3.dw $(MD)/w4.dw \
-		$(MD)/w5.dw $(MD)/w6.dw $(MD)/w7.dw \
-		$(MD)/scdwt.dr $(MD)/t0_scdwt.dd \
-		$(MD)/t1_scdwt.dd $(MD)/t2_scdwt.dd $(MD)/t3_scdwt.dd \
-		$(MD)/t4_scdwt.dd $(MD)/t5_scdwt.dd $(MD)/t6_scdwt.dd \
-		$(MD)/t7_scdwt.dd \
-		$(MD)/u0_scdwt.dd $(MD)/u1_scdwt.dd $(MD)/u2_scdwt.dd \
-		$(MD)/u3_scdwt.dd $(MD)/u4_scdwt.dd $(MD)/u5_scdwt.dd \
-		$(MD)/u6_scdwt.dd \
-		$(MD)/scdwp.dr $(MD)/p_scdwp.dd \
-		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
-		$(MD)/clock_60hz $(MD)/clock2_dw3
-
 # NitrOS-9 disk bootfile to allow booting from WD1773 disk controller
 BOOTFILE_40D	= $(MD)/krnp2 $(MD)/ioman $(MD)/init \
 		$(MD)/rbf.mn \
@@ -109,7 +84,7 @@
 		$(MD)/pipeman.mn $(MD)/piper.dr $(MD)/pipe.dd \
 		$(MD)/clock_50hz $(MD)/clock2_soft
 
-BOOTFILES	= bootfile_40d bootfile_40d_50hz bootfile_80d bootfile_80d_50hz bootfile_dw3 bootfile_dw3_server
+BOOTFILES	= bootfile_40d bootfile_40d_50hz bootfile_80d bootfile_80d_50hz bootfile_dw3
 KERNELS		= kernel_1773 kernel_1773_50hz kernel_dw3
 
 ALLOBJS		= $(BOOTFILES) $(KERNELS)
@@ -132,9 +107,6 @@
 bootfile_dw3: $(BOOTFILE_DW3) $(DEPENDS)
 	$(MERGE) $(BOOTFILE_DW3)>$@
 
-bootfile_dw3_server: $(BOOTFILE_DW3_SERVER) $(DEPENDS)
-	$(MERGE) $(BOOTFILE_DW3_SERVER)>$@
-
 # Kernels
 kernel_1773: $(KERNEL_1773) $(DEPENDS)
 	$(MERGE) $(KERNEL_1773)>$@
--- a/level2/coco3_6309/cmds/makefile	Wed Dec 30 16:20:53 2009 +0000
+++ b/level2/coco3_6309/cmds/makefile	Wed Dec 30 20:02:02 2009 +0000
@@ -17,22 +17,12 @@
 CMDS_D2         = basic09 runb gfx2 gfx inkey syscall copy del echo format \
                 merge os9gen prompt tmode
 
-CMDS_DW         = $(CMDS) $(CMDS_D2) dw ftp wget chat
-
-CMDS_DW_SERVER  = attr build cmp copy cputype date deiniz del deldir devs \
-		dir display dmem dmode dump echo edit error free grfdrv \
-		help ident iniz link list load login makdir mdir merge \
-		mfree mmap mpi pmap proc procs prompt pwd pxd rename save \
-		shell sleep smap tee tmode touch tsmon unlink verify xmode \
-		utilpak1 \
-		dw ftp wget chat
-
 SHELLMODS	= shellplus date deiniz echo iniz link load save unlink
 UTILPAK1	= attr build copy del deldir dir display list makdir mdir \
 		merge mfree procs rename tmode
 
 # Files not compilable by os9asm: config
-all:	$(CMDS) $(CMDS_D2) $(CMDS_DW) shell utilpak1 $(DEPENDS)
+all:	$(CMDS) $(CMDS_D2) shell utilpak1 $(DEPENDS)
 
 runb:	runb.asm
 	$(AS) $(AFLAGS) $< $(ASOUT)$@ -aPWD=1
@@ -74,11 +64,5 @@
 showobjs_d2:
 	@$(ECHO) $(CMDS_D2)
 
-showobjs_dw:
-	@$(ECHO) $(CMDS_DW)
-
-showobjs_dw_server:
-	@$(ECHO) $(CMDS_DW_SERVER)
-
 identify:
 	$(IDENT_SHORT) $(ALLOBJS)
--- a/level2/coco3_6309/makefile	Wed Dec 30 16:20:53 2009 +0000
+++ b/level2/coco3_6309/makefile	Wed Dec 30 20:02:02 2009 +0000
@@ -8,7 +8,6 @@
 DISTRONAME	= nos9$(CPU)l$(LEVEL)
 DISTROVER	= $(DISTRONAME)$(NITROS9VER)$(PORT)
 BOOTFILE_DW3	= bootfiles/bootfile_dw3
-BOOTFILE_DW3_SERVER	= bootfiles/bootfile_dw3_server
 BOOTFILE_40D	= bootfiles/bootfile_40d
 BOOTFILE_80D	= bootfiles/bootfile_80d
 BOOTFILE_40D_50HZ	= bootfiles/bootfile_40d_50hz
@@ -20,8 +19,6 @@
 
 CMDS		= $(shell $(CD) cmds; make showobjs)
 CMDS_D2		= $(shell $(CD) cmds; make showobjs_d2)
-CMDS_DW		= $(shell $(CD) cmds; make showobjs_dw)
-CMDS_DW_SERVER	= $(shell $(CD) cmds; make showobjs_dw_server)
 BOOTTRACK	= $(shell $(CD) modules; make showboottrack)
 KERNEL		= $(shell $(CD) modules; make showkernel)
 SYSMODS		= $(shell $(CD) modules; make showsysmods)
@@ -35,14 +32,11 @@
 SYSBIN		= $(shell $(CD) sys; make showbinobjs)
 SYSTEXT		= $(shell $(CD) sys; make showtextobjs)
 STARTUP		= startup
-STARTUP_DW_SERVER	= startup.dwserver
 SYSGO		= sysgo_dd
 
 PACKAGENAME	= $(DISTROVER).zip
 DSKDW3		= $(DISTROVER)_dw3.dsk
 LDSKDW3		= $(DISTRONAME)_dw3.dsk
-DSKDW3_SERVER	= $(DISTROVER)_dw3_server.dsk
-LDSKDW3_SERVER	= $(DISTRONAME)_dw3_server.dsk
 DSK360K_1	= $(DISTROVER)_40d_1.dsk
 LDSK360K_1	= $(DISTRONAME)_40d_1.dsk
 DSK360K_1_50HZ	= $(DISTROVER)_40d_1_50hz.dsk
@@ -55,8 +49,8 @@
 LDSK720K_50HZ	= $(DISTRONAME)_80d_50hz.dsk
 TESTDSK		= test.dsk
 
-DSKS		= $(DSKDW3) $(DSKDW3_SERVER) $(DSK360K_1) $(DSK360K_1_50HZ) $(DSK360K_2) $(DSK720K) $(DSK720K_50HZ)
-LDSKS		= $(LDSKDW3) $(LDSKDW3_SERVER) $(LDSK360K_1) $(LDSK360K_1_50HZ) $(LDSK360K_2) $(LDSK720K) $(LDSK720K_50HZ)
+DSKS		= $(DSKDW3) $(DSK360K_1) $(DSK360K_1_50HZ) $(DSK360K_2) $(DSK720K) $(DSK720K_50HZ)
+LDSKS		= $(LDSKDW3) $(LDSK360K_1) $(LDSK360K_1_50HZ) $(LDSK360K_2) $(LDSK720K) $(LDSK720K_50HZ)
 
 # Make all components
 all:
@@ -138,25 +132,6 @@
 	$(RM) $(LDSKDW3)
 	$(SOFTLINK) $@ $(LDSKDW3)
 
-$(DSKDW3_SERVER):
-	-$(RM) $@
-	$(OS9FORMAT_DW3) -q $@ -n"NitrOS-9/$(CPU) Level 2"
-	$(OS9GEN) $@ -b=$(BOOTFILE_DW3_SERVER) -t=$(KERNELFILE_DW3)
-	$(MAKDIR) $@,CMDS
-	$(MAKDIR) $@,SYS
-	$(CP) modules/$(SYSGO) $@,sysgo
-	$(OS9ATTR_EXEC) $@,sysgo
-	$(CD) cmds; $(CP) $(CMDS_DW_SERVER) ../$@,CMDS
-	$(foreach file, $(CMDS_DW_SERVER), $(OS9ATTR_EXEC) $@,CMDS/$(file);)
-	$(CD) sys; $(CP) $(SYSBIN) ../$@,SYS
-	$(foreach file, $(SYSBIN), $(OS9ATTR_TEXT) $@,SYS/$(file);)
-	$(CD) sys; $(CPL) $(SYSTEXT) ../$@,SYS
-	$(foreach file, $(SYSTEXT), $(OS9ATTR_TEXT) $@,SYS/$(file);)
-	$(CPL) $(STARTUP_DW_SERVER) $@,startup
-	$(OS9ATTR_TEXT) $@,startup
-	$(RM) $(LDSKDW3_SERVER)
-	$(SOFTLINK) $@ $(LDSKDW3_SERVER)
-
 $(DSK360K_1):
 	-$(RM) $@
 	$(OS9FORMAT_DS40) -q $@ -n"NitrOS-9/$(CPU) Level 2 Disk 1"
--- a/level2/coco3_6309/startup.dwserver	Wed Dec 30 16:20:53 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-* Echo welcome message
-echo * Welcome to NitrOS-9 Level 2 *
-echo *   on the Color Computer 3   *
-* Lock shell and std utils into memory
-link shell
-load utilpak1
-* Start up tsmons
-tsmon /t0 &
-tsmon /t1 &
-tsmon /t2 &
-tsmon /t3 &
-tsmon /t4 &
-tsmon /t5 &
-tsmon /t6 &
-tsmon /t7 &