changeset 192:04ea18f57106

Migrated OS-9 Level Two command
author boisy
date Sun, 14 Jul 2002 05:23:06 +0000
parents 50fae533cfe9
children c30930f8f3f8
files level1/cmds/login.asm
diffstat 1 files changed, 193 insertions(+), 179 deletions(-) [+]
line wrap: on
line diff
--- a/level1/cmds/login.asm	Sun Jul 14 04:48:22 2002 +0000
+++ b/level1/cmds/login.asm	Sun Jul 14 05:23:06 2002 +0000
@@ -5,12 +5,14 @@
 *
 * Ed.    Comments                                       Who YY/MM/DD
 * ------------------------------------------------------------------
-* 12     Original Tandy version
-* 13     Fixed for years 1900-2155                      BGP 99/05/11
+* 16     Original Tandy version
+* 17     Fixed for years 1900-2155                      BGP 99/05/11
 
          nam   Login
          ttl   Timeshare login utility
 
+* Disassembled 02/07/13 23:49:05 by Disasm v1.6 (C) 1988 by RML
+
          ifp1
          use   defsfile
          endc
@@ -18,7 +20,6 @@
 tylg     set   Prgrm+Objct   
 atrv     set   ReEnt+rev
 rev      set   $01
-edition  set   13
 
          mod   eom,name,tylg,atrv,start,size
 
@@ -40,21 +41,25 @@
 size     equ   .
 
 name     fcs   /Login/
-         fcb   edition
+         fcb   $10 
+
 
 L0013    fcc   "SYS/PASSWORD"
          fcb   C$CR
          fcc   ",,,,,,,,,,,,,,,"
 WideMsg  fcb   C$LF,C$LF
-         fcc   "OS-9 Timesharing system   Level I 0"
+         fcc   "OS-9 Timesharing system"
+         fcb   C$LF
+         fcc   "Level II  RS VR. 0"
          fcb   48+OS9Vrsn
          fcc   ".0"
          fcb   48+OS9Major
          fcc   ".0"
          fcb   48+OS9Minor
+         fcb   C$LF
 WideMsgL equ   *-WideMsg
 NrrwMsg  fcb   C$LF,C$LF
-         fcc   "OS-9 Level I 0"
+         fcc   "OS-9 Level II  RS Vr0"
          fcb   48+OS9Vrsn
          fcc   ".0"
          fcb   48+OS9Major
@@ -71,8 +76,7 @@
 
 Pass     fcc   "Password: "
 PassLen  equ   *-Pass
-
-InvPass  fcc   "Invalid password."
+nvPass  fcc   "Invalid password."
          fcb   C$CR
 
 ProcNum  fcb   C$LF
@@ -106,325 +110,335 @@
 
 Root     fcc   "...... "
 
+L015C    rts
+
 start    leas  >u010D,u
+         pshs  y,x
+         leax  <L015C,pcr
+         os9   F$Icpt   
+         bcs   L0172
+         ldy   #$0000
+         os9   F$SUser  
+L0172    puls  y,x
+         lbcs  L02F4
          clr   <u0000
          leay  >u01DD,u
          sty   <u000A
          leay  >u018D,u
          sty   <u0008
          std   ,--s
-         beq   L016D
-L0165    lda   ,x+
+         beq   L0194
+L018C    lda   ,x+
          sta   ,y+
          cmpa  #C$CR
-         bne   L0165
-L016D    lda   #$01
+         bne   L018C
+L0194    lda   #$01
          ldb   #SS.ScSiz
          os9   I$GetStt 
-         bcc   L017D
+         bcc   L01A4
          cmpb  #E$UnkSvc
-         beq   L0184
-         lbra  L025A
-L017D    cmpx  #80
-         beq   L0184
+         beq   L01AB
+         lbra  L0280
+L01A4    cmpx  #$0046
+         bcc   L01AB
          inc   <u0000
-L0184    lda   #READ.
+L01AB    lda   #READ.
          leax  >Root,pcr
          os9   I$ChgDir 
          lda   #READ.
          leax  >L0013,pcr
          os9   I$Open   
-         lbcs  L02CE
+         lbcs  L02F4
          sta   <u0001
          lda   #$03
          sta   <u0003
          ldd   ,s++
-         beq   L01AC
+         beq   L01D3
          ldx   <u0008
          lda   ,x
          cmpa  #C$CR
-         bne   L01E2
-L01AC    tst   <u0000
-         beq   L01BA
+         bne   L0209
+L01D3    tst   <u0000
+         beq   L01E1
          leax  >NrrwMsg,pcr
          ldy   #NrrwMsgL
