changeset 943:7814ddcf32b1

Rewrote in assembly for size
author boisy
date Tue, 21 Jan 2003 16:58:55 +0000
parents 24fe8305e1ed
children 1692b3f7507d
files level1/cmds/help.asm
diffstat 1 files changed, 295 insertions(+), 2458 deletions(-) [+]
line wrap: on
line diff
--- a/level1/cmds/help.asm	Tue Jan 21 15:59:46 2003 +0000
+++ b/level1/cmds/help.asm	Tue Jan 21 16:58:55 2003 +0000
@@ -1,2480 +1,317 @@
 ********************************************************************
-* help - Show help for commands
+* Help - Show help
 *
 * $Id$
 *
 * Ed.    Comments                                       Who YY/MM/DD
 * ------------------------------------------------------------------
-*   5    From Tandy OS-9 Level Two Vr. 2.00.01
+*   6    Rewrote in assembler for size                  BGP 03/01/21
 
-         nam   help
-         ttl   Show help for commands
-
-* Disassembled 02/07/23 22:09:55 by Disasm v1.6 (C) 1988 by RML
+         nam   Help
+         ttl   Show help
 
          ifp1
          use   defsfile
          endc
 
+COLWIDTH set   10
+
 tylg     set   Prgrm+Objct   
 atrv     set   ReEnt+rev
 rev      set   $01
-edition  set   5
-
-L0000    mod   eom,name,tylg,atrv,start,size
+edition  set   6
 
-         org   0
-u0000    rmb   1
-u0001    rmb   1
-u0002    rmb   1
-u0003    rmb   1
-u0004    rmb   1
-u0005    rmb   1
-u0006    rmb   2
-u0008    rmb   2
-u000A    rmb   1
-u000B    rmb   2
-u000D    rmb   4
-u0011    rmb   15
-u0020    rmb   14
-u002E    rmb   1
-u002F    rmb   38
-u0055    rmb   14
-u0063    rmb   5
-u0068    rmb   10
-u0072    rmb   123
-u00ED    rmb   2
-u00EF    rmb   2
-u00F1    rmb   2
-u00F3    rmb   2
-u00F5    rmb   2
-u00F7    rmb   2
-u00F9    rmb   2
-u00FB    rmb   2
-u00FD    rmb   2
-u00FF    rmb   337
-u0250    rmb   2
-u0252    rmb   58
-u028C    rmb   1
-u028D    rmb   3
-u0290    rmb   6036
-size     equ   .
+         mod   eom,name,tylg,atrv,start,size
 
-name     fcs   /help/
+name     fcs   /Help/
          fcb   edition
 
-L0012    fcb   $A6 &
-         fcb   $A0 
-         fcb   $A7 '
-         fcb   $C0 @
-         fcb   $30 0
-         fcb   $1F 
-         fcb   $26 &
-         fcb   $F8 x
-         fcb   $39 9
-start    equ   *
-         pshs  y
-         pshs  u
-         clra  
-         clrb  
-L0021    sta   ,u+
-         decb  
-         bne   L0021
-         ldx   ,s
-         leau  ,x
-         leax  >$02A4,x
-         pshs  x
-         leay  >L15AA,pcr
-         ldx   ,y++
-         beq   L003C
-         bsr   L0012
-         ldu   $02,s
-L003C    leau  >u00FF,u
-         ldx   ,y++
-         beq   L0047
-         bsr   L0012
-         clra  
-L0047    cmpu  ,s
-         beq   L0050
-         sta   ,u+
-         bra   L0047
-L0050    ldu   $02,s
-         ldd   ,y++
-         beq   L005D
-         leax  >L0000,pcr
-         lbsr  L0160
-L005D    ldd   ,y++
-         beq   L0066
-         leax  ,u
-         lbsr  L0160
-L0066    leas  $04,s
-         puls  x
-         stx   >u0290,u
-         sty   >u0250,u
-         ldd   #$0001
-         std   >u028C,u
-         leay  >u0252,u
-         leax  ,s
-         lda   ,x+
-L0082    ldb   >u028D,u
-         cmpb  #$1D
-         beq   L00DE
-L008A    cmpa  #$0D
-         beq   L00DE
-         cmpa  #$20
-         beq   L0096
-         cmpa  #$2C
-         bne   L009A
-L0096    lda   ,x+
-         bra   L008A
-L009A    cmpa  #$22
-         beq   L00A2
-         cmpa  #$27
-         bne   L00C0
-L00A2    stx   ,y++
-         inc   >u028D,u
-         pshs  a
-L00AA    lda   ,x+
-         cmpa  #$0D
-         beq   L00B4
-         cmpa  ,s
-         bne   L00AA
-L00B4    puls  b
-         clr   -$01,x
-         cmpa  #$0D
-         beq   L00DE
-         lda   ,x+
-         bra   L0082
-L00C0    leax  -$01,x
-         stx   ,y++
-         leax  $01,x
-         inc   >u028D,u
-L00CA    cmpa  #$0D
-         beq   L00DA
-         cmpa  #$20
-         beq   L00DA
-         cmpa  #$2C
-         beq   L00DA
-         lda   ,x+
-         bra   L00CA
-L00DA    clr   -$01,x
-         bra   L0082
-L00DE    leax  >u0250,u
-         pshs  x
-         ldd   >u028C,u
-         pshs  b,a
-         leay  ,u
-         bsr   L00F8
-         lbsr  L018C
-         clr   ,-s
-         clr   ,-s
-         lbsr  L159E
-L00F8    leax  >$02A4,y
-         stx   >$029A,y
-         sts   >$028E,y
-         sts   >$029C,y
-         ldd   #$FF82
-L010D    leax  d,s
-         cmpx  >$029C,y
-         bcc   L011F
-         cmpx  >$029A,y
-         bcs   L0139
-         stx   >$029C,y
-L011F    rts   
-L0120    fcc   "**** STACK OVERFLOW ****"
-         fcb   C$CR
+        org     0
+exitvec rmb     2
+ncols   rmb     1
+colcopy rmb     1
+bufptr  rmb     2
+path    rmb     1
+same    rmb     1
+prmptr  rmb     2
+endptr  rmb     2
+length  rmb     2
+colbuff rmb     128
+userbuf rmb     128
+parbuff rmb     256
+filbuff rmb     256
+stack   rmb     350
+size    equ     .
+
+* Ask user for subjects
+askuser leax    askusr2,pcr
+        stx     <exitvec
+        leax    prompt1,pcr
+        lda     #1
+        ldy     #128
+        os9     I$WritLn
+askusr2 leax    prompt2,pcr
+        lda     #1
+        ldy     #prompt2l
+        os9     I$Write
+        clra
+        ldy     #127
+        leax    userbuf,u
+        os9     I$ReadLn
+        lbcc    askusr3
+        cmpb    #E$EOF
+        lbne    exit
+        lbra    exitok
 
