home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3 / hamradioversion3.0examsandprograms1992.iso / mods / newmods3 / ft736r.4 < prev    next >
Text File  |  1991-03-09  |  2KB  |  83 lines

  1. FT736R.4
  2.  
  3. DEF PROCsat_mode(F%,B%(1))
  4. IF F%=tx B%(5)=&27 ELSE B%(5)=&17
  5. PROCput: ENDPROC
  6. :
  7. DEF PROCfreq(F)
  8. B%(5)=1
  9. PROCfr(F)
  10. PROCput: ENDPROC
  11. :
  12. DEF PROCsat_freq(F%,F)
  13. IF F%=tx B%(5)=&2E ELSE B%(5)=&1E
  14. PROCfr(F)
  15. PROCput: ENDPROC
  16. :
  17. DEF PROCfr(F)
  18. IF F>=1000 FX%=on ELSE FX%=off
  19. F=(F+0.000005)/1000
  20. FOR I%=1 TO 4: F=F*100: F%=INT(F): F=F-F%
  21. B%(I%)=(F% DIV 10)*16 + F% MOD 10
  22. NEXT
  23. IF FX%=on B%(1)=B%(1)AND &F + &C0: REM 1200 MHz band
  24. corrrection
  25. ENDPROC
  26. :
  27. DEF FNsqlch
  28. B%(5)=&E7: PROCput: PROCget
  29. IF B%(1)=0 THEN =0 ELSE= -1
  30. :
  31. DEF FNmeter
  32. B%(5)=&F7: PROCput: PROCget
  33. =B%(1)
  34. :
  35. DEF PROCset_up
  36. REM Establish constants etc
  37. DIM B%(5)
  38. off=0: on=-1
  39. rx =0: tx=-1
  40. plus=+1: minus=-1
  41. lsb=0: usb=1: cw=2: cwn=&82: fm=8: fmn=&88
  42. :
  43. REM Most code after this is for controlling the BBC micro
  44. hardware
  45. REM and needs recoding for any other machine.  Note "*FXn,m"
  46. is
  47. REM merely a BBC micro operating system call, no. n, parameter
  48. m.
  49. REM
  50. REM Set up RS423 = 4800,8,N,2
  51. *FX8,6
  52. *FX7,6
  53. *FX156,16,227
  54. ENDPROC
  55. :
  56. DEF PROCput
  57. REM Procedure sends five bytes to RS432c port, spaced by 50ms
  58. REM bytes are in array B%(1) ... B%(5)
  59. FOR I%=1 TO 5
  60. REM Delay below is in the spec, but can actually be omitted 
  61. T%=TIME: REPEAT UNTIL TIME >= T%+5: REM Wait 50 ms/byte
  62. REM Now direct output to RS423, o/p char, and restore o/p to
  63. screen
  64. *FX3,3
  65. VDU B%(I%)
  66. *FX3,0
  67. NEXT
  68. ENDPROC
  69. :
  70. DEF PROCget
  71. REM Flush RS423 I/P buffer, then read bytes from input stream
  72. REM until op code is detected.  Previous value is result.  
  73. REM (straight reading 5 bytes found to be unreliable)
  74. *FX15,1
  75. *FX2,1
  76. REPEAT B%(1)=B%: B%=GET: UNTIL B%=B%(5)
  77. *FX2,0
  78. ENDPROC
  79. :
  80. REM End of code
  81. REM de G3RUH @ GB7SPV 1990 May 29
  82. JAS>
  83.