/ 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