-L0139    leax  <L0120,pcr
-         ldb   #$CF
-         pshs  b
-         lda   #$02
-         ldy   #$0064
-L0146    os9   I$WritLn 
-         clr   ,-s
-         lbsr  L15A4
-L014E    ldd   >$028E,y
-         subd  >$029C,y
-         rts   
-         ldd   >$029C,y
-         subd  >$029A,y
-L015F    rts   
-L0160    pshs  x
-         leax  d,y
-         leax  d,x
-         pshs  x
-L0168    ldd   ,y++
-         leax  d,u
-         ldd   ,x
-         addd  $02,s
-         std   ,x
-         cmpy  ,s
-         bne   L0168
-         leas  $04,s
-L0179    rts   
-L017A    pshs  u
-         ldd   #$FFBA
-         lbsr  L010D
-         clra  
-         clrb  
-         pshs  b,a
-         lbsr  L159E
-         lbra  L0719
-L018C    pshs  u
-         ldd   #$FFB6
-         lbsr  L010D
-         leas  -$02,s
-         leax  >L017A,pcr
-         pshs  x
-         lbsr  L156E
-         leas  $02,s
-         ldd   #$0080
-         pshs  b,a
-         ldd   #$0001
-         pshs  b,a
-         lbsr  L0884
-         leas  $04,s
-         leax  >L077F,pcr
-         pshs  x
-         leax  >L076F,pcr
-         pshs  x
-         lbsr  L09E6
-         leas  $04,s
-         std   <u0001
-         bne   L01D0
-         leax  >L0781,pcr
-         pshs  x
-         lbsr  L04B7
-         leas  $02,s
-L01D0    ldd   #$1000
-         ldx   <u0001
-         std   $0B,x
-         clra  
-         clrb  
-         std   <u00FD
-         ldd   $06,s
-         cmpd  #$0001
-         lbne  L02D5
-         clra  
-         clrb  
-         std   <u00F3
-         leax  >$010C,y
-         pshs  x
-         leax  >L079C,pcr
-         pshs  x
-         lbsr  L0A38
-         leas  $04,s
-L01FA    clra  
-         clrb  
-         std   <u00FB
-         std   <u00FD
-         leax  >$010C,y
-         pshs  x
-         leax  >L07AE,pcr
-         pshs  x
-         lbsr  L0A5A
-         leas  $04,s
-         leax  >$0005,y
-         pshs  x
-         lbsr  L0A7A
-         std   ,s++
-         lbeq  L028C
-         leax  >$0005,y
-         stx   ,s
-         leau  ,x
-         ldb   ,u
-         cmpb  #$3F
-         beq   L0232
-         ldb   ,u
-         bne   L0238
-L0232    lbsr  L0502
-         lbra  L0293
-L0238    ldb   ,u
-         cmpb  #$20
-         lbeq  L0293
-         bra   L0286
-L0242    leau  u0001,u
-L0244    ldb   ,u
-         cmpb  #$20
-         beq   L024E
-         ldb   ,u
-         bne   L0242
-L024E    ldb   ,u
-         cmpb  #$20
-         bne   L0273
-         ldd   <u00FD
-         addd  #$0001
-         std   <u00FD
-         clra  
-         clrb  
-         stb   ,u
-         ldd   ,s
-         pshs  b,a
-         lbsr  L02E8
-         leas  $02,s
-         lbsr  L04E9
-         leau  u0001,u
-         tfr   u,d
-         std   ,s
-         bra   L0286
-L0273    ldd   ,s
-         pshs  b,a
-         lbsr  L02E8
-         leas  $02,s
-         lbsr  L04E9
-         ldd   <u00FB
-         addd  #$0001
-         std   <u00FB
-L0286    ldd   <u00FB
-         beq   L0244
-         bra   L0293
-L028C    ldd   <u00F3
-         addd  #$0001
-         std   <u00F3
-L0293    ldd   <u00F3
-         lbeq  L01FA
-         bra   L02DE
-L029B    ldd   $06,s
-         cmpd  #$0001
-         ble   L02AA
-         ldd   <u00FD
-         addd  #$0001
-         std   <u00FD
-L02AA    ldx   $08,s
-         leax  $02,x
-         stx   $08,s
-         ldb   [,x]
-         cmpb  #$2D
-         bne   L02CC
-         ldx   [<$08,s]
-         ldb   $01,x
-         cmpb  #$3F
-         bne   L02C4
-         lbsr  L0502
-         bra   L02D5
-L02C4    leax  >L07C0,pcr
-         pshs  x
-         bra   L02D1
-L02CC    ldd   [<$08,s]
-         pshs  b,a
-L02D1    bsr   L02E8
-         leas  $02,s
-L02D5    ldd   $06,s
-         addd  #$FFFF
-         std   $06,s
-         bne   L029B
-L02DE    ldd   <u0001
-         pshs  b,a
-         lbsr  L0DF5
-         lbra  L04B0
-L02E8    pshs  u
-         ldd   #$FFB2
-         lbsr  L010D
-         leas  -$02,s
-         leax  >L07C5,pcr
-         pshs  x
-         leax  >$00A5,y
-         pshs  x
-         lbsr  L1143
-         leas  $04,s
-         ldd   $06,s
-         pshs  b,a
-         leax  >$00A5,y
-         pshs  x
-         lbsr  L115B
-         leas  $04,s
-         leax  >L07CE,pcr
-         pshs  x
-         leax  >$00A5,y
-         pshs  x
-         lbsr  L115B
-         leas  $04,s
-         leax  >L07D2,pcr
-         pshs  x
-         leax  >$00A5,y
-         pshs  x
-         lbsr  L09E6
-         leas  $04,s
-         std   <u0003
-         beq   L0347
-         lbsr  L0731
-         ldd   <u0003
-         pshs  b,a
-         lbsr  L13BA
-         leas  $02,s
-         lbra  L0719
-L0347    clra  
-         clrb  
-         std   <u00F9
-         clra  
-         clrb  
-         pshs  b,a
-         clra  
-         clrb  
-         pshs  b,a
-         pshs  b,a
-         ldd   <u0001
-         pshs  b,a
-         lbsr  L0B44
-         leas  $08,s
-         cmpd  #$FFFF
-         lbne  L0463
-         leax  >L07D4,pcr
-         lbra  L045C
-L036D    ldu   $06,s
-         leax  >$0055,y
-         stx   ,s
-         clra  
-         clrb  
-         std   <u00F5
-         ldd   #$0040
-         ldx   ,s
-         leax  $01,x
-         stx   ,s
-         stb   -$01,x
-         lbeq  L0463
-         bra   L03B0
-L038A    ldb   ,u+
-         sex   
-         pshs  b,a
-         lbsr  L0F1B
-         std   ,s
-         ldx   $02,s
-         leax  $01,x
-         stx   $02,s
-         ldb   -$01,x
-         sex   
-         pshs  b,a
-         lbsr  L0F1B
-         leas  $02,s
-         cmpd  ,s++
-         beq   L03B0
-         ldd   <u00F5
-         addd  #$0001
-         std   <u00F5
-L03B0    ldb   ,u
-         beq   L03B8
-         ldd   <u00F5
-         beq   L038A
-L03B8    ldb   [,s]
-         cmpb  #$0D
-         beq   L03C5
-         ldd   <u00F5
-         addd  #$0001
-         std   <u00F5
-L03C5    ldd   <u00F5
-         lbne  L0463
-         ldd   <u00F9
-         addd  #$0001
-         std   <u00F9
-         clra  
-         clrb  
-         std   <u00F7
-         ldd   <u00FD
-         beq   L042F
-         ldu   $06,s
-         bra   L03F5
-L03DE    leax  >$010C,y
-         pshs  x
-         ldb   ,u
-         sex   
-         pshs  b,a
-         lbsr  L0F1B
-         std   ,s
-         lbsr  L0D04
-         leas  $04,s
-         leau  u0001,u
-L03F5    ldb   ,u
-         bne   L03DE
-         leax  >$010C,y
-         pshs  x
-         leax  >L07EA,pcr
-         pshs  x
-         lbsr  L0A5A
-         leas  $04,s
-         lbsr  L04E9
-         bra   L042F
-L040F    ldb   <u0055
-         cmpb  #$40
-         beq   L0428
-         leax  >$010C,y
-         pshs  x
-         leax  >$0055,y
-         pshs  x
-         lbsr  L0A5A
-         leas  $04,s
-         bra   L042F
-L0428    ldd   <u00F7
-         addd  #$0001
-         std   <u00F7
-L042F    ldd   <u0001
-         pshs  b,a
-         ldd   #$0050
-         pshs  b,a
-         leax  >$0055,y
-         pshs  x
-         lbsr  L0AB5
-         leas  $06,s
-         std   -$02,s
-         beq   L044B
-         ldd   <u00F7
-         beq   L040F
-L044B    ldd   <u00F7
-         bne   L0463
-         ldx   <u0001
-         ldd   $06,x
-         clra  
-         andb  #$20
-         beq   L0463
-         leax  >L07ED,pcr
-L045C    pshs  x
-         lbsr  L04B7
-         leas  $02,s
-L0463    ldd   <u0001
-         pshs  b,a
-         ldd   #$0050
-         pshs  b,a
-         leax  >$0055,y
-         pshs  x
-         lbsr  L0AB5
-         leas  $06,s
-         std   -$02,s
-         beq   L0481
-         ldd   <u00F9
-         lbeq  L036D
-L0481    ldd   <u00F9
-         bne   L04B2
-         ldx   <u0001
-         ldd   $06,x
-         clra  
-         andb  #$20
-         beq   L0498
-         leax  >L0805,pcr
-         pshs  x
-         bsr   L04B7
-         leas  $02,s
-L0498    leax  >$010C,y
-         pshs  x
-         ldd   $08,s
-         pshs  b,a
-         lbsr  L0A5A
-         leas  $04,s
-         leax  >L081D,pcr
-         pshs  x
-         lbsr  L0A38
-L04B0    leas  $02,s
-L04B2    bsr   L04E9
-         lbra  L0719
-L04B7    pshs  u
-         ldd   #$FFB8
-         lbsr  L010D
-         leax  >$0119,y
-         pshs  x
-         leax  >L0831,pcr
-         pshs  x
-         lbsr  L0A5A
-         leas  $04,s
-         leax  >$0119,y
-         pshs  x
-         ldd   $06,s
-         pshs  b,a
-         lbsr  L0A5A
-         leas  $04,s
-         clra  
-         clrb  
-         pshs  b,a
-         lbsr  L159E
-         lbra  L0719
-L04E9    pshs  u
-         ldd   #$FFB8
-         lbsr  L010D
-         leax  >$010C,y
-         pshs  x
-         ldd   #$000D
-         pshs  b,a
-         lbsr  L0D04
-         lbra  L06BA
-L0502    pshs  u
-         ldd   #$FFB0
-         lbsr  L010D
-         leas  -$04,s
-         leax  >L0838,pcr
-         pshs  x
-         lbsr  L0A38
-         leas  $02,s
-         lbsr  L071D
-         std   <u00EF
-         ldd   <u00EF
-         pshs  b,a
-         ldd   #$000A
-         lbsr  L1294
-         std   <u00EF
-         clra  
-         clrb  
-         pshs  b,a
-         clra  
-         clrb  
-         pshs  b,a
-         pshs  b,a
-         ldd   <u0001
-         pshs  b,a
-         lbsr  L0B44
-         leas  $08,s
-         cmpd  #$FFFF
-         lbne  L05CF
-         leax  >L084C,pcr
-         pshs  x
-         lbsr  L04B7
-         leas  $02,s
-         lbra  L05CF
-L0551    ldb   <u0005
-         cmpb  #$40
-         lbne  L05D3
-         leau  >$0005,y
-         leax  >$00C3,y
-         stx   $02,s
-         clra  
-         clrb  
-         std   <u00ED
-         bra   L057D
-L0569    ldb   ,u
-         ldx   $02,s
-         leax  $01,x
-         stx   $02,s
-         stb   -$01,x
-         ldd   <u00ED
-         addd  #$0001
-         std   <u00ED
-         subd  #$0001
-L057D    leau  u0001,u
-         ldb   ,u
-         cmpb  #$20
-         bgt   L0569
-         clra  
-         clrb  
-         stb   [<$02,s]
-         leax  >$010C,y
-         pshs  x
-         leax  >$00C3,y
-         pshs  x
-         lbsr  L0A5A
-         leas  $04,s
-         ldd   <u00F1
-         addd  #$0001
-         std   <u00F1
-         cmpd  <u00EF
-         bge   L05CC
-         ldd   <u00ED
-         bra   L05C0
-L05AB    leax  >$010C,y
-         pshs  x
-         ldd   #$0020
-         pshs  b,a
-         lbsr  L0D04
-         leas  $04,s
-         ldd   ,s
-         addd  #$0001
-L05C0    std   ,s
-         ldd   ,s
-         cmpd  #$000A
-         blt   L05AB
-         bra   L05D3
-L05CC    lbsr  L04E9
-L05CF    clra  
-         clrb  
-         std   <u00F1
-L05D3    ldd   <u0001
-         pshs  b,a
-         ldd   #$0050
-         pshs  b,a
-         leax  >$0005,y
-         pshs  x
-         lbsr  L0AB5
-         leas  $06,s
-         std   -$02,s
-         lbne  L0551
-         ldx   <u0001
-         ldd   $06,x
-         clra  
-         andb  #$20
-         beq   L0601
-         leax  >L0862,pcr
-         pshs  x
-         lbsr  L04B7
-         leas  $02,s
-L0601    leax  >L0882,pcr
-         pshs  x
-         leax  >L087A,pcr
-         pshs  x
-         lbsr  L09E6
-         leas  $04,s
-         std   <u0003
-         lbeq  L06B4
-         lbra  L068C
-L061B    leax  >$00CD,y
-         pshs  x
-         lbsr  L06BE
-         std   ,s++
-         lbeq  L068C
-         leau  >$00CD,y
-         clra  
-         clrb  
-         std   <u00ED
-         bra   L0653
-L0634    leax  >$010C,y
-         pshs  x
-         ldb   ,u+
-         sex   
-         pshs  b,a
-         lbsr  L0F1B
-         std   ,s
-         lbsr  L0D04
-         leas  $04,s
-         ldd   <u00ED
-         addd  #$0001
-         std   <u00ED
-         subd  #$0001
-L0653    ldb   ,u
-         cmpb  #$2E
-         bne   L0634
-         ldd   <u00F1
-         cmpd  <u00EF
-         bge   L0685
-         ldd   <u00ED
-         bra   L0679
-L0664    leax  >$010C,y
-         pshs  x
-         ldd   #$0020
-         pshs  b,a
-         lbsr  L0D04
-         leas  $04,s
-         ldd   ,s
-         addd  #$0001
-L0679    std   ,s
-         ldd   ,s
-         cmpd  #$000A
-         blt   L0664
-         bra   L068C
-L0685    lbsr  L04E9
-         clra  
-         clrb  
-         std   <u00F1
-L068C    ldd   <u0003
-         pshs  b,a
-         ldd   #$0001
-         pshs  b,a
-         ldd   #$0020
-         pshs  b,a
-         leax  >$00CD,y
-         pshs  x
-         lbsr  L0AFE
-         leas  $08,s
-         std   -$02,s
-         lbne  L061B
-         ldd   <u0003
-         pshs  b,a
-         lbsr  L13BA
-         leas  $02,s
-L06B4    lbsr  L04E9
-         lbsr  L04E9
-L06BA    leas  $04,s
-         puls  pc,u
-L06BE    pshs  u
-         ldd   #$FFBE
-         lbsr  L010D
-         leas  -$02,s
-         clra  
-         clrb  
-         std   ,s
-         ldb   [<$06,s]
-         beq   L0717
-         ldu   $06,s
-         bra   L06D7
-L06D5    leau  u0001,u
-L06D7    ldb   ,u
-         cmpb  #$2E
-         bne   L06D5
-         ldb   ,u
-         lbeq  L06D5
-         ldb   ,u
-         cmpb  #$7E
-         lbgt  L06D5
-         ldb   ,u+
-         cmpb  #$2E
-         bne   L0717
-         ldb   ,u
-         cmpb  #$68
-         beq   L06FD
-         ldb   ,u
-         cmpb  #$48
-         bne   L0717
-L06FD    leau  u0001,u
-         ldb   ,u
-         clra  
-         andb  #$7F
-         stb   ,u
-         cmpb  #$70
-         beq   L0710
-         ldb   ,u
-         cmpb  #$50
-         bne   L0717
-L0710    ldd   ,s
-         addd  #$0001
-         std   ,s
-L0717    ldd   ,s
-L0719    leas  $02,s
-         puls  pc,u
-L071D    pshs  y,x
-         lda   #$01
-         ldb   #$26
-         os9   I$GetStt 
-         bcc   L072D
-         ldd   #$0050
-         bra   L072F
-L072D    tfr   x,d
-L072F    puls  pc,y,x
-L0731    pshs  u
-         ldd   #$FFB6
-         lbsr  L010D
-         bra   L0752
-L073B    ldb   <u0005
-         cmpb  #$40
-         beq   L0752
-         leax  >$010C,y
-         pshs  x
-         leax  >$0005,y
-         pshs  x
-         lbsr  L0A5A
-         leas  $04,s
-L0752    ldd   <u0003
-         pshs  b,a
-         ldd   #$0050
-         pshs  b,a
-         leax  >$0005,y
-         pshs  x
-         lbsr  L0AB5
-         leas  $06,s
-         std   -$02,s
-         bne   L073B
-         lbsr  L04E9
-         puls  pc,u
+* Show topics (if user enters nothing at prompt)
+showtopics
+        lda     #1
+        leax    >avail,pcr
+        ldy     #128
+        os9     I$WritLn 
+        lbsr    seek0          rewind the file
+resetcl lda     <ncols
+        sta     <colcopy
+        leax    colbuff,u
+        stx     <bufptr
+readlp  lbsr    readlin
+        bcc     readlp2
+        lbsr    printcr
+        bra     askusr2
+readlp2 leax    filbuff,u
+        lda     ,x+
+        cmpa    #'@
+        bne     readlp
+        ldy     <bufptr
+strcpy  clra
+        clrb
+        pshs    d
+strc0   lda     ,x+ 
+        cmpa    #C$SPAC
+        ble     strc1
+        sta     ,y+
+        ldd     ,s
+        addd    #$0001
+        std     ,s
+        bra     strc0          do again
+strc1   puls    d
+        dec     <colcopy
+        beq     doeol
+        cmpb    #COLWIDTH
+        bge     onesp
+        pshs    b
+        ldb     #COLWIDTH
+        subb    ,s+
+        fcb     $8C
+onesp   ldb     #1
+        lda     #C$SPAC
+spacelp sta     ,y+
+        decb
+        bne     spacelp
+        sty     <bufptr
+        bra     readlp
+doeol   sty     <bufptr 
+        lda     #C$CR
+        sta     ,y
+        leax    colbuff,u
+        lda     #1
+        ldy     #128
+        os9     I$WritLn
+        bra     resetcl
+
+askusr3 lda     ,x
+        cmpa    #C$CR
+        beq     showtopics
+        lbsr    seek0          rewind the file
+        bra     entrya
+
+start   pshs    d,x,y
+        lda     #8
+        sta     <ncols		assume 8 columns
+        lda     #1
+        ldb     #SS.ScSiz
+        os9     I$GetStt
+        bcs     start2
+        cmpx    #9
+        ble     start1		A = 1 here
+        tfr     x,d
+        clra
+* Divide screen X by COLWIDTH to determine number of columns
+Div10   subb    #COLWIDTH
+        bcs     start1
+        inca
+        bra     Div10
+start1  sta     <ncols
 
