/ streamlength = 20
/ currentposition = 0
/ trialnumber = 0
/ t1position = 0
/ t2position = 0
/ t2lag = 0
/ streamstring = ""
/ t1item = ""
/ t2item = ""
/ blocks = [1=practiceblock; 2=testblock]
/ preinstructions = (practiceblockpage)
/ onblockbegin = [values.trialnumber = 0]
/ trials = [1-24=starttrial]
/ branch = [if(openended.responsetrial.percentcorrect < 50) block.practiceblock]
/ onblockbegin = [values.trialnumber = 0]
/ preinstructions = (testblockpage)
/ trials = [1-144=starttrial]
/ ontrialbegin = [values.trialnumber +=1; values.currentposition = 0; values.streamstring = ""; values.t1item = ""; values.t2item = "";
text.distractor.resetselection(); text.target.resetselection()]
/ ontrialbegin = [if(script.currentblock=="practiceblock") {values.t1position = list.pt1positionlist.nextvalue; values.t2lag = list.pt2laglist.nextvalue}]
/ ontrialbegin = [if(script.currentblock=="testblock") {values.t1position = list.t1positionlist.nextvalue; values.t2lag = list.t2laglist.nextvalue}]
/ ontrialbegin = [values.t2position = values.t1position + values.t2lag]
/ stimulusframes = [1=fixation, debug]
/ trialduration = 2000
/ posttrialpause = 250
/ validresponse = (noresponse)
/ recorddata = false
/ branch = [trial.distractortrial]
/ ontrialbegin = [values.currentposition += 1]
/ ontrialend = [values.streamstring = concat(values.streamstring, text.distractor.currentitem)]
/ stimulusframes = [1=distractor, debug]
/ trialduration = 100
/ posttrialpause = 30
/ validresponse = (noresponse)
/ recorddata = false
/ branch = [if (values.currentposition >= values.streamlength) openended.responsetrial]
/ branch = [if(values.t1position==values.currentposition+1 || values.t2position==values.currentposition+1)
trial.targettrial else trial.distractortrial]
/ ontrialbegin = [values.currentposition += 1]
/ ontrialend = [values.streamstring = concat(values.streamstring, text.target.currentitem)]
/ ontrialend = [if(values.t1position==values.currentposition) values.t1item=text.target.currentitem]
/ ontrialend = [if(values.t2position==values.currentposition) values.t2item=text.target.currentitem]
/ stimulusframes = [1=target, debug]
/ trialduration = 100
/ posttrialpause = 30
/ validresponse = (noresponse)
/ recorddata = false
/ branch = [if(values.t2position==values.currentposition+1)
trial.targettrial else trial.distractortrial]
/ stimulusframes = [1=recall, debug]
/ charlimit = 2
/ range = (22,99)
/ iscorrectresponse = [openended.responsetrial.response == concat(values.t1item, values.t2item) || openended.responsetrial.response == concat(values.t2item, values.t1item)]
*** Practice block ***
3 T1 positions (7,8,9) x 4 T2 lags (1,3,5,8) repeated 2 times -> 24 trials
/ items = (7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9)
/ selectionmode = random
/ replace = false
/ items = (1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8)
/ selectionmode = list.pt1positionlist.currentindex
*** Test block ***
3 T1 positions (7,8,9) x 4 T2 lags (1,3,5,8) repeated 12 times -> 144 trials
/ items = (7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9,
7,8,9,7,8,9,7,8,9,7,8,9)
/ selectionmode = random
/ replace = false
/ items = (1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8,
1,1,1,3,3,3,5,5,5,8,8,8)
/ selectionmode = list.t1positionlist.currentindex
*** Stimuli ***
/ items = ("+")
/ fontstyle = ("Verdana", 5%, true)
/ items = ("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
/ select = replacenorepeat
/ fontstyle = ("Verdana", 5%, true)
/ items = ("2", "3", "4", "5", "6", "7", "8", "9")
/ select = noreplace
/ fontstyle = ("Verdana", 5%, true)
/ items = ("Enter the two digits:")
/ position = (50%, 40%)
/ items = ("Onscreen debug information
T1 position = <%values.t1position%> | T2 position = <%values.t2position%> | T2 Lag = <%values.t2lag%>
T1 = <%values.t1item%> | T2 = <%values.t2item%>
RSVP stream = <%values.streamstring%>
Trial number = <%values.trialnumber%>
% correct=<%openended.responsetrial.percentcorrect%>")
/ position = (50%, 20%)
/ size = (50%, 25%)
/ erase = false
*** Instruction pages ***
This is the practice block.
This is the test block.
/ columns = [date time subject blocknum blockcode values.trialnumber trialcode response latency
values.t1item values.t2item values.t1position values.t2position values.t2lag values.streamstring]
/ separatefiles = true