Nov1 Specs

12 blocks X 60 trials/block
Independent variables: 2 within block variables:
Compat (= compatibility of target and flanker)
Loc (= old or new location of flankers)

These independent variables are not set using trialtype code. 
The pseudocode below describes how they are set.

Concrete description of experiment and task:

Subject sees a single character on each trial.
They press the N key if it is a letter and the
M key if it is a digit.  There are two other characters flanking the target character, either above and below, or left and right. 
Characters should be big (30 point or so).

K 8 K

Or

K
8
K

Here the subject would respond M because the 8 is a digit.

Here is pseudocode loop which you run on every trial of the experiment:
1. randomly choose target = digit vs. letter (p=.5)
2. randomly select the exact target.  If it's a digit, don't use 0 or 1.  If it's a letter, don't use O.
3. randomly choose COMPAT (p=.5).  This takes two values (Same or Different).
4. Now randomly choose the flanking character.  If COMPAT = same, then the flanking character is chosen from the same category (e.g., if target = digit and COMPAT = same, then flanker will be a digit too).  If COMPAT = different, then  they are different.

5-7:  Most of the time the flankers stay in the same position.  With a probability 0.1, they flip.  The variable location simply codes whether the flankers changed position or not.
8. Present target and two flankers at the same moment, and collect response time and response.  Intertrial interval before presenting the next trial should be 1.5 seconds.
9. end

That's really it.   Each row of the raw datafile should include

Block   trial   target-category    target digit-category  digit  position compatibility location response RT  correct/incorrect

Example

1 3  letter  K  digit  8  1  Different  Old  M  844 correct

this would mean that you presented 8s above and below a K, and that the previous trial was also above/below, and that the subject correctly responded M in 844 msec.