changeset 2321:6a5ada3e2666

added DWINIT op code, dw3 now sends on init just before installing VIRQ
author aaronwolfe
date Wed, 06 Jan 2010 01:55:30 +0000
parents 3584407fea59
children 61fb37b19edd
files defs/dwdefs.d level1/modules/dw3.asm
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/defs/dwdefs.d	Tue Jan 05 21:20:06 2010 +0000
+++ b/defs/dwdefs.d	Wed Jan 06 01:55:30 2010 +0000
@@ -20,6 +20,7 @@
 OP_RESET1   equ    $FE		Server Reset
 OP_RESET2   equ    $FF		Server Reset
 OP_RESET3   equ    $F8		Server Reset
+OP_DWINIT	equ	   'Z		DriveWire dw3 init/OS9 boot
 OP_TIME     equ    '#	 	Current time requested
 OP_INIT     equ    'I		Init routine called
 OP_READ     equ    'R		Read one sector
--- a/level1/modules/dw3.asm	Tue Jan 05 21:20:06 2010 +0000
+++ b/level1/modules/dw3.asm	Wed Jan 06 01:55:30 2010 +0000
@@ -111,6 +111,22 @@
           decb
           bne     loop@
 
+* send OP_DWINIT
+         ; setup DWsub command
+         pshs		u
+         lda     	#OP_DWINIT 	; load command
+         pshs   	a      		; command store on stack
+         leax    	,s     		; point X to stack 
+         ldy     	#1          ; 1 byte to send
+          IFGT	Level-1
+          ldu   	<D.DWSubAddr
+          ELSE
+          ldu   	>D.DWSubAddr
+          ENDC
+          jsr     6,u      	; call DWrite
+         leas		1,s			; clean 1 DWsub arg from stack 
+         puls		u
+         
 * install ISR
 InstIRQ
           IFGT    Level-1