# HG changeset patch # User boisy # Date 1053342657 0 # Node ID a3d0ac9516847cf1775224df948c51a9a354b6ab # Parent bb618bed0bdc7e7c86556a5372c40f8d403e2908 Miscellaneous source improvements diff -r bb618bed0bdc -r a3d0ac951684 level2/cmds/makefile --- 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) diff -r bb618bed0bdc -r a3d0ac951684 level2/cmds/mmap.asm --- 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 diff -r bb618bed0bdc -r a3d0ac951684 level2/coco3/ChangeLog --- 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. diff -r bb618bed0bdc -r a3d0ac951684 level2/coco3/bootfiles/makefile --- 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 diff -r bb618bed0bdc -r a3d0ac951684 level2/coco3_6309/ChangeLog --- 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. diff -r bb618bed0bdc -r a3d0ac951684 level2/coco3_6309/bootfiles/makefile --- 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 diff -r bb618bed0bdc -r a3d0ac951684 level2/defs/makefile --- 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 diff -r bb618bed0bdc -r a3d0ac951684 level2/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 diff -r bb618bed0bdc -r a3d0ac951684 level2/modules/boot_1773.asm --- 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 $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 diff -r bb618bed0bdc -r a3d0ac951684 level2/modules/clock.asm --- 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 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 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 diff -r bb618bed0bdc -r a3d0ac951684 level2/sys/makefile --- 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