changeset 1167:a3d0ac951684

Miscellaneous source improvements
author boisy
date Mon, 19 May 2003 11:10:57 +0000
parents bb618bed0bdc
children 3be7fce1a56b
files level2/cmds/makefile level2/cmds/mmap.asm level2/coco3/ChangeLog level2/coco3/bootfiles/makefile level2/coco3_6309/ChangeLog level2/coco3_6309/bootfiles/makefile level2/defs/makefile level2/makefile level2/modules/boot_1773.asm level2/modules/clock.asm level2/modules/makefile level2/modules/scf.asm level2/sys/makefile
diffstat 13 files changed, 212 insertions(+), 160 deletions(-) [+]
line wrap: on
line diff
--- a/level2/cmds/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/cmds/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two CMDS/
+
 include ../../Makefile.rules
 
 vpath %.asm $(LEVEL1)/CMDS:$(3RDPARTY)/packages/basic09
@@ -15,8 +17,8 @@
 SUBS            = gfx2 gfx inkey syscall
 
 SHELLMODS	= shellplus date deiniz echo iniz link load save unlink
-UTILPAK1	= attr copy del deldir dir display list makdir mdir \
-		mfree procs rename tmode
+UTILPAK1	= attr build copy del deldir dir display list makdir mdir \
+		merge mfree procs rename sleep tee tmode
 
 ALLOBJS		= $(CMDS) $(SUBS)
 
--- a/level2/cmds/mmap.asm	Mon May 19 11:06:54 2003 +0000
+++ b/level2/cmds/mmap.asm	Mon May 19 11:10:57 2003 +0000
@@ -8,7 +8,7 @@
 * Ed.    Comments                                       Who YY/MM/DD
 * ------------------------------------------------------------------
 * ?      Original verison                               KKD 88/??/??
-* 4      Modified by Ken Drexler fr various block sizes KD  89/07/30
+* 4      Modified by Ken Drexler for other block sizes  KD  89/07/30
 
          nam   MMap
          ttl   Memory Block Utility
--- a/level2/coco3/ChangeLog	Mon May 19 11:06:54 2003 +0000
+++ b/level2/coco3/ChangeLog	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,8 @@
+OS-9 Level Two V03.01.02:
+- The cputype command has been optimized for size.
+- Slight performance modifications were made to RBF and SCF.
+- More commands have been added to the merged utilpak1 file.
+
 OS-9 Level Two V03.01.01:
 - SYS/helpmsg expanded to include new commands.
 - ident now correctly reports modules with a language byte of Obj6309.
--- a/level2/coco3/bootfiles/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/coco3/bootfiles/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two BOOTLISTS/
+
 include ../../Makefile.rules
 
 # Module directory
--- a/level2/coco3_6309/ChangeLog	Mon May 19 11:06:54 2003 +0000
+++ b/level2/coco3_6309/ChangeLog	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,8 @@
+OS-9 Level Two V03.01.02:
+- The cputype command has been optimized for size.
+- Slight performance modifications were made to RBF and SCF.
+- More commands have been added to the merged utilpak1 file.
+
 OS-9 Level Two V03.01.01:
 - SYS/helpmsg expanded to include new commands.
 - ident now correctly reports modules with a language byte of Obj6309.
--- a/level2/coco3_6309/bootfiles/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/coco3_6309/bootfiles/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two BOOTLISTS/
+
 include ../../Makefile.rules
 
 # Module directory
--- a/level2/defs/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/defs/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two DEFS/
+
 include ../../Makefile.rules
 
 DEPENDS		= ./Makefile
--- a/level2/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two
+
 include ../Makefile.rules
 
 RELEASE		= os9l2v030101
--- a/level2/modules/boot_1773.asm	Mon May 19 11:06:54 2003 +0000
+++ b/level2/modules/boot_1773.asm	Mon May 19 11:10:57 2003 +0000
@@ -5,9 +5,11 @@
 *
 * Ed.    Comments                                       Who YY/MM/DD
 * ------------------------------------------------------------------