-L076F    fcc   "/dd/sys/helpmsg"
-         fcb   $00
-L077F    fcc   "r"
-         fcb   $00
-L0781    fcc   "can't open /dd/sys/helpmsg"
-         fcb   $00
-L079C    fcc   "Hit [ESC] to exit"
-         fcb   $00
-L07AE    fcc   "What Subject(s)? "
-         fcb   $00
-L07C0    fcc   "help"
-         fcb   $00
-L07C5    fcc   "/dd/sys/"
-         fcb   $00
-L07CE    fcc   ".hp"
-         fcb   $00
-L07D2    fcc   "r"
-         fcb   $00
-L07D4    fcc   "can't reset help file"
-         fcb   $00
-L07EA    fcc   " -"
-         fcb   $00
-L07ED    fcc   "error reading help file"
-         fcb   $00
-L0805    fcc   "error reading help file"
-         fcb   $00
-L081D    fcc   ": no help available"
-         fcb   $00
-L0831    fcc   "help: "
-         fcb   $00
-L0838    fcc   "Help available on: "
-         fcb   $00
-L084C    fcc   "can't reset help file"
-         fcb   $00
-L0862    fcc   "error reading help file"
-         fcb   $00
-L087A    fcc   "/dd/sys"
-         fcb   $00
-L0882    fcc   "d"
-         fcb   $00
-L0884    lda   $03,s
-         ldb   #$8A
-         ldx   $04,s
-         os9   I$SetStt 
-         lbra  L1599
-L0890    pshs  u
-         leau  >$00FF,y
-L0896    ldd   u0006,u
-         clra  
-         andb  #$03
-         lbeq  L0907
-L089F    leau  u000D,u
-         pshs  u
-         leax  >$01CF,y
-         cmpx  ,s++
-         bhi   L0896
-         ldd   #$00C8
-         std   >$029E,y
-         lbra  L090B
-         puls  pc,u
-L08B7    pshs  u
-         ldu   $08,s
-         bne   L08C1
-         bsr   L0890
-         tfr   d,u
-L08C1    stu   -$02,s
-         beq   L090B
-         ldd   $04,s
-         std   u0008,u
-         ldx   $06,s
-         ldb   $01,x
-         cmpb  #$2B
-         beq   L08D9
-         ldx   $06,s
-         ldb   $02,x
-         cmpb  #$2B
-         bne   L08DF
-L08D9    ldd   u0006,u
-L08DB    orb   #$03
-         bra   L08FD
-L08DF    ldd   u0006,u
-         pshs  b,a
-         ldb   [<$08,s]
-         cmpb  #$72
-         beq   L08F1
-         ldb   [<$08,s]
-         cmpb  #$64
-         bne   L08F6
-L08F1    ldd   #$0001
-         bra   L08F9
-L08F6    ldd   #$0002
-L08F9    ora   ,s+
-         orb   ,s+
-L08FD    std   u0006,u
-         ldd   u0002,u
-         addd  u000B,u
-         std   u0004,u
-         std   ,u
-L0907    tfr   u,d
-         puls  pc,u
-L090B    clra  
-         clrb  
-         puls  pc,u
-L090F    pshs  u
-         ldu   $04,s
-         leas  -$04,s
-         clra  
-         clrb  
-         std   ,s
-         ldx   $0A,s
-         ldb   $01,x
-         sex   
-         tfr   d,x
-         bra   L0940
-L0922    ldx   $0A,s
-         ldb   $02,x
-         cmpb  #$2B
-         bne   L092F
-         ldd   #$0007
-         bra   L0937
-L092F    ldd   #$0004
-         bra   L0937
-L0934    ldd   #$0003
-L0937    std   ,s
-         bra   L0950
-L093B    leax  $04,s
-         lbra  L09A8
-L0940    stx   -$02,s
-         beq   L0950
-         cmpx  #$0078
-         beq   L0922
-         cmpx  #$002B
-         beq   L0934
-         bra   L093B
-L0950    ldb   [<$0A,s]
-         sex   
-         tfr   d,x
-         lbra  L09B5
-L0959    ldd   ,s
-         orb   #$01
-         bra   L099B
-L095F    ldd   ,s
-         orb   #$02
-         pshs  b,a
-         pshs  u
-         lbsr  L13AB
-         leas  $04,s
-         std   $02,s
-         cmpd  #$FFFF
-         beq   L098A
-         ldd   #$0002
-         pshs  b,a
-         clra  
-         clrb  
-         pshs  b,a
-         pshs  b,a
-         ldd   $08,s
-         pshs  b,a
-         lbsr  L1481
-         leas  $08,s
-         bra   L09CF
-L098A    ldd   ,s
-         orb   #$02
-         pshs  b,a
-         pshs  u
-         lbsr  L13CC
-         bra   L09A2
-L0997    ldd   ,s
-         orb   #$81
-L099B    pshs  b,a
-         pshs  u
-         lbsr  L13AB
-L09A2    leas  $04,s
-         std   $02,s
-         bra   L09CF
-L09A8    leas  -$04,x
-L09AA    ldd   #$00CB
-         std   >$029E,y
-         clra  
-         clrb  
-         bra   L09D1
-L09B5    cmpx  #$0072
-         lbeq  L0959
-         cmpx  #$0061
-         lbeq  L095F
-         cmpx  #$0077
-         beq   L098A
-         cmpx  #$0064
-         beq   L0997
-         bra   L09AA
-L09CF    ldd   $02,s
-L09D1    leas  $04,s
-         puls  pc,u
-         pshs  u
-         clra  
-         clrb  
-         pshs  b,a
-         ldd   $08,s
-         pshs  b,a
-         ldd   $08,s
-         pshs  b,a
-         lbra  L0A31
-L09E6    pshs  u
-         ldd   $06,s
-         pshs  b,a
-         ldd   $06,s
-         pshs  b,a
-         lbsr  L090F
-         leas  $04,s
-         tfr   d,u
-         cmpu  #$FFFF
-         bne   L0A01
-         clra  
-         clrb  
-         bra   L0A36
-L0A01    clra  
-         clrb  
-         bra   L0A29
-         pshs  u
-         ldd   $08,s
-         pshs  b,a
-         lbsr  L0DF5
-         leas  $02,s
-         ldd   $06,s
-         pshs  b,a
-         ldd   $06,s
-         pshs  b,a
-         lbsr  L090F
-         leas  $04,s
-         tfr   d,u
-         stu   -$02,s
-         bge   L0A27
-         clra  
-         clrb  
-         bra   L0A36
-L0A27    ldd   $08,s
-L0A29    pshs  b,a
-         ldd   $08,s
-         pshs  b,a
-         pshs  u
-L0A31    lbsr  L08B7
-         leas  $06,s
-L0A36    puls  pc,u
-L0A38    pshs  u
-         leax  >$010C,y
-         pshs  x
-         ldd   $06,s
-         pshs  b,a
-         bsr   L0A5A
-         leas  $04,s
-         leax  >$010C,y
-         pshs  x
-         ldd   #$000D
-         pshs  b,a
-         lbsr  L0D04
-         leas  $04,s
-         puls  pc,u
-L0A5A    pshs  u
-         ldu   $04,s
-         leas  -$01,s
-         bra   L0A70
-L0A62    ldd   $07,s
-         pshs  b,a
-         ldb   $02,s
-         sex   
-         pshs  b,a
-         lbsr  L0D04
-         leas  $04,s
-L0A70    ldb   ,u+
-         stb   ,s
-         bne   L0A62
-         leas  $01,s
-         puls  pc,u
-L0A7A    pshs  u,b,a
-         ldu   $06,s
-         bra   L0A84
-L0A80    ldd   ,s
-         stb   ,u+
-L0A84    leax  >$00FF,y
-         pshs  x
-         lbsr  L0F4E
-         leas  $02,s
-         std   ,s
-         cmpd  #$000D
-         beq   L0A9F
-         ldd   ,s
-         cmpd  #$FFFF
-         bne   L0A80
-L0A9F    ldd   ,s
-         cmpd  #$FFFF
-         bne   L0AAB
-         clra  
-         clrb  
-         bra   L0AB1
-L0AAB    clra  
-         clrb  
-         stb   ,u
-         ldd   $06,s
-L0AB1    leas  $02,s
-         puls  pc,u
-L0AB5    pshs  u
-         ldu   $06,s
-         leas  -$04,s
-         ldd   $08,s
-         std   ,s
-         bra   L0ACF
-L0AC1    ldd   $02,s
-         ldx   ,s
-         leax  $01,x
-         stx   ,s
-         stb   -$01,x
-         cmpb  #$0D
-         beq   L0AE8
-L0ACF    tfr   u,d
-         leau  -u0001,u
-         std   -$02,s
-         ble   L0AE8
-         ldd   $0C,s
-         pshs  b,a
-         lbsr  L0F4E
-         leas  $02,s
-         std   $02,s
-         cmpd  #$FFFF
-         bne   L0AC1
-L0AE8    clra  
-         clrb  
-         stb   [,s]
-         ldd   $02,s
-         cmpd  #$FFFF
-         bne   L0AF8
-         clra  
-         clrb  
-         bra   L0AFA
-L0AF8    ldd   $08,s
-L0AFA    leas  $04,s
-         puls  pc,u
-L0AFE    pshs  u
-         ldu   $04,s
-         leas  -$06,s
-         clra  
-         clrb  
-         bra   L0B35
-L0B08    ldd   $0C,s
-         std   $04,s
-         bra   L0B24
-L0B0E    ldd   <$10,s
-         pshs  b,a
-         lbsr  L0F4E
-         leas  $02,s
-         std   ,s
-         cmpd  #$FFFF
-         beq   L0B3E
-         ldd   ,s
-         stb   ,u+
-L0B24    ldd   $04,s
-         addd  #$FFFF
-         std   $04,s
-         subd  #$FFFF
-         bgt   L0B0E
-         ldd   $02,s
-         addd  #$0001
-L0B35    std   $02,s
-         ldd   $02,s
-         cmpd  $0E,s
-         blt   L0B08
-L0B3E    ldd   $02,s
-         leas  $06,s
-         puls  pc,u
-L0B44    pshs  u
-         ldu   $04,s
-         leas  -$06,s
-         cmpu  #$0000
-         beq   L0B57
-         ldd   u0006,u
-         clra  
-         andb  #$03
-         bne   L0B5D
-L0B57    ldd   #$FFFF
-         lbra  L0C80
-L0B5D    ldd   u0006,u
-         anda  #$80
-         clrb  
-         std   -$02,s
-         bne   L0B70
-         pshs  u
-         lbsr  L10A2
-         leas  $02,s
-         lbra  L0C46
-L0B70    ldd   u0006,u
-         anda  #$01
-         clrb  
-         std   -$02,s
-         beq   L0B8F
-         pshs  u
-         lbsr  L0E2F
-         leas  $02,s
-         ldd   u0006,u
-         anda  #$FE
-         std   u0006,u
-         ldd   u0002,u
-         addd  u000B,u
-         std   u0004,u
-         lbra  L0C44
-L0B8F    ldd   ,u
-         cmpd  u0004,u
-         lbcc  L0C46
-         leax  $02,s
-         pshs  x
-         leax  $0E,s
-         lbsr  L1247
-         ldx   <$10,s
-         lbra  L0C13
-L0BA7    leax  $02,s
-         pshs  x
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         pshs  u
-         lbsr  L0C9B
-         leas  $02,s
-         lbsr  L11CE
-         lbsr  L1247
-L0BC0    ldd   u000B,u
-         lbsr  L122E
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         leax  $06,s
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         bsr   L0BDD
-         neg   <u0000
-         neg   <u0000
-L0BDD    puls  x
-         lbsr  L11E3
-         bge   L0BEB
-         leax  $06,s
-         lbsr  L1207
-         bra   L0BED
-L0BEB    leax  $06,s
-L0BED    lbsr  L11E3
-         blt   L0C20
-         ldd   $04,s
-         addd  ,u
-         std   ,s
-         cmpd  u0002,u
-         bcs   L0C20
-         ldd   ,s
-         cmpd  u0004,u
-         bcc   L0C20
-         ldd   ,s
-         std   ,u
-         ldd   u0006,u
-         andb  #$EF
-         std   u0006,u
-         lbra  L0C7E
-         bra   L0C20
-L0C13    stx   -$02,s
-         lbeq  L0BA7
-         cmpx  #$0001
-         lbeq  L0BC0
-L0C20    ldd   <$10,s
-         cmpd  #$0001
-         bne   L0C42
-         leax  $0C,s
-         pshs  x
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         ldd   u0004,u
-         subd  ,u
-         lbsr  L122E
-         lbsr  L11CE
-         lbsr  L1247
-L0C42    ldd   u0004,u
-L0C44    std   ,u
-L0C46    ldd   u0006,u
-         andb  #$EF
-         std   u0006,u
-         ldd   <$10,s
-         pshs  b,a
-         leax  $0E,s
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L1481
-         leas  $08,s
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         fcb   $8D,$04
-         fcb   $FF,$FF,$FF
-         fcb   $FF,$35,$10
-L0C72    lbsr  L11E3
-         bne   L0C7E
-         ldd   #$FFFF
-         bra   L0C80
-L0C7E    clra  
-         clrb  
-L0C80    leas  $06,s
-         puls  pc,u
-         pshs  u
-         clra  
-         clrb  
-         pshs  b,a
-         clra  
-         clrb  
-         pshs  b,a
-         pshs  b,a
-         ldd   $0A,s
-         pshs  b,a
-         lbsr  L0B44
-         leas  $08,s
-         puls  pc,u
-L0C9B    pshs  u
-         ldu   $04,s
-         beq   L0CA8
-         ldd   u0006,u
-         clra  
-         andb  #$03
-         bne   L0CBB
-L0CA8    fdb   $8d04
-         fcb   $FF,$FF
-         fdb   $FFFF,$3510
-L0CAE    leau  >$0292,y
-         pshs  u
-         lbsr  L1247
-         puls  pc,u
-L0CBB    ldd   u0006,u
-         anda  #$80
-         clrb  
-         std   -$02,s
-         bne   L0CCB
-         pshs  u
-         lbsr  L10A2
-         leas  $02,s
-L0CCB    ldd   #$0001
-         pshs  b,a
-         clra  
-         clrb  
-         pshs  b,a
-         pshs  b,a
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L1481
-         leas  $08,s
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         ldd   u0006,u
-         anda  #$01
-         clrb  
-         std   -$02,s
-         beq   L0CF4
-         ldd   u0002,u
-         bra   L0CF6
-L0CF4    ldd   u0004,u
-L0CF6    pshs  b,a
-         ldd   ,u
-         subd  ,s++
-         lbsr  L122E
-         lbsr  L11B9
-         puls  pc,u
-L0D04    pshs  u
-         ldu   $06,s
-         ldd   u0006,u
-         anda  #$80
-         andb  #$22
-         cmpd  #$8002
-         beq   L0D28
-         ldd   u0006,u
-         clra  
-         andb  #$22
-         cmpd  #$0002
-         lbne  L0E40
-         pshs  u
-         lbsr  L10A2
-         leas  $02,s
-L0D28    ldd   u0006,u
-         clra  
-         andb  #$04
-         beq   L0D64
-         ldd   #$0001
-         pshs  b,a
-         leax  $07,s
-         pshs  x
-         ldd   u0008,u
-         pshs  b,a
-         ldd   u0006,u
-         clra  
-         andb  #$40
-         beq   L0D49
-         leax  >L1471,pcr
-         bra   L0D4D
-L0D49    leax  >L1458,pcr
-L0D4D    tfr   x,d
-         tfr   d,x
-         jsr   ,x
-         leas  $06,s
-         cmpd  #$FFFF
-         bne   L0DA5
-         ldd   u0006,u
-         orb   #$20
-         std   u0006,u
-         lbra  L0E40
-L0D64    ldd   u0006,u
-         anda  #$01
-         clrb  
-         std   -$02,s
-         bne   L0D74
-         pshs  u
-         lbsr  L0E5D
-         leas  $02,s
-L0D74    ldd   ,u
-         addd  #$0001
-         std   ,u
-         subd  #$0001
-         tfr   d,x
-         ldd   $04,s
-         stb   ,x
-         ldd   ,u
-         cmpd  u0004,u
-         bcc   L0D9A
-         ldd   u0006,u
-         clra  
-         andb  #$40
-         beq   L0DA5
-         ldd   $04,s
-         cmpd  #$000D
-         bne   L0DA5
-L0D9A    pshs  u
-         lbsr  L0E5D
-         std   ,s++
-         lbne  L0E40
-L0DA5    ldd   $04,s
-         puls  pc,u
-         pshs  u
-         ldu   $04,s
-         ldd   $06,s
-         pshs  b,a
-         pshs  u
-         ldd   #$0008
-         lbsr  L130A
-         pshs  b,a
-         lbsr  L0D04
-         leas  $04,s
-         ldd   $06,s
-         pshs  b,a
-         pshs  u
-         lbsr  L0D04
-         lbra  L0F17
-L0DCC    pshs  u,b,a
-         leau  >$00FF,y
-         clra  
-         clrb  
-         std   ,s
-         bra   L0DE2
-L0DD8    tfr   u,d
-         leau  u000D,u
-         pshs  b,a
-         bsr   L0DF5
-         leas  $02,s
-L0DE2    ldd   ,s
-         addd  #$0001
-         std   ,s
-         subd  #$0001
-         cmpd  #$0010
-         blt   L0DD8
-         lbra  L0E59
-L0DF5    pshs  u
-         ldu   $04,s
-         leas  -$02,s
-         cmpu  #$0000
-         beq   L0E05
-         ldd   u0006,u
-         bne   L0E0B
-L0E05    ldd   #$FFFF
-         lbra  L0E59
-L0E0B    ldd   u0006,u
-         clra  
-         andb  #$02
-         beq   L0E1A
-         pshs  u
-         bsr   L0E2F
-         leas  $02,s
-         bra   L0E1C
-L0E1A    clra  
-         clrb  
-L0E1C    std   ,s
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L13BA
-         leas  $02,s
-         clra  
-         clrb  
-         std   u0006,u
-         ldd   ,s
-         bra   L0E59
-L0E2F    pshs  u
-         ldu   $04,s
-         beq   L0E40
-         ldd   u0006,u
-         clra  
-         andb  #$22
-         cmpd  #$0002
-         beq   L0E45
-L0E40    ldd   #$FFFF
-         puls  pc,u
-L0E45    ldd   u0006,u
-         anda  #$80
-         clrb  
-         std   -$02,s
-         bne   L0E55
-         pshs  u
-         lbsr  L10A2
-         leas  $02,s
-L0E55    pshs  u
-         bsr   L0E5D
-L0E59    leas  $02,s
-         puls  pc,u
-L0E5D    pshs  u
-         ldu   $04,s
-         leas  -$04,s
-         ldd   u0006,u
-         anda  #$01
-         clrb  
-         std   -$02,s
-         bne   L0E8F
-         ldd   ,u
-         cmpd  u0004,u
-         beq   L0E8F
-         clra  
-         clrb  
-         pshs  b,a
-         pshs  u
-         lbsr  L0C9B
-         leas  $02,s
-         ldd   $02,x
-         pshs  b,a
-         ldd   ,x
-         pshs  b,a
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L1481
-         leas  $08,s
-L0E8F    ldd   ,u
-         subd  u0002,u
-         std   $02,s
-         lbeq  L0F07
-         ldd   u0006,u
-         anda  #$01
-         clrb  
-         std   -$02,s
-         lbeq  L0F07
-         ldd   u0006,u
-         clra  
-         andb  #$40
-         beq   L0EDE
-         ldd   u0002,u
-         bra   L0ED6
-L0EAF    ldd   $02,s
-         pshs  b,a
-         ldd   ,u
-         pshs  b,a
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L1471
-         leas  $06,s
-         std   ,s
-         cmpd  #$FFFF
-         bne   L0ECC
-         leax  $04,s
-         bra   L0EF6
-L0ECC    ldd   $02,s
-         subd  ,s
-         std   $02,s
-         ldd   ,u
-         addd  ,s
-L0ED6    std   ,u
-         ldd   $02,s
-         bne   L0EAF
-         bra   L0F07
-L0EDE    ldd   $02,s
-         pshs  b,a
-         ldd   u0002,u
-         pshs  b,a
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L1458
-         leas  $06,s
-         cmpd  $02,s
-         beq   L0F07
-         bra   L0EF8
-L0EF6    leas  -$04,x
-L0EF8    ldd   u0006,u
-         orb   #$20
-         std   u0006,u
-         ldd   u0004,u
-         std   ,u
-         ldd   #$FFFF
-         bra   L0F17
-L0F07    ldd   u0006,u
-         ora   #$01
-         std   u0006,u
-         ldd   u0002,u
-         std   ,u
-         addd  u000B,u
-         std   u0004,u
-         clra  
-         clrb  
-L0F17    leas  $04,s
-         puls  pc,u
-L0F1B    pshs  u
-         ldd   $04,s
-         leax  >$01D0,y
-         leax  d,x
-         ldb   ,x
-         clra  
-         andb  #$04
-         beq   L0F4A
-         ldd   $04,s
-         clra  
-         andb  #$DF
-         bra   L0F4C
-         pshs  u
-         ldd   $04,s
-         leax  >$01D0,y
-         leax  d,x
-         ldb   ,x
-         clra  
-         andb  #$02
-         beq   L0F4A
-         ldd   $04,s
-         orb   #$20
-         bra   L0F4C
-L0F4A    ldd   $04,s
-L0F4C    puls  pc,u
-L0F4E    pshs  u
-         ldu   $04,s
-         beq   L0F9A
-         ldd   u0006,u
-         anda  #$01
-         clrb  
-         std   -$02,s
-         bne   L0F9A
-         ldd   ,u
-         cmpd  u0004,u
-         bcc   L0F76
-         ldd   ,u
-         addd  #$0001
-         std   ,u
-         subd  #$0001
-         tfr   d,x
-         ldb   ,x
-         clra  
-         lbra  L10A0
-L0F76    pshs  u
-         lbsr  L0FE9
-         lbra  L109E
-         pshs  u
-         ldu   $06,s
-         beq   L0F9A
-         ldd   u0006,u
-         clra  
-         andb  #$01
-         beq   L0F9A
-         ldd   $04,s
-         cmpd  #$FFFF
-         beq   L0F9A
-         ldd   ,u
-         cmpd  u0002,u
-         bhi   L0F9F
-L0F9A    ldd   #$FFFF
-         puls  pc,u
-L0F9F    ldd   ,u
-         addd  #$FFFF
-         std   ,u
-         tfr   d,x
-         ldd   $04,s
-         stb   ,x
-         ldd   $04,s
-         puls  pc,u
-         pshs  u
-         ldu   $04,s
-         leas  -$04,s
-         pshs  u
-         lbsr  L0F4E
-         leas  $02,s
-         std   $02,s
-         cmpd  #$FFFF
-         beq   L0FD4
-         pshs  u
-         lbsr  L0F4E
-         leas  $02,s
-         std   ,s
-         cmpd  #$FFFF
-         bne   L0FD9
-L0FD4    ldd   #$FFFF
-         bra   L0FE5
-L0FD9    ldd   $02,s
-         pshs  b,a
-         ldd   #$0008
-         lbsr  L1321
-         addd  ,s
-L0FE5    leas  $04,s
-         puls  pc,u
-L0FE9    pshs  u
-         ldu   $04,s
-         leas  -$02,s
-         ldd   u0006,u
-         anda  #$80
-         andb  #$31
-         cmpd  #$8001
-         beq   L100F
-         ldd   u0006,u
-         clra  
-         andb  #$31
-         cmpd  #$0001
-         lbne  L1088
-         pshs  u
-         lbsr  L10A2
-         leas  $02,s
-L100F    leax  >$00FF,y
-         pshs  x
-         cmpu  ,s++
-         bne   L102C
-         ldd   u0006,u
-         clra  
-         andb  #$40
-         beq   L102C
-         leax  >$010C,y
-         pshs  x
-         lbsr  L0E2F
-         leas  $02,s
-L102C    ldd   u0006,u
-         clra  
-         andb  #$08
-         beq   L1058
-         ldd   u000B,u
-         pshs  b,a
-         ldd   u0002,u
-         pshs  b,a
-         ldd   u0008,u
-         pshs  b,a
-         ldd   u0006,u
-         clra  
-         andb  #$40
-         beq   L104C
-         leax  >L1448,pcr
-         bra   L1050
-L104C    leax  >L1427,pcr
-L1050    tfr   x,d
-         tfr   d,x
-         jsr   ,x
-         bra   L106A
-L1058    ldd   #$0001
-         pshs  b,a
-         leax  u000A,u
-         stx   u0002,u
-         pshs  x
-         ldd   u0008,u
-         pshs  b,a
-         lbsr  L1427
-L106A    leas  $06,s
-         std   ,s
-         ldd   ,s
-         bgt   L108D
-         ldd   u0006,u
-         pshs  b,a
-         ldd   $02,s
-         beq   L107F
-         ldd   #$0020
-         bra   L1082
-L107F    ldd   #$0010
-L1082    ora   ,s+
-         orb   ,s+
-         std   u0006,u
-L1088    ldd   #$FFFF
-         bra   L109E
-L108D    ldd   u0002,u
-         addd  #$0001
-         std   ,u
-         ldd   u0002,u
-         addd  ,s
-         std   u0004,u
-         ldb   [<u0002,u]
-         clra  
-L109E    leas  $02,s
-L10A0    puls  pc,u
-L10A2    pshs  u
-         ldu   $04,s
-         ldd   u0006,u
-         clra  
-         andb  #$C0
-         bne   L10DA
-         leas  <-$20,s
-         leax  ,s
-         pshs  x
-         ldd   u0008,u
-         pshs  b,a
-         clra  
-         clrb  
-         pshs  b,a
-         lbsr  L133C
-         leas  $06,s
-         ldd   u0006,u
-         pshs  b,a
-         ldb   $02,s
-         bne   L10CE
-         ldd   #$0040
-         bra   L10D1
-L10CE    ldd   #$0080
-L10D1    ora   ,s+
-         orb   ,s+
-         std   u0006,u
-         leas  <$20,s
-L10DA    ldd   u0006,u
-         ora   #$80
-         std   u0006,u
-         clra  
-         andb  #$0C
-         beq   L10E7
-         puls  pc,u
-L10E7    ldd   u000B,u
-         bne   L10FC
-         ldd   u0006,u
-         clra  
-         andb  #$40
-         beq   L10F7
-         ldd   #$0080
-         bra   L10FA
-L10F7    ldd   #$0100
-L10FA    std   u000B,u
-L10FC    ldd   u0002,u
-         bne   L1111
-         ldd   u000B,u
-         pshs  b,a
-         lbsr  L1541
-         leas  $02,s
-         std   u0002,u
-         cmpd  #$FFFF
-         beq   L1119
-L1111    ldd   u0006,u
-         orb   #$08
-         std   u0006,u
-         bra   L1128
-L1119    ldd   u0006,u
-         orb   #$04
-         std   u0006,u
-         leax  u000A,u
-         stx   u0002,u
-         ldd   #$0001
-         std   u000B,u
-L1128    ldd   u0002,u
-         addd  u000B,u
-         std   u0004,u
-         std   ,u
-         puls  pc,u
-         pshs  u
-         ldu   $04,s
-L1136    ldb   ,u+
-         bne   L1136
-         tfr   u,d
-         subd  $04,s
-         addd  #$FFFF
-         puls  pc,u
-L1143    pshs  u
-         ldu   $06,s
-         leas  -$02,s
-         ldd   $06,s
-         std   ,s
-L114D    ldb   ,u+
-         ldx   ,s
-         leax  $01,x
-         stx   ,s
-         stb   -$01,x
-         bne   L114D
-         bra   L1182
-L115B    pshs  u
-         ldu   $06,s
-         leas  -$02,s
-         ldd   $06,s
-         std   ,s
-L1165    ldx   ,s
-         leax  $01,x
-         stx   ,s
-         ldb   -$01,x
-         bne   L1165
-         ldd   ,s
-         addd  #$FFFF
-         std   ,s
-L1176    ldb   ,u+
-         ldx   ,s
-         leax  $01,x
-         stx   ,s
-         stb   -$01,x
-         bne   L1176
-L1182    ldd   $06,s
-         leas  $02,s
-         puls  pc,u
-         pshs  u
-         ldu   $04,s
-         bra   L119E
-L118E    ldx   $06,s
-         leax  $01,x
-         stx   $06,s
-         ldb   -$01,x
-         bne   L119C
-         clra  
-         clrb  
-         puls  pc,u
-L119C    leau  u0001,u
-L119E    ldb   ,u
-         sex   
-         pshs  b,a
-         ldb   [<$08,s]
-         sex   
-         cmpd  ,s++
-         beq   L118E
-         ldb   [<$06,s]
-         sex   
-         pshs  b,a
-         ldb   ,u
-         sex   
-         subd  ,s++
-         puls  pc,u
-L11B9    ldd   $04,s
-         addd  $02,x
-         std   >$0294,y
-         ldd   $02,s
-         adcb  $01,x
-         adca  ,x
-         std   >$0292,y
-         lbra  L125D
-L11CE    ldd   $04,s
-         subd  $02,x
-         std   >$0294,y
-         ldd   $02,s
-         sbcb  $01,x
-         sbca  ,x
-         std   >$0292,y
-         lbra  L125D
-L11E3    ldd   $02,s
-         cmpd  ,x
-         bne   L11FC
-         ldd   $04,s
-         cmpd  $02,x
-         beq   L11FC
-         bcs   L11F9
-         lda   #$01
-         andcc #$FE
-         bra   L11FC
-L11F9    clra  
-         cmpa  #$01
-L11FC    pshs  cc
-         ldd   $01,s
-         std   $05,s
-         puls  cc
-         leas  $04,s
-         rts   
-L1207    lbsr  L126C
-         ldd   #$0000
-         subd  $02,x
-         std   $02,x
-         ldd   #$0000
-         sbcb  $01,x
-         sbca  ,x
-         std   ,x
-         rts   
-         ldd   ,x
-         coma  
-         comb  
-         std   >$0292,y
-         ldd   $02,x
-         coma  
-         comb  
-         leax  >$0292,y
-         std   $02,x
-         rts   
-L122E    leax  >$0292,y
-         std   $02,x
-         tfr   a,b
-         sex   
-         tfr   a,b
-         std   ,x
-         rts   
-         leax  >$0292,y
-         std   $02,x
-         clr   ,x
-         clr   $01,x
-         rts   
-L1247    pshs  y
-         ldy   $04,s
-         ldd   ,x
-         std   ,y
-         ldd   $02,x
-         std   $02,y
-         puls  x
-         exg   y,x
-         puls  b,a
-         std   ,s
-         rts   
-L125D    tfr   cc,a
-         puls  x
-         stx   $02,s
-         leas  $02,s
-         leax  >$0292,y
-         tfr   a,cc
-         rts   
-L126C    ldd   ,x
-         std   >$0292,y
-         ldd   $02,x
-         leax  >$0292,y
-         std   $02,x
-         rts   
-         subd  #$0000
-         beq   L128A
-         pshs  b,a
-         leas  -$02,s
-         clr   ,s
-         clr   $01,s
-         bra   L12B8
-L128A    puls  b,a
-         std   ,s
-         ldd   #$002D
-         lbra  L132D
-L1294    subd  #$0000
-         beq   L128A
-         pshs  b,a
-         leas  -$02,s
-         clr   ,s
-         clr   $01,s
-         tsta  
-         bpl   L12AC
-         nega  
-         negb  
-         sbca  #$00
-         inc   $01,s
-         std   $02,s
-L12AC    ldd   $06,s
-         bpl   L12B8
-         nega  
-         negb  
-         sbca  #$00
-         com   $01,s
-         std   $06,s
-L12B8    lda   #$01
-L12BA    inca  
-         lsl   $03,s
-         rol   $02,s
-         bpl   L12BA
-         sta   ,s
-         ldd   $06,s
-         clr   $06,s
-         clr   $07,s
-L12C9    subd  $02,s
-         bcc   L12D3
-         addd  $02,s
-         andcc #$FE
-         bra   L12D5
-L12D3    orcc  #$01
-L12D5    rol   $07,s
-         rol   $06,s
-         lsr   $02,s
-         ror   $03,s
-         dec   ,s
-         bne   L12C9
-         std   $02,s
-         tst   $01,s
-         beq   L12EF
-         ldd   $06,s
-         nega  
-         negb  
-         sbca  #$00
-         std   $06,s
-L12EF    ldx   $04,s
-         ldd   $06,s
-         std   $04,s
-         stx   $06,s
-         ldx   $02,s
-         ldd   $04,s
-         leas  $06,s
-         rts   
-         tstb  
-         beq   L1314
-L1301    asr   $02,s
-         ror   $03,s
-         decb  
-         bne   L1301
-         bra   L1314
-L130A    tstb  
-         beq   L1314
-L130D    lsr   $02,s
-         ror   $03,s
-         decb  
-         bne   L130D
-L1314    ldd   $02,s
-         pshs  b,a
-         ldd   $02,s
-         std   $04,s
-         ldd   ,s
-         leas  $04,s
-         rts   
-L1321    tstb  
-         beq   L1314
-L1324    lsl   $03,s
-         rol   $02,s
-         decb  
-         bne   L1324
-         bra   L1314
-L132D    std   >$029E,y
-         pshs  y,b
-         os9   F$ID     
-         puls  y,b
-         os9   F$Send   
-         rts   
-L133C    lda   $05,s
-         ldb   $03,s
-         beq   L136F
-         cmpb  #$01
-         beq   L1371
-         cmpb  #$06
-         beq   L1371
-         cmpb  #$02
-         beq   L1357
-         cmpb  #$05
-         beq   L1357
-         ldb   #$D0
-         lbra  L1590
-L1357    pshs  u
-         os9   I$GetStt 
-         bcc   L1363
-         puls  u
-         lbra  L1590
-L1363    stx   [<$08,s]
-         ldx   $08,s
-         stu   $02,x
-         puls  u
-         clra  
-         clrb  
-         rts   
-L136F    ldx   $06,s
-L1371    os9   I$GetStt 
-         lbra  L1599
-         lda   $05,s
-         ldb   $03,s
-         beq   L1386
-         cmpb  #$02
-         beq   L138E
-         ldb   #$D0
-         lbra  L1590
-L1386    ldx   $06,s
-         os9   I$SetStt 
-         lbra  L1599
-L138E    pshs  u
-         ldx   $08,s
-         ldu   $0A,s
-         os9   I$SetStt 
-         puls  u
-         lbra  L1599
-         ldx   $02,s
-         lda   $05,s
-         os9   I$Open   
-         bcs   L13A8
-         os9   I$Close  
-L13A8    lbra  L1599
-L13AB    ldx   $02,s
-         lda   $05,s
-         os9   I$Open   
-         lbcs  L1590
-         tfr   a,b
-         clra  
-         rts   
-L13BA    lda   $03,s
-         os9   I$Close  
-         lbra  L1599
-         ldx   $02,s
-         ldb   $05,s
-         os9   I$MakDir 
-         lbra  L1599
-L13CC    ldx   $02,s
-         lda   $05,s
-         tfr   a,b
-         andb  #$24
-         orb   #$0B
-         os9   I$Create 
-         bcs   L13DF
-L13DB    tfr   a,b
-         clra  
-         rts   
-L13DF    cmpb  #$DA
-         lbne  L1590
-         lda   $05,s
-         bita  #$80
-         lbne  L1590
-         anda  #$07
-         ldx   $02,s
-         os9   I$Open   
-         lbcs  L1590
-         pshs  u,a
-         ldx   #$0000
-         leau  ,x
-         ldb   #$02
-         os9   I$SetStt 
-         puls  u,a
-         bcc   L13DB
-         pshs  b
-         os9   I$Close  
-         puls  b
-         lbra  L1590
-         ldx   $02,s
-         os9   I$Delete 
-         lbra  L1599
-         lda   $03,s
-         os9   I$Dup    
-         lbcs  L1590
-         tfr   a,b
-         clra  
-         rts   
-L1427    pshs  y
-         ldx   $06,s
-         lda   $05,s
-         ldy   $08,s
-         pshs  y
-         os9   I$Read   
-L1435    bcc   L1444
-         cmpb  #$D3
-         bne   L143F
-         clra  
-         clrb  
-         puls  pc,y,x
-L143F    puls  y,x
-         lbra  L1590
-L1444    tfr   y,d
-         puls  pc,y,x
-L1448    pshs  y
-         lda   $05,s
-         ldx   $06,s
-         ldy   $08,s
-         pshs  y
-         os9   I$ReadLn 
-         bra   L1435
-L1458    pshs  y
-         ldy   $08,s
-         beq   L146D
-         lda   $05,s
-         ldx   $06,s
-         os9   I$Write  
-L1466    bcc   L146D
-         puls  y
-         lbra  L1590
-L146D    tfr   y,d
-         puls  pc,y
-L1471    pshs  y
-         ldy   $08,s
-         beq   L146D
-         lda   $05,s
-         ldx   $06,s
-         os9   I$WritLn 
-         bra   L1466
-L1481    pshs  u
-         ldd   $0A,s
-         bne   L148F
-         ldu   #$0000
-         ldx   #$0000
-         bra   L14C3
-L148F    cmpd  #$0001
-         beq   L14BA
-         cmpd  #$0002
-         beq   L14AF
-         ldb   #$F7
-L149D    clra  
-         std   >$029E,y
-         ldd   #$FFFF
-         leax  >$0292,y
-         std   ,x
-         std   $02,x
-         puls  pc,u
-L14AF    lda   $05,s
-         ldb   #$02
-         os9   I$GetStt 
-         bcs   L149D
-         bra   L14C3
-L14BA    lda   $05,s
-         ldb   #$05
-         os9   I$GetStt 
-         bcs   L149D
-L14C3    tfr   u,d
-         addd  $08,s
-         std   >$0294,y
-         tfr   d,u
-         tfr   x,d
-         adcb  $07,s
-         adca  $06,s
-         bmi   L149D
-         tfr   d,x
-         std   >$0292,y
-         lda   $05,s
-         os9   I$Seek   
-         bcs   L149D
-         leax  >$0292,y
-         puls  pc,u
-         ldd   >$0290,y
-         pshs  b,a
-         ldd   $04,s
-         cmpd  >$02A0,y
-         bcs   L151E
-         addd  >$0290,y
-         bcs   L150A
-         pshs  y
-         subd  ,s
-         os9   F$Mem    
-         tfr   y,d
-         puls  y
-         bcc   L1510
-L150A    ldd   #$FFFF
-         leas  $02,s
-         rts   
-L1510    std   >$0290,y
-         addd  >$02A0,y
-         subd  ,s
-         std   >$02A0,y
-L151E    leas  $02,s
-         ldd   >$02A0,y
-         pshs  b,a
-         subd  $04,s
-         std   >$02A0,y
-         ldd   >$0290,y
-         subd  ,s++
-         pshs  b,a
-         clra  
-         ldx   ,s
-L1537    sta   ,x+
-         cmpx  >$0290,y
-         bcs   L1537
-         puls  pc,b,a
-L1541    ldd   $02,s
-         addd  >$029A,y
-         bcs   L156A
-         cmpd  >$029C,y
-         bcc   L156A
-         pshs  b,a
-         ldx   >$029A,y
-         clra  
-L1557    cmpx  ,s
-         bcc   L155F
-         sta   ,x+
-         bra   L1557
-L155F    ldd   >$029A,y
-         puls  x
-         stx   >$029A,y
-         rts   
-L156A    ldd   #$FFFF
-         rts   
-L156E    pshs  u
-         tfr   y,u
-         ldx   $04,s
-         stx   >$02A2,y
-         leax  >L1584,pcr
-         os9   F$Icpt   
-         puls  u
-         lbra  L1599
-L1584    tfr   u,y
-         clra  
-         pshs  b,a
-         jsr   [>$02A2,y]
-         leas  $02,s
-         rti   
-L1590    clra  
-         std   >$029E,y
-         ldd   #$FFFF
-         rts   
-L1599    bcs   L1590
-         clra  
-         clrb  
-         rts   
-L159E    lbsr  L15A9
-         lbsr  L0DCC
-L15A4    ldd   $02,s
-         os9   F$Exit   
-L15A9    rts   
-L15AA    fdb   $0001,$0001,$5100
-         fdb   $0000,$0000,$0000,$0100,$0000,$0000,$0000,$0000
-         fdb   $0000,$0002,$0001,$0000,$0000,$0000,$0000,$0000
-         fdb   $4200,$0200,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
-         fdb   $0101,$0101,$0101,$0101,$0111,$1101,$1111,$0101
-         fdb   $0101,$0101,$0101,$0101,$0101,$0101,$0101,$0101
-         fdb   $3020,$2020,$2020,$2020,$2020,$2020,$2020,$2020
-         fdb   $4848,$4848,$4848,$4848,$4848,$2020,$2020,$2020
-         fdb   $2042,$4242,$4242,$4202,$0202,$0202,$0202,$0202
-         fdb   $0202,$0202,$0202,$0202,$0202,$0220,$2020,$2020
-         fdb   $2044,$4444,$4444,$4404,$0404,$0404,$0404,$0404
-         fdb   $0404,$0404,$0404,$0404,$0404,$0420,$2020,$2001
-         fdb   $0000,$0000
-         fcc   "help"
-         fcb   $00
+start2  leax    exit,pcr
+        stx     <exitvec
+        puls    d,x,y
+        tfr     d,y            length of parameters
+        bsr     open
+        bcs     exit
+        cmpy    #$0001		no parameters?
+        lbeq    askuser
+entrya
+        pshs    u
+        leau    parbuff,u       point to buffer
+entry0  lda     ,x+
+        cmpa    #C$SPAC        is it a space (between parameters?)
+        beq     entry1
+        cmpa    #C$CR
+        bne     nocr
+entry1  clra                   yes, null it
+nocr    sta     ,u+            store in buffer
+        leay    -1,y           decrement length counter
+        bne     entry0
+        clr     ,u
+        tfr     u,y
+        puls    u
+        sty     <endptr        store end of all parameters
+        leax    parbuff,u       load address of parbuff into X
+        stx     <prmptr        save parameter pointer
+entry2  lda     ,x
+        bne     strlen
+        leax    1,x
+        bra     rered2
+strlen  pshs    x
+        ldy     #0             initialise count
+strl0   lda     ,x+            is it a char > null
+        cmpa    #C$SPAC
+        ble     strl1          nope, exit
+        leay    1,y            yep, increment count
+        bra     strl0          do again
+strl1   puls    x
+        sty     <length        store it
+
+reread  bsr     readlin        read line from helpfile file
+        bcc     rered0
+        cmpb    #E$EOF         did we find end-of-file?
+        lbeq    unknown        yep, tell user we don't know his command
+rered0  lbsr    compare        compare user number with 1st 3 chars of line
+        beq     reread         compare returns 0 if failed
+        bsr     print          else go print the helpfile line
+        bcc     rered1         exit if I$WritLn problem
+        cmpb    #E$EOF
+        bcs     exit
+rered1  ldd     <length        get length
+        ldx     prmptr         get parameter pointer
+        leax    d,x            add length to it
+        leax    1,x            increment past null byte
+rered2  clrb
+        cmpx    <endptr
+        blt     rered25
+        jmp     [exitvec,u]
+rered25 stx     <prmptr        store it
+rered3  lbsr    seek0          rewind the file
+        bra     entry2         loop around again
+
+exitok  clrb
+exit    os9     F$Exit
+
+open    pshs    x
+        leax    helpfile,pcr     point to file name
+        lda     #READ.         read mode
+        os9     I$Open
+        bcs     open0
+        sta     <path          store path number
+open0   puls    x,pc
+
+readlin pshs    x,y
+        lda     <path          get file path number
+        ldy     #256           read max 256 bytes
+        leax    filbuff,u      into memory pointed to by filbuff
+        os9     I$ReadLn
+        puls    x,y,pc
 
