%%HP: T(3)A(D)F(.);
@ CW, Morse Code Practice
@ by ?
DIR
  CGR
    \<< "" 1 25
      START 1 5
        START
"+,./0123456789=?ABCDEFGHIJKLMNOPQRSTUVWXYZ]"
RAND OVER SIZE * IP
1 + DUP SUB +
        NEXT " " +
      NEXT 'TXT'
STO CWO DSP
    \>>
  SPD
    \<<
"Enter overall wpm and
element wpm, then CONT"
PROMPT 1.2 SWAP /
'ST' STO ST 3 *
'LT' STO ST .04 -
'ET' STO 60 SWAP /
31 ST * - 19 ET * +
19 / 'WT' STO WT 3
* ET 4 * - .04 -
.117 - 'CT' STO
    \>>
  CWO
    \<< CLEAR CODE
OBJ\-> TXT 1 OVER
SIZE
      FOR I MEM
DROP DUP I DUP SUB
NUM 29 - PICK EVAL
CT WAIT
      NEXT CLEAR
    \>>
  DSP
    \<< 0 TXT SIZE
154 /
      FOR S
        IF S
        THEN HALT
        END S 154 *
1 + 1 7
        FOR N 22 +
TXT OVER DUP 22 -
SWAP 1 - SUB N DISP
        NEXT 3
FREEZE DROP
      NEXT
    \>>
  TXT
"PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS PARIS "
  CODE {
    \<< W
    \>>
    \<< W
    \>>
    \<< W
    \>>
    \<< W
    \>>
    \<< W
    \>>
    \<< L L S S
    \>>
    \<< L S L L
    \>>
    \<< L S S L
    \>>
    \<< S L L
    \>>
    \<< S S S L
    \>>
    \<< S S L
    \>>
    \<< L
    \>>
    \<< S S S
    \>>
    \<< S L S
    \>>
    \<< L L S L
    \>>
    \<< S L L S
    \>>
    \<< L L L
    \>>
    \<< L S
    \>>
    \<< L L
    \>>
    \<< S L S S
    \>>
    \<< L S L
    \>>
    \<< S L L L
    \>>
    \<< S S
    \>>
    \<< S S S S
    \>>
    \<< L L S
    \>>
    \<< S S L S
    \>>
    \<< S
    \>>
    \<< L S S
    \>>
    \<< L S L S
    \>>
    \<< L S S S
    \>>
    \<< S L
    \>>
    \<< W
    \>>
    \<< S S L L S L
    \>>
    \<< W
    \>>
    \<< S S S L S L
    \>>
    \<< S L S S S
    \>>
    \<< L S L S L
    \>>
    \<< L L S S
    \>>
    \<< L S L L
    \>>
    \<< L S S L
    \>>
    \<< S L L
    \>>
    \<< S S S L
    \>>
    \<< S S L
    \>>
    \<< L
    \>>
    \<< S S S
    \>>
    \<< S L S
    \>>
    \<< L L S L
    \>>
    \<< S L L S
    \>>
    \<< L L L
    \>>
    \<< L S
    \>>
    \<< L L
    \>>
    \<< S L S S
    \>>
    \<< L S L
    \>>
    \<< S L L L
    \>>
    \<< S S
    \>>
    \<< S S S S
    \>>
    \<< L L S
    \>>
    \<< S S L S
    \>>
    \<< S
    \>>
    \<< L S S
    \>>
    \<< L S L S
    \>>
    \<< L S S S
    \>>
    \<< S L
    \>>
    \<< W
    \>>
    \<< S S L L S S
    \>>
    \<< W
    \>>
    \<< L S S S L
    \>>
    \<< W
    \>>
    \<< L S L S L S
    \>>
    \<< L L L S S S
    \>>
    \<< L L L L S
    \>>
    \<< L L L S S
    \>>
    \<< L L S S S
    \>>
    \<< L S S S S
    \>>
    \<< S S S S S
    \>>
    \<< S S S S L
    \>>
    \<< S S S L L
    \>>
    \<< S S L L L
    \>>
    \<< S L L L L
    \>>
    \<< L L L L L
    \>>
    \<< L S S L S
    \>>
    \<< S L S L S L
    \>>
    \<< L S S S S L
    \>>
    \<< L L S S L L
    \>>
    \<< S L S L S
    \>>
    \<< S L S L S S
    \>>
    \<< L S L L S L
    \>>
    \<< L S L L S
    \>>
    \<< S L L L L S
    \>>
    \<< W
    \>>
    \<< W
    \>>
    \<< S S S L S S L
    \>>
    \<< S S S S S S S
S
    \>>
    \<< S L S S L S
    \>>
    \<< S S S L S
    \>>
    \<< W
    \>> }
  ST .08
  LT .24
  ET .04
  CT .043
  WT .12
  FR 500
  S
    \<< FR ST BEEP ET
WAIT
    \>>
  L
    \<< FR LT BEEP ET
WAIT
    \>>
  W
    \<< FR 0 BEEP WT
WAIT
    \>>
END
