;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< START CONTROL SCLK 0.01 ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< SET VARIABLES 0000 DIGOUT [.......0] 0001 SETVAR: MOVI V10,0 ;FIXATION STATE 0002 MOVI V11,0 ;STIMULUS STATE 0003 MOV V30,V20 ;TIME TO GET ON-TARGET DURATION, FROM SCRIPT (MS) 0004 MOV V31,V21 ;INITIAL FIXATION DURATION, FROM SCRIPT (MS) 0005 MOV V32,V22 ;SECONDARY FIXATION DURATION, FROM SCRIPT (MS) 0006 MOV V33,V23 ;OVERLAP DURATION, FROM SCRIPT (MS) 0007 MOV V34,V24 ;REACTION TIME, FROM SCRIPT (MS) 0008 MOV V35,V25 ;FIXATION TIME FOR REWARD, FROM SCRIPT (MS) 0009 MOV V36,V26 ;REWARD DURATION, FROM SCRIPT (MS) 0010 MOVI V50,MS(1)/10 ;FOR CALC OF STEPS/MS 0011 MOVI V51,500 ;FOR TEST PULSE OUTPUT 0012 MUL V30,V50 ;SEQUENCER TIME TO GET ON-TARGET DURATION 0013 MUL V31,V50 ;SEQUENCER INITIAL FIXATION DURATION 0014 MUL V32,V50 ;SEQUENCER SECOND FIXATION DURATION (SOUND+IMAGE) 0015 MUL V33,V50 ;SEQUENCER OVERLAP DURATION 0016 MUL V34,V50 ;SEQUENCER REACTION TIME 0017 MUL V35,V50 ;SEQUENCER FIXATION TIME FOR REWARD 0018 MULI V36,MS(1) ;SEQUENCER REWARD DURATION 0019 MULI V51,MS(1) ;SEQUENCER FOR TEST PULSE OUTPUT ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< END SET VARIABLES 0020 BLACK: BEQ V11,0,BLACK ;WAIT UNTIL FIXATION TARGET IS PRESENTED,FROM SCRIPT 0021 REDUX1: CHAN V3,4 0022 CHAN V4,5 0023 NOP 0024 NOP 0025 NOP 0026 BGT V3,V5,GETONTAR ;WAIT TO GET ON TARGET 0027 OK1: BLT V3,V6,GETONTAR ;WAIT TO GET ON TARGET 0028 OK2: BGT V4,V7,GETONTAR ;WAIT TO GET ON TARGET 0029 OK3: BLT V4,V8,GETONTAR ;WAIT TO GET ON TARGET 0030 JUMP FIXTARON ;START EXPERIMENT, MOVE ON 0031 GETONTAR: DBNZ V30,REDUX1 ;SUBJECT MUST FIX ON TARGET BEFORE V30 GETS TO ZERO 0032 JUMP FAIL 0033 FIXTARON: BEQ V11,0,FIXTARON ;CHECK THAT FIXATION TARGET IS BEING PRESENTED,FROM SCRIPT 0034 MOVI V10,2 0035 REDUX2: CHAN V3,4 0036 CHAN V4,5 0037 NOP 0038 NOP 0039 NOP 0040 BGT V3,V5,FAIL 0041 BLT V3,V6,FAIL 0042 BGT V4,V7,FAIL 0043 BLT V4,V8,FAIL 0044 DBNZ V31,REDUX2 ;STAY ON TARGET FOR DURATION V31 0045 MOVI V10,1 ;STAYED ON TARGET, VAR TO SCRIPT 0046 JUMP SOUND 0047 SOUND: BEQ V11,1,SOUND ;CHECK THAT SOUND IS BEING PRESENTED,FROM SCRIPT 0048 MOVI V10,0 0049 REDUX3: CHAN V3,4 0050 CHAN V4,5 0051 NOP 0052 NOP 0053 BGT V3,V5,FAIL 0054 BLT V3,V6,FAIL 0055 BGT V4,V7,FAIL 0056 BLT V4,V8,FAIL 0057 DBNZ V32,REDUX3 ;LOOK AT FIXATION TARGET FOR DURATION V32 0058 MOVI V10,1 ;LOOKED AT FIXATION TARGET, VAR TO SCRIPT 0059 JUMP DELSAC 0060 DELSAC: BEQ V11,2,DELSAC ;CHECK THAT FIXATION TARGET IS BEING PRESENTED,FROM SCRIPT 0061 MOVI V10,2 0062 REDUX6: CHAN V3,4 0063 CHAN V4,5 0064 NOP 0065 NOP 0066 NOP 0067 BGT V3,V5,FAIL 0068 BLT V3,V6,FAIL 0069 BGT V4,V7,FAIL 0070 BLT V4,V8,FAIL 0071 DBNZ V33,REDUX6 ;STAY ON TARGET FOR DURATION V31 0072 MOVI V10,1 ;STAYED ON TARGET, VAR TO SCRIPT 0073 JUMP IMAGEON 0074 IMAGEON: BEQ V11,3,IMAGEON ;WAIT UNTIL IMAGE IS PRESENTED,FROM SCRIPT 0075 MOVI V10,2 0076 REDUX4: CHAN V3,4 0077 CHAN V4,5 0078 NOP 0079 NOP 0080 NOP 0081 BGT V3,V5,GETONIMG ;WAIT TO GET ON IMAGE 0082 OK4: BLT V3,V6,GETONIMG ;WAIT TO GET ON IMAGE 0083 OK5: BGT V4,V7,GETONIMG ;WAIT TO GET ON IMAGE 0084 OK6: BLT V4,V8,GETONIMG ;WAIT TO GET ON IMAGE 0085 JUMP REDUX5 ;LOOKED AT IMAGE, MOVE ON 0086 GETONIMG: DBNZ V34,REDUX4 ;SUBJECT MUST FIX ON IMAGE BEFORE V34 GETS TO ZERO 0087 JUMP FAIL 0088 REDUX5: CHAN V3,4 0089 CHAN V4,5 0090 NOP 0091 NOP 0092 NOP 0093 BGT V3,V5,FAIL 0094 BLT V3,V6,FAIL 0095 BGT V4,V7,FAIL 0096 BLT V4,V8,FAIL 0097 DBNZ V35,REDUX5 ;LOOK AT IMAGE FOR DURATION V35 FOR REWARD 0098 MOVI V10,1 ;LOOKED AT IMAGE, VAR TO SCRIPT 0099 JUMP REWARD 0100 REWARD: DIGOUT [......11] 0101 DELAY V36 0102 DIGOUT [......00] 0103 JUMP SETVAR 0104 FAIL: MOVI V10,0 0105 MOVI V11,1 0106 FAILOK: BEQ V11,0,FAILOK 0107 JUMP SETVAR ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< END CONTROL