regressfreq.fs 420 B

12345678910111213141516171819
  1. start-microcode regressfreq
  2. \ Reads 16-bit frequency from COMM, generates square
  3. \ wave at half frequency PIN2
  4. : 1+ d# 1 + ;
  5. : @ dup c@ swap 1+ c@ swab or ;
  6. : ! over swab over 1+ c! c! ;
  7. : main
  8. d# 0 P2_DIR c! \ Make P2 an output
  9. \ Drive P2 high when raster is past line COMM+0
  10. COMM+0 @ FREQHZ c!
  11. begin
  12. FREQTICK c@ P2_V c!
  13. again
  14. ;
  15. end-microcode