home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / FORTH / SOURCE / JOYBEND.WRD < prev    next >
Encoding:
Text File  |  1996-06-11  |  1.1 KB  |  50 lines  |  [04] ASCII Text (0x0000)

  1. \ JOYSTICK PITCHBEND AND MODWHEEL
  2. \ (C) 1995 ERIC RANGELL
  3. \
  4. \ THESE WORDS MAP JOYSTICK READINGS TO PITCH BEND AND 
  5. \ MOD WHEEL SETTINGS.
  6. \ THE X AXIS CONTROLS MODULATION WITH VALUES FROM 0 - 127
  7. \ THE Y AXIS CONTROLS PITCH BEND AND IS MAPPED AS FOLLOWS:
  8. \
  9. \  0-50  ==> 163 * JOYY (0-8150)
  10. \ 51-70  ==> 8192
  11. \ 71-120 ==> 163 * (JOYY-20)  (8313-16300)
  12. \ >120   ==> 16383
  13. \
  14. \ BUTTON 0 IS USED TO RESET MODULATION TO 0
  15. \ BUTTON 1 IS USED TO RESET PITCH BEND TO 8192
  16. \ PRESS ANY KEY TO EXIT THE PITCH BEND LOOP
  17. \
  18. DECIMAL
  19. : BUTTON ( -- 1 IF BUTTON IS PRESSED )
  20.     49249 + C@ 127 >
  21. ;
  22. : JOYPB ( -- JOYY TRANSLATED TO PITCHBEND VALUE)
  23.     JOY 
  24.     JOYY @
  25.     DUP 51 < IF 163 *
  26.     ELSE DUP 71 < IF DROP 8192
  27.     ELSE DUP 121 < IF 20 - 163 *
  28.     ELSE DROP 16383
  29.     THEN THEN THEN
  30. ;
  31. 0 VARIABLE PREVBEND
  32. 0 VARIABLE PREVMOD
  33.  
  34. : PBLOOP
  35.     BEGIN
  36.        JOYX @
  37.        DUP PREVMOD @ = IF DROP ELSE MODWHEEL THEN
  38.        JOYPB
  39.        DUP PREVBEND @ = IF DROP ELSE BEND THEN
  40.        0 BUTTON IF 0 MODWHEEL THEN
  41.        1 BUTTON IF 8192 BEND THEN
  42.     ?TERMINAL UNTIL
  43. ;
  44.  
  45. : JOYVOL
  46.     BEGIN
  47.          JOY JOYY @
  48.          7 CTRL-CHG
  49.     ?TERMINAL UNTIL
  50. ;