> Stimuli are presented for ½ a TR (TR=2 sec).
Half of a TR, or 1 or 2 TR's? Your script shows that you are looking for events with a duration of 2 TR's (-nblock i 2.0).
> Using markov chain ignores the –nreps (20) and I get an unequal
> occurrence of my three stimuli
I don't see any reason you have to use Markov chain design. Markov chain process is useful if you have some specific restriction among the three events, for example, A is not allowed to follow B.
> using random permuatatioln is not following my restrictions
> (range of ISI)
Again you don't have to shuffle the output files. However, unfortunately RSFgen seems unable to set an upper limit for ISI although you can implicitly control the average ISI by considering totally number of TR's, repetitions, etc.
Maybe you can try running RSFgen several times with different seeds and sift out those with big ISI's?
Gang