changeset 2422:61778d4bb634

Updated source to use labels from os9defs
author boisy
date Tue, 26 Jan 2010 19:39:19 +0000
parents 8873faeef1ad
children 8194ea2e9906
files level1/modules/dw3.asm
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/level1/modules/dw3.asm	Tue Jan 26 19:38:24 2010 +0000
+++ b/level1/modules/dw3.asm	Tue Jan 26 19:39:19 2010 +0000
@@ -334,7 +334,7 @@
                else      
                ldx       >D.DWStat
                endc      
-               lda       DW.VIRQFRQ,x
+               lda       DW.VIRQPkt+Vi.Rst+1,x
                cmpa      PollSpd3,pcr
                lbeq      IRQExit             ;we are already at idle speed
 
@@ -346,12 +346,12 @@
                sta       DW.VIRQNOP,x        ;inc NOP count, exit
                lbra      IRQExit
 
-FRQdown        lda       DW.VIRQFRQ,x
+FRQdown        lda       DW.VIRQPkt+Vi.Rst+1,x
                cmpa      PollSpd1,pcr
                beq       FRQd1
                lda       PollSpd3,pcr
 FRQd2                    
-               sta       DW.VIRQFRQ,x
+               sta       DW.VIRQPkt+Vi.Rst+1,x
                clr       DW.VIRQNOP,x
                lbra      IRQExit
 FRQd1          lda       PollSpd2,pcr
@@ -420,7 +420,11 @@
                else      
                ldx       >D.DWStat
                endc      
-               sta       DW.VIRQFRQ,x
+               sta       DW.VIRQPkt+Vi.Rst+1,x
+* +++ BGP +++ added following line so that the counter (which was copied by
+* clock before calling us) gets reset to the same value the reset value. Without
+* this line, we get called again with the PRIOR Vi.Rst value.
+               sta       DW.VIRQPkt+Vi.Cnt+1,x
                clr       DW.VIRQNOP,x
                puls      x
                rts       
@@ -490,6 +494,7 @@
 ; put byte B in port As buffer - optimization help from Darren Atkinson       
 IRQPutCh                 
 		  ; set IRQ freq for bulk
+               lda       PollSpd1,pcr
                lbsr      IRQsetFRQ
                ldx       RxBufPut,u          ; point X to the data buffer