-         emod
-eom      equ   *
-         end
+print   pshs    x,y,a
+print2  bsr     readlin
+        bcs     printout
+print3  lda     ,x
+        cmpa    #'@
+        beq     printout
+        lda     #1             STDOUT
+        leax    filbuff,u       into memory pointed to by filbuff
+        ldy     #256           max of 256 chars
+        os9     I$WritLn
+        bra     print2
+printout
+        bsr     printcr
+        puls    x,y,a,pc
+
+printcr
+        lda     #1
+        leax    return,pcr
+        ldy     #256           max of 256 chars
+        os9     I$WritLn
+        rts
+
+compare pshs    x,y
+        clr     <same          comparison indicator
+        leay    filbuff,u       point to file buffer
+        lda     ,y+            get first char
+        cmpa    #'@		@ sign?
+        bne     comp2		branch if not
+        ldx     prmptr         get address of next cmd line param
+comp0   lda     ,x+            get char from cmd line
+        beq     comp1          is it null (end of param)
+        ldb     ,y+
+        anda    #$DF
+        andb    #$DF
+        pshs    a
+        cmpb    ,s+
+        bne     comp2          not same, exit
+        inc     <same          yep, in comparison counter
+        bra     comp0          'round again
+comp1   lda     ,y
+        cmpa    #C$CR          was it end of string in helpfile file?
+        bne     comp2
+        tst     <same          test indicator
+        puls    x,y,pc
+comp2   clr     <same          clear the counter
+        puls    x,y,pc
+
+unknown 
+        ldx     prmptr         put pointer into parameter buffer in X
+        lda     #1             STDOUT
+        ldy     <length        get length of user's param
+        os9     I$Write
+        lbcs    exit
+        leax    unkmsg,pcr     point to message
+        ldy     #unkmsgl       num of chars to print
+        lda     #1             to STDOUT
+        os9     I$WritLn
+        lbcs    exit           exit if problem with I$Write
+        ldx     prmptr         put point into parameter buffer in X
+        ldd     <length        get length of user's param
+        leax    d,x            add to X
+        leax    1,x            increment past null byte
+        clrb
+        cmpx    endptr
+        lblt    unk2
+        jmp     [exitvec,u]
+unk2    stx     <prmptr        store X
+        bsr     seek0          rewind file
+        lbra    entry2
+
+seek0   pshs    x,u
+        lda     <path
+        ldx     #0
+        ldu     #0
+        os9     I$Seek
+        puls    x,u,pc
+
+helpfile fcc     "/DD/SYS/helpmsg"
+        fcb     0
+unkmsg  fcc     /: no help available/
+return  fcb     C$CR
+unkmsgl equ     *-unkmsg
+prompt1 fcc     /Hit [ESC] to exit/
+        fcb     C$CR
+prompt2 fcc     /What Subject(s)? /
+prompt2l equ    *-prompt2
+avail   fcc     /Help available on:/
+        fcb     C$CR
+
+        emod
+eom     equ     *
+        end