-* 4      Original Tandy distribution version
-* 6      Obtained from L2 Upgrade archive, has 6ms step BGP 98/10/12
+*   4    Original Tandy distribution version
+*   6    Obtained from L2 Upgrade archive, has 6ms step BGP 98/10/12
 *        rate and disk timeout changes
+*   6r2  Added '.' output for each sector under NitrOS9 BGP 03/05/18
+*        for Mark Marlette (a special request :)
 
          nam   Boot
          ttl   WD1773 Boot module
@@ -25,7 +27,7 @@
 
 tylg     set   Systm+Objct
 atrv     set   ReEnt+rev
-rev      set   $01
+rev      set   $02
 edition  set   6
 
          mod   eom,name,tylg,atrv,start,size
@@ -43,12 +45,12 @@
 name     fcs   /Boot/
          fcb   edition
 
-start    clra
-         ldb   #size
-L0015    pshs  a
-         decb
-         bne   L0015
-         tfr   s,u
+start    clra			clear A
+         ldb   #size		get our 'stack' size
+L0015    pshs  a		save 0 on stack
+         decb			and continue...
+         bne   L0015		until we've created our stack
+         tfr   s,u		put 'stack statics' in U
          ldx   #$FF48
          lda   #$D0
          sta   ,x
@@ -61,16 +63,16 @@
          lda   #$09
          sta   >$FF40
          ldd   #$C350
-         ifne  NitrOS9
+         IFNE  NitrOS9
          nop
-         endc
+         ENDC
 L003A    nop
          nop
-         ifne  NitrOS9
+         IFNE  NitrOS9
          nop
          nop
          nop
-         endc
+         ENDC
          subd  #$0001
          bne   L003A
          pshs  u,y,x,b,a
@@ -82,7 +84,7 @@
          std   u0002,u
          clrb
          ldx   #$0000
-         bsr   L00C7
+         bsr   ReadSect
          bcs   L00AA
          ldd   $01,y
          std   u0007,u
@@ -111,8 +113,14 @@
          beq   L00A3
 L0091    pshs  x,b,a
          clrb
-         bsr   L00C7
+         bsr   ReadSect
          bcs   L00A8
+
+         IFNE  NitrOS9
+         lda   #'.		dump out a period for boot debugging
+         jsr   <D.BtBug		do the debug stuff     
+         ENDC
+
          puls  x,b,a
          inc   u0002,u
          leax  1,x
@@ -123,11 +131,12 @@
          bra   L00AC
 L00A8    leas  $04,s
 L00AA    leas  $02,s
-L00AC    sta   >$FFD9
+L00AC    sta   >$FFD9		unnecessary - rel does this for us
          puls  u,y,x
-         leas  $0A,s
-         clr   >$FF40
+         leas  size,s		clean up stack
+         clr   >$FF40		shut off floppy disk
          rts
+
 L00B7    lda   #$29
          sta   ,u
          clr   u0004,u
@@ -135,8 +144,11 @@
          lbsr  L0170
          ldb   #STEP
          lbra  L0195
-L00C7    lda   #$91
-         cmpx  #$0000
+
+* Read a sector from the 1773
+* Entry: X = LSN to read
+ReadSect lda   #$91
+         cmpx  #$0000		LSN0?
          bne   L00DF
          bsr   L00DF
          bcs   L00D6
@@ -245,26 +257,26 @@
          stb   >$FF48
          rts
 L01A8 
-         ifne  NitrOS9
+         IFNE  NitrOS9
          nop
-         endc
+         ENDC
          bsr   L019F
 L01AA  
-         ifne  NitrOS9
+         IFNE  NitrOS9
          nop
          nop
-         endc
+         ENDC
          lbsr  L01AD
 L01AD 
-         ifne  NitrOS9
+         IFNE  NitrOS9
          nop
          nop
-         endc
+         ENDC
          lbsr  L01B0
 L01B0 
-         ifne  NitrOS9
+         IFNE  NitrOS9
          nop
