home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / control / ic735ctl / ic735b.asc next >
Text File  |  1989-07-10  |  14KB  |  937 lines

  1. DECLARE SUB rmem (M!)
  2. DECLARE SUB pfreq ()
  3. DECLARE SUB cbuf ()
  4. DECLARE SUB rmode (mode!)
  5. DECLARE SUB rfreq (d1$, d2$, d3$, d4$)
  6. DECLARE SUB check (rpt!)
  7.  
  8. 'Icom-735 Control Program
  9. 'Robert A. Harris
  10. 'WB4HRH
  11. 'CIS# 74365,162
  12. 'VERSION #3
  13. '
  14. 'This program was written in Quick Basic Ver. 4.5
  15. 'All code is in the Public Domain
  16.  
  17.  
  18. DECLARE SUB Memchan (S$, M!)
  19. DECLARE SUB Selectmem (M!)
  20. DECLARE SUB Setfreqs ()
  21. DECLARE SUB Setmode ()
  22. DECLARE SUB Selectvfo ()
  23. DECLARE SUB Mmode (M!)
  24. DECLARE SUB FtM ()
  25. DECLARE SUB MtF ()
  26.  
  27. SP$ = CHR$(254)
  28. EP$ = CHR$(253)
  29.  
  30. COMP$ = CHR$(2)
  31. GETFREQ$ = CHR$(3)
  32. RQMODE$ = CHR$(4)
  33. SETMOD$ = CHR$(6)
  34. SETFRQ$ = CHR$(5)
  35. SETVFO$ = CHR$(7)
  36. SETMEMCHAN$ = CHR$(8)
  37. STOREFTOM$ = CHR$(9)
  38. WRITEMTOV$ = CHR$(&HA)
  39.  
  40. SCREEN 0
  41. COLOR 1, 15
  42.  
  43. 'Set Com: Port
  44. CLS
  45. LOCATE 10, 25
  46. PRINT " WHICH COM: PORT ? ( 1 or 2 )";
  47. DO
  48. FLAG = 1
  49. Z$ = INPUT$(1)
  50. SELECT CASE Z$
  51.     CASE "1"
  52.       c$ = "COM1:1200,N,8,1"
  53.     CASE "2"
  54.       c$ = "COM2:1200,N,8,1"
  55.     CASE ELSE
  56.       FLAG = 0
  57.   END SELECT
  58. LOOP WHILE FLAG = 0
  59.  
  60. ON ERROR GOTO 1
  61.  
  62. OPEN c$ FOR RANDOM AS #1 LEN = 1000
  63.  
  64. 'type of rig
  65. CLS
  66. LOCATE 5, 30
  67.  
  68. PRINT " Select ICOM Radio "
  69. LOCATE 9, 25
  70. PRINT "{1} IC-735";
  71. LOCATE 11, 25
  72. PRINT "{2} IC-725";
  73. LOCATE 13, 25
  74. PRINT "{3} IC-7000";
  75. LOCATE 15, 25
  76. PRINT "{4} IC-761";
  77. LOCATE 17, 25
  78. PRINT "{5} IC-781";
  79.  
  80. r$ = INPUT$(1)
  81.  
  82. SELECT CASE r$
  83.     CASE "1"
  84.       icom$ = CHR$(4)
  85.       RIG$ = "IC-735"
  86.     CASE "2"
  87.       icom$ = CHR$(&H40)
  88.       RIG$ = "IC-725"
  89.     CASE "3"
  90.       icom$ = CHR$(8)
  91.       RIG$ = "IC-7000"
  92.     CASE "4"
  93.       icom$ = CHR$(&H30)
  94.       RIG$ = "IC-761"
  95.     CASE "5"
  96.       icom$ = CHR$(&H38)
  97.       RIG$ = "IC-781"
  98.     CASE ELSE
  99.       CLS
  100.       LOCATE 10, 30
  101.       PRINT "Not a Selection ...."
  102.       LOCATE 12, 35
  103.       PRINT " BYE"
  104.       FOR count = 1 TO 2000
  105.       NEXT count
  106.      
  107.       END
  108.  
  109. END SELECT
  110.  
  111.  
  112.  
  113. CLS
  114. M = 1
  115. 'Initialize
  116. 'Select Memory Mode 1
  117. PRINT #1, SP$;
  118. PRINT #1, SP$;
  119. PRINT #1, icom$;
  120. PRINT #1, COMP$;
  121. PRINT #1, SETMEMCHAN$;
  122. PRINT #1, CHR$(1);
  123. PRINT #1, EP$;
  124.  
  125.  
  126. LOCATE 12, 25
  127. PRINT "Written by R. A. Harris"
  128. LOCATE 14, 32
  129. PRINT "WB4HRH"
  130. FOR count = 1 TO 1500
  131. NEXT count
  132.  
  133. 'MAIN MENU
  134.  
  135. 3 ON ERROR GOTO 2
  136.  
  137. DO
  138. CLS
  139.  
  140. CALL check(rpt!)
  141.  
  142. 'GET FREQUENCY
  143. 'CALL rfreq(d1$, d2$, d3$, d4$)
  144. CALL pfreq
  145.  
  146. CALL check(rpt!)
  147. 'GET MODE
  148. CALL rmode(mode)
  149. cbuf
  150. CALL rmem(M)
  151. LOCATE 2, 23
  152. PRINT RIG$; " CONTROL PROGRAM";
  153. COLOR 1, 15
  154.  
  155. LOCATE 7, 10
  156. PRINT "{F} Set Frequency"
  157. LOCATE 9, 10
  158. PRINT "{M} Set Mode"
  159. LOCATE 11, 10
  160. PRINT "{V} Select VFO"
  161. LOCATE 13, 10
  162. PRINT "{C} Select Memory Channel"
  163. LOCATE 15, 10
  164. PRINT "{S} Store Frequency in Memory"
  165. LOCATE 17, 10
  166. PRINT "{W) Write Memory to VFO"
  167. LOCATE 19, 10
  168. PRINT "{U} Update Status"
  169.  
  170. LOCATE 23, 10
  171. PRINT "{Q} Quit Program"
  172.  
  173. DO
  174. FLAG = 1
  175. COLOR 0, 15
  176.  
  177. DO
  178. LOCATE 4, 25
  179. PRINT DATE$; "  "; TIME$;
  180. S$ = INKEY$
  181. CALL cbuf
  182. 'CALL pfreq
  183.  
  184. LOOP WHILE S$ = ""
  185.  
  186.  
  187. COLOR 1, 15
  188.  
  189. SELECT CASE S$
  190.     CASE "F", "f"
  191.       CALL Setfreqs
  192.     CASE "M", "m"
  193.       CALL Setmode
  194.     CASE "V", "v"
  195.       CALL Selectvfo
  196.     CASE "C", "c"
  197.       CALL Selectmem(M)
  198.     CASE "S", "s"
  199.       CALL FtM
  200.     CASE "W", "w"
  201.       CALL MtF
  202.     CASE "U", "u"
  203.       CLS
  204.  
  205.     CASE "Q", "q"
  206.       EXIT DO
  207.  
  208. CASE ELSE
  209.    FLAG = 0
  210. END SELECT
  211.  
  212. LOOP WHILE FLAG = 0
  213. IF S$ = "Q" OR S$ = "q" THEN EXIT DO
  214.  
  215. LOOP
  216.  
  217. CLOSE #1
  218.  
  219. CLS
  220. LOCATE 10, 5
  221. PRINT "Brought to you by WB4HRH"
  222. LOCATE 12, 10
  223. PRINT "R.A.HARRIS"
  224. LOCATE 14, 8
  225. PRINT "CIS# 74365,162"
  226. Z$ = INPUT$(1)
  227.  
  228. END
  229.  
  230. 1 CLS
  231.   LOCATE 10, 5
  232.   PRINT "COMMUNICATIONS PROBLEM";
  233.   LOCATE 12, 5
  234.   PRINT " CHECK ALL CONNECTIONS";
  235.   LOCATE 15, 7
  236.   PRINT "( PRESS ANY KEY )"
  237.  
  238.   Z$ = INPUT$(1)
  239.  
  240. END
  241.  
  242. 2 CLOSE #1
  243. OPEN c$ FOR RANDOM AS #1 LEN = 256
  244. RESUME
  245.  
  246. GOTO 3
  247. END
  248.  
  249. SUB cbuf
  250.  
  251. FOR count = 1 TO 10
  252. NEXT count
  253.  
  254. DO
  255. r$ = INPUT$(LOC(1), #1)
  256. LOOP WHILE NOT EOF(1)
  257.  
  258.  
  259. END SUB
  260.  
  261. SUB check (rpt)
  262.  
  263. SP$ = CHR$(254)
  264. EP$ = CHR$(253)
  265. SHARED icom$
  266. COMP$ = CHR$(2)
  267. GETFREQ$ = CHR$(3)
  268. SETMOD$ = CHR$(6)
  269. SETFRQ$ = CHR$(5)
  270. SETVFO$ = CHR$(7)
  271. SETMEMCHAN$ = CHR$(8)
  272. STOREFTOM$ = CHR$(9)
  273. WRITEMTOV$ = CHR$(&HA)
  274.  
  275.  
  276.  
  277. FOR count = 1 TO 500
  278.  
  279. NEXT count
  280.  
  281. DO
  282. r$ = INPUT$(LOC(1), #1)
  283. IF r$ = CHR$(&HFA) THEN rpt = 1 ELSE rpt = 0
  284. 'LOCATE 2, 1
  285. 'PRINT r$;
  286. LOOP WHILE NOT EOF(1)
  287.  
  288. END SUB
  289.  
  290. SUB FtM
  291.  
  292. SP$ = CHR$(254)
  293. EP$ = CHR$(253)
  294. SHARED icom$
  295. COMP$ = CHR$(2)
  296. GETFREQ$ = CHR$(3)
  297. SETVFO$ = CHR$(7)
  298. SETMEMCHAN$ = CHR$(8)
  299. STOREFTOM$ = CHR$(9)
  300. WRITEMTOV$ = CHR$(10)
  301.  
  302. PRINT #1, SP$;
  303. PRINT #1, SP$;
  304. PRINT #1, icom$;
  305. PRINT #1, COMP$;
  306. PRINT #1, STOREFTOM$;
  307. PRINT #1, EP$;
  308.  
  309. CALL check(rpt)
  310.  
  311. END SUB
  312.  
  313. SUB Memchan (S$, M)
  314.  
  315. SP$ = CHR$(254)
  316. EP$ = CHR$(253)
  317. SHARED icom$
  318. COMP$ = CHR$(2)
  319. GETFREQ$ = CHR$(3)
  320. SETVFO$ = CHR$(7)
  321. SETMEMCHAN$ = CHR$(8)
  322. STOREFTOM$ = CHR$(9)
  323. WRITEMTOV$ = CHR$(10)
  324.  
  325. IF S$ = "U" OR S$ = "u" THEN M = M + 1
  326. IF M = 13 THEN M = 1
  327.  
  328. IF S$ = "D" OR S$ = "d" THEN M = M - 1
  329. IF M = 0 THEN M = 12
  330.  
  331.  
  332. END SUB
  333.  
  334. SUB Mmode (M)
  335. SP$ = CHR$(254)
  336. EP$ = CHR$(253)
  337. SHARED icom$
  338. COMP$ = CHR$(2)
  339. GETFREQ$ = CHR$(3)
  340. SETVFO$ = CHR$(7)
  341. SETMEMCHAN$ = CHR$(8)
  342. STOREFTOM$ = CHR$(9)
  343. WRITEMTOV$ = CHR$(10)
  344.  
  345. 'Put in Memory Channel Mode'
  346. PRINT #1, SP$;
  347. PRINT #1, SP$;
  348. PRINT #1, icom$;
  349. PRINT #1, COMP$;
  350. PRINT #1, SETMEMCHAN$;
  351. PRINT #1, EP$;
  352. CALL check(rpt)
  353.  
  354. M = M
  355. END SUB
  356.  
  357. SUB MtF
  358.  
  359. SP$ = CHR$(254)
  360. EP$ = CHR$(253)
  361. SHARED icom$
  362. COMP$ = CHR$(2)
  363. GETFREQ$ = CHR$(3)
  364. SETVFO$ = CHR$(7)
  365. SETMEMCHAN$ = CHR$(8)
  366. STOREFTOM$ = CHR$(9)
  367. WRITEMTOV$ = CHR$(&HA)
  368. SHARED RIG$
  369.  
  370.  
  371. 'Selct VFO`
  372. CLS
  373. LOCATE 4, 8
  374. PRINT RIG$; " CONTROL PROGRAM"
  375. LOCATE 8, 10
  376. PRINT "{A} Write to VFO A"
  377. LOCATE 10, 10
  378. PRINT "{B} Write to VFO B"
  379.  
  380. FLAG = 0
  381. DO
  382. S$ = INPUT$(1)
  383. SELECT CASE S$
  384.     CASE "a", "A"
  385.       vfo = 0
  386.       FLAG = 1
  387.     CASE "B", "b"
  388.       vfo = 1
  389.       FLAG = 1
  390. CASE ELSE
  391.      FLAG = 0
  392. END SELECT
  393. LOOP UNTIL FLAG = 1
  394.  
  395. 'SEND INPUT TO RADIO
  396. PRINT #1, SP$;
  397. PRINT #1, SP$;
  398. PRINT #1, icom$;
  399. PRINT #1, COMP$;
  400. PRINT #1, SETVFO$;
  401. PRINT #1, CHR$(vfo);
  402. PRINT #1, EP$;
  403.  
  404. FOR count = 1 TO 500
  405. NEXT count
  406.  
  407. PRINT #1, SP$;
  408. PRINT #1, SP$;
  409. PRINT #1, icom$;
  410. PRINT #1, COMP$;
  411. PRINT #1, WRITEMTOV$;
  412. PRINT #1, EP$;
  413. CALL check(rpt)
  414.  
  415. END SUB
  416.  
  417. SUB pfreq
  418.  
  419. SP$ = CHR$(254)
  420. EP$ = CHR$(253)
  421. SHARED icom$
  422. COMP$ = CHR$(2)
  423. GETFREQ$ = CHR$(3)
  424. SETMOD$ = CHR$(6)
  425. SETFRQ$ = CHR$(5)
  426. SETVFO$ = CHR$(7)
  427. SETMEMCHAN$ = CHR$(8)
  428. STOREFTOM$ = CHR$(9)
  429. WRITEMTOV$ = CHR$(&HA)
  430.  
  431. DIM d$(1 TO 17)
  432.  
  433. PRINT #1, SP$;
  434. PRINT #1, SP$;
  435. PRINT #1, icom$;
  436. PRINT #1, COMP$;
  437. PRINT #1, GETFREQ$;
  438. PRINT #1, EP$;
  439.  
  440. c = 0
  441. DO
  442. c = c + 1
  443.  
  444. DO
  445. r$ = INPUT$(LOC(1), #1)
  446. LOOP WHILE r$ = ""
  447. x = ASC(r$)
  448. d$(c) = HEX$(x)
  449.  
  450. LOOP WHILE c < 16
  451.  
  452. LOCATE 7, 45
  453.  
  454.  
  455. 'print on screen
  456. COLOR 2, 0
  457. PRINT " Frequency: ";
  458. PRINT d$(15);
  459. PRINT ".";
  460.  
  461. IF LEN(d$(14)) = 1 THEN PRINT "0";
  462. PRINT d$(14);
  463.  
  464. IF LEN(d$(13)) = 1 THEN t$ = "0" ELSE t$ = LEFT$(d$(13), 1)
  465. H$ = RIGHT$(d$(13), 1)
  466. PRINT t$;
  467. PRINT ".";
  468. PRINT H$;
  469.  
  470. PRINT d$(12);
  471. PRINT " ";
  472. COLOR 0, 15
  473.  
  474.  
  475. END SUB
  476.  
  477. SUB rfreq (d1$, d2$, d3$, d4$)
  478.  
  479. SP$ = CHR$(254)
  480. EP$ = CHR$(253)
  481. 'SHARED icom$
  482. COMP$ = CHR$(2)
  483. GETFREQ$ = CHR$(3)
  484. SETMOD$ = CHR$(6)
  485. SETFRQ$ = CHR$(5)
  486. SETVFO$ = CHR$(7)
  487. SETMEMCHAN$ = CHR$(8)
  488. STOREFTOM$ = CHR$(9)
  489. WRITEMTOV$ = CHR$(&HA)
  490.  
  491. DIM i$(1 TO 17)
  492. DIM d$(1 TO 17)
  493.  
  494. PRINT #1, SP$;
  495. PRINT #1, SP$;
  496. PRINT #1, icom$;
  497. PRINT #1, COMP$;
  498. PRINT #1, GETFREQ$;
  499. PRINT #1, EP$;
  500.  
  501. c = 0
  502. DO
  503. c = c + 1
  504.  
  505. DO
  506. r$ = INPUT$(LOC(1), #1)
  507. LOOP WHILE r$ = ""
  508.  
  509. i$(c) = r$
  510. LOOP WHILE c < 16
  511.  
  512. d1$ = i$(12)
  513. d2$ = i$(13)
  514. d3$ = i$(14)
  515. d4$ = i$(15)
  516.  
  517.  
  518. END SUB
  519.  
  520. SUB rmem (M)
  521. COLOR 2, 0
  522. LOCATE 13, 45
  523. PRINT " Memory Channel: "; M; " "
  524. COLOR 1, 15
  525.  
  526. END SUB
  527.  
  528. SUB rmode (mode)
  529.  
  530. SP$ = CHR$(254)
  531. EP$ = CHR$(253)
  532. SHARED icom$
  533. COMP$ = CHR$(2)
  534. GETFREQ$ = CHR$(3)
  535. RQMODE$ = CHR$(4)
  536. SETMOD$ = CHR$(6)
  537. SETFRQ$ = CHR$(5)
  538. SETVFO$ = CHR$(7)
  539. SETMEMCHAN$ = CHR$(8)
  540. STOREFTOM$ = CHR$(9)
  541. WRITEMTOV$ = CHR$(&HA)
  542.  
  543. DIM d(17)
  544.  
  545. PRINT #1, SP$;
  546. PRINT #1, SP$;
  547. PRINT #1, icom$;
  548. PRINT #1, COMP$;
  549. PRINT #1, RQMODE$;
  550. PRINT #1, EP$;
  551.  
  552.  
  553. c = 0
  554. DO
  555. c = c + 1
  556. DO
  557. r$ = INPUT$(LOC(1), #1)
  558. LOOP WHILE r$ = ""
  559. d(c) = ASC(r$)
  560. LOOP WHILE c < 13
  561.  
  562. LOCATE 9, 45
  563.  
  564. 'print on screen
  565. COLOR 2, 0
  566. PRINT " Mode: ";
  567. SELECT CASE d(12)
  568.   CASE 0
  569.    PRINT "LSB";
  570.   CASE 1
  571.    PRINT "USB";
  572.   CASE 2
  573.    PRINT "AM";
  574.   CASE 3
  575.    PRINT "CW";
  576.   CASE 4
  577.    PRINT "RTTY";
  578.   CASE 5
  579.    PRINT "FM";
  580.   CASE ELSE
  581.    PRINT "    ";
  582. END SELECT
  583. PRINT "            ";
  584.  
  585. LOCATE 9, 57
  586.  
  587. 'Bandwidth if present
  588.  
  589.  
  590. SELECT CASE d(13)
  591.   CASE 1
  592.    PRINT "B-width: WIDE";
  593.   CASE 2
  594.    PRINT "B-width: MEDIUM";
  595.   CASE 3
  596.    PRINT "B-width: NARROW";
  597. END SELECT
  598.  
  599. COLOR 1, 15
  600.  
  601. mode = d(12)
  602.  
  603.  
  604.  
  605. END SUB
  606.  
  607. SUB Selectmem (M)
  608.  
  609. SP$ = CHR$(254)
  610. EP$ = CHR$(253)
  611. SHARED icom$
  612. COMP$ = CHR$(2)
  613. GETFREQ$ = CHR$(3)
  614. SETVFO$ = CHR$(7)
  615. SETMEMCHAN$ = CHR$(8)
  616. STOREFTOM$ = CHR$(9)
  617. WRITEMTOV$ = CHR$(10)
  618. SHARED RIG$
  619.  
  620. d$ = CHR$(25)
  621. U$ = CHR$(24)
  622.  
  623. 'Select Memory Channel
  624.  
  625. CLS
  626. LOCATE 4, 8
  627. PRINT RIG$; " CONTROL PROGRAM"
  628.  
  629. LOCATE 8, 10
  630. PRINT "{M} Memory Mode"
  631. LOCATE 10, 10
  632. PRINT "{#} Channel Number"
  633. LOCATE 12, 10
  634. PRINT "{U} Channel UP"
  635. LOCATE 14, 10
  636. PRINT "{D} Channel Down"
  637. LOCATE 22, 10
  638. PRINT "{Q} Return to Menu"
  639.  
  640. cbuf
  641. pfreq
  642. cbuf
  643. rmode (mode)
  644.  
  645. COLOR 2, 0
  646. LOCATE 13, 45
  647. PRINT " Memory Channel: "; M; " "
  648. COLOR 1, 15
  649.  
  650. DO
  651. e = 1
  652. DO
  653. FLAG = 1
  654. S$ = INPUT$(1)
  655.  
  656. SELECT CASE S$
  657.     CASE "1"
  658.       M = 1
  659.     CASE "2"
  660.       M = 2
  661.     CASE "3"
  662.       M = 3
  663.     CASE "4"
  664.       M = 4
  665.     CASE "5"
  666.       M = 5
  667.     CASE "6"
  668.       M = 6
  669.     CASE "7"
  670.       M = 7
  671.     CASE "8"
  672.       M = 8
  673.     CASE "9"
  674.       M = 9
  675.     CASE "-", "_"
  676.       M = 11
  677.     CASE "0"
  678.       M = 10
  679.     CASE "=", "+"
  680.       M = 12
  681.     CASE "U", "u"
  682.      CALL Memchan(S$, M)
  683.     CASE "D", "d"
  684.       CALL Memchan(S$, M)
  685.     CASE "M", "m"
  686.       CALL Mmode(M)
  687.     CASE "Q", "q"
  688.       e = 0
  689.       EXIT DO
  690. CASE ELSE
  691.   FLAG = 0
  692. END SELECT
  693.  
  694.  V$ = CHR$(M)
  695.  IF M = 10 THEN V$ = CHR$(&H10)
  696.  IF M = 11 THEN V$ = CHR$(&H11)
  697.  IF M = 12 THEN V$ = CHR$(&H12)
  698.  
  699. LOOP WHILE FLAG = 0
  700. IF e = 0 THEN EXIT DO
  701.  
  702. 'Select Memory Mode
  703. PRINT #1, SP$;
  704. PRINT #1, SP$;
  705. PRINT #1, icom$;
  706. PRINT #1, COMP$;
  707. PRINT #1, SETMEMCHAN$;
  708. PRINT #1, V$;
  709. PRINT #1, EP$;
  710.  
  711. CALL check(rpt)
  712. CALL pfreq
  713. CALL cbuf
  714. CALL rmode(mode)
  715.  
  716. COLOR 2, 0
  717. LOCATE 13, 45
  718. PRINT " Memory Channel: "; M; " "
  719. COLOR 1, 15
  720.  
  721. LOOP
  722.  
  723. END SUB
  724.  
  725. SUB Selectvfo
  726.  
  727. SP$ = CHR$(254)
  728. EP$ = CHR$(253)
  729. SHARED icom$
  730. COMP$ = CHR$(2)
  731. GETFREQ$ = CHR$(3)
  732. SETVFO$ = CHR$(7)
  733. SETMEMCHAN$ = CHR$(8)
  734. STOREFTOM$ = CHR$(9)
  735. WRITEMTOV$ = CHR$(10)
  736. SHARED RIG$
  737.  
  738. 'Selct VFO`
  739. CLS
  740. LOCATE 4, 8
  741. PRINT RIG$; " CONTROL PROGRAM"
  742. LOCATE 8, 10
  743. PRINT "{A} Select VFO A"
  744. LOCATE 10, 10
  745. PRINT "{B} Select VFO B"
  746. LOCATE 22, 10
  747. PRINT "{Q} Return to Main Menu"
  748.  
  749. FLAG = 0
  750. DO
  751. S$ = INPUT$(1)
  752. SELECT CASE S$
  753.     CASE "A", "a"
  754.       vfo = 0
  755.       FLAG = 1
  756.     CASE "B", "b"
  757.       vfo = 1
  758.       FLAG = 1
  759. CASE ELSE
  760.       FLAG = 0
  761. END SELECT
  762. LOOP UNTIL FLAG = 1
  763.  
  764. 'SEND INPUT TO RADIO
  765. PRINT #1, SP$;
  766. PRINT #1, SP$;
  767. PRINT #1, icom$;
  768. PRINT #1, COMP$;
  769. PRINT #1, SETVFO$;
  770. PRINT #1, CHR$(vfo);
  771. PRINT #1, EP$;
  772.  
  773. END SUB
  774.  
  775. SUB Setfreqs
  776. SHARED RIG$
  777.  
  778. 'FREQUENCY INPUT MODULE
  779. CLS
  780. LOCATE 4, 8
  781. PRINT RIG$; " CONTROL PROGRAM"
  782.  
  783. DIM i$(8)
  784. SP$ = CHR$(254)
  785. EP$ = CHR$(253)
  786. SHARED icom$
  787. COMP$ = CHR$(2)
  788. GETFREQ$ = CHR$(3)
  789. SETFRQ$ = CHR$(5)
  790. SETVFO$ = CHR$(7)
  791. SETMEMCHAN$ = CHR$(8)
  792. STOREFTOM$ = CHR$(9)
  793. WRITEMTOV$ = CHR$(&HA)
  794. BS$ = CHR$(8)
  795. CR$ = CHR$(13)
  796.  
  797. LOCATE 8, 6
  798. PRINT "INPUT FREQUENCY : "
  799. LOCATE 10, 6
  800. PRINT "Press ENTER to end";
  801. COLOR 2, 0
  802.  
  803. LOCATE 8, 23
  804. PRINT "          "
  805.  
  806. 'ENTER AND PRINT
  807. N = 1
  808. DO  'MAIN ROUTINE
  809. IF N = 0 THEN N = 1
  810. DO  'INPUT ROUTINE
  811. FLAG = 1
  812. i$(N) = INPUT$(1)
  813.  
  814. IF i$(N) < "0" THEN FLAG = 0
  815. IF i$(N) > "9" THEN FLAG = 0
  816. IF i$(1) > "2" THEN FLAG = 0
  817. IF i$(N) = BS$ THEN
  818.    FLAG = 1
  819.    N = N - 1
  820.    i$(N) = " "
  821.    END IF
  822. IF i$(N) = CR$ THEN FLAG = 1
  823.  
  824. LOOP WHILE FLAG = 0
  825. IF i$(N) = CR$ THEN EXIT DO
  826.  
  827. LOCATE 8, 24
  828. PRINT "        "
  829.  
  830. LOCATE 8, 24
  831.  
  832. IF N = 1 THEN PRINT i$(1) + " " + ".";
  833. IF N = 2 THEN PRINT i$(1) + i$(2) + ".";
  834. IF N = 3 THEN PRINT i$(1) + i$(2) + "." + i$(3);
  835. IF N = 4 THEN PRINT i$(1) + i$(2) + "." + i$(3) + i$(4);
  836. IF N = 5 THEN PRINT i$(1) + i$(2) + "."; i$(3) + i$(4) + i$(5) + ".";
  837. IF N = 6 THEN PRINT i$(1) + i$(2) + "." + i$(3) + i$(4) + i$(5) + "." + i$(6);
  838. IF i$(N) = " " THEN N = N ELSE N = N + 1
  839.  
  840. LOOP WHILE N < 7
  841.  
  842.  
  843. N = N - 1
  844.  
  845. FOR x = N + 1 TO 6
  846.   i$(x) = "0"
  847.   NEXT x
  848. N = 6
  849.  
  850. 'SEND INPUT TO RADIO
  851. PRINT #1, SP$;
  852. PRINT #1, SP$;
  853. PRINT #1, icom$;
  854. PRINT #1, COMP$;
  855. PRINT #1, SETFRQ$;
  856. PRINT #1, CHR$(&H0);
  857. x = N
  858. FOR x = N TO 1 STEP -2
  859.   P = 0
  860.   IF x = 1 THEN
  861.     TWO$ = "&H" + i$(x)
  862.   ELSE
  863.     TWO$ = "&H" + i$(x - 1) + i$(x)
  864.   END IF
  865.   d = VAL(TWO$)
  866.   PRINT #1, CHR$(d);
  867. NEXT x
  868. PRINT #1, EP$;
  869. COLOR 1, 15
  870.  
  871. END SUB
  872.  
  873. SUB Setmode
  874.  
  875. 'Set the mode
  876.  
  877. SP$ = CHR$(254)
  878. EP$ = CHR$(253)
  879. SHARED icom$
  880. COMP$ = CHR$(2)
  881. GETFREQ$ = CHR$(3)
  882. SETFRQ$ = CHR$(5)
  883. SETMOD$ = CHR$(6)
  884. SETVFO$ = CHR$(7)
  885. SETMEMCHAN$ = CHR$(8)
  886. STOREFTOM$ = CHR$(9)
  887. WRITEMTOV$ = CHR$(10)
  888. SHARED RIG$
  889.  
  890. CLS
  891. LOCATE 4, 8
  892. PRINT RIG$; " CONTROL PROGRAM"
  893. LOCATE 8, 10
  894. PRINT "{U} USB"
  895. LOCATE 10, 10
  896. PRINT "{L} LSB"
  897. LOCATE 12, 10
  898. PRINT "{A} AM"
  899. LOCATE 14, 10
  900. PRINT "{F} FM"
  901. LOCATE 16, 10
  902. PRINT "{C} CW"
  903.  
  904.  
  905. DO
  906. FLAG = 1
  907. S$ = INPUT$(1)
  908. SELECT CASE S$
  909.     CASE "u", "U"
  910.       mode = 1
  911.     CASE "L", "l"
  912.       mode = 0
  913.     CASE "A", "a"
  914.       mode = 2
  915.     CASE "F", "f"
  916.       mode = 5
  917.     CASE "C", "c"
  918.       mode = 3
  919.  
  920. CASE ELSE
  921.      FLAG = 0
  922. END SELECT
  923.  
  924. LOOP WHILE FLAG = 0
  925.  
  926. 'SEND INPUT TO RADIO
  927. PRINT #1, SP$;
  928. PRINT #1, SP$;
  929. PRINT #1, icom$;
  930. PRINT #1, COMP$;
  931. PRINT #1, SETMOD$;
  932. PRINT #1, CHR$(mode);
  933. PRINT #1, EP$;
  934.  
  935. END SUB
  936.  
  937.