changeset 326:bdd31b961b6f

Moved from OS-9 Level Two V3 -- this dir is the Tandy OS-9 Level Two dir with Y2K fixes and is newer than the Tandy OS-9 Level One dir
author boisy
date Wed, 24 Jul 2002 04:59:43 +0000
parents 8359c4f13735
children f0a2dcf03503
files level1/cmds/dir.asm
diffstat 1 files changed, 232 insertions(+), 223 deletions(-) [+]
line wrap: on
line diff
--- a/level1/cmds/dir.asm	Wed Jul 24 04:51:33 2002 +0000
+++ b/level1/cmds/dir.asm	Wed Jul 24 04:59:43 2002 +0000
@@ -3,15 +3,20 @@
 *
 * $Id$
 *
+* This dir initially started from the dir command that came with
+* the OS-9 Level Two package, then incorporated Glenside's Y2K
+* fix.
+*
 * Ed.    Comments                                       Who YY/MM/DD
 * ------------------------------------------------------------------
-*   5    From Tandy OS-9 Level One VR 02.00.00
-*   7    Made compliant with 1900-2155                  BGP 99/05/11
+* 10     Incorporated Glenside Y2K fixes                BGP 99/05/11
 
          nam   Dir
          ttl   Show directory
 
-* Disassembled 99/04/11 17:39:33 by Disasm v1.6 (C) 1988 by RML
+         ttl   program module       
+
+* Disassembled 99/04/11 16:36:40 by Disasm v1.6 (C) 1988 by RML
 
          ifp1
          use   defsfile
@@ -19,8 +24,8 @@
 
 tylg     set   Prgrm+Objct   
 atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   7
+rev      set   $00
+edition  set   10
 
          mod   eom,name,tylg,atrv,start,size
 
@@ -29,24 +34,24 @@
 u0003    rmb   1
 u0004    rmb   1
 u0005    rmb   1
-u0006    rmb   1
-u0007    rmb   1
+u0006    rmb   2
 u0008    rmb   1
 u0009    rmb   1
 u000A    rmb   1
 u000B    rmb   1
-u000C    rmb   3
-u000F    rmb   3
-u0012    rmb   29
-u002F    rmb   1
+u000C    rmb   1
+u000D    rmb   3
+u0010    rmb   3
+u0013    rmb   29
 u0030    rmb   1
 u0031    rmb   1
 u0032    rmb   1
-u0033    rmb   2
-u0035    rmb   6
-u003B    rmb   2
-u003D    rmb   2
-u003F    rmb   530
+u0033    rmb   1
+u0034    rmb   2
+u0036    rmb   6
+u003C    rmb   2
+u003E    rmb   2
+u0040    rmb   530
 size     equ   .
 
 name     fcs   /Dir/
@@ -58,313 +63,317 @@
          fcb   C$CR
 L0022    fcc   "@"
          fcb   C$CR
-WideDir  fcb   C$LF
-         fcc   "Owner Last modified   Attributes Sector Bytecount Name"
-         fcb   C$LF
-         fcc   "----- --------------- ---------- ------ --------- ----------"
-         fcb   C$CR
-WideDirL equ   *-WideDir
-
-NrrwDir  fcb   C$LF
-         fcc   "Modified on    Owner   Name"
-         fcb   C$LF
+L0024    fcb   C$CR,C$LF
+         fcc   "Owner  Last modified   Attributes Sector Bytecount   Name"
+         fcb   C$CR,C$LF
+         fcc   "----- ---------------- ---------- ------ --------- ----------"
+         fcb   C$CR,C$LF
+L00A0    fcb   C$CR,C$LF
+         fcc   "Modified on  Owner   Name"
+         fcb   C$CR,C$LF
          fcc   "  Attr     Sector     Size"
-         fcb   C$LF
+         fcb   C$CR,C$LF
          fcc   "==============================="
          fcb   C$CR
-NrrwDirL equ   *-NrrwDir
+         fcb   C$LF
 
-start    leay  <u003F,u
-         sty   <u000A
+start    leay  <u0040,u
+         sty   <u000B
          clr   <u0004
          clr   <u0003
-         clr   <u0009
+         clr   <u000A
          lda   #$10
          ldb   #$30
-         std   <u0007
+         std   <u0008
          pshs  y,x,b,a
-         lda   #1
+         lda   #$01
          ldb   #$26
          os9   I$GetStt 
