*20 /EYETACH1 PROGRAM LMODE SEGMNT 0 *40 /NOTE:LOCATIONS 00020-00037 UNUSED / /INTERRUPT HANDLER FOR EYETACH1 PROGRAM. /POSSIBLE INTERUPTS: EVENT TRIGGERS 1 OR /2=SACCADE; EVENT TRIGGER 3=RESPONSE /CLOCK OVERFLOW=TIME INCREM. 0 CLR IOB 6135 /CLSA AZE I ERROR1, JMP ERROR /ILLEGAL INTER. STA I EVENTS, 0 /SAVE CLSA BITS BCL I 7727 /EVENT 1 OR 2? AZE I JMP CHRESP /NO:RESP? /EYEMOVEMENT HAS OCCURRED: SET PHASE /TEMRINATION CODE="M" AND END PHASE IF /CWD1 BIT 3=0 OR END TRIAL IF=1 LDA I 315 /"M" STA I 14 /SAVE TERM CODE LDA CWD1 /PHASE CONTROL 1 ROL 3 /BIT 3 ENDPHS, APO JMP STOP /=1:END TRIAL LDA TIMER STA I 14 /SAVE DURATION & JMP NEXPHS /GO TO NEXT PHAS / CHRESP, ADD EVENTS BCL I 7775 AZE I /EVENT 3/CLOCK? JMP TIME /CLOCK OVERFLOW /RESPONSE HAS OCCURRED (TRIGGER 3): /SAMPLE RESP VALUE (A-D 11 & 12) TO /DETERMINE WHETHER ITS L OR R RESP, IN /WHICH CASE PHASE TERM. CODE ="L" OR "R" /CWD1, BIT 5: END TRIAL(=1) OR GO TO /NEXT PHASE(=0) / /DON"T COUNT RESP UNLESS LATENCY IS AT /LEAST MINLAT MSECS-PREVENTS ONE PRESS /REGISTERING MANY TIMES / LDA I MINLAT, -226 /-MIN IRI MSECS ADD RTIMER APO JMP RUN /TOO SOON:IGNORE CLR STC RTIMER /RESET IRI TIMER SAM 11 /RESP 1:AD11>R0? ADA I MR0, -600 APO JMP .+4 LDA I 314 /LEFT RESP="L" JMP .+3 LDA I 322 /RIGHT RESP="R" STA I 14 /SAVE TERM.CODE LDA CWD1 ROL 5 /BIT 5 JMP ENDPHS /EITHER EYEMOVEMENT "M" OR RESP "1","2" /HAS OCCURRED AND TRIAL ENDS IMMEDIATELY / STOP, LDA TIMER STA I 14 /SAVE PHASE TIME LDA PHASES COM ADD PHASE /=-NO.PHASE LEFT AZE I JMP FINISH /LAST PHASE /FILL DATA FOR REMAINING PHASES WITH /"*" TERM. CODE AND 0000 DURATION STC 1 LDA I 252 /"*" STA I 14 CLR STA I 14 XSK I 1 JMP .-6 JMP FINISH /ARRIVES HERE ON CLOCK OVERFLOW INTER.: /INCREMENT TICK COUNTER (5) AND IF /"MSECS" TICKS, SAMPLE A-D CHANNELS, /INCREMENT PHASE TIMER & CHECK FOR /PHASE TIMEOUT / TIME, XSK I 5 JMP RUN /CONTINUE PHASE XSK 17 /ROOM LEFT FOR SKP /SIGNAL STORAGE? JMP MSECS-1 /NO:SKIP IT LDA CWD1 /SAMPLE&STORE IF APO I /CWD1 BIT 0=1 JMP MSECS-1 /NO SAMPLE /SAMPLE X (AD15), Y (AD17), AND /D(X+Y)/DT (AD10) IF SW 1,2,3 UP SNS 1 JMP .+4 SAM 15 LDF 6 /X SAVED 15000 STA 17 /-15777 SNS 2 JMP .+4 SAM 17 LDF 7 /Y SAVED 16000 STA I 16 /-16777 SNS 3 JMP .+4 SAM 10 LDF 7 /D(X+Y)/DT 17000 STA 17 /-17777 XSK I 17 NOP LDA I MSECS, 5 COM /RESET TICK STC 5 /COUNTER ADD C1 ADM I /INCR.PHASE TIME TIMER, 0 LDA I 1 ADM I CTIMER, 0 /INCR CUM TIMER LDA I RTIMER, 0 ADD MSECS /INCR IRI TIMER APO I /UNLESS<0 STC RTIMER /CHECK FOR TIMEOUT: CWD2=TIMER (CWD1 BIT /11=0) OR CWD2=CTIMER (=1) LDA 7 /TIMER OR CTIMER SAE 15 /CWD2 JMP RUN /CONTINUE PHASE /TIMEOUT HAS OCCURRED: SAVE PHASE TERM. /CODE="T" AND END PHASE ONLY IF CWD1 /BIT 1=1, ELSE IGNORE LDA CWD1 ROL 1 APO I JMP RUN /CONTINUE PHASE LDA I 324 /"T" STA I 14 JMP ENDPHS+2 /GO TO NEXT PHAS / /END OF TRIAL: TURN T-SCOPE OFF, TYPE /(TERM. CODE, TIME) FOR EACH PHASE /AND TRANSFER DATA TO OUTPUT FILE VIA /BUFFER (12) 14000-14377 / FINISH, CLR ATR /T-SCOPE OFF IOB 6132 /CLLR:CLOCK OFF LDA I COND, 0 ROL 6 ADD PHASES /1ST WD:COND(LH) JMP NEXDAT /&NO.PHASES(RH) CLR ADD PHASES COM STC 1 SET I 15 TRDATA-1 /DATA ARRAY SET I 14 CONTRL-1 /CONTROL ARRAY /FOR EACH PHASE SAVE FOUR WORDS ON DATA /FILE: 1ST=CWD1, 2ND=TIMEOUT, 3RD=TERM. /CODE, 4TH=DURATION. FOR EACH PHASE TYPE /OUT ONLY LATTER TWO. / DATOUT, LDA I 14 JMP NEXDAT /PHASE CWD1 LDA I 14 JMP NEXDAT /TIMEOUT LDA I 324 JMP TYPE /"T" LDA I 15 JMP TYPE /TERM.CODE ADD C275 JMP TYPE /"=" LDA 15 JMP NEXDAT LDA I 15 JMP DECPUT /DURATION LDA 15 JMP NEXDAT XSK I 1 JMP DATOUT /TYPE FINAL "W" ONLY IF SIGNAL STORAGE /FILLED DURING TRIAL XSK 17 JMP .+4 LDA I 327 /"W" JMP TYPE /DISPLAY EACH SAMPLED SIGNAL ON CHANNEL /2 OF VR12 FOR 2 SECS OR UNTIL SW /0 DOWN, WHICHEVER LONGER. EACH GRAPH /HAS VERTICAL LINES MARKING PHASE /BOUNDARIES: BELOW EACH BOUNDARY IS /DESIGNATION OF TERMINATION: "T"=TIMEOUT /"M"=EYEMOVEMENT "L"=L RESP,"R"=R RESP. / LDA I SHOW, 0 AZE I JMP NEXTRL /NO DISPLAY GRAPH1, LDA 17 STA I END13, 0 /END GRAPHS 1&3 STC ENDGRP SNS 1 JMP GRAPH2 LDF 6 ADD C2777 STC POINT0 SET I 11 ADM1X /PTR TO "X" JMP GRAPH /SHOW GRAPH GRAPH2, LDF 7 SNS 2 JMP GRAPH3 LDA I 3777 STC POINT0 ADD 16 STC ENDGRP /END GRAPH2 SET I 11 ADM1Y /PTR TO "Y" JMP GRAPH /SHOW GRAPH GRAPH3, SNS 3 JMP NEXTRL LDA I C2777, 2777 STC POINT0 ADD END13 STC ENDGRP SET I 11 ADM1D /PTR TO "D" JMP GRAPH JMP NEXTRL / /DISPLAY LABELS "X","Y","D","T","M","L" /AND "R" FOR GRAPHS / ADM1X, 1463 6314 ADM1Y, 0770 7007 ADM1D, 4177 3641 ADM1T, 4040 4077 ADM1M, 3077 7730 ADM1L, 0177 0301 ADM1R, 4477 3146 / /SUBR SHOW GRAPH: MUST ENTER AC=0 / GRAPH, ADD STC RJGRP IOB 6132 /CLLR IOB 6134 /CLEN IOB 6133 /CLAB LDA I 5100 /100 HZ CLOCK IOB 6132 /CLLR SET I 17 POINT0, 0 / /DISPLAY LABEL UPPER LEFT HAND CORNER LDA I 340 SET 10 11 /PW PTR SET I 1 4000 /CHAN 2 DSC 10 DSC I 10 / SET I 10 5777 /GRAPH CHAN 2 LDA I 17 SCR 1 /SCALE DIS I 10 LDA 17 SAE I ENDGRP, 0 JMP .-7 /FULL GRAPH REFRESHED: SHOW VERT. LINES /AT PHASE BOUNDARIES SET I 14 TRDATA-1 SET I 15 CONTRL-1 LDA PHASES COM STC 2 SET I 10 C4000, 4000 /H.C=0,CHAN=2 PLINE, LDA I 14 STC TCODE XSK I 14 LDA I 15 XSK I 15 APO I /PHASE SAMPLED? JMP NXLINE /NO:SKIP IT LDA 14 /PHASE DURATION ADM 10 /GET DESIGNATION FOR BOUNDARY TYPE LDA I TCODE, 0 SAE I 324 /"T" JMP .+4 SET I 3 ADM1T JMP LINE SAE I 315 /"M" JMP .+4 SET I 3 ADM1M JMP LINE SAE I 314 /"L" JMP .+4 SET I 3 ADM1L JMP LINE SET I 3 ADM1R /"R" LINE, LDA I -40 SET 1 10 DSC 3 DSC I 3 /DESIGNATION SET I 3 -200 CLR DIS 10 ADD C1 XSK I 3 JMP .-3 /VERT. LINE NXLINE, XSK I 2 JMP PLINE /REFRESH OF GRAPH & LINES COMPLETE: /CHECK TO SEE IF DISPLAY TIME UP SNS I 0 JMP POINT0-1 /SW 0 OVERRIDE IOB 6137 /CLCA APO JMP RJGRP COM ADD SHOW APO I JMP POINT0-1 RJGRP, HLT /RJ / /END GRAPH SUBROUTINE / /SUBR BUFFER OUTPUT OF AC ONTO UNIT 1 /TAPE FILE (ONLY IF SW 4=1) VIA 12 PTR /BUFFER=14000-14377 / NEXDAT, SNS 4 JMP LDF 6 STA I 12 LDA 12 SAE I 2377 /END BUFFER? JMP /BUFFER FILLED: WRITE IT OUT ON NEXT /BLOCK OF UNIT 1 FILE WRITE, LDA I C1, 1 ADM I OUTBLK, 0 SAE I C1000, 1000 SKP ERROR2, JMP ERROR /TAPE FULL ADD C4000 /MBLK=4 STC .+2 WRC U 0 SET I 12 3777 /RESET PTR JMP / /EACH TRIAL BEGINS HERE / NEXTRL, JMP CRLF /CR,LF SET I 17 3000 /INITIALIZE PTRS SET I 16 /FOR SIGNAL 3777 /STORAGE SET I 15 /FOR PHASE CONTR CONTRL-1 /WORDS SET I 14 /AND TRIAL DATA TRDATA-1 /ARRAY /READ IN "PHASES" AND 2*PHASES CONTROL /WORDS FROM 14400-14777, BUFFERED FROM /UNIT 0 TAPE FILE JMP NEXWRD /SUBR FETCHES IT AZE I JMP ENDBLK /PHASES=0:END STA I 15 /1ST WD CONTRL JMP NEXDAT /TO OUTPUT FILE LDA 15 BCL I 7700 /R.H.=NO.PHASES STA I PHASES, 0 ROL 1 COM STC 1 STC RTIMER /CLEAR IRI TIMER STC CTIMER /" CUM. TIMER JMP NEXWRD STA I 15 XSK I 1 JMP .-3 SET I 15 CONTRL /RESET PTR /TYPE OUT TRIAL NO, "C"COND NO. LDA I 1 ADM I NTRIAL, 0 JMP DECPUT LDA I 303 /"C" JMP TYPE LDH 15 /COND.NO. ADD C260 JMP TYPE ADD C240 /" " JMP TYPE /SW 5 UP: RUN CALIBRATION BEFORE TRIAL /TTY BELL ON ANY EVENT: BUTTON PRESS OR /EYEMOVEMENT (UNPLUG ONE TO TEST OTHER) /T-SCOPE CHAN 1 ON FOR CALIB DISPLAY / CALIBR, IOB 6135 /CLSA CLR IOB 6132 /CLLR LDA I 25 ATR /CHAN 1,LUMIN 2 IOB 6134 /CLEN CWAIT, SNS 5 JMP READY CLR IOB 6135 /CLSA AZE I JMP CWAIT LDA I 207 JMP TYPE /RING BELL JMP CWAIT / READY, LDA I 2100 IOB 6132 /CLLR:START 100 LDA I /KHZ CLOCK 7634 /TICKING EVERY IOB /MSEC 6133 /CLAB LDA I 40 /DISABLE TTY ESF /INTERRUPT CLR IOB 6135 /CLSA APO I JMP .-4 /WAIT 1ST TICK LDA MSECS /TICKS/UNIT TIME COM STC 5 /INITIALIZE CTR STC PHASE /& PHASE NO. /SECTION HANDLES TRANSITION TO NEW PHASE / NEXPHS, LDA I PHASE, 0 SAE PHASES SKP JMP FINISH /LAST PHASE:DONE ADD C1 STC PHASE /NEW PHASE NO. STC TIMER /CLEAR PHASE TMR LDA I 15 STA I /GET 1ST CWD1, 0 /PHASE CONTRL WD /PHASE CONTROL WORDS FORMAT: 1ST WORD /(=CWD1): BIT 0: SAMPLE AD"S ONLY IF=1; /BIT 1: PHASE ADVANCE ON TIMEOUT ""=1; /BIT 2:DETECT SACCADE IF=1; BIT 3: END /TRIAL(=1) OR ADVANCE PHASE(=0) ON SACC; /BIT 4: DETECT RESP IF=1; BIT 5: END /TRIAL(=1) OR ADVANCE PHASE(=0) ON RESP; /BITS 6,7,8: DISPLAY-SCOPE CHANNELS 1,2, /3 IF=1; BIT 9: UNUSED; BIT 10: CUMUL. /TIMER CLEARED(=0) OR KEPT RUNNING(=1); /BIT 11: TIMEOUT ON PHASE(=0) OR /CUMULATIVE(=1) TIMER. / WORD 2: TIME UNITS TO TIMEOUT-BIT 1=1 ATR /BITS 6-8:TSCOPE ROR 1 APO /BIT 11=0=CLEAR JMP .+3 /CUMUL. TIMER CLR STC CTIMER LDA 15 ROR 2 APO /BIT 10:TIMEOUT JMP .+4 SET I 7 TIMER /ON PHASE(=0)OR JMP .+3 SET I 7 CTIMER /CUMUL.TIMER SET I 1 300 /SETUP CLEN BITS ROL 2 APO I /BIT 2:DETECT JMP .+5 /EYEMOVEMENTS? LDA I /YES: ACTIVATE 74 /TRIGGERS 1&2 ADM 1 LDA 15 XSK I 15 /PTR TO 2ND WORD ROL 4 /BIT 4:DETECT APO I /EYEMOVEMENT? JMP .+4 /YES: ACTIVATE LDA I /TRIGGER 3 3 SKP CLR ADD 1 IOB 6134 /CLEN RUN, IOB 6001 /ION JMP . /PHASE BEGINS / /SUBR INPUTS NEXT CONTROL WORD FROM TAPE /FILE UNIT 0: BUFFERED VIA 13 INTO 14400 /-14777 / NEXWRD, DJR LDF 6 LDA I 13 /NEXT WORD STC BACK+1 ADD 13 SAE I 2777 /END BUFFER? JMP BACK /NO:RETURN /END BUFFER:READ-IN NEXT TAPE BLOCK JMP .+1 /USE UP DJR READ, LDA I 1 ADM I INBLK, 0 SAE I 1000 SKP ERROR3, JMP ERROR /TAPE FULL ADD C5000 /SET MBLK=5 STC .+2 RDC 0 /READ BLOCK SET I 13 2377 /RESET PTR BACK, LDA I 0 /SAVED C(13) JMP /RETURN / /SECTION HANDLES END OF BLOCK: WRITES /OUT FINAL BUFFER CONTENTS & TYPES MESG. / ENDBLK, CLR JMP NEXDAT /FINAL 0 IN DATA SNS I 4 /IF SW 4 UP JMP WRITE /OUTPUT BUFFER SET I 11 FINLAB-4000 JMP MESSAG /E-O-F MESSAGE /IF OUTPUT FILE (SW 4 UP) TYPE OUT /LAST TBLK USED SNS 4 JMP NOPUT JMP MESSAG /"LAST TBLK=" ADD OUTBLK JMP DECPUT /TYPE LAST TBLK JMP END NOPUT, SET I 11 ENDLAB-4000 JMP MESSAG /"NO OUTPUT" END, HLT JMP START / /PROGRAM (AND EACH BLOCK) BEGINS HERE /INPUT FOLLOWING PARAMETERS / /"SESSID" - SESSION ID NO. /"SUBJID" - SUBJECT ID NO. /"DESIGN" - STARTING TBLK UNIT 0 FILE / FOR CONTROL WORDS INPUT /"OUTPUT" - STARTING TBLK UNIT 1 FILE / FOR DATA OUTPUT /"MSECS " - NUMBER MSECS/TIME UNIT /"LUMIN1" - LUMINANCE T-SCOPE CHAN 1 /"LUMIN2" - CHANNEL 2 /"LUMIN3" - CHANNEL 3 /"GRAPHS" - SECS/100 DISPLAY/GRAPH / /NOTE: LUMIN1,2,3 & DISTC1,2,3 FOR /BOOKEEPING PURPOSES ONLY / START, SET I 12 /PTR TO DATA 3777 LDF 6 LDA I PROGID, 100 /IST DATA WD= STA I 12 SET I 11 /SET PTR TO PARAMS-1 /PARAMETER LABEL JMP MESSAG /TYPE PAR. LABEL JMP GET /DEC. INPUT TTY STA I 12 JMP MESSAG JMP GET STA I 12 JMP MESSAG JMP GET STA I 12 STA INBLK /INPUT FILE /VERIFY THAT INPUT FILE IS PROPERLY /FORMATTED: IST WORD=7777 ADA I C5000, 5000 /MBLK=5 STC .+2 RDC 0 SET I 13 /INITIALIZE PTR 2377 LDA I 13 SAE I 7777 ERROR4, JMP ERROR /INVALID FILE JMP MESSAG JMP GET STA I 12 STC OUTBLK /DATA FILE JMP MESSAG JMP GET STA I 12 STC MSECS SET I 1 -4 JMP MESSAG JMP GET STA I 12 XSK I 1 JMP .-4 STC SHOW /PARAMETERS IN AND HEADER WRITTEN ON /OUTPUT FILE. TYPE MESSAGE "SW 5 UP FOR /CALIB.", THEN HALT AND START BLOCK JMP MESSAG HLT STC NTRIAL JMP NEXTRL / /CONTROL ARRIVES HERE ON ERRORS: TYPE /"ERROR!" AND LEAVE ERROR ADDR IN AC / ERROR, SET I 1 0 /ERROR ADDR SET I 11 ERRLAB-4000 JMP MESSAG ADD 1 HLT JMP START / /SUBR TYPES AC / TYPE, PDP PMODE TLS TSF JMP .-1 CLA LINC LMODE JMP / /SUBR TYPES CR.LF + PACKED ASCII MESSAGE /POINTED BY 11 / MESSAG, LDA 0 STC RJMESG LDH I 11 AZE I RJMESG, HLT /RETURN:00=END SAE I 43 /CRLF? JMP .+3 JMP CRLF JMP RJMESG-2 ADA I -37 /ADD 100 OR 200 APO /FOR 8-BIT CODE ADD C100 ADA I 237 JMP TYPE JMP RJMESG-2 C100, 100 / /SUBR TYPES AC AS SIGNED DECIMAL INTEGER /WITH (I5,1X) FORMAT. LEAD 0"S BLANKED / DECPUT, STC NUM ADD STC RJDCPT STC ZERO /LEADING-0 FLAG ADD NUM APO JMP .+4 LDA I C240, 240 JMP .+5 COM STC NUM LDA I 255 JMP TYPE /" " OR "-" SIGN STC 7 /COUNTS DIGITS ADD NUM ADA I -1750 /THOUSANDS APO JMP .+3 XSK I 7 JMP .-5 AZE I /-0? JMP .-3 ADA I 1750 /RESTORE STC NUM ADD 7 ADM I ZERO, 0 /TOTAL DIGIT SUM AZE I JMP .+5 /LEADING ZERO LDA I 260 ADD 7 SKP ADD C240 JMP TYPE STC 7 ADD NUM ADA I -144 /HUNDREDS APO JMP .+3 XSK I 7 JMP .-5 AZE I JMP .-3 ADA I 144 STC NUM ADD 7 ADM ZERO AZE I JMP .+5 LDA I 260 ADD 7 SKP ADD C240 JMP TYPE STC 7 ADD NUM ADA I -12 /TENS APO JMP .+3 XSK I 7 JMP .-5 AZE I JMP .-3 ADA I 12 STC NUM ADD 7 ADD ZERO AZE I JMP .+5 LDA I C260, 260 ADD 7 SKP ADD C240 JMP TYPE ADD C260 ADD NUM JMP TYPE ADD C240 JMP TYPE RJDCPT, HLT / /SUBR TYPES CR.LF / CRLF, LDA 0 STC RJCRLF LDA I 212 JMP TYPE LDA I 215 JMP TYPE RJCRLF, HLT / /SUBR ACCEPTS SIGNED DECIMAL INTEGER /FROM TTY.FORMAT: OPTIONAL SIGN&LEADING /BLANKS,1-4 DECIMAL DIGITS, FOLLOWED BY /LINE FEED. ILLEGAL CHARACTER OR RUBOUT /RESTARTS INPUT. INITIAL "=" & ALL /NUMERIC CHARS ECHOED. RETURNED IN AC. / GET, LDA 0 STC RJGET STC NUM SET I 7 -5 /MAX 4 DIGITS STC SIGN /SIGN FLAG LDA I C275, 275 JMP TYPE /TYPE "=" JMP INCHAR /GET & ECHO CHAR SAE I 240 SKP JMP .-4 /SKIP LEAD BLANK SAE I 255 /="-"? JMP .+3 STC SIGN /SET SIGN FLAG NEXDIG, JMP INCHAR ADA I -257 /DIGIT? APO JMP ENTERR /ILLEGAL CHAR ADA I -12 APO I /DIGIT? JMP ENTERR XSK I 7 /TOO MANY DIGITS SKP JMP ENTERR /TOO MANY! ADA I 11 /RESTORE DIGIT AZE I CLR /-0 TO +0 STC DIGIT ADD NUM MUL I 12 /DEC.SHITF LEFT ADA I DIGIT, 0 STC NUM JMP NEXDIG ENTERR, LDA I /ENTRY ERROR: 277 JMP TYPE /"?" JMP GET+3 /RESTART INPUT / /SUBR ACCEPTS TTY CHAR, CHECKS FOR LF /TERMINATOR, ECHOES NON-LF & RETURNS AC / INCHAR, LDA 0 STC DONE-1 /SAVE RJ PDP PMODE KSF JMP .-1 KRB LINC LMODE SAE I 212 SKP JMP DONE /LF=ENTRY IN STA DIGIT JMP TYPE /ECHO ADD DIGIT HLT /RJ:DIGIT IN AC DONE, LDA I SIGN, 0 /CHECK FOR - AZE JMP .+3 ADD NUM RJGET, HLT /MAINLINE RETURN LDA I NUM, 0 COM JMP RJGET / /END GET SUBR / /WORKING STORAGE ARRAYS / CONTRL, 0 *.+100 /UP TO 40 PHASES TRDATA, 0 *.+100 / /PARAMETER INPUT LABELS / PARAMS, 4343 /2CR,LF TEXT "SESSID" 0043 TEXT "SUBJID" 0043 TEXT "DESIGN" 0043 TEXT "OUTPUT" 0043 TEXT "MSECS " 0043 TEXT "LUMIN1" 0043 TEXT "LUMIN2" 0043 TEXT "LUMIN3" 0043 TEXT "GRAPHS" 0043 TEXT "SW 5 UP FOR CALIB." 4300 / FINLAB, 4343 TEXT "END OF BLOCK:" TEXT " END OUTPUT TBLK=" ENDLAB, TEXT " NO OUTPUT FILE" / ERRLAB, 4343 TEXT "ERROR!" 4300 ENDEND, 0