home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / FORTH / RHYPREP.WRD < prev    next >
Encoding:
Text File  |  1991-03-07  |  1.8 KB  |  133 lines  |  [04] ASCII Text (0x0000)

  1. MASC DEFINITIONS
  2.  
  3. VARIABLE DISCO
  4. FIND DISCO0 DISCO !
  5. FIND DISCO1 ,
  6. FIND DISCO2 ,
  7. FIND DISCO3 ,
  8. FIND DISCO4 ,
  9.  
  10. VARIABLE ROCK
  11. FIND ROCK0 ROCK !
  12. FIND ROCK1 ,
  13. FIND ROCK2 ,
  14. FIND ROCK3 ,
  15. FIND ROCK4 ,
  16.  
  17. VARIABLE POPS
  18. FIND POPS0 POPS !
  19. FIND POPS1 ,
  20. FIND POPS2 ,
  21. FIND POPS3 ,
  22. FIND POPS4 ,
  23.  
  24. VARIABLE MARCH
  25. FIND MARCH0 MARCH !
  26. FIND MARCH1 ,
  27. FIND MARCH2 ,
  28. FIND MARCH3 ,
  29. FIND MARCH4 ,
  30.  
  31. VARIABLE SAMBA
  32. FIND SAMBA0 SAMBA !
  33. FIND SAMBA1 ,
  34. FIND SAMBA2 ,
  35. FIND SAMBA3 ,
  36. FIND SAMBA4 ,
  37.  
  38. VARIABLE BOSSA
  39. FIND BOSSA0 BOSSA !
  40. FIND BOSSA1 ,
  41. FIND BOSSA2 ,
  42. FIND BOSSA3 ,
  43. FIND BOSSA4 ,
  44.  
  45. VARIABLE RHUMBA
  46. FIND RHUMBA0 RHUMBA !
  47. FIND RHUMBA1 ,
  48. FIND RHUMBA2 ,
  49. FIND RHUMBA3 ,
  50. FIND RHUMBA4 ,
  51.  
  52. VARIABLE SWING
  53. FIND SWING0 SWING !
  54. FIND SWING1 ,
  55. FIND SWING2 ,
  56. FIND SWING3 ,
  57. FIND SWING4 ,
  58.  
  59. VARIABLE 4BEAT
  60. FIND 4BEAT0 4BEAT !
  61. FIND 4BEAT1 ,
  62. FIND 4BEAT2 ,
  63. FIND 4BEAT3 ,
  64. FIND 4BEAT4 ,
  65.  
  66. VARIABLE SLOW
  67. FIND SLOW0 SLOW !
  68. FIND SLOW1 ,
  69. FIND SLOW2 ,
  70. FIND SLOW3 ,
  71. FIND SLOW4 ,
  72.  
  73. VARIABLE WALTZ
  74. FIND WALTZ0 WALTZ !
  75. FIND WALTZ1 ,
  76. FIND WALTZ2 ,
  77. FIND WALTZ3 ,
  78. FIND WALTZ4 ,
  79.  
  80. : RR0 ROCK0 ;
  81. : RR1 ROCK1 ;
  82. : RR2 ROCK2 ;
  83. : RR3 ROCK3 ;
  84. : RR4 ROCK4 ;
  85.  
  86. VARIABLE RHBASE
  87. ' RR0 RHBASE !
  88. ' RR1 ,
  89. ' RR2 ,
  90. ' RR3 ,
  91. ' RR4 ,
  92.  
  93. : RH0 0 RHBASE + @ @ 0= IF ELSE RR0 THEN ;
  94. : RH1 2 RHBASE + @ @ 0= IF ELSE RR1 THEN ;
  95. : RH2 4 RHBASE + @ @ 0= IF ELSE RR2 THEN ;
  96. : RH3 6 RHBASE + @ @ 0= IF ELSE RR3 THEN ;
  97. : RH4 8 RHBASE + @ @ 0= IF ELSE RR4 THEN ;
  98.  
  99. : RH 0 DO RH1 RH2 RH3 RH4 LOOP ;
  100.  
  101.  
  102. VARIABLE RYBASE
  103.  
  104. : INNERLOOP ( I -- )
  105.    DUP 2 * RYBASE @ + @
  106.    SWAP 2 * RHBASE + @
  107.    !
  108. ;
  109.  
  110.  
  111. ( USE RHY FOR COMMAND LINE )
  112.  
  113. : RHY ( <WORD> --)
  114.    FIND 2 +  ( GET PFA OF RHYTHM WORD )
  115.    RYBASE !
  116.    5 0 DO I INNERLOOP LOOP 
  117. ;
  118.  
  119.  
  120. : INNERLOOP2
  121.    DUP 2 * RYBASE @ + @
  122.    SWAP 2 * RHBASE + @ 
  123.    SWAP  [COMPILE] LITERAL [COMPILE] LITERAL COMPILE !
  124. ;
  125.  
  126.  
  127. : RHYTHM 
  128.    FIND 2 +
  129.    RYBASE !
  130.    5 0 DO I INNERLOOP2 LOOP
  131. ; IMMEDIATE
  132.  
  133.