-         bcc   L0111
+         bcc   L0120
          cmpb  #$D0
-         beq   L011E
+         beq   L012D
          puls  y,x,b,a
-         lbra  L0258
-L0111    cmpx  #80
-         beq   L011E
-         inc   <u0009
+         lbra  L0268
+L0120    cmpx  #$0040
+         bge   L012D
+         inc   <u000A
          lda   #$0A
          ldb   #$14
-         std   <u0007
-L011E    puls  y,x,b,a
-         lbsr  L032F
+         std   <u0008
+L012D    puls  y,x,b,a
+         lbsr  L0370
          lda   ,-x
          cmpa  #$0D
-         bne   L012D
+         bne   L013C
          leax  >L0020,pcr
-L012D    stx   <u0000
+L013C    stx   <u0000
          lda   #$81
          ora   <u0004
          pshs  x,a
          os9   I$Open   
          sta   <u0002
          puls  x,a
-         lbcs  L0258
+         lbcs  L0268
          os9   I$ChgDir 
-         lbcs  L0258
+         lbcs  L0268
          pshs  x
          leay  >L0011,pcr
-         lbsr  L02CC
+         lbsr  L02E6
          ldx   <u0000
-L0152    lda   ,x+
-         lbsr  L02A6
+L0161    lda   ,x+
+         lbsr  L02B7
          cmpx  ,s
-         bcs   L0152
+         bcs   L0161
          leas  $02,s
-         lbsr  L032F
-         lbsr  L02A4
-         lbsr  L02A4
-         leax  u000C,u
+         lbsr  L0370
+         lbsr  L02B5
+         lbsr  L02B5
+         leax  u000D,u
          os9   F$Time   
-         leax  u000F,u
-         lbsr  L0302
-         lbsr  L02D7
+         leax  <u0010,u
+         lbsr  L0328
+         lbsr  L02F5
          tst   <u0003
-         beq   L01A3
+         beq   L01B3
          lda   #$01
          ora   <u0004
          leax  >L0022,pcr
          os9   I$Open   
-         lbcs  L0258
+         lbcs  L0268
          sta   <u0005
-         tst   <u0009
-         bne   L0196
-         leax  >WideDir,pcr
-         ldy   #WideDirL
-         bra   L019E
-L0196    leax  >NrrwDir,pcr
-         ldy   #NrrwDirL
-L019E    lda   #$01
-         os9   I$WritLn 
-L01A3    lda   <u0002
+         tst   <u000A
+         bne   L01A6
+         leax  >L0024,pcr
+         ldy   #$007C
+         bra   L01AE
+L01A6    leax  >L00A0,pcr
+         ldy   #$005A
+L01AE    lda   #$01
+         os9   I$Write  
+L01B3    lda   <u0002
          ldx   #$0000
          pshs  u
          ldu   #$0040
          os9   I$Seek   
          puls  u
-         lbra  L0243
-L01B5    tst   <u0012
-         lbeq  L0243
+         lbra  L0253
+L01C5    tst   <u0013
+         lbeq  L0253
          tst   <u0003
-         bne   L01D8
-         leay  <u0012,u
-         lbsr  L02CC
-L01C5    lbsr  L02A4
-         ldb   <u000B
-         subb  #$3F
-         cmpb  <u0008
-         bhi   L021C
-L01D0    subb  <u0007
-         bhi   L01D0
-         bne   L01C5
-         bra   L0243
-L01D8    pshs  u
-         lda   <u0031
+         bne   L01E8
+         leay  <u0013,u
+         lbsr  L02E6
+L01D5    lbsr  L02B5
+         ldb   <u000C
+         subb  #$40
+         cmpb  <u0009
+         bhi   L022C
+L01E0    subb  <u0008
+         bhi   L01E0
+         bne   L01D5
+         bra   L0253
+L01E8    pshs  u
+         lda   <u0032
          clrb  
          tfr   d,u
-         ldx   <u002F
+         ldx   <u0030
          lda   <u0005
          os9   I$Seek   
          puls  u
-         bcs   L0258
-         leax  <u0032,u
+         bcs   L0268
+         leax  <u0033,u
          ldy   #$000D
          os9   I$Read   
-         bcs   L0258
-         tst   <u0009
-         bne   L0221
-         ldd   <u0033
+         bcs   L0268
+         tst   <u000A
+         bne   L0231
+         ldd   <u0034
          clr   <u0006
