changeset 161:fed96c42e0b4

The files that are the same between level2 and level2v3 have been removed and in those cases where the documentation is better for level2v3 of the disassebled file, the file has been moved to level2/CMDS
author roug
date Mon, 08 Jul 2002 20:10:06 +0000
parents 0bdd24a428fb
children 3310d08dd353
files level1/cmds/verify.asm level2/cmds/attr.asm level2/cmds/build.asm level2/cmds/deiniz.asm level2/cmds/gfx.asm level2/cmds/iniz.asm level2/cmds/makefile level2/cmds/mdir.asm level2/cmds/mfree.asm level2/cmds/tmode.asm
diffstat 10 files changed, 9 insertions(+), 1750 deletions(-) [+]
line wrap: on
line diff
--- a/level1/cmds/verify.asm	Mon Jul 08 19:25:22 2002 +0000
+++ b/level1/cmds/verify.asm	Mon Jul 08 20:10:06 2002 +0000
@@ -45,7 +45,7 @@
          std   <u0008
          clr   <u0005
 L0023    lda   ,x+
-         cmpa  #$20
+         cmpa  #C$SPAC
          beq   L0023
          anda  #$5F
          cmpa  #$55
@@ -58,15 +58,15 @@
          cmpy  #$0009
          bne   L0055
          ldd   ,x
-         cmpd  #$87CD
+         cmpd  #M$ID12
          bne   L0055
          bsr   L0059
          bra   L0031
-L004D    cmpb  #$D3
+L004D    cmpb  #E$EOF
          bne   L0052
          clrb  
 L0052    os9   F$Exit   
-L0055    ldb   #$CD
+L0055    ldb   #M$ID2
          bra   L0052
 L0059    clrb  
          lda   #$08
