diff --git a/SYMBOL/DCMCP.esp_m b/SYMBOL/DCMCP.esp_m index e3bf5ab..f6ab988 100644 --- a/SYMBOL/DCMCP.esp_m +++ b/SYMBOL/DCMCP.esp_m @@ -285,7 +285,6 @@ TRYAGAIN: BEGIN SLEEP([M[PRTLOC]],0&TRUE [MAYBEWORKEDON]);% %156-00050000 GO TO POLISH(MEMORY[PRTLOC]);% 00055000 GO TO START; % PLACE DESC.IN PRT FOR MCP TO AUXMEM TRANSFER 00055100 END ESPBIT;% 00056000 -$ PAGE 00057000 LABEL FINDIT; 00057100 REAL RESULT=12 ,RESULT2=13 ,RESULT3=14 ,RESULT4=15 ;% 00058000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00060000 @@ -979,3 +978,143 @@ SAVE PROCEDURE RESULT; 00646900 BEGIN 00647000 GO TO P([18]); % TIMER IS A LOOP ON INTERRUPTS 00648000 END; 00649000 + 00649999 +SAVE PROCEDURE PUNT(I); VALUE I; REAL I; 00650000 + BEGIN REAL T=-3; 00650250 + REAL TMB, RSLT=RESULT; 00650500 + LABEL HA,HB; 00650750 + I:=IF I=0 THEN T ELSE PUNTER INX I; 00651000 + STREAM(Q:=P(0,RDF): I, 00651800 + A:=18, D:=I:=PUNTER INX 0); 00652000 + BEGIN DS:= 16 LIT"-SYSTEM HANG, F="); %104-00652400 + SI:=LOC Q; SI:=SI+3; 00652600 + 5(DS:=3 RESET; 00652800 + 3(IF SB THEN DS:=SET ELSE DS:=RESET; SKIP SB)); 00653000 + DSD:=2 LIT": "; SI:=1; 00653200 + 63(IF SC!"~" THEN DS:=CHR); DS:=LIT"~"; 00653400 + DI:=A; DS:=8 LIT"29290+JI"; % INI,INI,4,BBW 00653600 + SI:=A; DS:=44 WDS; 00653800 + DI:=A; DI:=DI+8; % IOBUSY- 00654000 + DS:=4 LIT"002("; % 0,RTN 00654200 + DI:=DI+28; % IOCOMPLETE-LOD R,RTN 00654400 + DS:=32 LIT"0 +A+:2(OU+A+:2(0Y+A+:2(0!+A+:2("; 00654600 + END; 00654800 + P(HP2); 00655000 + HA: TMB:=I&60[3:42:6]; 00655200 + P([TMB],IIO); 00655400 + HB: DO IF (TMB:=P(MKS,RSLT)) = 0 THEN % IO BUSY 00655600 + BEGIN P(MKS,RSLT,DEL); GO HA END 00655800 + UNTIL TMB.[3:6]=60; 00656000 + IF TMB.[CF]