-         bsr   L0263
-         lbsr  L02A4
-         lbsr  L02ED
-         lbsr  L02A4
-         lbsr  L02B9
-         lbsr  L02A4
-         lbsr  L02A4
-         bsr   L025D
-         bsr   L026F
-         leay  <u0012,u
-         lbsr  L02CC
-L021C    lbsr  L02D7
-         bra   L0243
-L0221    lbsr  L02ED
-         ldd   <u0033
+         bsr   L0274
+         lbsr  L02B5
+         lbsr  L030B
+         lbsr  L02B5
+         lbsr  L02D3
+         lbsr  L02B5
+         lbsr  L02B5
+         bsr   L026E
+         bsr   L0280
+         leay  <u0013,u
+         lbsr  L02E6
+L022C    lbsr  L02F5
+         bra   L0253
+L0231    lbsr  L030B
+         ldd   <u0034
          clr   <u0006
-         bsr   L0263
-         bsr   L02A4
-         leay  <u0012,u
-         lbsr  L02CC
-         lbsr  L02D7
-         lbsr  L02B9
-         bsr   L02A4
-         bsr   L02A4
-         bsr   L025D
-         bsr   L026F
-         lbsr  L02D7
-L0243    leax  <u0012,u
+         bsr   L0274
+         bsr   L02B5
+         leay  <u0013,u
+         lbsr  L02E6
+         lbsr  L02F5
+         lbsr  L02D3
+         bsr   L02B5
+         bsr   L02B5
+         bsr   L026E
+         bsr   L0280
+         lbsr  L02F5
+L0253    leax  <u0013,u
          ldy   #$0020
          lda   <u0002
          os9   I$Read   
-         lbcc  L01B5
+         lbcc  L01C5
          cmpb  #$D3
-         bne   L0258
+         bne   L0268
          clrb  
-L0258    bsr   L02D7
+L0268    lbsr  L02F5
          os9   F$Exit   
-L025D    lda   <u002F
-         bsr   L0287
-         ldd   <u0030
-L0263    bsr   L0289
+L026E    lda   <u0030
+         bsr   L0298
+         ldd   <u0031
+L0274    bsr   L029A
          tfr   b,a
-         bsr   L027D
+         bsr   L028E
          inc   <u0006
-         bsr   L028B
-         bra   L02A4
-L026F    ldd   <u003B
-         bsr   L0287
+         bsr   L029C
+         bra   L02B5
+L0280    ldd   <u003C
+         bsr   L0298
          tfr   b,a
-         bsr   L0289
-         bsr   L02A4
-         ldd   <u003D
-         bra   L0263
-L027D    pshs  a
+         bsr   L029A
+         bsr   L02B5
+         ldd   <u003E
+         bra   L0274
+L028E    pshs  a
          lsra  
          lsra  
          lsra  
          lsra  
-         bsr   L028D
+         bsr   L029E
          puls  pc,a
-L0287    clr   <u0006
-L0289    bsr   L027D
-L028B    anda  #$0F
-L028D    tsta  
-         beq   L0292
+L0298    clr   <u0006
+L029A    bsr   L028E
+L029C    anda  #$0F
+L029E    tsta  
+         beq   L02A3
          sta   <u0006
-L0292    tst   <u0006
-         bne   L029A
+L02A3    tst   <u0006
+         bne   L02AB
          lda   #$20
-         bra   L02A6
-L029A    adda  #$30
+         bra   L02B7
+L02AB    adda  #$30
          cmpa  #$39
-         bls   L02A6
+         bls   L02B7
          adda  #$07
-         bra   L02A6
-L02A4    lda   #$20
-L02A6    pshs  x
-         ldx   <u000A
-         sta   ,x+
-         stx   <u000A
+         bra   L02B7
+L02B5    lda   #$20
+L02B7    pshs  x
+         ldx   <u000B
+         cmpx  #$0090
+         bcs   L02C4
+         bsr   L02F1
+         ldx   <u000B
+L02C4    sta   ,x+
+         stx   <u000B
          puls  pc,x
-L02B0    fcc   "dsewrewr"
-         fcb   $FF
-L02B9    fcb   $D6,$32
-         leax  <L02B0,pcr
+L02CA    fcc   "dsewrewr"
+         fcb    $FF
+L02D3    fcb    $D6,$33,$30,$8C,$F2
          lda   ,x+
