changeset 2290:c0961e667550

Driver now sends OP_SERGETSTAT and OP_SERSETSTAT to server, along with path options when SS.ComSt is called
author boisy
date Wed, 30 Dec 2009 16:20:53 +0000
parents 5ffc638fff67
children c4aa9c53261a
files level1/modules/scdwt.asm
diffstat 1 files changed, 45 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/level1/modules/scdwt.asm	Tue Dec 29 13:47:59 2009 +0000
+++ b/level1/modules/scdwt.asm	Wed Dec 30 16:20:53 2009 +0000
@@ -68,7 +68,7 @@
          	lbra  	Read
          	lbra  	Write
          	lbra  	GetStt
-         	lbra  	SetStt
+         	lbra  	SetStat
 	 	
 
 ***********************************************************************
@@ -514,6 +514,7 @@
 			cmpa	V.QUIT,u
 			bne		store
 send@		lda		V.LPRC,u
+                        beq             IRQExit
 			os9		F$Send 
 			bra		IRQExit
  
@@ -690,7 +691,26 @@
 *    B  = error code 
 *
 
-GetStt		clrb    			; default to no error...
+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
+
+		clrb    			; default to no error...
 			pshs  	cc,dp  		; save IRQ/Carry status,system DP
            
         	ldx   	PD.RGS,y	; caller's register stack pointer
@@ -744,26 +764,37 @@
 *    B  = error code 
 *  
 * also needs much work
-SetStt   
-Close    cmpa  #SS.Close		; close the device?
-         bne   L0173
-         lda   #OP_NOP	
+SetStat  
+         pshs  y,u
+         ldb   V.PORT+1,u
+         exg   a,b
+         pshs  d
+         lda   #OP_SERSETSTAT
          pshs  a
-         ldy   #$0001
          leax  ,s
-         IFGT  Level-1
+         ldy   #$0003
+         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
-         puls  a,pc
-
-
-L0173    comb
+done
+         clrb
+         puls  y,u,pc
+donebad  comb
          ldb   #E$UnkSVc
-         rts
-
+         puls  y,u,pc
+          
          emod
 eom      equ   *
          end