%%HP: T(1)A(D)F(.);
DIR
  CHART
     SETUP
      DO
        IF KEY
        THEN { NSZ
GCHR (0,1) (0,-1)
(-1,0) (1,0) } { 26
51 25 35 34 36 }
ROT POS PICT CRSL
CRS GXOR
          IF DUP
          THEN GET
EVAL MCRS PICT CRSL
CRS GXOR 0
          ELSE
DROP2 1
          END
        ELSE 0
        END
      UNTIL
      END DROP2
    
  CLNE1
     RNUM  y
       PICT 16 y
RC # 114d # 13d
BLANK REPL 16 124
        FOR x DUP2
CHR S GROB x y RC
SWAP REPL 1 + 12
        STEP
      
    
  CLNE2
     RNUM 16 SWAP
RC 3 PICK SWAP 3
PICK 10 / 2 - IP
'CLST' SWAP GET S
GROB REPL 10 +
    
  CRCLST
     30 250
      FOR i "" 0 9
        FOR j i j +
CHR + " " +
        NEXT 10
      STEP 23 LIST
'CLST' STO
    
  CRS
GROB 9 11 FF10FF10FF10FF10FF10FF10FF10FF10FF10FF10FF10
  CST { CHART QUIT
}
  GCHR
     ROT OVER 50 -
CRSL (14,56) - CR
NEG SWAP 12 / + +
      IF DUP 256 <
      THEN CHR +
880 .01
      ELSE DROP 340
.08
      END BEEP 3
ROLLD (0,0)
    
  MCRS
     CR 10 * SWAP
12 * SWAP RC CRSL
+ CR
      IF DUP 16 <
OVER 56 > -1 * +
DUP
      THEN 3 ROLLD
DROP2 MLNE
      ELSE DROP
SWAP 14 - 120 MOD
14 + SWAP RC
'CRSL' STO
      END
    
  MLNE
      c a
       30 a -1 + *
c +
        IF DUP 30 <
OVER 250 > OR
        THEN 340
.08 BEEP DROP c
        ELSE PICT
(0,56) 0 46 RC
          IF a -1
==
          THEN SWAP
          END PICT
SWAP DUP (-130,39)
- SUB REPL 55 40 a
1 == * - CLNE DROP
c a 10 * +
        END
      
    
  NSZ
     50 - S 3 MOD
1 + ROWS (0,0)
    
  QUIT
     WORK CLVAR
CSETDIR UPDIR
    
  RNUM
     3 DUPN 2 SWAP
RC SWAP 10 / IP 1
GROB # 8d # 6d
BLANK OVER SIZE
DROP 8 SWAP - # 0d
2 LIST ROT REPL
REPL
    
  ROWS
     1 MAX 3 MIN
      IF DUP 1 ==
      THEN 'CLNE1'
      ELSE 'CLNE2'
      END 'CLNE'
STO 'S' STO 55 6
      FOR y y CLNE
-10
      STEP
    
  SETUP
     PICT # 131d
# 64d PDIM 0 63
DUP2 YRNG 0 130
XRNG DUP2 RC PVIEW
6 - RC DUP 130 +
LINE (12,63) DUP
(12,0) LINE 5 +
GROB 111 6 200300700700500700600700700750020040040050010010040050055002007007007007007002007007500200100400400400500100500420070070070040070070010070070000000000000000000000000000
REPL "" PICT 30
(14,56) 'CRSL' STO
4 ROLL ROWS PICT
CRSL CRS GXOR
    
  WORK
    DIR
    END
END