-L02C0    lslb  
-         bcs   L02C5
+L02DA    lslb  
+         bcs   L02DF
          lda   #$2D
-L02C5    bsr   L02A6
+L02DF    bsr   L02B7
          lda   ,x+
-         bpl   L02C0
+         bpl   L02DA
          rts   
-L02CC    lda   ,y
+L02E6    lda   ,y
          anda  #$7F
-         bsr   L02A6
+         bsr   L02B7
          lda   ,y+
-         bpl   L02CC
+         bpl   L02E6
          rts   
-L02D7    pshs  y,x,a
+L02F1    pshs  y,x,b,a
+         bra   L02FB
+L02F5    pshs  y,x,b,a
          lda   #$0D
-         bsr   L02A6
-         leax  <u003F,u
-         stx   <u000A
+         bsr   L02B7
+L02FB    leax  <u0040,u
+         stx   <u000B
          ldy   #$0050
          lda   #$01
          os9   I$WritLn 
-         puls  pc,y,x,a
-L02ED    leax  <u0035,u
+         puls  pc,y,x,b,a
+L030B    leax  <u0036,u
+L030E    bsr   L0338
+         bsr   L0324
+         bsr   L0324
+         bsr   L02B5
+         bsr   L034F
+         tst   <u000A
+         beq   L0320
+         bsr   L034F
+         bra   L02B5
+L0320    bsr   L0332
+         bra   L02B5
+L0324    lda   #$2F
+         bra   L0334
+L0328    tst   <u000A
+         bne   L0330
+         leax  u000D,u
+         bra   L030E
+L0330    bsr   L034F
+L0332    lda   #$3A
+L0334    bsr   L02B7
+         bra   L034F
+L0338    lda   #$AE
          ldb   ,x
-         cmpb  #100
-         blo   L1900
-         subb  #100
-         cmpb  #100
-         blo   L2000
-L2100    subb  #100 
+L033C    inca  
+         subb  #$64
+         bcc   L033C
          stb   ,x
-         ldb   #21
-         bra   PrCnty
-L1900    stb   ,x
-         ldb   #19
-         bra   PrCnty
-L2000    stb   ,x
-         ldb   #20
-PrCnty   bsr   L030C
-         bsr   L030A
-         bsr   L02FE
-         bsr   L02FE
-         bsr   L02A4
-         bsr   L030A
-         bsr   L030A
-         bra   L02A4
-L02FE    lda   #$2F
-         bra   L0308
-L0302    bsr   L030A
-         bsr   L0306
-L0306    lda   #$3A
-L0308    lbsr  L02A6
-L030A    ldb   ,x+
-L030C    lda   #$2F
-         cmpb  #$64
-         bcs   L0313
-         clrb  
-L0313    inca  
+         tfr   a,b
+         tst   <u000A
+         bne   L034B
+         bsr   L035F
+L034B    ldb   ,x+
+         bra   L035F
+L034F    ldb   ,x+
+         lda   #$2F
+L0353    inca  
          subb  #$64
-         bcc   L0313
+         bcc   L0353
          cmpa  #$30
-         beq   L031E
-         lbsr  L02A6
-L031E    lda   #$3A
-L0320    deca  
+         beq   L035F
+         lbsr  L02B7
+L035F    lda   #$3A
+L0361    deca  
          addb  #$0A
-         bcc   L0320
-         lbsr  L02A6
+         bcc   L0361
+         lbsr  L02B7
          tfr   b,a
          adda  #$30
-         lbra  L02A6
-L032F    ldd   ,x+
+         lbra  L02B7
+L0370    ldd   ,x+
          cmpa  #$20
-         beq   L032F
+         beq   L0370
          cmpa  #$2C
-         beq   L032F
+         beq   L0370
          eora  #$45
          anda  #$DF
-         bne   L0347
+         bne   L0388
          cmpb  #$30
-         bcc   L0347
+         bcc   L039A
          inc   <u0003
-         bra   L032F
-L0347    lda   -$01,x
+         bra   L0370
+L0388    lda   -$01,x
          eora  #$58
          anda  #$DF
-         bne   L0359
+         bne   L039A
          cmpb  #$30
-         bcc   L0359
+         bcc   L039A
          lda   #$04
          sta   <u0004
-         bra   L032F
-L0359    rts   
+         bra   L0370
+L039A    rts   
 
          emod
 eom      equ   *