-         bra   L01C2
-L01BA    leax  >WideMsg,pcr
+         bra   L01E9
+L01E1    leax  >WideMsg,pcr
          ldy   #WideMsgL
-L01C2    lbsr  L0309
-L01C5    dec   <u0003
+L01E9    lbsr  L032F
+L01EC    dec   <u0003
          leax  >Sorry,pcr
-         lbmi  L02F9
+         lbmi  L031F
          leax  >u018D,u
          stx   <u0008
          leax  >UName,pcr
          ldy   #UNameLen
-         lbsr  L0321
-         bcs   L01E7
-L01E2    lbsr  L036D
-         bcc   L01F0
-L01E7    leax  >Who,pcr
-L01EB    lbsr  L02FF
-         bra   L01C5
-L01F0    lbsr  L0393
-         bcc   L022C
+         lbsr  L0347
+         bcs   L020E
+L0209    lbsr  L0393
+         bcc   L0217
+L020E    leax  >Who,pcr
+L0212    lbsr  L0325
+         bra   L01EC
+L0217    lbsr  L03B9
+         bcc   L0253
          ldx   <u0008
          lda   ,x
          cmpa  #C$CR
-         bne   L021B
+         bne   L0242
          lda   #C$COMA
          sta   ,x+
          stx   <u0008
-         lbsr  L0331
+         lbsr  L0357
          leax  >Pass,pcr
          ldy   #PassLen
-         lbsr  L0321
-         lbsr  L0359
-         bcs   L01E7
-         lbsr  L0393
-         bcc   L022C
-L021B    leax  >u018D,u
+         lbsr  L0347
+         lbsr  L037F
+         bcs   L020E
+         lbsr  L03B9
+         bcc   L0253
+L0242    leax  >u018D,u
          stx   <u0008
-         lbsr  L037B
-         bcc   L01F0
-         leax  >InvPass,pcr
-         bra   L01EB
-L022C    lda   <u0001
+         lbsr  L03A1
+         bcc   L0217
+         leax  >nvPass,pcr
+         bra   L0212
+L0253    lda   <u0001
          os9   I$Close  
-         lbsr  L03E2
-         ldy   >$004B
-         std   $09,y
-         lbsr  L03E2
+         lbsr  L0408
+         tfr   d,y
+         os9   F$SUser  
+         lbsr  L0408
          tsta  
-         lbne  L02F5
+         lbne  L031B
          tstb  
-         lbeq  L02F5
+         lbeq  L031B
          stb   <u0005
          os9   F$ID     
          sta   <u0004
          lda   #READ.
          leax  >MOTD,pcr
          os9   I$Open   
-         bcc   L025A
+         bcc   L0280
          clra  
-L025A    sta   <u0002
+L0280    sta   <u0002
          lda   #$04
-         bsr   L02D1
+         bsr   L02F7
          lda   #$03
-         bsr   L02D1
+         bsr   L02F7
          leax  >ProcNum,pcr
          ldy   #ProcNumL
-         lbsr  L0317
+         lbsr  L033D
          leax  u0004,u
-         lbsr  L044B
+         lbsr  L0471
          tst   <u0000
-         beq   L0282
+         beq   L02A8
          leax  >lo2,pcr
          ldy   #lo2len
-         bra   L028A
-L0282    leax  >lo1,pcr
+         bra   L02B0
+L02A8    leax  >lo1,pcr
          ldy   #lo1len
-L028A    bsr   L0309
+L02B0    bsr   L032F
          leax  >Welcome,pcr
-         bsr   L02FF
-         lbsr  L03CA
+         bsr   L0325
+         lbsr  L03F0
          clrb  
          ldx   <u0006
          leau  ,x
-L029A    lda   ,u+
+L02C0    lda   ,u+
          cmpa  #'0
-         bcc   L029A
+         bcc   L02C0
          cmpa  #C$COMA
-         beq   L02A6
+         beq   L02CC
          leau  -u0001,u
-L02A6    lda   ,u+
+L02CC    lda   ,u+
          cmpa  #C$SPAC
-         beq   L02A6
+         beq   L02CC
          leau  -u0001,u
          pshs  u
          ldy   #$0000
-L02B4    lda   ,u+
+L02DA    lda   ,u+
          leay  $01,y
          cmpa  #C$CR
-         bne   L02B4
+         bne   L02DA
          puls  u
          lda   <u0004
          ldb   <u0005
          os9   F$SPrior 