-         endc
+         ENDC
          rts
 
 * Filler to get $1D0
--- a/level2/modules/clock.asm	Mon May 19 11:06:54 2003 +0000
+++ b/level2/modules/clock.asm	Mon May 19 11:10:57 2003 +0000
@@ -194,9 +194,18 @@
          ora   <D.IRQS      Check to see if other hardware IRQ pending.
          bita  #%10110111   Any V/IRQ interrupts pending?
          beq   toggle
+         IFGT  Level-2
+         lbsr  DoPoll       Yes, go service them.
+         ELSE
          bsr   DoPoll       Yes, go service them.
+         ENDC
          bra   KbdCheck
-toggle   bsr   DoToggle     No, toggle GIME anyway
+toggle   equ   *
+         IFGT  Level-2
+         lbsr  DoToggle     No, toggle GIME anyway
+         ELSE
+         bsr   DoToggle     No, toggle GIME anyway
+         ENDC
 
 KbdCheck equ   *
          IFGT  Level-2
--- a/level2/modules/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/modules/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two MODULES/
+
 include ../../Makefile.rules
 
 CLOCKELIM       = -aRTCElim=1 -aRTCDsto2=0 -aRTCDsto4=0 -aRTCBB=0 -aRTCSmart=0 -aRTCHarrs=0 -aRTCTc3=0 -aRTCSoft=0 -aMPIFlag=0
--- a/level2/modules/scf.asm	Mon May 19 11:06:54 2003 +0000
+++ b/level2/modules/scf.asm	Mon May 19 11:10:57 2003 +0000
@@ -19,108 +19,134 @@
 *
 * Ed.    Comments                                       Who YY/MM/DD
 * ------------------------------------------------------------------
