changeset 1252:275aea78cb87

SCF now fully uses V$DRIVEX saving time and code size IOMan updated to handle new os9p1
author boisy
date Sun, 17 Aug 2003 13:04:42 +0000
parents 411c88ed62f6
children 50d6f82d16d9
files level2/modules/ioman.asm level2/modules/scf.asm
diffstat 2 files changed, 12 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/level2/modules/ioman.asm	Sun Aug 17 12:59:47 2003 +0000
+++ b/level2/modules/ioman.asm	Sun Aug 17 13:04:42 2003 +0000
@@ -204,29 +204,19 @@
          bra   IODsptch     
 SysIO    leax  <SysIODis,pcr
 IODsptch equ   *
-         IFNE  NitrOS9
          cmpb  #$20      
-         ELSE
-         cmpb  #I$DeletX
-         ENDC
          bhi   L00F9     
          IFNE  H6309     
          ldw   b,x       
          lsrb            
          jmp   w,x       
          ELSE            
-*         pshs  d
-*         ldd   b,x
-*         leax  d,x
-*         puls  d
-*         lsrb
-*         jmp   ,x
-         pshs  b         
-         lslb            
-         ldd   b,x       
-         leax  d,x       
-         puls  b         
-         jmp   ,x        
+         pshs  d
+         ldd   b,x
+         leax  d,x
+         puls  d
+         lsrb
+         jmp   ,x
          ENDC
 
 ****************************** 
@@ -779,11 +769,7 @@
          bra   L03BA     
 
 IDeletX  
-         IFNE  NitrOS9
          ldb   #7		Delete offset in file manager
-         ELSE
-         ldb   #$87		Delete offset in file manager
-         ENDC
          pshs  b         
          ldb   R$A,u     
          bra   L03BA     
@@ -994,11 +980,7 @@
          ENDC            
 L051C    puls  b         
 CallFMgr equ   *
-         IFNE  NitrOS9
          subb  #$03      
-         ELSE
-         subb  #$83      
-         ENDC
          pshs  u,y,x     
          ldx   <D.Proc   
 L0524                    
--- a/level2/modules/scf.asm	Sun Aug 17 12:59:47 2003 +0000
+++ b/level2/modules/scf.asm	Sun Aug 17 13:04:42 2003 +0000
@@ -144,9 +144,10 @@
 *        the 6809 version of TuneUp never seemed
 *        to call GrfDrv directly to do fast screen
 *        writes (see note around g.done label)
-* 16r2   Removed pshs/puls of b from sharable code      BGP 05/16/11
+* 16r2   Removed pshs/puls of b from sharable code      BGP 02/05/16
 *        segment for non-NitrOS-9 because it was
 *        not needed.
+* 16r3   OS-9 Level Two now uses V$DRIVEX               BGP 02/08/16
 
          nam   SCF
          ttl   OS-9 Level Two Sequential Character File Manager
@@ -158,7 +159,7 @@
 
 tylg     set   FlMgr+Objct
 atrv     set   ReEnt+rev
-rev      set   2
+rev      set   3
 edition  equ   16
 
          mod   eom,SCFName,tylg,atrv,SCFEnt,0
@@ -494,16 +495,11 @@
          ELSE
 
 L01F8    ldb   #D$GSTA
-L01FA    pshs  a
-         clra
-         ldx   PD.DEV,y
+L01FA    ldx   PD.DEV,y
          ldu   V$STAT,x
-         ldx   V$DRIV,x
-         addd  M$Exec,x
-         leax  d,x
-         puls  a
+         ldx   V$DRIVEX,x
          pshs  u,y
-         jsr   ,x
+         jsr   b,x
          puls  y,u,pc
 
          ENDC
@@ -702,14 +698,7 @@
          std   V.DEV2,u     Save echo device's static storage into input device
          clra
          sta   V.WAKE,u     Flag input device to be awake
-         IFNE  H6309
          ldx   V$DRIVEX,x   Get driver execution pointer
-         ELSE
-         ldx   PD.DEV,y
-         ldx   V$DRIV,x
-         ldd   M$Exec,x
-         leax  d,x
-         ENDC
          jsr   D$READ,x     Execute READ routine in driver
 L0401    puls  pc,u,y,x     Restore regs & return
 
@@ -1084,15 +1073,7 @@
          pshs  y,x            Preserve registers
          clrb
          stb   V.WAKE,u       Wake it up
-         IFNE  H6309
          ldx   V$DRIVEX,x     Get driver execution pointer
-         ELSE
-         pshs  a
-         ldx   V$DRIV,x
-         ldd   M$Exec,x
-         leax  d,x
-         puls  a
-         ENDC
          jsr   D$WRIT,x       Execute driver
          puls  pc,y,x         Restore & return
 
@@ -1105,15 +1086,7 @@
 L056F    ldu   V$STAT,x       Get device static storage pointer
          clrb
          stb   V.WAKE,u       Wake it up
-         IFNE  H6309
          ldx   V$DRIVEX,x     Get driver execution pointer
-         ELSE
-         ldx   V$DRIV,x
-         pshs  a
-         ldd   M$Exec,x
-         leax  d,x
-         puls  a
-         ENDC
          jsr   D$WRIT,x       Execute driver
 L0571    puls  pc,u,y,x,a     Restore & return