--- a/level2/cmds/attr.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-********************************************************************
-* Attr - Modify file attributes
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 11     Original Tandy distribution version
-
-         nam   Attr
-         ttl   Modify file attributes
-
-* Disassembled 98/09/11 11:44:51 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         use   rbfdefs
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   11
-
-         mod   eom,name,tylg,atrv,start,size
-
-fpath    rmb   1
-rawpath    rmb   1
-parmptr  rmb   2
-cmdperms    rmb   2
-u0006    rmb   1
-u0007    rmb   1
-pathopts    rmb   20
-u001C    rmb   2
-u001E    rmb   1
-u001F    rmb   9
-u0028    rmb   32
-filename    rmb   32
-fdesc    rmb   16
-u0078    rmb   46
-u00A6    rmb   414
-size     equ   .
-
-name     fcs   /Attr/
-         fcb   edition
-
-L0012    fcb   C$LF
-         fcc   "Use: Attr <pathname> {[-]<opts>}"
-         fcb   C$LF
-         fcc   " opts: -d s r w e pr pw pe -a"
-         fcb   C$CR
-L0052    fcb   C$LF
-         fcc   "You do not own that file."
-         fcb   C$CR
-L006D    fcb   C$LF
-         fcc   "Use Makdir to create a directory"
-         fcb   C$CR
-L008F    fcb   C$LF
-         fcc   "ERROR; the directory is not empty"
-         fcb   C$CR
-L00B2    fcc   "dsewrewr"
-         fcb   $FF 
-
-start    stx   <parmptr save param ptr
-         clr   <u0007
-         com   <u0007
-         clra  
-         os9   I$Open    open file on commandline
-         bcc   L00D9 branch if ok
-         ldx   <parmptr  get saved param ptr
-         lda   #DIR.!READ. load perms
-         os9   I$Open   open as directory
-         bcc   L00D9 branch if ok
-         ldx   <parmptr get param ptr
-         lda   #DIR. load different perms
-         os9   I$Open  try one more time
-         bcs   L0114 branch if error
-L00D9    sta   <fpath save off path
-         stx   <cmdperms save updated parm ptr
-         leax  pathopts,u point X to buffer
-         ldb   #SS.Opt load with status code
-         os9   I$GetStt  get status
-         bcs   L0114 branch if error
-         clrb
-         lda   ,x get path type
-         cmpa  #DT.RBF check if rbf path
-         lbne  L01AC branch if not
-         ldx   <parmptr else get parm ptr
-         leay  <filename,u point to buffer
-         lda   ,x+ get file name character
-         cmpa  #PDELIM path delimiter?
-         bne   L0106 no
-L00FA    sta   ,y+ else save char in Y
-         lda   ,x+ get next file name char
-         cmpa  #C$PERD period?
-         bcs   L0106 branch if not
-         cmpa  #PDELIM path delimiter?
-         bne   L00FA branch if not
-L0106    lda   #'@
-         ldb   #C$SPAC
-         std   ,y++
-         leax  <filename,u point X to filename
-         lda   #READ.!WRITE. load perms
-         os9   I$Open    open in raw mode
-L0114    lbcs  L01AC branch if error
-         sta   <rawpath
-         lda   <fpath
-         clr   <u001F,u
-         pshs  u
-         ldx   <u001C,u get MS 16 bits
-         ldu   <u001E,u get LS 16 bits
-         lda   <rawpath get path
-         os9   I$Seek   seek
-         puls  u
-         bcs   L01AC branch if error
-         leax  <fdesc,u point to buffer
-         ldy   #FD.SEG
-         os9   I$Read   
-         bcs   L01AC
-         os9   F$ID      get ID
-         cmpy  #$0000 super user?
-         beq   L014B branch if so
-         cmpy  <fdesc+FD.OWN,u is user same as file's owner?
-         bne   L01C1 branch if not
-L014B    ldx   <cmdperms point to perms on cmd line
-         lbsr  L021D
-         bcs   L018B
-L0152    lbsr  L021D
-         bcc   L0152
-         clrb  
-         lda   ,x
-         cmpa  #$0D
-         bne   L01AC
-         pshs  u
-         ldx   <u001C,u
-         ldu   <u001E,u
-         lda   <rawpath
-         os9   I$Seek   seek
-         puls  u
-         bcs   L01AC branch if error
-         leax  <fdesc,u point to file desc
-         ldy   #1 only 1 byte
-         os9   I$Write  write out new attributes
-         bcs   L01AC branch if error
-         os9   I$Close  close file
-         bcs   L01AC branch if error
-         lda   <fpath get file path
-         os9   I$Close  close file
-         bcs   L01AC branch if error
-         ldb   <u0007
-         beq   L01BE
-L018B    ldb   <fdesc,u get attribute
-         leax  >L00B2,pcr
-         leay  <u0078,u
-         lda   ,x+
-L0197    lslb  
-         bcs   L019C
-         lda   #'-
-L019C    sta   ,y+
-         lda   ,x+
-         bpl   L0197
-         lda   #C$CR
-         sta   ,y+
-         leax  <u0078,u
-         clrb  
-         bra   L01B0
-L01AC    leax  >L0012,pcr
-L01B0    pshs  b
-         lda   #2
-         ldy   #256
-         os9   I$WritLn 
-         comb  
-         puls  b
-L01BE    os9   F$Exit   
-L01C1    clrb  
-         leax  >L0052,pcr
-         bra   L01B0
-L01C8    leax  >L006D,pcr
-         clrb  
-         bra   L01B0
-L01CF    pshs  u,y,x
-         lda   <fpath
-         ldx   #$0000
-         ldu   #$0040
-         os9   I$Seek   
-         ldu   $04,s
-         bcs   L01BE
-L01E0    leax  <u0028,u
-         ldy   #$0020
-         os9   I$Read   
-         bcs   L01F7
-         tst   ,x
-         beq   L01E0
-         leax  >L008F,pcr
-         clrb  
-         bra   L01B0
-L01F7    puls  u,y,x
-         cmpb  #$D3
-         bne   L01AC
-         rts   
-L01FE    fdb   $ff41
-         fdb   $ff80,$44ff,$4053,$ff01,$52ff,$0257,$ff04,$45ff
-         fdb   $0850,$52ff,$1050,$57ff,$2050,$45ff
-         fcb   $00
-L021D    clr   <u0006
-L021F    lda   ,x+
-         cmpa  #C$SPAC
-         beq   L021F
-         cmpa  #C$COMA
-         beq   L021F
-         cmpa  #'-
-         bne   L0231
-         com   <u0006
-         lda   ,x+
-L0231    leax  -1,x
-         leay  >L01FE,pcr
-L0237    ldb   ,y+
-         pshs  y,x
-         beq   L027F
-L023D    lda   ,x+
-         eora  ,y+
-         anda  #$DF
-         beq   L023D
-         lda   -1,y
-         bmi   L0251
-         puls  y,x
-L024B    lda   ,y+
-         bpl   L024B
-         bra   L0237
-L0251    lda   ,-x
-         cmpa  #$30
-         bcc   L027F
-         cmpb  #$FF
-         beq   L0278
-         bitb  #$80
-         beq   L0268
-         tst   <u0006
-         lbeq  L01C8
-         lbsr  L01CF
-L0268    puls  y,b,a
-         lda   <fdesc,u
-         eora  <u0006
-         ora   -$01,y
-         eora  <u0006
-         sta   <fdesc,u
-         clrb  
-         rts   
-L0278    eorb  <u0006
-         stb   <u0007
-         clrb  
-         puls  pc,y,b,a
-L027F    coma  
-         puls  pc,y,x
-
-         emod
-eom      equ   *
-         end
--- a/level2/cmds/build.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-********************************************************************
-* Build - Simple text file creation utility
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 6      Original Tandy distribution version
-
-         nam   Build
-         ttl   Simple text file creation utility
-
-* Disassembled 98/09/10 23:19:12 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   6
-
-         mod   eom,name,tylg,atrv,start,size
-
-FPath    rmb   1
-LineBuff rmb   578
-size     equ   .
-
-name     fcs   /Build/
-         fcb   edition
-
-start    ldd   #(WRITE.*256)+UPDAT.
-         os9   I$Create 
-         bcs   Exit
-         sta   <FPath
-InpLoop  lda   #1
-         leax  <Prompt,pcr
-         ldy   #PromptL
-         os9   I$WritLn 
-         clra  
-         leax  LineBuff,u
-         ldy   #128
-         os9   I$ReadLn 
-         bcs   Close
-         cmpy  #$0001
-         beq   Close
-         lda   <FPath
-         os9   I$WritLn 
-         bcc   InpLoop
-         bra   Exit
-Close    lda   <FPath
-         os9   I$Close  
-         bcs   Exit
-         clrb  
-Exit     os9   F$Exit   
-
-Prompt   fcc   "? "
-PromptL  equ   *-Prompt
-
-         emod
-eom      equ   *
-         end
-
--- a/level2/cmds/deiniz.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-********************************************************************
-* DeIniz - Deinitialize a device
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 3      Original Tandy distribution version            BGP
-
-         nam   DeIniz
-         ttl   Deinitialize a device
-
-* Disassembled 98/09/10 22:57:23 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   3
-
-         mod   eom,name,tylg,atrv,start,size
-u0000    rmb   2
-u0002    rmb   330
-size     equ   .
-
-name     fcs   /DeIniz/
-         fcb   edition
-
-start    lda   ,x
-         cmpa  #C$CR
-         beq   L0020
-         bsr   L0041
-         bra   L0030
-L001E    bsr   L0041
-L0020    bsr   L0034
-         bcs   L002C
-         lda   ,x
-         cmpa  #C$CR
-         bne   L001E
-         ldb   #E$EOF
-L002C    cmpb  #E$EOF
-         bne   L0030
-L0030    clrb  
-         os9   F$Exit   
-L0034    clra  
-         leax  u0002,u
-         ldy   #80
-         os9   I$ReadLn 
-         bcc   L0040
-L0040    rts   
-L0041    lda   #C$SPAC
-L0043    cmpa  ,x+
-         beq   L0043
-         leax  -1,x
-         stx   <u0000
-         lda   #PDELIM
-         cmpa  ,x
-         bne   L0053
-         leax  1,x
-L0053    clra  
-         os9   I$Attach 
-         bcs   L0070
-         os9   I$Detach 
-         bcs   L0070
-         os9   I$Detach 
-         bcs   L0070
-         lda   ,x+
-         cmpa  #C$COMA
-         beq   L0041
-         lda   ,-x
-         cmpa  #C$CR
-         bne   L0041
-         rts   
-L0070    pshs  b
-         lda   #$02
-         ldx   <u0000
-         ldy   #80
-         os9   I$WritLn 
-         puls  b
-         os9   F$PErr   
-         rts   
-
-         emod
-eom      equ   *
-         end
--- a/level2/cmds/gfx.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,284 +0,0 @@
-********************************************************************
-* GFX - CoCo 2 graphics subroutine module
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 1      Original Tandy/Microware version
-
-         nam   GFX
-         ttl   CoCo 2 graphics subroutine module
-
-* Disassembled 98/09/25 21:47:16 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1  
-         use   defsfile
-         endc  
-
-tylg     set   Sbrtn+Objct
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   1
-
-         mod   eom,name,tylg,atrv,start,size
-u0000    rmb   0
-size     equ   .
-
-name     fcs   /GFX/
-         fcb   edition
-
-FuncTbl  fdb   Alpha-FuncTbl
-         fcc   "Alpha"
-         fcb   $FF
-         fdb   Circle-FuncTbl
-         fcc   "Circle"
-         fcb   $FF
-         fdb   Clear-FuncTbl
-         fcc   "Clear"
-         fcb   $FF
-         fdb   CColor-FuncTbl
-         fcc   "Color"
-         fcb   $FF
-         fdb   GColr-FuncTbl
-         fcc   "GColr"
-         fcb   $FF
-         fdb   GLoc-FuncTbl
-         fcc   "GLoc"
-         fcb   $FF
-         fdb   JoyStk-FuncTbl
-         fcc   "JoyStk"
-         fcb   $FF
-         fdb   Line-FuncTbl
-         fcc   "Line"
-         fcb   $FF
-         fdb   Mode-FuncTbl
-         fcc   "Mode"
-         fcb   $FF
-         fdb   Move-FuncTbl
-         fcc   "Move"
-         fcb   $FF
-         fdb   Point-FuncTbl
-         fcc   "Point"
-         fcb   $FF
-         fdb   Quit-FuncTbl
-         fcc   "Quit"
-         fcb   $FF
-         fdb   $0000
-
-stkdepth set   9
-
-start    leas  -stkdepth,s
-         ldd   2+stkdepth,s get parameter count
-         beq   BadFunc
-         tsta             param count greater than 255?
-         bne   BadFunc    yep, branch to error
-         leau  >FuncTbl,pcr point to function pointer table
-L007D    ldy   ,u++       get pointer to function
-         beq   NoFunc
-
-* Compare passed function name to our list
-         ldx   4+stkdepth,s
-L0084    lda   ,x+        get passed param char
-         eora  ,u+        XOR it with compared param char
-         anda  #$DF       make case same
-         beq   L0094      branch if equal
-         leau  -1,u       back up one
-L008E    tst   ,u+
-         bpl   L008E
-         bra   L007D
-L0094    tst   -1,u
-         bpl   L0084
-         tfr   y,d        put funcion pointer in D
-         leay  >FuncTbl,pcr point Y to table
-         leay  d,y        get function address
-         leax  ,s
-         leau  <$11,s
-         ldd   stkdepth+2,s put parameter count in D
-         jmp   ,y
-
-NoFunc   ldb   #E$NoRout
-         bra   L00AF
-BadFunc  ldb   #E$ParmEr  $38
-L00AF    coma  
-         leas  stkdepth,s
-         rts   
-
-* Each subroutine enters with the following parameters
-* B = parameter count
-* X = temporary stack
-* U = pointer to size of first parameter
-
-Mode     lda   #$0F
-         bra   L00B9
-
-Move     lda   #$15
-L00B9    cmpb  #$03       correct number of params?
-         bne   BadFunc
-         bra   L010B
-
-CColor   lda   #$11
-         bra   L00DE
-
-Point    cmpb  #$03       correct number of params?
-         beq   L00D4
-         cmpb  #$04
-         bne   BadFunc
-         leau  <$19,s
-         lbsr  L015E
-         leau  <$11,s
-L00D4    lda   #$18
-         bra   L010B
-
-Clear    cmpb  #$01       correct number of params?
-         beq   L00E4
-         lda   #$10
-L00DE    cmpb  #$02
-         bne   BadFunc
-         bra   L0136
-
-L00E4    lda   #$13
-         bra   L0142
-
-Line     cmpb  #$06       correct number of params?
-         bhi   BadFunc
-         cmpb  #$03
-         bcs   L015B
-         bitb  #$01
-         bne   L0103
-         leau  <$19,s
-         cmpb  #$04
-         beq   L00FE
-         leau  <$21,s
-L00FE    bsr   L015E
-         leau  <$11,s
-L0103    cmpb  #$04
-         bls   L0109
-         bsr   L0164
-L0109    lda   #$16
-L010B    sta   ,x+
-         bsr   L016E
-         bsr   L016E
-         bra   L0144
-
-Circle   cmpb  #$05       correct number of params?
-         bhi   L015B
-         cmpb  #$02
-         bcs   L015B
-         bitb  #$01
-         beq   L012E
-         leau  <$15,s
-         cmpb  #$03
-         beq   L0129
-         leau  <$1D,s
-L0129    bsr   L015E
-         leau  <$11,s
-L012E    cmpb  #$03
-         bls   L0134
-         bsr   L0164
-L0134    lda   #$1A
-L0136    sta   ,x+
-         bsr   L016E
-         bra   L0144
-
-Alpha    lda   #$0E
-         bra   L0142
-
-Quit     lda   #$12
-L0142    sta   ,x+
-L0144    bsr   L0149
-         leas  stkdepth,s
-         rts   
-
-L0149    tfr   x,d
-         leax  2,s
-         pshs  x
-         subd  ,s++
-         tfr   d,y
-         lda   #1
-         os9   I$Write
-         rts   
-
-L0159    leas  $06,s
-L015B    lbra  BadFunc
-L015E    lda   #$11
-         sta   ,x+
-         bra   L016E
-L0164    puls  y
-         lda   #$15
-         sta   ,x+
-         bsr   L016E
-         pshs  y
-L016E    pshs  y,b,a
-         ldd   [,u++]
-         sta   ,x+
-         pulu  y
-         leay  -$01,y
-         beq   L0183
-         leay  -$01,y
-         bne   L0159
-         tsta  
-         bne   L0159
-         stb   -$01,x
-L0183    puls  pc,y,b,a
-
-GLoc     cmpb  #$02       correct number of params?
-         bne   L015B
-         ldx   <$13,s
-         leax  -$02,x
-         bne   L015B
-         lda   #1         standard out
-         ldb   #SS.DStat
-         os9   I$GetStt
-         bcs   L019C
-         stx   [<$11,s]
-L019C    leas  stkdepth,s
-         rts   
-
-GColr    cmpb  #2         correct number of params?
-         beq   L01AD
-         cmpb  #$04
-         bne   L015B
-         bsr   L0164
-         bsr   L0149
-         bcs   L019C
-L01AD    lda   #$01
-         ldb   #$12
-         os9   I$GetStt
-         bcs   L019C
-         tfr   a,b
-         bra   L01ED
-L01BA    leau  $04,u
-         pshs  u,x
-         ldx   -$02,u
-         ldu   -$04,u
-         leax  -$01,x
-         beq   L01CC
-         leax  -$01,x
-         bne   L0159
-         clr   ,u+
-L01CC    stb   ,u+
-         puls  pc,u,x
-
-JoyStk   cmpb  #5         correct number of params?
-         bne   L015B
-         clr   ,x+
-         bsr   L016E
-         ldx   -2,x
-         lda   #1
-         ldb   #SS.Joy
-         os9   I$GetStt
-         bcs   L019C
-         tfr   a,b
-         bsr   L01BA
-         tfr   x,d
-         bsr   L01BA
-         tfr   y,d
-L01ED    bsr   L01BA
-         leas  stkdepth,s
-         rts   
-
-         emod  
-eom      equ   *
-         end   
-
--- a/level2/cmds/iniz.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-********************************************************************
-* Iniz - Initialize a device
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 3      Original Tandy/Microware version
-
-         nam   Iniz
-         ttl   Initialize a device
-
-* Disassembled 98/09/10 22:56:37 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   3
-
-         mod   eom,name,tylg,atrv,start,size
-u0000    rmb   2
-u0002    rmb   330
-size     equ   .
-
-name     fcs   /Iniz/
-         fcb   edition
-
-start    lda   ,x
-         cmpa  #C$CR
-         beq   L001E
-         bsr   L003F
-         bra   L002E
-L001C    bsr   L003F
-L001E    bsr   L0032
-         bcs   L002A
-         lda   ,x
-         cmpa  #C$CR
-         bne   L001C
-         ldb   #E$EOF
-L002A    cmpb  #E$EOF
-         bne   L002E
-L002E    clrb  
-         os9   F$Exit   
-L0032    clra  
-         leax  u0002,u
-         ldy   #80
-         os9   I$ReadLn 
-         bcc   L003E
-L003E    rts   
-L003F    lda   #C$SPAC
-L0041    cmpa  ,x+
-         beq   L0041
-         leax  -$01,x
-         stx   <u0000
-         lda   #PDELIM
-         cmpa  ,x
-         bne   L0051
-         leax  1,x
-L0051    clra  
-         os9   I$Attach 
-         bcs   L0064
-         lda   ,x+
-         cmpa  #C$COMA
-         beq   L003F
-         lda   ,-x
-         cmpa  #C$CR
-         bne   L003F
-         rts   
-L0064    pshs  b
-         lda   #$02
-         ldx   <u0000
-         ldy   #80
-         os9   I$WritLn 
-         puls  b
-         os9   F$PErr   
-         rts   
-
-         emod
-eom      equ   *
-         end
--- a/level2/cmds/makefile	Mon Jul 08 19:25:22 2002 +0000
+++ b/level2/cmds/makefile	Mon Jul 08 20:10:06 2002 +0000
@@ -22,7 +22,7 @@
 		save.asm sleep.asm tee.asm verify.asm
 
 LEVEL2FILES	= attr.asm build.asm deiniz.asm gfx.asm iniz.asm mdir.asm \