+* V1.09  Speeded up L05CC (write char to device)        ??? 93/04/20
+*        routine by a few cycles
+*        - Slightly optomized Insert char
+*        - Move branch table so Read & ReadLn are 1
+*          cycle faster each
+*          Fixed SS.Fill so size is truncated @ 256 bytes
+*        - Added NO CR option to SS.Fill (for use with
+*          modified Shellplus V2.2 command history)
+*        Slight speedup to some of ReadLn parsing,      ??? 93/04/21
+*        TFM's in Open/Close
+*        - More optomization to read/write driver calls
+*        - Got rid of branch table @ L05E3 for speed
+* V1.10  Added Boisy Pitre's patch for non-sharable     ??? 93/05/25
+*        devices.
+*        - Saved 4 cycles in routine @ L042B            ??? 93/05/27
+*        - Modified Boisy's routine to not pshs/puls B
+*          (saves 2 cycles)
+*        - Changed buffer prefill of CR's to save 1 byte
+* V1.11  Changed a BRA to a LBRA to a straight 93/07/27
+*        LBRA in L0322
+*        - Optimized path option character routine @ L032C
+*        Modified vector table @ L033F to save 1 cycle  ??? 93/08/03
+*        on PD.PSC
+*        - Sped up uppercase conversion checks for ReadLn & WritLn
+*        - Changed 2 BRA's to L02F9 to do an LBRA straight to L05F8
+*          (ReadLn loop)
+*        - Moved L0565 routine so Reprint line, Insert & Delete char
+*          (on ReadLn) are 1 cycle faster / char printed
+*        - Changed 2 references to L0420 to go straight to L0565
+*        - Sped up ReadLn loop by 2 or 3 cycles per char read
+* V1.12  Sped up L0435 by 1 or 2 cycles (depending on   ??? 93/09/21
+*        branch)
+*        - Changed LDD ,S to TFR X,D (saves 1 cycle) @ L04F1 (Write & WritLn)
+*        - Modified L04F1 to use W without TFR (+1 byte, -3 cycles) (Write)
+*        Took LDX #0/LDU PD.BUF,y from L03B5 & merged   ??? 93/11/09
+*        in @ L028A, L02EF & L0381. Also changed BEQ
+*        @ L03A5 to skip re-loading X with 0.
+*        Moved L04B2 routine to allow a couple of BSR's ??? 93/11/10
+*        instead of LBSR's In READ.
+*        - Moved driver call right into READ loop
+*          (should save 25 cycles/char read)
+*        - Moved driver call right into L0565 (should
+*          save 12 cycles/char written on echo,
+*          line editing, etc.)
+*        Moved L02FE (ReadLn parsing) to end where      ??? 93/11/26
+*        ReadLn routine is Moved L03E2 so Read loop
+*        would be optomized for it (read char
+*        from driver) instead of L042B (write filled
+*        buffer to caller)
+*        - Changed LDA #C$NULL to CLRA
+*12/01/93Modified device write call (L056F) to preserve
+*        Y as well, to cut down on PSHS/PULS
+*        - Changed L03E2 & L03DA to exit immediately if ??? 93/12/01
+*          PD.DEV or PD.DV2 (depending on which routine)
+*          is empty (eliminated redundant LEAX ,X)
+*        Attempted mode to L03F1 to eliminate           ??? 94/05/31
+*        LDW #D$READ, changed LDX V$DRIV,x
+*                             ADDW M$Exec,x
+*                             JSR w,x
+*        to
+*                             LDW V$DRIV,x
+*                             ADDW M$Exec,w
+*                             JSR D$READ,w
+*        Did same to L05C9 & L056F
+*        (should speed up each by 1 cycle)
+*        Attempted to modify all M$Exec calls to use    ??? 94/06/07
+*        new V$DRIVEX (REQUIRES NEW IOMAN)
+*        - L01FA (Get/SetStat), L03F1 (Read), L05C9
+*          (Write), L056F (Write)
+*        - Changed L046A to use
+*          LDB V.BUSY,x...CMPB ,s...TFR B,A
+*        Changed TST <PD.EKO,y in read loop (L02BC)     ??? 94/06/08
+*        to LDB PD.EKO,y
+*        - Changed LEAX 1,X to LDB #1/ABX @ L02C4
+*        - Changed LEAX >L033F,pc @ L032C to use
+*          < (8 bit) version
+*        - Modified L02E5 to use D instead of X,
+*          allowing TSTA, and faster exit on 0 byte
+*          just BRAnching to L0453
+*        Changed LEAX 1,X to LDB #1/ABX @ L053D,        ??? 94/06/09
+*        L05F8, L0312, L0351, L03B8
+*        - Changed to L0573: All TST's changed to LDB's
+*        - Changed Open/Create init to use LEAX ,pc
+*          instead of BSR/PULS X
+*        - Changed TST PD.CNT,y to LDA PD.CNT,y @ close
+*        - Eliminated L010D, changed references to it
+*          to go to L0129
+*        - Eliminated useless LEAX ,X @ L0182, and changed
+*          BEQ @ L0182 to go to L012A instead of L0129
+*          (speeds CLOSE by 5 or 10 cycles)
+*        - Moved L06B9 into L012B, eliminate BSR/RTS, plus
+*        - Changed TST V.TYPE,x to LDB V.TYPE,x
+*        - Moved L0624 to just before L05F8 to eliminate
+*          BRA L05F8 (ReadLn)
+*        - Changed TST PD.EKO,y @ L0413 to LDB PD.EKO,y
+*        - Moved L0413-L0423 routines to later in code to
+*          allow short branches
+*        - As result of above, changed 6 LBxx to Bxx
+*        - Changed TST PD.MIN,y @ L04BB to LDA PD.MIN,y
+*        - Changed TST PD.RAW,y/TST PD.UPC,y @ L0523 to LDB's
+*        - Changed TST PD.ALF,y @ L052A to LDB
+*        - L053D: Moved TST PD.RAW,y to before LDA -1,u
+*          to speed up WRITE, changed it to LDB
+*        Changed TST PD.ALF,y to LDB @ L052A            ??? 94/06/10
+*        - Changed CLR V.WAKE,u to CLRA/STA V.WAKE,u @ L03F1 (Read)
+*        - Changed CLR V.BUSY,u to CLRA/STA V.BUSY,u @ L045D
+*        - Changed CLR PD.MIN,y to CLRA/STA PD.MIN,y,
+*          moved before LDA P$ID,x @ L04A7
+*        - Changed CLR PD.RAW,y @ L04BB to STA PD.RAW,
+*          since A already 0 to get there
+*        - Changed CLR V.PAUS,u to CLRA/STA V.PAUS,u @ L05A2
+*        - Changed TST PD.RAW,y to LDA PD.RAW,y @ L05A2
+*        - Changed TST PD.ALF,y to LDA PD.ALF,y @ L05A2
+*        - Changed CLR V.WAKE,u to CLRB/STB V.WAKE,u @ L05C9
+*        - Changed CLR V.WAKE,u to CLRB/STB V.WAKE,u @ L056F
+*        - Changed TST PD.UPC,y to LDB PD.UPC,y @ L0322
+*        - Changed TST PD.DLO,y/TST PD.EKO,y to LDB's @ L03A5
+*        Changed TST PD.UPC,y to LDB PD.UPC,y @ L0322   ??? 94/06/16
+*        - Changed TST PD.BSO,y to LDB PD.BSO,y @ L03BF
+*        - Changed TST PD.EKO,y to LDB PD.EKO,y @ L03BF
 *        Merged NitrOS-9 and TuneUp versions for        BGP 02/10/11
 *        single-source maintenance.  Note that
 *        the 6809 version of TuneUp never seemed
 *        to call GrfDrv directly to do fast screen
 *        writes (see note around g.done label)
