changeset 2640:8d24c482646e

o increased timeout in atari dwread.asm module o fixed bug in rbdw3.asm where OP_INIT wasn't being sent o replaced constant offset jumps into dw3.sb with labels
author Boisy Pitre <boisy.pitre@nuance.com>
date Tue, 28 Feb 2012 23:09:32 -0600
parents 283433fa565c
children 190364f73e4c
files level1/atari/bootfiles/makefile level1/atari/modules/dwread.asm level1/modules/dw3.asm level1/modules/rbdw3.asm
diffstat 4 files changed, 11 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/level1/atari/bootfiles/makefile	Tue Feb 28 09:26:09 2012 -0600
+++ b/level1/atari/bootfiles/makefile	Tue Feb 28 23:09:32 2012 -0600
@@ -17,7 +17,7 @@
 BOOTFILE_P2 = $(MD)/rbf.mn $(MD)/rbdw3.dr \
 		$(MD)/x0.dd $(MD)/x1.dd $(MD)/dw3.sb \
 		$(MD)/scdwp.dr $(MD)/p_scdwp.dd \
-		$(CD)/shell_21 $(CD)/ded
+		$(CD)/shell_21 $(CD)/ded $(CD)/iniz $(CD)/deiniz
 
 BOOTFILES	= bootfile
 
--- a/level1/atari/modules/dwread.asm	Tue Feb 28 09:26:09 2012 -0600
+++ b/level1/atari/modules/dwread.asm	Tue Feb 28 23:09:32 2012 -0600
@@ -33,8 +33,7 @@
 inloop@
           ora       #%00100000
           sta       IRQEN
-          lda       #$20
-          clrb
+          ldd       #$0000
 loop@
           subd      #$0001
           beq       outtahere@
--- a/level1/modules/dw3.asm	Tue Feb 28 09:26:09 2012 -0600
+++ b/level1/modules/dw3.asm	Tue Feb 28 23:09:32 2012 -0600
@@ -122,14 +122,16 @@
                else      
                ldu       >D.DWSubAddr
                endc      
-               jsr       6,u                 ; call DWrite
+               jsr       DW$Write,u                 ; call DWrite
                leas      1,s                 ; leave one byte on stack for response 
                
                ; read protocol version response, 1 byte
                leax      ,s                  ; point X to stack head
                ldy       #1                  ; 1 byte to retrieve
-               jsr       3,u                 ; call DWRead
+               jsr       DW$Read,u                 ; call DWRead
+               IFNE      atari-1
                beq       InstIRQ             ; branch if no error
+               ENDC
                leas      3,s                 ; error, cleanup stack (u and 1 byte from read) 
                lbra      InitEx            	 ; don't install IRQ handler
 
@@ -228,7 +230,7 @@
                else      
                ldu       >D.DWSubAddr
                endc      
-               jsr       6,u                 ; call DWrite
+               jsr       DW$Write,u                 ; call DWrite
 
                leas      3,s                 ; clean 3 DWsub args from stack 
 
@@ -239,7 +241,7 @@
 
                ldx       RxBufPut,x          ; point X to insert position in this port's buffer
           ; receive response
-               jsr       3,u                 ; call DWRead
+               jsr       DW$Read,u                 ; call DWRead
           ; handle errors?
 
 
@@ -304,13 +306,13 @@
                else      
                ldu       >D.DWSubAddr
                endc      
-               jsr       6,u                 ; call DWrite
+               jsr       DW$Write,u                 ; call DWrite
 
           ; receive response
                leas      -1,s                ; one more byte to fit response
                leax      ,s                  ; point X to stack head
                ldy       #2                  ; 2 bytes to retrieve
-               jsr       3,u                 ; call DWRead
+               jsr       DW$Read,u                 ; call DWRead
                beq       IRQSvc2             ; branch if no error
                leas      2,s                 ; error, cleanup stack 2
                lbra      IRQExit2            ; don't reset error count on the way out
--- a/level1/modules/rbdw3.asm	Tue Feb 28 09:26:09 2012 -0600
+++ b/level1/modules/rbdw3.asm	Tue Feb 28 23:09:32 2012 -0600
@@ -150,6 +150,7 @@
 * Initialize the low level device
          jsr   DW$Init,u
          lda   #OP_INIT
+         sta   ,s
          leax  ,s
          ldy   #$0001
          jsr   DW$Write,u