-		mfree.asm montype.asm procs.asm shell_21.asm tmode.asm \
+		mfree.asm montype.asm procs.asm tmode.asm \
 		unlink.asm wcreate.asm
 
 # Files not compilable by os9asm: Config attr cmp dcheck dir dsave
@@ -48,10 +48,12 @@
 	@$(ECHO)
 
 $(LEVEL1FILES): ../../level1/CMDS/$@
-	cp ../../level1/CMDS/$@ .
+	-ln -s ../../level1/CMDS/$@
 
+$(LEVEL2FILES): ../../level2/CMDS/$@
+	-ln -s ../../level2/CMDS/$@
 clean:
-	$(RM) $(ALLOBJS) $(LEVEL1FILES) shell utilpak1 utilpak2
+	$(RM) $(ALLOBJS) $(LEVEL1FILES) $(LEVEL2FILES) shell utilpak1 utilpak2
 
 identify:
 	$(IDENT_SHORT) $(ALLOBJS)
--- a/level2/cmds/mdir.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-********************************************************************
-* MDir - Show module information
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 7      Original Tandy/Microware version
-
-         nam   MDir
-         ttl   Show module information
-
-* Disassembled 98/09/11 11:57:27 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   7
-
-         mod   eom,name,tylg,atrv,start,size
-
-u0000    rmb   2
-u0002    rmb   1
-u0003    rmb   1
-u0004    rmb   1
-u0005    rmb   3
-u0008    rmb   3
-u000B    rmb   1
-u000C    rmb   1
-u000D    rmb   1
-u000E    rmb   80
-u005E    rmb   2
-u0060    rmb   2
-u0062    rmb   4096
-u1062    rmb   64
-u10A2    rmb   269
-size     equ   .
-
-name     fcs   /MDir/
-         fcb   edition
-
-L0012    fcc   "   Module Directory at"
-         fcb   $A0 
-L0029    fcs   "Block Offset Size Typ Rev Attr  Use Module Name"
-L0058    fcs   "----- ------ ---- --- --- ---- ---- ------------"
-L0088    fcs   "Blk Ofst Size Ty Rv At Uc  Name"
-L00A7    fcs   "___ ____ ____ __ __ __ __ ______"
-L00C7    fcc   "Lock"
-         fcb   $A0
-L00CC    fcs   "Lk"
-
-start    pshs  u
-         leau  >u1062,u
-L00D4    clr   ,-u
-         cmpu  ,s
-         bhi   L00D4
-         puls  u
-         clr   <u000B
-         lda   #$0C
-         ldb   #$30
-         std   <u000C
-         stx   <u0000
-         leax  u000E,u
-         stx   <u0003
-         lbsr  L02A3
-         lda   #$01
-         ldb   #$26
-         os9   I$GetStt 
-         bcc   L00FF
-         cmpb  #$D0
-         lbne  L0241
-         bra   L010C
-L00FF    cmpx  #$0032
-         bge   L010C
-         inc   <u000B
-         lda   #$0A
-         ldb   #$15
-         std   <u000C
-L010C    leay  >L0012,pcr
-         lbsr  L0298
-         leax  u0005,u
-         os9   F$Time   
-         leax  u0008,u
-         lbsr  L02B8
-         lbsr  L02A3
-         leax  <u0062,u
-         pshs  u
-         os9   F$GModDr 
-         sty   <u005E
-         stu   <u0060
-         puls  u
-         leax  -$08,x
-         ldy   <u0000
-         lda   ,y+
-         eora  #$45
-         anda  #$DF
-         bne   L018E
-         lbsr  L02A3
-         tst   <u000B
-         beq   L0149
-         leay  >L0088,pcr
-         bra   L014D
-L0149    leay  >L0029,pcr
-L014D    lbsr  L0298
-         lbsr  L02A3
-         tst   <u000B
-         beq   L015D
-         leay  >L00A7,pcr
-         bra   L0161
-L015D    leay  >L0058,pcr
-L0161    lbsr  L0298
-         lbsr  L02A3
-         leax  <u0062,u
-         lbra  L023A
-L016D    lbsr  L0308
-         beq   L018E
-         lbsr  L02DE
-         lbsr  L0298
-L0178    lbsr  L0285
-         ldb   <u0004
-         subb  #$0E
-         cmpb  <u000D
-         bhi   L018B
-L0183    subb  <u000C
-         bhi   L0183
-         bne   L0178
-         bra   L018E
-L018B    lbsr  L02A3
-L018E    leax  $08,x
-         cmpx  <u005E
-         bcs   L016D
-         lbsr  L02A3
-         lbra  L0240
-L019A    lbsr  L0308
-         lbeq  L0238
-         tfr   d,y
-         ldd   ,y
-         tst   <u000B
-         beq   L01B1
-         lbsr  L0285
-         lbsr  L024C
-         bra   L01B4
-L01B1    lbsr  L0244
-L01B4    tst   <u000B
-         bne   L01BE
-         lbsr  L0285
-         lbsr  L0285
-L01BE    ldd   $04,x
-         lbsr  L0244
-         tst   <u000B
-         bne   L01CA
-         lbsr  L0285
-L01CA    lbsr  L02DE
-         leay  >u10A2,u
-         ldd   $02,y
-         bsr   L0244
-         tst   <u000B
-         bne   L01DC
-         lbsr  L0285
-L01DC    lda   $06,y
-         bsr   L0252
-         tst   <u000B
-         bne   L01E7
-         lbsr  L0285
-L01E7    lda   $07,y
-         anda  #$0F
-         bsr   L0252
-         ldb   $07,y
-         lda   #$72
-         lbsr  L0291
-         tst   <u000B
-         bne   L0207
-         lda   #$3F
-         lbsr  L0291
-         lda   #$3F
-         lbsr  L0291
-         lda   #$3F
-         lbsr  L0291
-L0207    bsr   L0285
-         ldd   $06,x
-         cmpd  #$FFFF
-         bne   L0223
-         tst   <u000B
-         beq   L021B
-         leay  >L00CC,pcr
-         bra   L021F
-L021B    leay  >L00C7,pcr
-L021F    bsr   L0298
-         bra   L0230
-L0223    tst   <u000B
-         beq   L022E
-         lbsr  L0285
-         bsr   L024C
-         bra   L0230
-L022E    bsr   L0244
-L0230    leay  >u1062,u
-         bsr   L0298
-         bsr   L02A3
-L0238    leax  $08,x
-L023A    cmpx  <u005E
-         lbcs  L019A
-L0240    clrb  
-L0241    os9   F$Exit   
-L0244    bsr   L0256
-         tst   <u0002
-         bne   L024C
-         dec   <u0002
-L024C    tfr   b,a
-         bsr   L0258
-         bra   L0285
-L0252    bsr   L0256
-         bra   L0285
-L0256    clr   <u0002
-L0258    pshs  a
-         lsra  
-         lsra  
-         lsra  
-         lsra  
-         bsr   L026C
-         tst   <u0002
-         bpl   L0268
-         lda   #$01
-         sta   <u0002
-L0268    lda   ,s+
-         anda  #$0F
-L026C    tsta  
-         beq   L0271
-         sta   <u0002
-L0271    tst   <u0002
-         bmi   L0277
-         bne   L027B
-L0277    lda   #$20
-         bra   L0287
-L027B    adda  #$30
-         cmpa  #$39
-         bls   L0287
-         adda  #$07
-         bra   L0287
-L0285    lda   #$20
-L0287    pshs  x
-         ldx   <u0003
-         sta   ,x+
-         stx   <u0003
-         puls  pc,x
-L0291    rolb  
-         bcs   L0287
-         lda   #$2E
-         bra   L0287
-L0298    lda   ,y
-         anda  #$7F
-         bsr   L0287
-         lda   ,y+
-         bpl   L0298
-         rts   
-L02A3    pshs  y,x,a
-         lda   #$0D
-         bsr   L0287
-         leax  u000E,u
-         stx   <u0003
-         ldy   #$0050
-         lda   #$01
-         os9   I$WritLn 
-         puls  pc,y,x,a
-L02B8    bsr   L02C0
-         bsr   L02BC
-L02BC    lda   #$3A
-         bsr   L0287
-L02C0    ldb   ,x+
-         lda   #$2F
-L02C4    inca  
-         subb  #$64
-         bcc   L02C4
-         cmpa  #$30
-         beq   L02CF
-         bsr   L0287
-L02CF    lda   #$3A
-L02D1    deca  
-         addb  #$0A
-         bcc   L02D1
-         bsr   L0287
-         tfr   b,a
-         adda  #$30
-         bra   L0287
-L02DE    pshs  u,x
-         bsr   L0308
-         ldx   $04,x
-         ldy   #$000D
-         leau  >u10A2,u
-         os9   F$CpyMem 
-         pshs  b,a
-         ldd   u0004,u
-         leax  d,x
-         puls  b,a
-         ldu   $02,s
-         leau  >u1062,u
-         ldy   #$0040
-         os9   F$CpyMem 
-         tfr   u,y
-         puls  pc,u,x
-L0308    ldd   ,x
-         beq   L0319
-         pshs  y
-         leay  <u0062,u
-         pshs  y
-         subd  <u0060
-         addd  ,s++
-         puls  y
-L0319    rts   
-
-         emod
-eom      equ   *
-         end
--- a/level2/cmds/mfree.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-********************************************************************
-* Mfree - Show free memory
-*
-* $Id$
-*
-* Ed.    Comments                                       Who YY/MM/DD
-* ------------------------------------------------------------------
-* 2      Original Tandy/Microware version
-
-         nam   Mfree
-         ttl   Show free memory
-
-* Disassembled 98/09/11 12:07:32 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   2
-
-         mod   eom,name,tylg,atrv,start,size
-
-u0000    rmb   1
-u0001    rmb   1
-u0002    rmb   2
-u0004    rmb   1
-u0005    rmb   1
-u0006    rmb   1
-u0007    rmb   1
-u0008    rmb   1
-u0009    rmb   1
-u000A    rmb   1
-u000B    rmb   2
-u000D    rmb   80
-u005D    rmb   7
-u0064    rmb   132
-u00E8    rmb   1135
-size     equ   .
-
-name     fcs   /Mfree/
-         fcb   edition
-
-L0013    fcs   " Blk Begin   End   Blks  Size"
-         fcs   " --- ------ ------ ---- ------"
-L004E    fcs   "                   ==== ======"
-         fcc   "            Total:"
-         fcb   $A0 
-
-start    leax  u000D,u
-         stx   <u0009
-         stx   <u000B
-         lbsr  L016E
-         leay  <L0013,pcr
-         lbsr  L0183
-         lbsr  L016E
-         lbsr  L0183
-         lbsr  L016E
-         clr   <u0000
-         clr   <u0001
-         leax  <u005D,u
-         os9   F$GBlkMp 
-         sty   <u0002
-         sta   <u0004
-         ldy   #$0000
-L00AA    ldu   #$0000
-L00AD    tst   ,x+
-         beq   L00BA
-         leay  $01,y
-         cmpy  <u0002
-         bcs   L00AD
-         bra   L0109
-L00BA    tfr   y,d
-         bsr   L0123
-         lda   <u0004
-         pshs  y,a
-         clra  
-         clrb  
-L00C4    addd  $01,s
-         dec   ,s
-         bne   L00C4
-         leas  $03,s
-         std   <u0006
-         clr   <u0008
-         bsr   L0133
-L00D2    leau  u0001,u
-         leay  $01,y
-         cmpy  <u0002
-         beq   L0109
-         tst   ,x+
-         beq   L00D2
-         lda   <u0004
-         pshs  y,a
-         clra  
-         clrb  
-L00E5    addd  $01,s
-         dec   ,s
-         bne   L00E5
-         leas  $03,s
-         subd  #$0001
-         std   <u0006
-         lda   #$FF
-         sta   <u0008
-         bsr   L0133
-         leax  -$01,x
-         tfr   u,d
-         bsr   L0123
-         lbsr  L0199
-         addd  <u0000
-         std   <u0000
-         bsr   L016E
-         bra   L00AA
-L0109    leay  >L004E,pcr
-         bsr   L0183
-         bsr   L016E
-         bsr   L0183
-         tfr   u,d
-         addd  <u0000
-         std   <u0000
-         bsr   L0123
-         bsr   L0199
-         bsr   L016E
-         clrb  
-         os9   F$Exit   
-L0123    pshs  b,a
-         clr   <u0005
-         bsr   L0145
-         tfr   b,a
-         bsr   L0145
-         lda   #$20
-         bsr   L0164
-         puls  pc,b,a
-L0133    clr   <u0005
-         lda   <u0006
-         bsr   L0145
-         lda   <u0007
-         bsr   L0145
-         lda   <u0008
-         bsr   L0145
-         lda   #$20
-         bra   L0164
-L0145    pshs  a
-         lsra  
-         lsra  
-         lsra  
-         lsra  
-         bsr   L014F
-         puls  a
-L014F    anda  #$0F
-         tsta  
-         beq   L0156
-         sta   <u0005
-L0156    tst   <u0005
-         bne   L015C
-         lda   #$F0
-L015C    adda  #$30
-         cmpa  #$3A
-         bcs   L0164
-         adda  #$07
-L0164    pshs  x
-         ldx   <u000B
-         sta   ,x+
-         stx   <u000B
-         puls  pc,x
-L016E    pshs  y,x,a
-         lda   #$0D
-         bsr   L0164
-         ldx   <u0009
-         stx   <u000B
-         ldy   #$0050
-         lda   #$01
-         os9   I$WritLn 
-         puls  pc,y,x,a
-L0183    lda   ,y
-         anda  #$7F
-         bsr   L0164
-         tst   ,y+
-         bpl   L0183
-         rts   
-L018E    fdb   $2710,$03e8,$0064,$000a,$0001
-         fcb   $ff
-L0199    pshs  y,x,b,a
-         lda   <u0004
-         pshs  a
-         lda   $01,s
-         lsr   ,s
-         lsr   ,s
-         bra   L01A9
-L01A7    lslb
-         rola
-L01A9    lsr   ,s
-         bne   L01A7
-         leas  1,s
-         leax  <L018E,pcr
-         ldy   #$2F20
-L01B6    leay  >$0100,y
-         subd  ,x
-         bcc   L01B6
-         addd  ,x++
-         pshs  b,a
-         tfr   y,d
-         tst   ,x
-         bmi   L01DE
-         ldy   #$2F30
-         cmpd  #$3020
-         bne   L01D8
-         ldy   #$2F20
-         lda   #$20
-L01D8    bsr   L0164
-         puls  b,a
-         bra   L01B6
-L01DE    bsr   L0164
-         lda   #$6B
-         bsr   L0164
-         leas  $02,s
-         puls  pc,y,x,b,a
-
-         emod
-eom      equ   *
-         end
--- a/level2/cmds/tmode.asm	Mon Jul 08 19:25:22 2002 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-         nam   Tmode
-         ttl   program module       
-
-* Disassembled 98/09/11 18:35:13 by Disasm v1.6 (C) 1988 by RML
-
-         ifp1
-         use   defsfile
-         endc
-
-tylg     set   Prgrm+Objct   
-atrv     set   ReEnt+rev
-rev      set   $01
-edition  set   12
-
-         mod   eom,name,tylg,atrv,start,size
-
-u0000    rmb   1
-u0001    rmb   1
-u0002    rmb   1
-u0003    rmb   2
-u0005    rmb   1
-u0006    rmb   1
-u0007    rmb   32
-u0027    rmb   10
-u0031    rmb   526
-size     equ   .
-
-name     fcs   /Tmode/
-         fcb   edition
-         fcb   $00 
-         fcb   $17 
-L0015    fcb   $FF 
-         fcb   $01 
-         fcb   $01 
-         fcb   $01 
-         fcs   "upc"
-         fcb   $FF 
-         fcb   $01 
-         fcb   $02 
-         fcb   $01 
-         fcs   "bsb"
-         fcb   $FF 
-         fcb   $00 
-         fcb   $03 
-         fcb   $00 
-         fcs   "bsl"
-         fcb   $FF 
-         fcb   $01 
-         fcb   $04 
-         fcb   $01 
-         fcs   "echo"
-         fcb   $FF 
-         fcb   $01 
-         fcb   $05 
-         fcb   $01 
-         fcs   "lf"
-         fcb   $00 
-         fcb   $00 
-         fcb   $06 
-         fcb   $00 
-         fcs   "null"
-         fcb   $FF 
-         fcb   $01 
-         fcb   $07 
-         fcb   $01 
-         fcs   "pause"
-         fcb   $00 
-         fcb   $18 
-         fcb   $08 
-         fcb   $00 
-         fcs   "pag"
-         fcb   $01 
-         fcb   $08 
-         fcb   $09 
-         fcb   $00 
-         fcs   "bsp"
-         fcb   $01 
-         fcb   $18 
-         fcb   $0A 
-         fcb   $00 
-         fcs   "del"
-         fcb   $01 
-         fcb   $0D 
-         fcb   $0B 
-         fcb   $00 
-         fcs   "eor"
-         fcb   $01 
-         fcb   $1B 
-         fcb   $0C 
-         fcb   $00 
-         fcs   "eof"
-         fcb   $01 
-         fcb   $04 
-         fcb   $0D 
-         fcb   $00 
-         fcs   "reprint"
-         fcb   $01 
-         fcb   $01 
-         fcb   $0E 
-         fcb   $00 
-         fcs   "dup"
-         fcb   $01 
-         fcb   $17 
-         fcb   $0F 
-         fcb   $00 
-         fcs   "psc"
-         fcb   $01 
-         fcb   $03 
-         fcb   $10 
-         fcb   $00 
-         fcs   "abort"
-         fcb   $01 
-         fcb   $05 
-         fcb   $11 
-         fcb   $00 
-         fcs   "quit"
-         fcb   $01 
-         fcb   $08 
-         fcb   $12 
-         fcb   $00 
-         fcs   "bse"
-         fcb   $01 
-         fcb   $07 
-         fcb   $13 
-         fcb   $00 
-         fcs   "bell"
-         fcb   $01 
-         fcb   $15 
-         fcb   $14 
-         fcb   $00 
-         fcs   "type"
-         fcb   $01 
-         fcb   $02 
-         fcb   $15 
-         fcb   $00 
-         fcs   "baud"
-         fcb   $01 
-         fcb   $11 
-         fcb   $18 
-         fcb   $00 
-         fcs   "xon"
-         fcb   $01 
-         fcb   $13 
-         fcb   $19 
-         fcb   $00 
-         fcs   "xoff"
-
-start    lda   #$32
-         sta   <u0002
-         pshs  y,x,b,a
-         lda   #$01
-         ldb   #$26
-         os9   I$GetStt 
-         bcc   L00DB
-         cmpb  #$D0
-         beq   L00E4
-         puls  y,x,b,a
-         bra   L0120
-L00DB    cmpx  #$0037
-         bge   L00E4
-         lda   #$16
-         sta   <u0002
-L00E4    puls  y,x,b,a
-         leay  ,x
-         bsr   L0123
-         clra  
-         cmpb  #$2E
-         bne   L00FB
-         leay  1,y
-         lda   ,y+
-         suba  #$30
-         cmpa  #$10
-         lbcc  L0181
-L00FB    sta   <u0000
-         ldb   #$00
-         leax  u0007,u
-         os9   I$GetStt 
-         bcs   L0120
-         bsr   L0123
-         cmpb  #$0D
-         lbeq  L01F0
-L010E    bsr   L0134
-         bcs   L0181
-         cmpb  #$0D
-         bne   L010E
-         lda   <u0000
-         ldb   #$00
-         os9   I$SetStt 
-         bcs   L0120
-         clrb  
-L0120    os9   F$Exit   
-L0123    ldb   ,y+
-         cmpb  #$2C
-         bne   L012B
-L0129    ldb   ,y+
-L012B    cmpb  #$20
-         beq   L0129
-         leay  -$01,y
-         andcc #$FE
-         rts   
-L0134    clr   <u0001
-         lda   ,y
-         cmpa  #$2D
-         bne   L0140
-         inc   <u0001
-         leay  $01,y
-L0140    sty   <u0003
-         leax  >L0015,pcr
-         lbsr  L02D1
-         bcs   L0181
-         lda   ,x
-         bpl   L015C
-L0150    ldb   $01,x
-L0152    lda   $02,x
-         eorb  <u0001
-         leax  u0007,u
-         stb   a,x
-         bra   L0123
-L015C    tst   <u0001
-         bne   L0181
-         ldb   ,y
-         cmpb  #$3D
-         bne   L0150
-         leay  $01,y
-         tsta  
-         bne   L01AA
-         clrb  
-L016C    lda   ,y
-         suba  #$30
-         cmpa  #$09
-         bhi   L01C1
-         pshs  a
-         leay  $01,y
-         lda   #$0A
-         mul   
-         addb  ,s+
-         adca  #$00
-         beq   L016C
-L0181    leax  <L0192,pcr
-         ldy   #$000E
-         bsr   L01A4
-         ldx   <u0003
-         bsr   L01A0
-         clrb  
-         os9   F$Exit   
-L0192    fcc   "SYNTAX Error: "
-L01A0    ldy   #$0050
-L01A4    lda   #$01
-         os9   I$WritLn 
-         rts   
-L01AA    bsr   L01D1
-         bcs   L0181
-         pshs  b
-         bsr   L01D1
-         puls  a
-         bcc   L01B9
-         clrb  
-         exg   a,b
-L01B9    lsla  
-         lsla  
-         lsla  
-         lsla  
-         pshs  a
-         addb  ,s+
-L01C1    lda   ,y
-         cmpa  #$20
-         beq   L0152
-         cmpa  #$0D
-         beq   L0152
-         cmpa  #$2C
-         beq   L0152
-         bra   L0181
-L01D1    ldb   ,y
-         subb  #$30
-         cmpb  #$09
-         bls   L01E9
-         cmpb  #$31
-         bcs   L01DF
-         subb  #$20
-L01DF    subb  #$07
-         cmpb  #$0F
-         bhi   L01EE
-         cmpb  #$0A
-         bcs   L01EE
-L01E9    andcc #$FE
-         leay  $01,y
-         rts   
-L01EE    comb  
-         rts   
-L01F0    clr   <u0005
-         lda   #$2F
-         lbsr  L02AF
-         leax  <u0031,u
-         lda   <u0000
-         ldb   #$0E
-         os9   I$GetStt 
-         bsr   L024A
-         lda   #$0D
-         lbsr  L02AF
-         leax  >L0015,pcr
-         leay  u0007,u
-         clrb  
-L020F    lda   b,y
-         bsr   L0221
-         incb  
-         cmpb  #$20
-         bcs   L020F
-         lda   #$0D
-         lbsr  L02AF
-         clrb  
-         os9   F$Exit   
-L0221    pshs  u,y,x,b,a
-         ldy   -$02,x
-L0226    cmpb  $02,x
-         beq   L0236
-         leax  $04,x
-L022C    lda   ,x+
-         bpl   L022C
-         leay  -$01,y
-         bne   L0226
-         puls  pc,u,y,x,b,a
-L0236    bsr   L02AD
-         tst   ,x
-         bpl   L025E
-         lda   ,s
-         cmpa  $03,x
-         beq   L0246
-         lda   #$2D
-         bsr   L02AF
-L0246    bsr   L024E
-         puls  pc,u,y,x,b,a
-L024A    pshs  x
-         bra   L0252
-L024E    pshs  x
-         leax  $04,x
-L0252    lda   ,x
-         anda  #$7F
-         bsr   L02AF
-         lda   ,x+
-         bpl   L0252
-         puls  pc,x
-L025E    bsr   L024E
-         lda   #$3D
-         bsr   L02AF
-         tst   ,x
-         bne   L0291
-         ldb   ,s
-         lda   #$2F
-         clr   <u0006
-L026E    inca  
-         subb  #$64
-         bcc   L026E
-         bsr   L0286
-         lda   #$3A
-L0277    deca  
-         addb  #$0A
-         bcc   L0277
-         bsr   L0286
-         tfr   b,a
-         adda  #$30
-         bsr   L02AF
-         puls  pc,u,y,x,b,a
-L0286    inc   <u0006
-         cmpa  #$30
-         bne   L02AF
-         dec   <u0006
-         bne   L02AF
-         rts   
-L0291    lda   ,s
-         anda  #$F0
-         lsra  
-         lsra  
-         lsra  
-         lsra  
-         bsr   L02A3
-         lda   ,s
-         anda  #$0F
-         bsr   L02A3
-         puls  pc,u,y,x,b,a
-L02A3    adda  #$30
-         cmpa  #$39
-         bls   L02AF
-         adda  #$07
-         bra   L02AF
-L02AD    lda   #$20
-L02AF    pshs  y,x,b,a
-         leax  <u0027,u
-         ldb   <u0005
-         sta   b,x
-         cmpa  #$0D
-         beq   L02C9
-         incb  
-         cmpb  <u0002
-         bcs   L02CD
-         cmpa  #$20
-         bne   L02CD
-         lda   #$0D
-         sta   b,x
-L02C9    lbsr  L01A0
-         clrb  
-L02CD    stb   <u0005
-         puls  pc,y,x,b,a
-L02D1    pshs  u,y,x
-         ldu   -$02,x
-L02D5    ldy   $02,s
-         stx   ,s
-         leax  $04,x
-L02DC    lda   ,x+
-         eora  ,y+
-         anda  #$DF
-         lsla  
-         bne   L02ED
-         bcc   L02DC
-         sty   $02,s
-         clra  
-         puls  pc,u,y,x
-L02ED    leax  -$01,x
-L02EF    lda   ,x+
-         bpl   L02EF
-         leau  -u0001,u
-         cmpu  #$0000
-         bne   L02D5
-         coma  
-         puls  pc,u,y,x
-
-         emod
-eom      equ   *
-         end