-*
-* NitrOS9 V1.09 Additions:
-* 04/20/93: Speeded up L05CC (write char to device) routine by a few cycles
-*         : Slightly optomized Insert char
-*         : Move branch table so Read & ReadLn are 1 cycle faster each
-*         : Fixed SS.Fill so size is truncated @ 256 bytes
-*         : Added NO CR option to SS.Fill (for use with modified
-*           Shellplus V2.2 command history)
-* 04/21/93: Slight speedup to some of ReadLn parsing, TFM's in Open/Close
-*         : More optomization to read/write driver calls
-*         : Got rid of branch table @ L05E3 for speed
-* NitrOS9 V1.10 Additions:
-* 05/25/93: Added Boisy Pitre's patch for non-sharable devices
-* 05/27/93: Saved 4 cycles in routine @ L042B
-*         : Modified Boisy's routine to not pshs/puls B (saves 2 cycles)
-*         : Changed buffer prefill of CR's to save 1 byte
-* NitrOS9 V1.11 Additions:
-* 07/27/93: Changed a BRA to a LBRA to a straight LBRA in L0322
-*         : Optomized path option character routine @ L032C
-* 08/03/93: Modified vector table @ L033F to save 1 cycle on PD.PSC
-*         : Sped up uppercase conversion checks for ReadLn & WritLn
-*         : Changed 2 BRA's to L02F9 to do an LBRA straight to L05F8
-*           (ReadLn loop)
-*         : Moved L0565 routine so Reprint line, Insert & Delete char (on
-*           ReadLn) are 1 cycle faster / char printed
-*         : Changed 2 references to L0420 to go straight to L0565
-*         : Sped up ReadLn loop by 2 or 3 cycles per char read
-* NitrOS9 V1.20 Additions:
-* 09/21/93: Sped up L0435 by 1 or 2 cycles (depending on branch)
-*         : Changed LDD ,S to TFR X,D (saves 1 cycle) @ L04F1 (Write & WritLn)
-*         : Modified L04F1 to use W without TFR (+1 byte, -3 cycles) (Write)
-* 11/09/93: Took LDX #0/LDU PD.BUF,y from L03B5 & merged in @ L028A, L02EF &
-*           L0381. Also changed BEQ @ L03A5 to skip re-loading X with 0.
-* 11/10/93: Moved L04B2 routine to allow a couple of BSR's instead of LBSR's
-*           In READ.
-*         : Moved driver call right into READ loop (should save 25 cycles/char
-*           read)
-*         : Moved driver call right into L0565 (should save 12 cycles/char
-*           written on echo, line editing, etc.)
-* 11/26/93: Moved L02FE (ReadLn parsing) to end where ReadLn routine is
-*           Moved L03E2 so Read loop would be optomized for it (read char
-*            from driver) instead of L042B (write filled buffer to caller)
-*           Changed LDA #C$NULL to CLRA
-* 12/01/93: Modified device write call (L056F) to preserve Y as well, to cut
-*           down on PSHS/PULS
-*           Changed L03E2 & L03DA to exit immediately if PD.DEV or PD.DV2
-*           (depending on which routine) is empty (eliminated redundant
-*           LEAX ,X)
-* 05/31/94: Attempted mode to L03F1 to eliminate LDW #D$READ, changed
-*           LDX V$DRIV,x/ADDW M$Exec,x/JSR w,x to LDW V$DRIV,x/ADDW M$Exec,w/
-*           jsr D$READ,w
-*           Did same to L05C9 & L056F (should speed up each by 1 cycle)
-* 06/07/94: Attempted to modify all M$Exec calls to use new V$DRIVEX
-*           (REQUIRES NEW IOMAN) - L01FA (Get/SetStat), L03F1 (Read), L05C9
-*           (Write), L056F (Write)
-*           Changed L046A to use LDB V.BUSY,x...CMPB ,s...TFR B,A
-* 06/08/94: Changed TST <PD.EKO,y in read loop (L02BC) to LDB PD.EKO,y
-*           Changed LEAX 1,X to LDB #1/ABX @ L02C4
-*           Changed LEAX >L033F,pc @ L032C to use < (8 bit) version
-*           Modified L02E5 to use D instead of X, allowing TSTA, and faster
-*           exit on 0 byte just BRAnching to L0453
-* 06/09/94: Changed LEAX 1,X to LDB #1/ABX @ L053D, L05F8, L0312, L0351,
-*           L03B8
-*           Changed to L0573: All TST's changed to LDB's
-*           Changed Open/Create init to use LEAX ,pc instead of BSR/PULS X
-*           Changed TST PD.CNT,y to LDA PD.CNT,y @ close
-*           Eliminated L010D, changed references to it to go to L0129
-*           Eliminated useless LEAX ,X @ L0182, and changed BEQ @ L0182 to go
-*           to L012A instead of L0129 (speeds CLOSE by 5 or 10 cycles)
-*           Moved L06B9 into L012B, eliminate BSR/RTS, plus
-*           Changed TST V.TYPE,x to LDB V.TYPE,x
-*           Moved L0624 to just before L05F8 to eliminate BRA L05F8 (ReadLn)
-*           Changed TST PD.EKO,y @ L0413 to LDB PD.EKO,y
-*           Moved L0413-L0423 routines to later in code to allow short branches
-*           As result of above, changed 6 LBxx to Bxx
-*           Changed TST PD.MIN,y @ L04BB to LDA PD.MIN,y
-*           Changed TST PD.RAW,y/TST PD.UPC,y @ L0523 to LDB's
-*           Changed TST PD.ALF,y @ L052A to LDB
-*           L053D: Moved TST PD.RAW,y to before LDA -1,u to speed up WRITE,
-*             changed it to LDB
-* 06/10/94: Changed TST PD.ALF,y to LDB @ L052A
-*           Changed CLR V.WAKE,u to CLRA/STA V.WAKE,u @ L03F1 (Read)
-*           Changed CLR V.BUSY,u to CLRA/STA V.BUSY,u @ L045D
-*           Changed CLR PD.MIN,y to CLRA/STA PD.MIN,y, moved before LDA
-*              P$ID,x @ L04A7
-*           Changed CLR PD.RAW,y @ L04BB to STA PD.RAW, since A already 0
-*              to get there
-*           Changed CLR V.PAUS,u to CLRA/STA V.PAUS,u @ L05A2
-*           Changed TST PD.RAW,y to LDA PD.RAW,y @ L05A2
-*           Changed TST PD.ALF,y to LDA PD.ALF,y @ L05A2
-*           Changed CLR V.WAKE,u to CLRB/STB V.WAKE,u @ L05C9
-*           Changed CLR V.WAKE,u to CLRB/STB V.WAKE,u @ L056F
-*           Changed TST PD.UPC,y to LDB PD.UPC,y @ L0322
-*           Changed TST PD.DLO,y/TST PD.EKO,y to LDB's @ L03A5
-* 06/16/94: Changed TST PD.UPC,y to LDB PD.UPC,y @ L0322
-*           Changed TST PD.BSO,y to LDB PD.BSO,y @ L03BF
-*           Changed TST PD.EKO,y to LDB PD.EKO,y @ L03BF
+* 16r2   Removed pshs/puls of b from sharable code      BGP 05/16/11
+*        segment for non-NitrOS-9 because it was
+*        not needed.
 
          nam   SCF
          ttl   OS-9 Level Two Sequential Character File Manager
