APP PCR TYPE $1000 ICON "\opd\PCRICON" ENDA PROC INIT: rem Initialising Program GLOBAL PS$(3) GLOBAL TFil$(7),Fil$(2) GLOBAL Freq& GLOBAL GhzL&,MhzL&,KhzL&,HzL& GLOBAL GhzT$(1),MhzT$(3),KhzT$(3),HzT$(3) GLOBAL TMode$(3),Mode$(2) GLOBAL VOLN%,VOL$(3) GLOBAL SQ$(3),SQN% GLOBAL NB$(3),ATTN$(3),AGC$(3) GLOBAL IFS$(5),IFSN% GLOBAL BFO$(5),BFON% GLOBAL CTCSS$(5),CTCSSI$(2),LOCI% GLOBAL TunStep$(4),TStepI% PS$="OFF" :LOCI%=1 TStepI%=3 :TunStep$="100" CTCSS$="OFF" :AGC$="OFF" BFO$="0" :BFON%=0 IFS$="0" :IFSN%=0 NB$="OFF" :ATTN$="OFF" Mode$="05" :TMode$="FM" Fil$="02" :TFil$="15 Khz" Vol$="100" :VOLN%=100 SQ$="0" :SQN%=0 GhzT$="0" :GhzL&=0 MhzT$="103" :MhzL&=103 KhzT$="700" :KhzL&=700 HzT$="000" :HzL&=0 CTCSSI$="00" Freq&=(GhzL&*1000000000)+(MhzL&*1000000)+(KhzL&*1000)+HzL& LOPEN "TTY:A" SETRS232:(15,0,8,1,4,&04002000) CACHE 10000,10000 gCLS PCRDraw: gCLS gUPDATE OFF KBIN: ENDP PROC KBIN: rem Main Menu LOCAL kb%,Com$(7),k%,a$(6),h$(5) LOCAL SMCOUNT%,SELT$(1),sel% SMCOUNT%=0 h$="01234" DISPMAN: MENULOOP:: kb%=KEY IF kb%=101 OR kb%=69 rem On E EXIT Com$="H100"+CHR$(13)+CHR$(10) lprint(Com$) lclose stop ENDIF IF kb%=110 IF NB$="OFF" NBon: GOTO ENDNB ENDIF IF NB$="ON" NBoff: ENDIF ENDNB:: gSTYLE 1 gAT 93,154 :gPRINTB NB$,40 gSTYLE 0 ENDIF IF kb%=97 IF AGC$="OFF" AGCon: GOTO ENDAGC ENDIF IF AGC$="ON" AGCoff: ENDIF ENDAGC:: gSTYLE 1 gAT 26,154 :gPRINTB AGC$,40 gSTYLE 0 ENDIF IF kb%=116 IF ATTN$="OFF" ATTNon: GOTO ENDATTN ENDIF IF ATTN$="ON" ATTNoff: ENDIF ENDATTN:: gSTYLE 1 gAT 160,154 :gPRINTB ATTN$,40 gSTYLE 0 ENDIF IF kb%=102 FILTER: ENDIF IF kb%=112 IF PS$="OFF" POWERon: GOTO ENDPOWER ENDIF IF PS$=" ON" POWERoff: ENDIF ENDPOWER:: gSTYLE 1 gAT 433,45 :gPRINTB PS$,40 gSTYLE 0 ENDIF IF kb%=76 MODE1: DISPMOD: ENDIF IF kb%=85 MODE2: DISPMOD: ENDIF IF kb%=65 MODE4: DISPMOD: ENDIF IF kb%=67 MODE3: DISPMOD: ENDIF IF kb%=70 MODE5: DISPMOD: ENDIF IF kb%=87 MODE6: DISPMOD: ENDIF IF kb%=109 dINIT "MODE" dTEXT "","LSB",$402 dTEXT "","USB",$402 dTEXT "","CW",$402 dTEXT "","AM",$402 dTEXT "","FM",$402 dTEXT "","WFM",$402 sel%=DIALOG sel%=sel%-1 SELT$=NUM$(sel%,1) a$="MODE"+SELT$ @(a$): DISPMOD: ENDIF IF kb%=256 FREQUP: SetFMF: ENDIF IF kb%=257 FREQDOWN: SetFMF: ENDIF IF kb%=115 UNLOC: LOCI%=1 LOCIBOX: ENDIF IF LOCI%=1 IF kb%=258 TStepI%=TStepI%-1 SetTun: ENDIF IF kb%=259 TStepI%=TStepI%+1 SetTun: ENDIF ENDIF IF kb%=113 UNLOC: LOCI%=3 LOCIBOX: ENDIF IF LOCI%=3 IF kb%=258 SQN%=SQN%-1 SQUELCH: ENDIF IF kb%=259 SQN%=SQN%+1 SQUELCH: ENDIF IF kb%=48 SQN%=0 SQUELCH: ENDIF ENDIF IF kb%=118 UNLOC: LOCI%=2 LOCIBOX: ENDIF IF LOCI%=2 IF kb%=258 VOLN%=VOLN%-1 VOLUME: ENDIF IF kb%=259 VOLN%=VOLN%+1 VOLUME: ENDIF IF kb%=48 VOLN%=0 VOLUME: ENDIF ENDIF IF kb%=105 UNLOC: LOCI%=4 LOCIBOX: ENDIF IF LOCI%=4 IF kb%=258 IFSN%=IFSN%-10 IFSHIFT: ENDIF IF kb%=259 IFSN%=IFSN%+10 IFSHIFT: ENDIF IF kb%=48 IFSN%=0 IFSHIFT: ENDIF ENDIF IF kb%=98 UNLOC: LOCI%=5 LOCIBOX: ENDIF IF LOCI%=5 IF kb%=258 BFON%=BFON%-10 BFO: ENDIF IF kb%=259 BFON%=BFON%+10 BFO: ENDIF IF kb%=48 BFON%=0 BFO: ENDIF ENDIF IF kb%=99 dINIT "CTCSS" dTEXT "","OFF",$402 dTEXT "","67-79 Hz",$402 dTEXT "","82-103 Hz",$402 dTEXT "","107-136 Hz",$402 dTEXT "","141-167 Hz",$402 sel%=DIALOG sel%=sel%-2 IF sel%<0 sel%=0 ENDIF SELT$=NUM$(sel%,1) a$="CTCSS"+SELT$ @(a$): gSTYLE 1 gAT 378,154 :gPRINTB CTCSS$,40 gSTYLE 0 ENDIF GOTO MENULOOP ENDP PROC DISPMOD: rem DISPLAY MODE gSTYLE 1 gAT 175,45 :gPRINTB TMODE$,40 gAT 238,45 :gPRINTB TFil$,60 gSTYLE 0 ENDP PROC UNLOC: rem CLEAR BOXs gGMODE 1 IF LOCI%=1 gAT 311,12 :gBOX 58,18 gAT 312,13 :gBOX 56,16 ENDIF IF LOCI%=2 gAT 9,71 :gBOX 68,18 gAT 10,72 :gBOX 66,16 ENDIF IF LOCI%=3 gAT 91,71 :gBOX 68,18 gAT 92,72 :gBOX 66,16 ENDIF IF LOCI%=4 gAT 210,121 :gBOX 68,18 gAT 211,122 :gBOX 66,16 ENDIF IF LOCI%=5 gAT 286,121 :gBOX 68,18 gAT 287,122 :gBOX 66,16 ENDIF gGMODE 0 ENDP PROC LOCIBOX: rem SET BOX IF LOCI%=1 gAT 311,12 :gBOX 58,18 gAT 312,13 :gBOX 56,16 ENDIF IF LOCI%=2 gAT 9,71 :gBOX 68,18 gAT 10,72 :gBOX 66,16 ENDIF IF LOCI%=3 gAT 91,71 :gBOX 68,18 gAT 92,72 :gBOX 66,16 ENDIF IF LOCI%=4 gAT 210,121 :gBOX 68,18 gAT 211,122 :gBOX 66,16 ENDIF IF LOCI%=5 gAT 286,121 :gBOX 68,18 gAT 287,122 :gBOX 66,16 ENDIF ENDP PROC DISPMAN: rem DISPLAY MANGER gCLS gAT 8,11 :gBOX 121,52 gAT 30,26 :gPRINT "FREQUENCY" gAT 8,29 :gLINEBY 121,0 gAT 26,29 :gLINEBY 0,32 gAT 60,29 :gLINEBY 0,32 gAT 93,29 :gLINEBY 0,32 gSTYLE 9 gAT 135,56 :gPRINT "Hz" gAT 15,56 :gPRINTB GhzT$,10 gAT 31,56 :gPRINTB MhzT$,29 gAT 64,56 :gPRINTB KhzT$,29 gAT 98,56 :gPRINTB HzT$,29 gSTYLE 0 gAT 160,11 :gBOX 60,20 gSTYLE 1 gFONT 7 gAT 171,26 :gPRINT "M" gFONT 11 gSTYLE 0 gAT 184,26 :gPRINT "ODE" gAT 160,30 :gBOX 60,20 gSTYLE 1 gAT 175,45 :gPRINT TMode$ gSTYLE 0 gAT 230,11 :gBOX 70,20 gSTYLE 1 gFONT 7 gAT 241,27 :gPRINT "F" gFONT 11 gSTYLE 0 gAT 252,27 :gPRINT "ILTER" gAT 230,30 :gBOX 70,20 gSTYLE 1 gAT 238,45 :gPRINT TFil$ gSTYLE 0 gAT 310,11 :gBOX 60,20 gSTYLE 1 gFONT 7 gAT 323,27 :gPRINT "S" gFONT 11 gSTYLE 0 gAT 333,27 :gPRINT "TEP" gAT 310,30 :gBOX 60,20 gAT 415,11 :gBOX 60,20 gSTYLE 1 gFONT 7 gAT 422,26 :gPRINT "P" gFONT 11 gSTYLE 0 gAT 433,26 :gPRINT "OWER" gAT 415,30 :gBOX 60,20 gSTYLE 1 gAT 433,45 :gPRINT PS$ gSTYLE 0 gAT 8,70 :gBOX 70,20 gSTYLE 1 gFONT 7 gAT 16,85 :gPRINT "V" gFONT 11 gSTYLE 0 gAT 26,85 :gPRINT "OLUME" gAT 8,89 :gBOX 70,20 gSTYLE 1 gAT 28,105 :gPRINT Vol$ gSTYLE 0 gAT 90,70 :gBOX 70,20 gAT 94,85 :gPRINT "S" gSTYLE 1 gFONT 7 gAT 103,85 :gPRINT "Q" gFONT 11 gSTYLE 0 gAT 116,85 :gPRINT "UELCH" gAT 90,89 :gBOX 70,20 gSTYLE 1 gAT 110,105 :gPRINT SQ$ gSTYLE 0 gAT 8,120 :gBOX 60,20 gSTYLE 1 gFONT 7 gAT 25,135 :gPRINT "A" gFONT 11 gSTYLE 0 gAT 36,135 :gPRINT "GC" gAT 8,139 :gBOX 60,20 gSTYLE 1 gAT 26,154 :gPRINT AGC$ gSTYLE 0 gAT 75,120 :gBOX 60,20 gSTYLE 1 gFONT 7 gAT 94,135 :gPRINT "N" gFONT 11 gSTYLE 0 gAT 106,135 :gPRINT "B" gAT 75,139 :gBOX 60,20 gSTYLE 1 gAT 93,154 :gPRINT NB$ gSTYLE 0 gAT 142,120 :gBOX 60,20 gAT 154,135 :gPRINT "A" gSTYLE 1 gFONT 7 gAT 162,135 :gPRINT "T" gFONT 11 gSTYLE 0 gAT 174,135 :gPRINT "TN" gAT 142,139 :gBOX 60,20 gSTYLE 1 gAT 160,154 :gPRINT ATTN$ gSTYLE 0 gAT 209,120 :gBOX 70,20 gSTYLE 1 gFONT 7 gAT 213,135 :gPRINT "I" gFONT 11 gSTYLE 0 gAT 222,135 :gPRINT "F-SHIFT" gAT 209,139 :gBOX 70,20 gSTYLE 1 gAT 228,154 :gPRINT IFS$ gSTYLE 0 gAT 285,120 :gBOX 70,20 gSTYLE 1 gFONT 7 gAT 304,135 :gPRINT "B" gFONT 11 gSTYLE 0 gAT 316,135 :gPRINT "FO" gAT 285,139 :gBOX 70,20 gSTYLE 1 gAT 302,154 :gPRINT BFO$ gSTYLE 0 gAT 360,120 :gBOX 70,20 gSTYLE 1 gFONT 7 gAT 371,135 :gPRINT "C" gFONT 11 gSTYLE 0 gAT 383,135 :gPRINT "TCSS" gAT 360,139 :gBOX 70,20 gSTYLE 1 gAT 378,154 :gPRINT CTCSS$ gSTYLE 0 SetTun: gAT 395,60 :gBOX 80,30 gAT 397,62 :gBOX 76,26 gAT 405,80 :gPRINT "[E] to Exit" LOCIBOX: ENDP PROC POWERon: rem Power ON PS$=" ON" LPRINT "H101"+CHR$(13)+CHR$(10) LPRINT "G300"+CHR$(13)+CHR$(10) SetFMF: rem KOO VOLUME: rem J40 SQUELCH: rem J41 IFSHIFT: rem J43 SetTun: rem SET TUNNING STEP IF AGC$="ON" :AGCon: :ENDIF rem J45 IF AGC$="OFF" :AGCoff: :ENDIF rem J45 IF NB$="ON" :NBon: :ENDIF rem J46 IF NB$="OFF" :NBoff: :ENDIF rem J46 IF ATTN$="ON" :ATTNon: :ENDIF rem J47 IF ATTN$="OFF" :ATTNoff: :ENDIF rem J47 BFO: rem J4A LPRINT "J51"+CTCSSI$+CHR$(13)+CHR$(10) LPRINT "J5000"+CHR$(13)+CHR$(10) LPRINT "LD82000"+CHR$(13)+CHR$(10) ENDP PROC POWERoff: rem Power OFF LOCAL Com$(7) Com$="H100"+CHR$(13)+CHR$(10) lprint(Com$) PS$="OFF" ENDP PROC MODE1: rem Mode LSB Mode$="00" TMode$="LSB" Fil$="00" TFil$="2.8 Khz" SetFMF: ENDP PROC MODE2: rem Mode USB Mode$="01" TMode$="USB" Fil$="00" TFil$="2.8 Khz" SetFMF: ENDP PROC MODE3: rem Mode CW Mode$="03" TMode$="CW" Fil$="00" TFil$="2.8 Khz" SetFMF: ENDP PROC MODE4: rem Mode AM Mode$="02" TMode$="AM" Fil$="01" TFil$="6.0 Khz" SetFMF: ENDP PROC MODE5: rem Mode FM Mode$="05" TMode$="FM" Fil$="02" TFil$="15 Khz" SetFMF: ENDP PROC MODE6: rem Mode WFM Mode$="06" TMode$="WFM" Fil$="04" TFil$="230 Khz" SetFMF: ENDP PROC FILTER: rem Set Filter LOCAL sel% IF TMode$="LSB" OR TMode$="USB" dINIT "SSB Filters" dTEXT "","2.8 Khz",$402 dTEXT "","6.0 Khz",$402 sel%=DIALOG ENDIF IF TMode$="CW" dINIT "CW Filters" dTEXT "","2.8 Khz",$402 dTEXT "","6.0 Khz",$402 sel%=DIALOG ENDIF IF TMode$="AM" dINIT "AM Filters" dTEXT "","2.8 Khz",$402 dTEXT "","6.0 Khz",$402 dTEXT "","15 Khz",$402 dTEXT "","50 Khz",$402 sel%=DIALOG ENDIF IF TMode$="FM" dINIT "FM Filters" dTEXT "","6.0 Khz",$402 dTEXT "","15 Khz",$402 dTEXT "","50 Khz",$402 sel%=DIALOG sel%=sel%+1 ENDIF IF TMode$="WFM" dINIT "WFM Filters" dTEXT "","50 Khz",$402 dTEXT "","230 Khz",$402 sel%=DIALOG sel%=sel%+3 ENDIF IF sel%=2 Fil$="00" TFil$="2.8 Khz" ENDIF IF sel%=3 Fil$="01" TFil$="6.0 Khz" ENDIF IF sel%=4 Fil$="02" TFil$="15 Khz" ENDIF IF sel%=5 Fil$="03" TFil$="50 Khz" ENDIF IF sel%=6 Fil$="04" TFil$="230 Khz" ENDIF gSTYLE 1 gAT 238,45 :gPRINTB TFil$,60 gSTYLE 0 SetFMF: ENDP PROC VOLUME: rem Set Volume LOCAL TVol$(3),LCheck%,HVOL$(3) IF VOLN% > 255 VOLN%=255 ENDIF IF VOLN% < 0 VOLN%=0 ENDIF VOL$=NUM$(VOLN%,3) HVol$=HEX$(VOLN%) LCheck%=LEN(HVol$) IF LCheck%<2 HVol$="0"+HVol$ ENDIF LPRINT "J40"+HVol$+CHR$(13)+CHR$(10) gSTYLE 1 gAT 28,105 :gPRINTB Vol$,40 gSTYLE 0 ENDP PROC SQUELCH: rem Set SQUELCH LOCAL TSQ$(3),LCheck%,HSQ$(3) IF SQN% > 255 SQN%=255 ENDIF IF SQN% < 0 SQN%=0 ENDIF SQ$=NUM$(SQN%,3) HSQ$=HEX$(SQN%) LCheck%=LEN(HSQ$) IF LCheck%<2 HSQ$="0"+HSQ$ ENDIF LPRINT "J41"+HSQ$+CHR$(13)+CHR$(10) gSTYLE 1 gAT 110,105 :gPRINTB SQ$,40 gSTYLE 0 ENDP PROC AGCon: rem AGC ON LOCAL Com$(7) Com$="J4501"+CHR$(13)+CHR$(10) lprint(Com$) AGC$="ON" ENDP PROC AGCoff: rem AGC OFF LOCAL Com$(7) Com$="J4500"+CHR$(13)+CHR$(10) lprint(Com$) AGC$="OFF" ENDP PROC NBon: rem NB ON LOCAL Com$(7) Com$="J4601"+CHR$(13)+CHR$(10) lprint(Com$) NB$="ON" ENDP PROC NBoff: rem NB OFF LOCAL Com$(7) Com$="J4600"+CHR$(13)+CHR$(10) lprint(Com$) NB$="OFF" ENDP PROC ATTNon: rem ATTN ON LOCAL Com$(7) Com$="J4701"+CHR$(13)+CHR$(10) lprint(Com$) ATTN$="ON" ENDP PROC ATTNoff: rem ATTN OFF LOCAL Com$(7) Com$="J4700"+CHR$(13)+CHR$(10) lprint(Com$) ATTN$="OFF" ENDP PROC IFSHIFT: rem Set IF-Shift LOCAL IFSNH%,LCheck%,HIFS$(2) IF IFSN% > 1270 IFSN%=1270 ENDIF IF IFSN% < -1270 IFSN%=-1270 ENDIF IFSNH%=IFSN%/10 IFSNH%=IFSNH%+128 HIFS$=HEX$(IFSNH%) IFS$=NUM$(IFSN%,5) LCheck%=LEN(HIFS$) IF LCheck%<2 HIFS$="0"+HIFS$ ENDIF LPRINT "J43"+HIFS$+CHR$(13)+CHR$(10) gSTYLE 1 gAT 228,154 :gPRINTB IFS$,40 gSTYLE 0 ENDP PROC BFO: rem Set BFO LOCAL BFONH%, LCheck%,HBFO$(2) IF BFON% > 1270 BFON%=1270 ENDIF IF BFON% < -1270 BFON%=-1270 ENDIF BFONH%=BFON%/10 BFONH%=BFONH%+128 HBFO$=HEX$(BFONH%) BFO$=NUM$(BFON%,5) LCheck%=LEN(HBFO$) IF LCheck%<2 HBFO$="0"+HBFO$ ENDIF LPRINT "J4A"+HBFO$+CHR$(13)+CHR$(10) gSTYLE 1 gAT 302,154 :gPRINTB BFO$,40 gSTYLE 0 ENDP PROC CTCSS1: rem CTCSS 67-82 LOCAL sel% dINIT "CTCSS 67 - 82" dTEXT "","67.0 Hz",$402 dTEXT "","69.3 Hz",$402 dTEXT "","71.0 Hz",$402 dTEXT "","71.9 Hz",$402 dTEXT "","74.4 Hz",$402 dTEXT "","77.0 Hz",$402 dTEXT "","79.7 Hz",$402 dTEXT "","82.5 Hz",$402 sel%=DIALOG IF sel%=2 LPRINT "J5101"+CHR$(13)+CHR$(10) CTCSS$="67.0" CTCSSI$="01" ENDIF IF sel%=3 LPRINT "J5102"+CHR$(13)+CHR$(10) CTCSS$="69.3" CTCSSI$="02" ENDIF IF sel%=4 LPRINT "J5103"+CHR$(13)+CHR$(10) CTCSS$="71.0" CTCSSI$="03" ENDIF IF sel%=5 LPRINT "J5104"+CHR$(13)+CHR$(10) CTCSS$="71.9" CTCSSI$="04" ENDIF IF sel%=6 LPRINT "J5105"+CHR$(13)+CHR$(10) CTCSS$="74.4" CTCSSI$="05" ENDIF IF sel%=7 LPRINT "J5106"+CHR$(13)+CHR$(10) CTCSS$="77.0" CTCSSI$="06" ENDIF IF sel%=8 LPRINT "J5107"+CHR$(13)+CHR$(10) CTCSS$="79.7" CTCSSI$="07" ENDIF IF sel%=9 LPRINT "J5108"+CHR$(13)+CHR$(10) CTCSS$="82.5" CTCSSI$="08" ENDIF ENDP PROC CTCSS2: rem CTCSS 85-103 LOCAL sel% dINIT "CTCSS 85 - 103" dTEXT "","85.4 Hz",$402 dTEXT "","88.5 Hz",$402 dTEXT "","91.5 Hz",$402 dTEXT "","94.8 Hz",$402 dTEXT "","97.4 Hz",$402 dTEXT "","100.0 Hz",$402 dTEXT "","103.5 Hz",$402 sel%=DIALOG IF sel%=2 LPRINT "J5109"+CHR$(13)+CHR$(10) CTCSS$="85.4" CTCSSI$="09" ENDIF IF sel%=3 LPRINT "J510A"+CHR$(13)+CHR$(10) CTCSS$="88.5" CTCSSI$="0A" ENDIF IF sel%=4 LPRINT "J510B"+CHR$(13)+CHR$(10) CTCSS$="91.5" CTCSSI$="0B" ENDIF IF sel%=5 LPRINT "J510C"+CHR$(13)+CHR$(10) CTCSS$="94.8" CTCSSI$="0C" ENDIF IF sel%=6 LPRINT "J510D"+CHR$(13)+CHR$(10) CTCSS$="97.4" CTCSSI$="0D" ENDIF IF sel%=7 LPRINT "J510E"+CHR$(13)+CHR$(10) CTCSS$="100.0" CTCSSI$="0E" ENDIF IF sel%=8 LPRINT "J510F"+CHR$(13)+CHR$(10) CTCSS$="103.5" CTCSSI$="0F" ENDIF ENDP PROC CTCSS3: rem CTCSS 107-136 LOCAL sel% dINIT "CTCSS 107 - 136" dTEXT "","107.2 Hz",$402 dTEXT "","110.9 Hz",$402 dTEXT "","114.8 Hz",$402 dTEXT "","118.8 Hz",$402 dTEXT "","123.0 Hz",$402 dTEXT "","127.3 Hz",$402 dTEXT "","131.8 Hz",$402 dTEXT "","136.5 Hz",$402 sel%=DIALOG IF sel%=2 LPRINT "J5110"+CHR$(13)+CHR$(10) CTCSS$="107.2" CTCSSI$="10" ENDIF IF sel%=3 LPRINT "J5111"+CHR$(13)+CHR$(10) CTCSS$="110.9" CTCSSI$="11" ENDIF IF sel%=4 LPRINT "J5112"+CHR$(13)+CHR$(10) CTCSS$="114.8" CTCSSI$="12" ENDIF IF sel%=5 LPRINT "J5113"+CHR$(13)+CHR$(10) CTCSS$="118.8" CTCSSI$="13" ENDIF IF sel%=6 LPRINT "J5114"+CHR$(13)+CHR$(10) CTCSS$="123.0" CTCSSI$="14" ENDIF IF sel%=7 LPRINT "J5115"+CHR$(13)+CHR$(10) CTCSS$="127.3" CTCSSI$="15" ENDIF IF sel%=8 LPRINT "J5116"+CHR$(13)+CHR$(10) CTCSS$="131.8" CTCSSI$="16" ENDIF IF sel%=9 LPRINT "J5117"+CHR$(13)+CHR$(10) CTCSS$="136.5" CTCSSI$="17" ENDIF ENDP PROC CTCSS4: rem CTCSS 141-167 LOCAL sel% dINIT "CTCSS 141 - 167" dTEXT "","141.3 Hz",$402 dTEXT "","146.2 Hz",$402 dTEXT "","151.4 Hz",$402 dTEXT "","156.7 Hz",$402 dTEXT "","159.8 Hz",$402 dTEXT "","162.2 Hz",$402 dTEXT "","165.5 Hz",$402 dTEXT "","167.9 Hz",$402 sel%=DIALOG IF sel%=2 LPRINT "J5118"+CHR$(13)+CHR$(10) CTCSS$="141.3" CTCSSI$="18" ENDIF IF sel%=3 LPRINT "J5119"+CHR$(13)+CHR$(10) CTCSS$="146.2" CTCSSI$="19" ENDIF IF sel%=4 LPRINT "J511A"+CHR$(13)+CHR$(10) CTCSS$="151.4" CTCSSI$="1A" ENDIF IF sel%=5 LPRINT "J511B"+CHR$(13)+CHR$(10) CTCSS$="156.7" CTCSSI$="1B" ENDIF IF sel%=6 LPRINT "J511C"+CHR$(13)+CHR$(10) CTCSS$="159.8" CTCSSI$="1C" ENDIF IF sel%=7 LPRINT "J511D"+CHR$(13)+CHR$(10) CTCSS$="162.2" CTCSSI$="1D" ENDIF IF sel%=8 LPRINT "J511E"+CHR$(13)+CHR$(10) CTCSS$="165.5" CTCSSI$="1E" ENDIF IF sel%=9 LPRINT "J511F"+CHR$(13)+CHR$(10) CTCSS$="167.9" CTCSSI$="1F" ENDIF ENDP PROC CTCSS0: rem CTCSS OFF LPRINT "J5100"+CHR$(13)+CHR$(10) CTCSS$="OFF" CTCSSI$="00" ENDP PROC SetTun: rem Set Tunning Step LOCAL POS% IF TStepI%>10 TStepI%=1 ENDIF IF TStepI%<0 TStepI%=10 ENDIF IF TStepI%=1 TunStep$="1" ENDIF IF TStepI%=2 TunStep$="10" ENDIF IF TStepI%=3 TunStep$="100" ENDIF IF TStepI%=4 TunStep$="1K" ENDIF IF TStepI%=5 TunStep$="10K" ENDIF IF TStepI%=6 TunStep$="100K" ENDIF IF TStepI%=7 TunStep$="1M" ENDIF IF TStepI%=8 TunStep$="10M" ENDIF IF TStepI%=9 TunStep$="100M" ENDIF IF TStepI%=10 TunStep$="1G" ENDIF gSTYLE 1 gAT 323,45 :gPRINTB TunStep$,40 gSTYLE 0 ENDP PROC SetFMF: rem SET FREQ,MODE,FILTER LPRINT "K0"+GhzT$+MhzT$+KhzT$+HzT$+Mode$+Fil$+"00"+CHR$(13)+CHR$(10) ENDP PROC SETRS232:(baud%, parity%, data%, stop%, hand%, term&) LOCAL frame%, srchar%(6), dummy%, err% frame%=data%-5 IF stop%=2 frame%=frame% OR 16 ENDIF IF parity% frame%=frame% OR 32 ENDIF srchar%(1)=baud% OR (baud%*256) srchar%(2)=frame% OR (parity%*256) srchar%(3)=(hand% AND 255) OR $1100 srchar%(4)=$13 POKEL ADDR(srchar%(5)), term& err%=IOW(-1,7, srchar%(1),dummy%) IF err% RAISE err% ENDIF ENDP PROC PCRDraw: rem Drawing of PCR gAT 20,40 :gBOX 290,80 gAT 21,41 :gBOX 288,78 gAT 22,42 :gBOX 286,76 gAT 40,55 :gBOX 40,50 gAT 45,60 :gBOX 30,40 gAT 45,80 :gLINETO 75,80 gAT 45,65 :gLINETO 75,65 gSTYLE 9 gAT 330,60 :gPRINT "PCR Radio Control" gAT 365,90 :gPRINT "Ver: 3.0" gAT 350,120 :gPRINT "By KA5GNT" gSTYLE 0 PAUSE -150 ENDP PROC FREQUP: rem Frequency UP LOCAL TFreq$(10) Freq&=(GhzL&*1000000000)+(MhzL&*1000000)+(KhzL&*1000)+HzL& IF TunStep$="1" Freq&=Freq&+1 ENDIF IF TunStep$="10" Freq&=Freq&+10 ENDIF IF TunStep$="100" Freq&=Freq&+100 ENDIF IF TunStep$="1K" Freq&=Freq&+1000 ENDIF IF TunStep$="10K" Freq&=Freq&+10000 ENDIF IF TunStep$="100K" Freq&=Freq&+100000 ENDIF IF TunStep$="1M" Freq&=Freq&+1000000 ENDIF IF TunStep$="10M" Freq&=Freq&+10000000 ENDIF IF TunStep$="100M" Freq&=Freq&+100000000 ENDIF IF TunStep$="1G" AND Freq&<1000000000 Freq&=Freq&+1000000000 ENDIF IF Freq& > 1300000000 Freq&=1300000000 ENDIF LFreq2T: ENDP PROC FREQDOWN: rem Frequency Down LOCAL TFreq$(10) Freq&=(GhzL&*1000000000)+(MhzL&*1000000)+(KhzL&*1000)+HzL& IF TunStep$="1" Freq&=Freq&-1 ENDIF IF TunStep$="10" Freq&=Freq&-10 ENDIF IF TunStep$="100" Freq&=Freq&-100 ENDIF IF TunStep$="1K" Freq&=Freq&-1000 ENDIF IF TunStep$="10K" Freq&=Freq&-10000 ENDIF IF TunStep$="100K" Freq&=Freq&-100000 ENDIF IF TunStep$="1M" Freq&=Freq&-1000000 ENDIF IF TunStep$="10M" Freq&=Freq&-10000000 ENDIF IF TunStep$="100M" Freq&=Freq&-100000000 ENDIF IF TunStep$="1G" AND Freq&>=1000000000 Freq&=Freq&-1000000000 ENDIF IF Freq& < 500 Freq&=500 ENDIF LFreq2T: ENDP PROC LFreq2T: rem Long Freq 2 Text LOCAL TFreq$(10), ZC% TFreq$=NUM$(Freq&,10) ZC%=LEN(TFreq$) IF ZC%=9 TFreq$="0"+TFreq$ ENDIF IF ZC%=8 TFreq$="00"+TFreq$ ENDIF IF ZC%=7 TFreq$="000"+TFreq$ ENDIF IF ZC%=6 TFreq$="0000"+TFreq$ ENDIF IF ZC%=5 TFreq$="00000"+TFreq$ ENDIF IF ZC%=4 TFreq$="000000"+TFreq$ ENDIF IF ZC%=3 TFreq$="0000000"+TFreq$ ENDIF HzT$=MID$(TFreq$,8,3) ZC%=LEN(HzT$) IF ZC%=1 HzT$="00"+HzT$ ENDIF IF ZC%=2 HzT$="0"+HzT$ ENDIF KhzT$=MID$(TFreq$,5,3) ZC%=LEN(KhzT$) IF ZC%=1 KhzT$="00"+KhzT$ ENDIF IF ZC%=2 KhzT$="0"+KhzT$ ENDIF MhzT$=MID$(TFreq$,2,3) ZC%=LEN(MhzT$) IF ZC%=1 MhzT$="00"+MhzT$ ENDIF IF ZC%=2 MhzT$="0"+MhzT$ ENDIF GhzT$=MID$(TFreq$,1,1) GhzL&=VAL(GhzT$) MhzL&=VAL(MhzT$) KhzL&=VAL(KhzT$) HzL&=VAL(HzT$) gSTYLE 9 gAT 15,56 :gPRINTB GhzT$,10 gAT 31,56 :gPRINTB MhzT$,29 gAT 64,56 :gPRINTB KhzT$,29 gAT 98,56 :gPRINTB HzT$,29 gSTYLE 0 ENDP PROC FreqN2T: rem Convert Freq Text 2 Int LOCAL ZC% GhzT$=NUM$(GhzL&,1) MhzT$=NUM$(MhzL&,3) ZC%=LEN(MhzT$) IF ZC% = 1 MhzT$="00"+MhzT$ ENDIF IF ZC% = 2 MhzT$="0"+MhzT$ ENDIF KhzT$=NUM$(KhzL&,3) ZC%=LEN(KhzT$) IF ZC% = 1 KhzT$="00"+KhzT$ ENDIF IF ZC% = 2 KhzT$="0"+KhzT$ ENDIF HzT$=NUM$(HzL&,3) ZC%=LEN(HzT$) IF ZC% = 1 HzT$="00"+HzT$ ENDIF IF ZC% = 2 HzT$="0"+HzT$ ENDIF ENDP PROC HEX2DEC:(HEXNUM$) rem Convert Hex to Dec LOCAL DDig% IF HEXNUM$="1" DDig%=1 ENDIF IF HEXNUM$="2" DDig%=2 ENDIF IF HEXNUM$="3" DDig%=3 ENDIF IF HEXNUM$="4" DDig%=4 ENDIF IF HEXNUM$="5" DDig%=5 ENDIF IF HEXNUM$="6" DDig%=6 ENDIF IF HEXNUM$="7" DDig%=7 ENDIF IF HEXNUM$="8" DDig%=8 ENDIF IF HEXNUM$="9" DDig%=9 ENDIF IF HEXNUM$="A" DDig%=10 ENDIF IF HEXNUM$="B" DDig%=11 ENDIF IF HEXNUM$="C" DDig%=12 ENDIF IF HEXNUM$="D" DDig%=13 ENDIF IF HEXNUM$="E" DDig%=14 ENDIF IF HEXNUM$="F" DDig%=15 ENDIF IF HEXNUM$="0" DDig%=0 ENDIF RETURN DDig% ENDP