Files
LithosAnanake/capsules/init-2.4th
T

76 lines
1.3 KiB
Forth

Block 4506
( TRIANGLE WAVE WORKLOAD - Linear ramp up/down )
( Randomized amplitude and frequency )
: COMPUTE ( n -- )
0 SWAP 0 DO I 7 * + LOOP DROP ;
: RAMP-STEP ( intensity -- )
50 * COMPUTE ;
Block 4515
( Rising edge with random perturbation )
42 SEED
: RISING-EDGE ( steps -- )
0 DO
I 1+
90 110 RANDOM 100 */ RAMP-STEP
10 80 120 RANDOM 100 */ WAIT
LOOP ;
: FALLING-EDGE ( steps -- )
DUP 0 DO
OVER I -
90 110 RANDOM 100 */ RAMP-STEP
10 80 120 RANDOM 100 */ WAIT
LOOP DROP ;
Block 4525
( Triangle wave cycles with random amplitude/frequency )
: TRIANGLE-CYCLE ( peak-steps -- )
DUP RISING-EDGE
FALLING-EDGE ;
: TRIANGLE-WAVE ( cycles peak -- )
SWAP 0 DO
DUP
70 130 RANDOM 100 */
TRIANGLE-CYCLE
LOOP DROP ;
3 10 TRIANGLE-WAVE
Block 4535
( Asymmetric triangles - fast rise, slow fall )
7777 SEED
: ASYM-TRIANGLE ( -- )
8 0 DO
I 1+ 80 120 RANDOM 100 */ RAMP-STEP
20 WAIT
LOOP
8 0 DO
8 I - 80 120 RANDOM 100 */ RAMP-STEP
80 120 RANDOM WAIT
LOOP ;
: RUN-ASYM 4 0 DO ASYM-TRIANGLE LOOP ;
RUN-ASYM
Block 4545
( Sawtooth variant - all rise, sharp drop )
54321 SEED
: SAWTOOTH ( steps -- )
0 DO
I 1+ 85 115 RANDOM 100 */ RAMP-STEP
15 60 140 RANDOM 100 */ WAIT
LOOP
50 WAIT ;
: RUN-SAW 3 0 DO 12 SAWTOOTH LOOP ;
RUN-SAW