@@ -132,7 +158,7 @@
 
 tylg     set   FlMgr+Objct
 atrv     set   ReEnt+rev
-rev      set   1
+rev      set   2
 edition  equ   16
 
          mod   eom,SCFName,tylg,atrv,SCFEnt,0
@@ -255,50 +281,31 @@
          ldx   V.PDLHd,u    Get path descriptor list header pointer
 * 05/25/93 mod - Boisy Pitre's non-sharable device patches
          beq   Yespath      No path's open, so we know we can open it
-         
-         IFNE  H6309
 
-         pshs  u,x          Preserve static mem & path dsc. hdr ptrs & 0 byte?
+         pshs  u,x          Preserve static mem & path dsc. hdr ptrs
          ldu   PD.DEV,y     Get device table ptr
          ldx   V$DRIV,u     Get ptr to device driver
+         IFNE  H6309
          tim   #SHARE.,M$Mode,x Non-sharable driver?
+         ELSE
+         ldb   M$Mode,x
+         bitb  #SHARE.
+         ENDC
          bne   NoShare      Yes, driver busy
          ldx   V$DESC,u     Get ptr to device descriptor
+         IFNE  H6309
          tim   #SHARE.,M$Mode,x Non-sharable device?
+         ELSE
+         ldb   M$Mode,x
+         bitb  #SHARE.
+         ENDC
          beq   Shrble       No, check for carrier status
 NoShare  puls  u,x          Restore regs
