changeset 2435:f3f09398780b

initial RFM
author aaronwolfe
date Sun, 21 Feb 2010 06:25:53 +0000
parents eab6b9e18832
children ca3aa5472761
files level1/modules/dw3.asm level1/modules/rfm.asm level1/modules/rfmdrv.asm level1/modules/y0_rfm.asm
diffstat 4 files changed, 206 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/level1/modules/dw3.asm	Sun Feb 21 06:24:47 2010 +0000
+++ b/level1/modules/dw3.asm	Sun Feb 21 06:25:53 2010 +0000
@@ -34,12 +34,12 @@
 * Default time packet
 DefTime        fcb       109,12,31,23,59,59
 
-* for dynamic poll frequency, number of ticks between firing poller
+* for dynamic poll frequency, number of ticks between firing poller - should we move to dwdefs?
 * speed 1 = interactive (typing)
 PollSpd1       fcb       3
-* speed 2 = bulk transfer
+* speed 2 = bulk transfer (depending on how much processing needs to be done to incoming stream, 5-8 seems good)
 PollSpd2       fcb       6
-* speed 3 = idle
+* speed 3 = idle 
 PollSpd3       fcb       40
 * X pollidle -> drop to next slower rate
 PollIdle       fcb       60
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/modules/rfm.asm	Sun Feb 21 06:25:53 2010 +0000
@@ -0,0 +1,136 @@
+********************************************************************
+* RFM - Remote File Manager
+*
+*
+*  1       2010/02/20  AAW
+*          first version - just send ops
+
+         nam   RFM
+         ttl   Remote File Manager
+
+         IFP1
+         use   defsfile
+         use   rfmdefs
+         use   dwdefs.d
+         ENDC
+
+tylg     set   FlMgr+Objct
+atrv     set   ReEnt+rev
+rev      set   0
+edition  equ   1
+
+         mod   eom,RFMName,tylg,atrv,RFMEnt,0
+
+RFMName  fcs   /RFM/
+         fcb   edition
+
+
+
+******************************
+*
+* file manager entry point
+*
+* Entry: Y = Path descriptor pointer
+*        U = Callers register stack pointer
+*
+
+RFMEnt   lbra  create         Create path
+         lbra  open         Open path
+         lbra  makdir        Makdir
+         lbra  chgdir        Chgdir
+         lbra  delete        Delete 
+         lbra  seek        Seek
+         lbra  read         Read character 
+         lbra  write        Write character
+         lbra  readln       ReadLn
+         lbra  writln       WriteLn
+         lbra  getstt       Get Status
+         lbra  setstt       Set Status
+         lbra  close        Close path
+
+create	lda		#DW.create
+		lbra	sendit
+open	lda		#DW.open
+		lbra	sendit
+makdir	lda		#DW.makdir
+		lbra	sendit
+chgdir	lda		#DW.chgdir
+		lbra	sendit
+delete	lda		#DW.delete
+		lbra	sendit
+seek	lda		#DW.seek
+		lbra	sendit
+read	lda		#DW.read
+		lbra	sendit
+write	lda		#DW.write
+		lbra	sendit
+readln	lda		#DW.readln
+		lbra	sendit
+writln	lda		#DW.writln
+		lbra	sendit
+getstt	lda		#DW.getstt
+		lbra	sendit
+setstt	lda		#DW.setstt
+		lbra	sendit
+close	lda		#DW.close
+		lbra	sendit
+
+* just send OP_VMF + vfmop
+sendit	 pshs      u
+
+		pshs 	y
+		pshs	a
+			 
+		* put diag info in PD.FST
+		
+		leay		PD.FST,y
+		
+		stu		,y++	; U from IOman
+		
+		ldx		R$X,u	; should be X from caller
+		stx		,y++
+		
+		ldx		1,s		; Y from ioman
+		stx		,y++
+		
+		ldx		R$X+PD.RGS,x   ; should be X from caller
+		stx		,y++
+		
+		* 10 bytes from X?
+		clrb
+sleep1	lda		,x+
+		sta		,y+
+		incb
+		cmpb	#10
+		bne		sleep1
+		
+		 
+
+         lda       #OP_VFM          ; load command
+         pshs      a                ; command store on stack
+         leax      ,s                  ; point X to stack 
+         ldy       #2                  ; 2 byte to send
+         ifgt      Level-1
+         ldu       <D.DWSubAddr
+         else      
+         ldu       >D.DWSubAddr
+         endc      
+         
+         jsr	6,u
+         leas	2,s		;clean stack
+         
+         puls 	x
+         ldy	#107
+         jsr	6,u
+         
+         
+      
+		puls	u
+		clrb
+		rts
+
+		
+         emod
+eom      equ   *
+         end
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/modules/rfmdrv.asm	Sun Feb 21 06:25:53 2010 +0000
@@ -0,0 +1,33 @@
+********************************************************************
+* rfmdrv - remote file manager driver
+*
+
+         nam   rfmdrv
+         ttl   Remote file manager driver
+
+         ifp1
+         	use   defsfile
+         endc
+         
+tylg     set   Drivr+Objct   
+atrv     set   ReEnt+rev
+rev      set   $01
+edition  set   $01
+
+         mod   eom,name,tylg,atrv,start,size
+
+        
+wtf  rmb   1
+size     equ   .
+
+   
+name     fcs   /rfmdrv/
+         fcb   edition
+
+start    nop
+		 clrb
+		 rts
+		 
+         emod
+eom      equ   *
+         end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/level1/modules/y0_rfm.asm	Sun Feb 21 06:25:53 2010 +0000
@@ -0,0 +1,34 @@
+********************************************************************
+* Y0 - Remote file manager test
+*
+
+         nam   Y0
+         ttl   Remote File Manager Device Descriptor
+
+         ifp1  
+         use   defsfile
+         endc  
+
+
+tylg     set   Devic+Objct
+atrv     set   ReEnt+rev
+rev      set   $00
+
+         mod   eom,name,tylg,atrv,mgrnam,drvnam
+
+         fcb   READ.+WRITE. mode byte
+         fcb   $00        extended controller address
+         fdb   $0000      physical controller address
+         fcb   initsize-*-1 initilization table size
+         fcb   DT.RFM    device type:0=scf,1=rbf,2=pipe,3=scf
+initsize equ   *
+
+name     fcs   /Y0/
+mgrnam   fcs   /RFM/
+drvnam   fcs   /RFMDrv/
+
+
+         emod  
+eom      equ   *
+         end   
+