'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...        es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
DECLARE SUB P ()
DECLARE SUB R ()
COLOR 7, 7: CLS
COLOR 15, 1: PRINT "                              CODIFICADOR MORSE                                 "
COLOR 1, 15
PRINT
PRINT "             Escriba el texto y pulse ENTER"
PRINT "             M ximo 255 caracteres"

LOCATE 7, 1: LINE INPUT "", text$
LOCATE 3, 1
PRINT "                                             "
PRINT "                                    "
PRINT "                                 "
LOCATE 4, 20: PRINT LEN(text$); "Caracteres"

COLOR 14, 4

H = 0
V = 11

OP = 7

FOR A = 1 TO LEN(text$)
   PO = A
   IF A > 80 THEN : PO = A - 80: OP = 8
   IF A > 160 THEN : PO = A - 160: OP = 9
   IF A > 240 THEN : PO = A - 240: OP = 10

   SELECT CASE MID$(UCASE$(text$), A, 1)
      CASE "A": P: R: LOCATE OP, PO: PRINT "A"
      CASE "B": R: P: P: P: LOCATE OP, PO: PRINT "B"
      CASE "C": R: P: R: P: LOCATE OP, PO: PRINT "C"
      CASE "D": R: P: P: LOCATE OP, PO: PRINT "D"
      CASE "E": P: LOCATE OP, PO: PRINT "E"
      CASE "F": P: P: R: P: LOCATE OP, PO: PRINT "F"
      CASE "G": R: R: P: LOCATE OP, PO: PRINT "G"
      CASE "H": P: P: P: P: LOCATE OP, PO: PRINT "H"
      CASE "I": P: P: LOCATE OP, PO: PRINT "I"
      CASE "J": P: R: R: R: LOCATE OP, PO: PRINT "J"
      CASE "K": R: P: R: LOCATE OP, PO: PRINT "K"
      CASE "L": P: R: P: P: LOCATE OP, PO: PRINT "L"
      CASE "M": R: R: LOCATE OP, PO: PRINT "M"
      CASE "N": R: P: LOCATE OP, PO: PRINT "N"
      CASE "O": R: R: R: LOCATE OP, PO: PRINT "O"
      CASE "P": P: R: R: P: LOCATE OP, PO: PRINT "P"
      CASE "Q": R: R: P: R: LOCATE OP, PO: PRINT "Q"
      CASE "R": P: R: P: LOCATE OP, PO: PRINT "R"
      CASE "S": P: P: P: LOCATE OP, PO: PRINT "S"
      CASE "T": R: LOCATE OP, PO: PRINT "T"
      CASE "U": P: P: R: LOCATE OP, PO: PRINT "U"
      CASE "V": P: P: P: R: LOCATE OP, PO: PRINT "V"
      CASE "W": P: R: R: LOCATE OP, PO: PRINT ""
      CASE "X": R: P: P: R: LOCATE OP, PO: PRINT "X"
      CASE "Y": P: P: P: R: LOCATE OP, PO: PRINT "Y"
      CASE "Z": R: R: P: P: LOCATE OP, PO: PRINT "Z"
      CASE "1"
      CASE "2"
      CASE "3"
      CASE "4"
      CASE "5"
      CASE "6"
      CASE "7"
      CASE "8"
      CASE "9"
      CASE "0"
      CASE "."
      CASE ":"
      CASE "?"
      CASE "¨"
      CASE "-"
      CASE "/"
      CASE "("
      CASE ")"
      CASE "'"
      CASE "="
      CASE "+"
      CASE " "
      CASE ELSE
   END SELECT
NEXT

P: P: P: R: P: R   'FIN DE TRANSMISIŕN

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
SUB P
SHARED H
SHARED V
H = H + 1
IF H = 81 THEN : H = 1: V = V + 1

LOCATE V, H

PRINT "ú"
SOUND 700, 1
SOUND 10000, 1
END SUB

'
'  © JM. :: Hecho en Ronda
'
'
'  Procedente de...    www.jm-web.tk     ::    es.geocities.com/jm00092
'
'______________________________________________________________________
'                    
SUB R
SHARED H
SHARED V
H = H + 1
IF H = 81 THEN : H = 1: V = V + 1

LOCATE V, H

PRINT "-"
SOUND 700, 2
SOUND 10000, 1

END SUB