-
-         ELSE
-
-         pshs  u,x,b        Preserve static mem & path dsc. hdr ptrs & 0 byte?
-         ldu   PD.DEV,y     Get device table ptr
-         ldx   V$DRIV,u     Get ptr to device driver
-         ldb   M$Mode,x
-         bitb  #SHARE.
-         bne   NoShare
-         ldx   V$DESC,u     Get ptr to device driver
-         ldb   M$Mode,x
-         bitb  #SHARE.
-         beq   Shrble
-NoShare  puls  u,x,b        Restore regs
-
-         ENDC
-         
          leas  2,s          Eat extra stack (including good path count)
          comb
          ldb   #E$DevBsy    Non-sharable device busy error
          bra   L0111        Go detach device & exit with error
-
-         IFNE  H6309
-
 Shrble   puls  u,x          Restore Static mem & path dsc. ptrs
-
-         ELSE
-
-Shrble   puls  u,x,b        Restore Static mem & path dsc. ptrs
-
-         ENDC
-
          bra   L00E8        Check carrier status
          
 Yespath  sty   V.PDLHd,u    Save path descriptor ptr
--- a/level2/sys/makefile	Mon May 19 11:06:54 2003 +0000
+++ b/level2/sys/makefile	Mon May 19 11:10:57 2003 +0000
@@ -1,3 +1,5 @@
+# Makefile for OS-9 Level Two SYS/
+
 include ../../Makefile.rules
 
 vpath %.hp $(LEVEL1)/SYS