-         ldd   #$0100
+         ldd   #256
          os9   F$Chain  
          os9   F$PErr   
-L02CE    os9   F$Exit   
-L02D1    ldx   <u0006
+L02F4    os9   F$Exit   
+L02F7    ldx   <u0006
          os9   I$ChgDir 
-         bcs   L02EF
+         bcs   L0315
          ldx   <u0006
-L02DA    lda   ,x+
+L0300    lda   ,x+
          cmpa  #C$CR
-         beq   L02F5
+         beq   L031B
          cmpa  #C$COMA
-         bne   L02DA
+         bne   L0300
          lda   #C$SPAC
-L02E6    cmpa  ,x+
-         beq   L02E6
+L030C    cmpa  ,x+
+         beq   L030C
          leax  ,-x
          stx   <u0006
          rts   
-L02EF    leax  >DirNotFnd,pcr
-         bra   L02F9
-L02F5    leax  >Syntax,pcr
-L02F9    bsr   L02FF
+L0315    leax  >DirNotFnd,pcr
+         bra   L031F
+L031B    leax  >Syntax,pcr
+L031F    bsr   L0325
          clrb  
          os9   F$Exit   
-L02FF    ldy   #$0100
+L0325    ldy   #256
          lda   #$01
          os9   I$WritLn 
          rts   
-L0309    bsr   L0317
-         lbsr  L0472
-         lbsr  L0472
-         lbsr  L0472
-         lbra  L042E
-L0317    lda   ,x+
-         lbsr  L0474
+L032F    bsr   L033D
+         lbsr  L0498
+         lbsr  L0498
+         lbsr  L0498
+         lbra  L0454
+L033D    lda   ,x+
+         lbsr  L049A
          leay  -$01,y
-         bne   L0317
+         bne   L033D
          rts   
-L0321    bsr   L0317
-         lbsr  L0486
+L0347    bsr   L033D
+         lbsr  L04AC
          ldx   <u0008
          ldy   #80
          clra  
          os9   I$ReadLn 
          rts   
-L0331    pshs  x,b,a
+L0357    pshs  x,b,a
          leax  >u022D,u
          ldb   #SS.Opt
          clra  
          os9   I$GetStt 
-         bcs   L0353
+         bcs   L0379
          lda   ,x
          cmpa  #$00
-         bne   L0353
+         bne   L0379
          lda   $04,x
          pshs  a
          clr   $04,x
-         bsr   L0359
+         bsr   L037F
          puls  a
          sta   $04,x
          puls  pc,x,b,a
-L0353    lda   #$FF
+L0379    lda   #$FF
          sta   ,x
          puls  pc,x,b,a
-L0359    pshs  x,b,a,cc
+L037F    pshs  x,b,a,cc
          leax  >u022D,u
          lda   ,x
          cmpa  #$00
-         bne   L036B
+         bne   L0391
          ldb   #SS.Opt
          clra  
          os9   I$SetStt 
-L036B    puls  pc,x,b,a,cc
-L036D    pshs  u
+L0391    puls  pc,x,b,a,cc
+L0393    pshs  u
          lda   <u0001
          ldx   #$0000
          leau  ,x
          os9   I$Seek   
          puls  u
-L037B    lda   <u0001
+L03A1    lda   <u0001
          leax  >u010D,u
-         ldy   #$0080
+         ldy   #128
          os9   I$ReadLn 
-         bcs   L0392
+         bcs   L03B8
          stx   <u0006
-         bsr   L0393
-         bcs   L037B
+         bsr   L03B9
+         bcs   L03A1
          stx   <u0006
-L0392    rts   
-L0393    ldx   <u0006
+L03B8    rts   
+L03B9    ldx   <u0006
          ldy   <u0008
-L0398    lda   ,x+
+L03BE    lda   ,x+
          cmpa  #C$COMA
-         beq   L03AC
+         beq   L03D2
          cmpa  #C$CR
-         beq   L03AA
+         beq   L03D0
          eora  ,y+
          anda  #$DF
-         beq   L0398
-L03A8    comb  
+         beq   L03BE
+L03CE    comb  
          rts   
-L03AA    leax  -$01,x
-L03AC    lda   ,y+
+L03D0    leax  -$01,x
+L03D2    lda   ,y+
          cmpa  #C$COMA
-         beq   L03B8
+         beq   L03DE
          cmpa  #'0
-         bcc   L03A8
+         bcc   L03CE
          leay  -$01,y
