1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-01-17 08:32:07 +00:00

Commit DCMCP transcription and ESPOLXEM mods as of 2012-08-13.

This commit is contained in:
Paul Kimpel 2012-08-13 23:12:45 +00:00
parent 103043b967
commit 56762c9375

View File

@ -8555,3 +8555,78 @@ AGAIN: T:=SPACE(10); 08577700
DISKWAIT( T,30,DIRECTORYTOP-SYSNO); %146-08597830
FORGETSPACE(T); %146-08597840
END;% 08598000
BOOLEAN PROCEDURE WHYSLEEP(MASK); VALUE MASK; REAL MASK; 08599000
BEGIN 08600000
REAL A, B; 08601000
IF REPLY[P1MIX]=VWY THEN 08602000
BEGIN 08603000
B:=SPACE(KEYMSGSZ); 08604000
DISKWAIT(-B,KEYMSGSZ,MESSAGETABLE[2].[22:26]); 08604100
STREAM(B,MASK,T:=0,O:=0,D:=0,A:=A:=SPACE(4)); 08605000
BEGIN 08606000
SI:=LOC MASK; 08607000
8(IF SC="0" THEN GO TO NEXT; 08608000
IF SC=VWY THEN 08609000
BEGIN 08610000
DI:=A; DS:=3LIT" DS"; A:=DI; GO TO NEXT; 08611000
END; 08612000
T:=SI; DI:=LOC 0; DI:=DI+7; DS:=CHR; 08613000
SI:=LOC O; DI:=LOC D; DI:=DI+6; DS:=2DEC; 08614000
SI:=B; 08615000
R: SI:=SI+6; DI:=DI-2; 08616000
IF SC="*" THEN % END OF FIRST PART OF TABLE 08617000
BEGIN 08617500
SI:=T; GO TO NEXT; 08618000
END; 08618500
IF 2SC NEQ DC THEN GO TO R; 08619000
SI:=SI-6; DI:=A; DS:=LIT" "; DS:=2CHR; A:=DI; SI:=T; 08619500
NEXT: SI:=SI+1); 08620000
DI:=A; DS:=LIT"~"; 08620500
END STREAM STATEMENT; 08621000
SPOUT(A); 08621500
FORGETSPACE(B); 08621600
END % IF "WY" 08622000
ELSE WHYSLEEP:=TRUE; 08622500
END PROCEDURE WHYSLEEP; 08623000
PROCEDURE CHANGEOPTION(BUFF,RS);% 08624000
VALUE BUFF,RS;REAL BUFF,RS;% 08625000
BEGIN REAL B,T,OP,BUS,MASK,OPTER; 08626000
SLEEP([TOGLE],HOLDMASK); 08627000
LOCKTOG(HOLDMASK); 08628000
BUS ~ BUFF.[15:15]-1; B ~ SPACE(30);% 08629000
DISKIO(T,1-B,-30,DIRECTORYTOP-SYSNO); 08630000
OPTER ~ SPACE(OPTIONSZ); 08630100
DISKWAIT(-OPTER,OPTIONSZ,MESSAGETABLE[0].[22:26]); 08631000
STREAM(BUFF,T~0,OPTER,R~[OP]);% 08632000
BEGIN% 08633000
L0: SI~BUFF; %535-08634000
L1: IF SC=" " THEN BEGIN SI~SI+1; GO TO L1; END; %535-08635000
IF SC<"0" THEN %535-08636000
IF SC!"~" THEN %535-08637000
BEGIN TALLY~0; T~TALLY; DI~LOC T; %535-08638000
8(IF SC=" " THEN JUMP OUT ELSE %535-08639000
IF SC="~" THEN JUMP OUT ELSE %535-08640000
IF SC}"0" THEN JUMP OUT ELSE DS ~CHR); %535-08641000
BUFF~SI; SI~OPTER; %535-08642000
63(DI~LOC T; %535-08643000
IF 8 SC=DC THEDN JUMP OUT TO L2 ELSE %535-08644000
IF SC="~" THEN JUMP OUT TO L0 ELSE TALLY~TALLY+1);08645000
GO TO L3; %535-08646000
L2: IF SC="~" THEN GO TO L0; %535-08647000
END ELSE %535-08648000
L3: TALLY~48 ELSE %535-08649000
BEGIN DI~LOC T; SI~SI+1; %535-08650000
IF SC<"0" THEN BEGIN SI~SI-1; DS~1 OCT; END %535-08651000
ELSE BEGIN SI~SI-1; DS~2 OCT; END; %535-08652000
TALLY~47; T(TALLY~TALLY+63); %535-08653000
END; %535-08654000
T~TALLY; SI~LOC T; DI~R; DS~WDS; %535-08655000
END;% 08657000
IF OP<47 THEN 08658000
BEGIN;STREAM(A ~ IF RS THEN " RESET" ELSE " SET",% 08659000
O~OPTER INX OP,OP ~ 47-OP,BUS);% 08660000
BEGIN DS ~ LIT " "; SI ~ LOC OP; DS ~ 2 DEC;% 08661000
DS ~ LIT " "; SI ~ O;% 08662000
8(IF SC=0 THEN JUMP OUT TO L; DS~CHR);% 08663000
L: SI ~ LOC A; SI ~ SI+2; DS ~ 6 CHR;% 08664000
DS ~ LIT"~";% 08665000