home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1991-06-16 | 6.1 KB | 335 lines |
- 1 REM MORSE CODE SEND IN BASIC BY RAJIB MITRA FOR IBM COMPATIBLE COMPUTERS. DESIGNED FOR AMATEUR RADIO OPERATORS. PLEASE DO NOT SELL FOR MONEY.
- 2 KEY OFF : GOSUB 6000 : REM sends user to setup
- 3 PRINT"Morse Code Send","by Rajib K. Mitra, KB9DJE"
- 5 KEY 1,CS$
- 6 PRINT"Type letters to send, \ when done, or ' to change setup."
- 7 A$=INKEY$:IF P$="y"THEN PRINT A$; : REM gets key and prints it if asked
- 8 IF A$=" "THEN SOUND 32767,7*FARNS : REM these identify the key pressed and send you to the correct subroutine
- 9 IF A$="\"THEN GOTO 4000
- 10 IF A$="a"THEN GOTO 300
- 11 IF A$= "'"THEN GOSUB 6010
- 20 IF A$="b"THEN GOTO 310
- 30 IF A$="c"THEN GOTO 320
- 40 IF A$="d"THEN GOTO 330
- 50 IF A$="e"THEN GOTO 340
- 55 IF A$="?"THEN GOTO 840
- 60 IF A$="f"THEN GOTO 350
- 65 IF A$="-"THEN GOTO 850
- 70 IF A$="g"THEN GOTO 360
- 80 IF A$="h"THEN GOTO 370
- 90 IF A$="i"THEN GOTO 380
- 100 IF A$="j"THEN GOTO 390
- 120 IF A$="k"THEN GOTO 400
- 130 IF A$="l"THEN GOTO 410
- 140 IF A$="m"THEN GOTO 420
- 150 IF A$="n"THEN GOTO 430
- 160 IF A$="o"THEN GOTO 440
- 170 IF A$="p"THEN GOTO 450
- 180 IF A$="q"THEN GOTO 460
- 190 IF A$="r"THEN GOTO 470
- 200 IF A$="s"THEN GOTO 480
- 210 IF A$="t"THEN GOTO 490
- 220 IF A$="u"THEN GOTO 500
- 230 IF A$="v"THEN GOTO 510
- 235 IF A$=","THEN GOTO 820
- 240 IF A$="w"THEN GOTO 520
- 250 IF A$="x"THEN GOTO 530
- 255 IF A$="."THEN GOTO 830
- 260 IF A$="y"THEN GOTO 540
- 261 IF A$="1"THEN GOTO 700
- 262 IF A$="2"THEN GOTO 710
- 263 IF A$="3"THEN GOTO 720
- 264 IF A$="4"THEN GOTO 730
- 265 IF A$="5"THEN GOTO 740
- 266 IF A$="6"THEN GOTO 750
- 267 IF A$="7"THEN GOTO 760
- 268 IF A$="8"THEN GOTO 770
- 269 IF A$="9"THEN GOTO 780
- 270 IF A$="z"THEN GOTO 550
- 271 IF A$="0"THEN GOTO 790
- 272 IF A$="/"THEN GOTO 800
- 279 GOTO 7 : REM searches again if nothing is pressed
- 280 SOUND 32767,FARNS*3 : GOTO 7 : REM character pause and return to key capturing routine
- 290 REM the following are the subroutines for the letters indicated
- 300 GOSUB 1000 : REM A
- 301 GOSUB 2000
- 302 GOTO 280
- 310 GOSUB 2000 : REM B
- 311 GOSUB 1000
- 312 GOSUB 1000
- 313 GOSUB 1000
- 314 GOTO 280
- 320 GOSUB 2000 : REM C
- 321 GOSUB 1000
- 322 GOSUB 2000
- 323 GOSUB 1000
- 324 GOTO 280
- 330 GOSUB 2000 : REM D
- 331 GOSUB 1000
- 332 GOSUB 1000
- 333 GOTO 280
- 340 GOSUB 1000 : REM E
- 341 GOTO 280
- 350 GOSUB 1000 : REM F
- 351 GOSUB 1000
- 352 GOSUB 2000
- 353 GOSUB 1000
- 354 GOTO 280
- 360 GOSUB 2000 : REM G
- 361 GOSUB 2000
- 362 GOSUB 1000
- 363 GOTO 280
- 370 GOSUB 1000 : REM H
- 371 GOSUB 1000
- 372 GOSUB 1000
- 373 GOSUB 1000
- 374 GOTO 280
- 380 GOSUB 1000 : REM I
- 381 GOSUB 1000
- 382 GOTO 280
- 390 GOSUB 1000 : REM J
- 391 GOSUB 2000
- 392 GOSUB 2000
- 393 GOSUB 2000
- 394 GOTO 280
- 400 GOSUB 2000 : REM K
- 401 GOSUB 1000
- 402 GOSUB 2000
- 403 GOTO 280
- 410 GOSUB 1000 : REM L
- 411 GOSUB 2000
- 412 GOSUB 1000
- 413 GOSUB 1000
- 414 GOTO 280
- 420 GOSUB 2000 : REM M
- 421 GOSUB 2000
- 422 GOTO 280
- 430 GOSUB 2000 : REM N
- 431 GOSUB 1000
- 432 GOTO 280
- 440 GOSUB 2000 : REM O
- 441 GOSUB 2000
- 442 GOSUB 2000
- 443 GOTO 280
- 450 GOSUB 1000 : REM P
- 451 GOSUB 2000
- 452 GOSUB 2000
- 453 GOSUB 1000
- 454 GOTO 280
- 460 GOSUB 2000 : REM Q
- 461 GOSUB 2000
- 462 GOSUB 1000
- 463 GOSUB 2000
- 464 GOTO 280
- 470 GOSUB 1000 : REM R
- 471 GOSUB 2000
- 472 GOSUB 1000
- 473 GOTO 280
- 480 GOSUB 1000 : REM S
- 481 GOSUB 1000
- 482 GOSUB 1000
- 483 GOTO 280
- 490 GOSUB 2000 : REM T
- 491 GOTO 280
- 500 GOSUB 1000 : REM U
- 501 GOSUB 1000
- 502 GOSUB 2000
- 503 GOTO 280
- 510 GOSUB 1000 : REM V
- 511 GOSUB 1000
- 512 GOSUB 1000
- 513 GOSUB 2000
- 514 GOTO 280
- 520 GOSUB 1000 : REM W
- 521 GOSUB 2000
- 522 GOSUB 2000
- 523 GOTO 280
- 530 GOSUB 2000 : REM X
- 531 GOSUB 1000
- 532 GOSUB 1000
- 533 GOSUB 2000
- 534 GOTO 280
- 540 GOSUB 2000 : REM Y
- 541 GOSUB 1000
- 542 GOSUB 2000
- 543 GOSUB 2000
- 544 GOTO 280
- 550 GOSUB 2000 : REM Z
- 551 GOSUB 2000
- 552 GOSUB 1000
- 553 GOSUB 1000
- 554 GOTO 280
- 700 GOSUB 1000 : REM 1
- 701 GOSUB 2000
- 702 GOSUB 2000
- 703 GOSUB 2000
- 704 GOSUB 2000
- 705 GOTO 280
- 710 GOSUB 1000 : REM 2
- 711 GOSUB 1000
- 712 GOSUB 2000
- 713 GOSUB 2000
- 714 GOSUB 2000
- 715 GOTO 280
- 720 GOSUB 1000 : REM 3
- 721 GOSUB 1000
- 722 GOSUB 1000
- 723 GOSUB 2000
- 724 GOSUB 2000
- 725 GOTO 280
- 730 GOSUB 1000 : REM 4
- 731 GOSUB 1000
- 732 GOSUB 1000
- 733 GOSUB 1000
- 734 GOSUB 2000
- 735 GOTO 280
- 740 GOSUB 1000 : REM 5
- 741 GOSUB 1000
- 742 GOSUB 1000
- 743 GOSUB 1000
- 744 GOSUB 1000
- 745 GOTO 280
- 750 GOSUB 2000 : REM 6
- 751 GOSUB 1000
- 752 GOSUB 1000
- 753 GOSUB 1000
- 754 GOSUB 1000
- 755 GOTO 280
- 760 GOSUB 2000 : REM 7
- 761 GOSUB 2000
- 762 GOSUB 1000
- 763 GOSUB 1000
- 764 GOSUB 1000
- 765 GOTO 280
- 770 GOSUB 2000 : REM 8
- 771 GOSUB 2000
- 772 GOSUB 2000
- 773 GOSUB 1000
- 774 GOSUB 1000
- 775 GOTO 280
- 780 GOSUB 2000 : REM 9
- 781 GOSUB 2000
- 782 GOSUB 2000
- 783 GOSUB 2000
- 784 GOSUB 1000
- 785 GOTO 280
- 790 GOSUB 2000 : REM 0
- 791 GOSUB 2000
- 792 GOSUB 2000
- 793 GOSUB 2000
- 794 GOSUB 2000
- 795 GOTO 280
- 800 GOSUB 2000 : REM /
- 801 GOSUB 1000
- 802 GOSUB 1000
- 803 GOSUB 2000
- 804 GOSUB 1000
- 805 GOTO 280
- 820 GOSUB 2000 : REM ,
- 821 GOSUB 2000
- 822 GOSUB 1000
- 823 GOSUB 1000
- 824 GOSUB 2000
- 825 GOSUB 2000
- 826 GOTO 280
- 830 GOSUB 1000 : REM .
- 831 GOSUB 2000
- 832 GOSUB 1000
- 833 GOSUB 2000
- 834 GOSUB 1000
- 835 GOSUB 2000
- 836 GOTO 280
- 840 GOSUB 1000 : REM ?
- 841 GOSUB 1000
- 842 GOSUB 2000
- 843 GOSUB 2000
- 844 GOSUB 1000
- 845 GOSUB 1000
- 846 GOTO 280
- 850 GOSUB 2000 : REM -
- 851 GOSUB 1000
- 852 GOSUB 1000
- 853 GOSUB 1000
- 854 GOSUB 2000
- 855 GOTO 280
- 1000 SOUND B, A
- 1100 SOUND 32767 , A
- 1200 RETURN
- 2000 SOUND B, 3*A
- 2100 SOUND 32767 , A
- 2200 RETURN
- 4000 COLOR 14,0
- 4010 CLS : REM end subroutine
- 4020 PRINT"Thanks for using Morse Code Send by Rajib K. Mitra, KB9DJE."
- 4030 PRINT"This program is designed for amateur radio operators, not"
- 4040 PRINT"to be sold for money."
- 4075 SYSTEM
- 4100 REM SPEED IS SLOWER IF NUMBER IS BIGGER
- 4101 REM DECIMAL VALUES ARE OK
- 4102 REM SPEED CAN BE LESS THAN .75 OR MORE THAN 3
- 4103 REM TONE CAN BE LESS THAN 500 OR MORE THAN 2000
- 4104 REM PROPER SPEED DEPENDS ON COMPUTER SPEED, etc.
- 6000 CLS
- 6002 KEY 2,"cq cq cq de "
- 6005 GOTO 6750 : REM sends to subroutine which searches for saved configuration
- 6009 REM the following asks questions for setup
- 6010 PRINT"THESE ARE COLORS THAT YOU CAN CHOOSE FROM:"
- 6020 PRINT"0 BLACK"
- 6030 PRINT"1 BLUE"
- 6035 PRINT"2 GREEN"
- 6040 PRINT"3 LIGHT BLUE"
- 6050 PRINT"4 RED"
- 6060 PRINT"5 PURPLE"
- 6070 PRINT"6 BROWN"
- 6080 PRINT"7 WHITE"
- 6090 PRINT:INPUT "WHICH FOREGROUND COLOR ";Z
- 6100 COLOR Z : PRINT"0 DARK"
- 6105 COLOR 7 : PRINT" OR"
- 6110 COLOR Z+8 : PRINT"1 LIGHT"
- 6115 COLOR 7
- 6120 INPUT X
- 6130 IF X=1 THEN Z=Z+8
- 6135 COLOR Z
- 6140 PRINT:INPUT "WHICH BACKROUND COLOR ";C
- 6141 IF C=Z THEN GOTO 6200
- 6142 INPUT"enter send speed <.75 to 3> (not in wpm) ";A : INPUT"enter spacing speed";FARNS
- 6143 INPUT"enter tone <500 to 2000> (in hertz) ";B: INPUT "show letters <y-n> ";P$
- 6145 INPUT"please enter your callsign to be stored in F1 ";CS$
- 6147 INPUT "WOULD YOU LIKE TO SAVE THE INFO TO THE PRESENT DISK AND DIRECTORY ";V$
- 6148 GOTO 6500
- 6150 COLOR Z,C
- 6160 CLS
- 6165 PRINT"BE SURE YOU ARE IN LOWER CASE (caps lock light off)"
- 6167 KEY 1,CS$ : REM sets call to F1
- 6170 RETURN
- 6200 SOUND 2000,5
- 6210 PRINT"YOU DON'T WANT IT THE SAME AS FOREGROUND!!!"
- 6220 GOTO 6140
- 6500 IF V$="N" THEN GOTO 6150
- 6501 IF V$="NO"THEN GOTO 6150
- 6502 IF V$="n"THEN GOTO 6150
- 6503 IF V$="no"THEN GOTO 6150
- 6510 COLOR Z,C
- 6520 CLS : REM SUBROUTINE FOR SAVING DATA
- 6530 PRINT"MORSE CODE SEND DATA"
- 6535 PRINT:PRINT"Tone is ";B;". Speed is ";A;"and";FARNS;". Callsign is ";CS$;"."
- 6537 IF P$="y" THEN PRINT"Letters are being shown."
- 6539 IF P$="n" THEN PRINT"Letters are not being shown."
- 6540 INPUT"DO YOU WANT THIS CONFIGURATION ";B$
- 6551 IF B$="n"THEN RUN
- 6552 IF B$="no"THEN RUN
- 6560 PRINT"saving to disk now"
- 6570 OPEN "O",#1,"MORSE.DAT"
- 6580 WRITE#1,Z,C,A,B,P$,CS$,FARNS
- 6590 CLOSE
- 6600 PRINT"SAVING COMPLETED"
- 6610 INPUT "PRESS ENTER";L$
- 6620 RUN
- 6750 ON ERROR GOTO 6010 : REM subroutine for finding saved configuration
- 6760 OPEN "I",#1,"MORSE.DAT"
- 6770 INPUT #1, Z, C, A, B,P$, CS$, FARNS
- 6780 CLOSE
- 6790 COLOR Z,C
- 6800 CLS
- 6810 RETURN
-