-L03B8    lda   ,y+
+L03DE    lda   ,y+
          cmpa  #C$SPAC
-         beq   L03B8
+         beq   L03DE
          leay  -$01,y
          sty   <u0008
          stx   <u0006
          clrb  
          rts   
-L03C7    lbsr  L02FF
-L03CA    lda   <u0002
-         beq   L03E0
+L03ED    lbsr  L0325
+L03F0    lda   <u0002
+         beq   L0406
          leax  >u018D,u
          ldy   #80
          os9   I$ReadLn 
-         bcc   L03C7
+         bcc   L03ED
          lda   <u0002
          os9   I$Close  
-L03E0    clrb  
+L0406    clrb  
          rts   
-L03E2    ldx   <u0006
+L0408    ldx   <u0006
          clra  
          clrb  
          pshs  y,x,b,a
          pshs  b
-L03EA    ldb   ,x+
+L0410    ldb   ,x+
          cmpb  #C$PERD
-         bne   L03FD
+         bne   L0423
          tsta  
-         lbne  L02F5
+         lbne  L031B
          ldb   $02,s
          stb   ,s
          clr   $02,s
-         bra   L03EA
-L03FD    subb  #$30
+         bra   L0410
+L0423    subb  #$30
          cmpb  #$09
-         bhi   L0416
+         bhi   L043C
          clra  
          ldy   #$000A
-L0408    addd  $01,s
-         lbcs  L02F5
+L042E    addd  $01,s
+         lbcs  L031B
          leay  -$01,y
-         bne   L0408
+         bne   L042E
          std   $01,s
-         bra   L03EA
-L0416    lda   -$01,x
+         bra   L0410
+L043C    lda   -$01,x
          cmpa  #C$COMA
-         lbne  L02F5
+         lbne  L031B
          stx   <u0006
          lda   ,s+
-         beq   L042C
+         beq   L0452
          tst   ,s
-         lbne  L02F5
+         lbne  L031B
          sta   ,s
-L042C    puls  pc,y,x,b,a
-L042E    leax  u000D,u
+L0452    puls  pc,y,x,b,a
+L0454    leax  u000D,u
          os9   F$Time   
-         bsr   L0443
-         bsr   L0472
-         bsr   L043B
-         bra   L047E
-L043B    bsr   L044B
-         bsr   L043F
-L043F    lda   #$3A
-         bra   L0449
-L0443    ldb   ,x
+         bsr   Y2K
+         bsr   L0498
+         bsr   L0461
+         bra   L04A4
+L0461    bsr   L0471
+         bsr   L0465
+L0465    lda   #$3A
+         bra   L046F
+Y2K      ldb   ,x
          cmpb  #100
          blo   L1900
          subb  #100
@@ -439,43 +453,43 @@
          bra   PrCnty
 L2000    stb   ,x
          ldb   #20
-PrCnty   bsr   L044D
-         bsr   L044B
-         bsr   L0447
-L0447    lda   #$2F
-L0449    bsr   L0474
-L044B    ldb   ,x+
-L044D    lda   #$2F
+PrCnty   bsr   Slash
+L0469    bsr   L0471
+         bsr   L046D
+L046D    lda   #'/
+L046F    bsr   L049A
+L0471    ldb   ,x+
+Slash    lda   #'/
          clr   <u000C
-L0451    inca  
+L0477    inca  
          subb  #$64
-         bcc   L0451
-         bsr   L0467
+         bcc   L0477
+         bsr   L048D
          lda   #$3A
-L045A    deca  
+L0480    deca  
          addb  #$0A
-         bcc   L045A
-         bsr   L0474
+         bcc   L0480
+         bsr   L049A
          tfr   b,a
          adda  #$30
-         bra   L0474
-L0467    inc   <u000C
+         bra   L049A
+L048D    inc   <u000C
          cmpa  #$30
-         bne   L0474
+         bne   L049A
          dec   <u000C
-         bne   L0474
+         bne   L049A
          rts   
-L0472    lda   #C$SPAC
-L0474    pshs  x
+L0498    lda   #C$SPAC
+L049A    pshs  x
          ldx   <u000A
          sta   ,x+
          stx   <u000A
          puls  pc,x
-L047E    pshs  a
+L04A4    pshs  a
          lda   #C$CR
-         bsr   L0474
+         bsr   L049A
          puls  a
-L0486    pshs  y,x,b,a
+L04AC    pshs  y,x,b,a
          leax  >u01DD,u
          ldd   <u000A
          stx   <u000A