mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-18 08:51:56 +00:00
Commit DCMCP transcription as of 2012-09-25.
This commit is contained in:
parent
b3fa9353fc
commit
1409f8ccce
@ -12368,3 +12368,127 @@ PROCEDURE COREPRINT(Q); VALUE Q; REAL Q; 15600000
|
||||
END; 15604700
|
||||
FORGETSPACE(C INX 0); 15604800
|
||||
END COREPRINT; 15604900
|
||||
$ SET OMIT = NOT(AUXMEM) 15604999
|
||||
PROCEDURE LOGCOMMENT (Q); VALUE Q; REAL Q; 15610000
|
||||
BEGIN 15611000
|
||||
REAL I,J,K,L; 15612000
|
||||
ARRAY LOG[*]; 15613000
|
||||
L ~ SPACE(72); 15614000
|
||||
STREAM (Q:D~L+5); 15615000
|
||||
BEGIN SI ~ Q; 15616000
|
||||
L: IF SC!"~" THEN BEGIN DS ~ CHR; GO TO L; END; 15617000
|
||||
5(DS ~ 8 LIT " "); DI ~ DI-32; Q ~ DI; 15618000
|
||||
END; 15619000
|
||||
I ~ P.[33:15]; LOG ~ [M[L]] & (I=L+4)[8:38:10]; 15620000
|
||||
LOG[3] ~ I ~ I-L-5; % NUMBER OF WORDS IN COMMENT 15621000
|
||||
WHILE (J:=XCLOCK+P(RTR)) GEQ WITCHINGHOUR DO MIDNIGHT; 15622000
|
||||
LOG[2] ~ DATE.[18:30]; 15623000
|
||||
LOG[1] ~ J; 15624000
|
||||
LOG[0] ~ 99; 15625000
|
||||
LOGSPACE([LOG[0]],I+9); 15626000
|
||||
FORGETSPACE(LOG); 15627000
|
||||
END; 15628000
|
||||
REAL PROCEDURE KEYINSCAN(KTR,MIX); REAL KTR,MIX; 16034900
|
||||
BEGIN 16035000
|
||||
REAL TYPE=+1, TBLADDR; 16035100
|
||||
% SCANS IN PUT BUFFER FROM SPO 16035200
|
||||
% RETURNS ERROR FLAG IN MIX.[1:3] ... 16035300
|
||||
% MIX.[1:1]=FLAG FOR EMPTY BUFFER (GROUP MARK ONLY) 16035400
|
||||
% MIX.[2:1]=FLAG FOR NO INFO AFTER MIX INDEX 16035500
|
||||
% MIX.[3:1]=FLAG FOR QMARK (CC) INPUT AS FIRST CHARACTER 16035600
|
||||
% KTR IS INITIALLY THE ADDRESS OF SPO INPUT BUFFER 16035700
|
||||
% KTR IS ASSIGNED NEXT CHARACTER LOCATION AFTER SCAN 16035800
|
||||
% TYPE.[CF] IS ASSIGNED TABLE LOCATION (MIXMSG OR INFOMSG) 16035900
|
||||
% TYPE.[1:5] IS ASSIGNED PROCEDURE NUMBER 16036000
|
||||
% TYPE.[6:6] IS ASSIGNED MIXCODE 16036100
|
||||
STREAM(MIX:=63, BUFF:=KTR :); % SCAN INPUT BUFFER 16036200
|
||||
BEGIN 16036300
|
||||
SI:=BUFF; 16036400
|
||||
DI:=BUFF; DI:=DI-1; DS:=LIT"<"; % BACKSPACE CHARACTER 16036500
|
||||
8(60(IF SC="~" THEN % END OF INPUT STRING 16036600
|
||||
BEGIN 16036700
|
||||
DS:=CHR; JUMP OUT 2 TO L; 16036800
|
||||
END; 16036900
|
||||
IF SC="<" THEN % BACK SPACE CHARACTER 16037000
|
||||
BEGIN 16037100
|
||||
DI:=DI-1; IF SC NEQ DC THEN DI:=DI-1; 16037200
|
||||
END 16037300
|
||||
ELSE DS:=CHR)); % END OF BACKSPACE CHECK 16037400
|
||||
L: SI:=BUFF; DI:=LOC MIX; % CHECK FOR MIX INDEX 16037500
|
||||
L1: IF SC=" " THEN 16037600
|
||||
BEGIN 16037700
|
||||
SI:=SI+1; GO TO L1; 16037800
|
||||
END; 16037900
|
||||
IF SC="~" THEN % EMPTY BUFFER 16038000
|
||||
BEGIN 16038100
|
||||
SKIP DB; DS:=SET; GO TO XXIT; % MIX.[1:1]=EMPTY BUFFER FLAG 16038200
|
||||
END; 16038300
|
||||
IF SC LSS "0" THEN GO TO XXIT; % NO MIX INDEX, SET "MIX"=63 16038400
|
||||
IF SC GTR "9" THEN % QUESTION MARK, SET MIX.[3:1] 16038500
|
||||
BEGIN 16038600
|
||||
SI:=SI+1; SKIP 3DB; DS:=SET; GO TO XXIT; % MIX.[3:1]=QMARK FLAG16038700
|
||||
END; 16038800
|
||||
SI:=SI+1; IF SC LSS "0" THEN GO TO ONE; 16038900
|
||||
IF SC LEQ "9" THEN 16039000
|
||||
BEGIN 16039100
|
||||
SI:=SI-1; DS:=2OCT; 16039200
|
||||
END 16039300
|
||||
ELSE 16039400
|
||||
BEGIN 16039500
|
||||
ONE: SI:=SI-1; DS:=OCT; 16039600
|
||||
END; 16039700
|
||||
L2: IF SC=" " THEN % SCAN TO NEXT VISIBLE CHARACTER 16039800
|
||||
BEGIN 16039900
|
||||
SI:=SI+1; GO TO L2; 16040000
|
||||
END; 16040100
|
||||
IF SC="~" THEN % NO INFORMATION AFTER MIX INDEX 16040200
|
||||
BEGIN 16040300
|
||||
DI:=LOC MIX; SKIP 2DB; DS:=SET; % MIX.[2:1]=ERROR FLAG 16040400
|
||||
END; 16040500
|
||||
XXIT: DI:=BUFF; DI:=DI-8; DS:=8LIT"INV KBD "; 16040600
|
||||
BUFF:=SI; % SAVE LOCATION OF NEXT CHARACTER IN BUFFER 16040700
|
||||
END STREAM; 16040800
|
||||
IF P([KTR],STD,[MIX],SND).[1:3]=0 THEN % NOT QMARK,EMPTY OR ERROR 16040900
|
||||
BEGIN 16041000
|
||||
TBLADDR:=TYPE:=SPACE(KEYMSGSZ); 16041100
|
||||
DISKWAIT(-TYPE,KEYMSGSZ,MESSAGETABLE[2].[22:26]); 16041110
|
||||
STREAM(TBBL:=TYPE, BUFF:=KTR : TOG:=(MIX NEQ 63)); 16041200
|
||||
BEGIN 16041300
|
||||
SI:=TBBL; SI:=SI+1; DI:=BUFF; DI:=DI+2; 16041400
|
||||
NEXT: CI:=CI+TOG; GO TO NOMIX; 16041500
|
||||
MIX: IF SC GEQ 1 THEN GO TO OK ELSE % MIX SPECIFIED 16041550
|
||||
BEGIN % BUT THIS IS NOT 16041600
|
||||
SI:=SI+8; GO TO MIX; % A MIX MESSAGE. 16041650
|
||||
END; 16041700
|
||||
NOMIX: IF SC GTR 1 THEN % MIX NOT SPECIFIED 16041750
|
||||
BEGIN % BUT THIS IS A 16041800
|
||||
SI:=SI+8; GO TO NOMIX; % MIX MESSAGE. 16041850
|
||||
END; 16041900
|
||||
OK: SI:=SI+1; DI:=DI-2; 16042000
|
||||
IF SC="~" THEN % END OF TABLE 16042100
|
||||
BEGIN 16042200
|
||||
TBBL:=TALLY; GO TO XT; 16042300
|
||||
END; 16042400
|
||||
IF 2 SC!DC THEN % NOT MATCHING ENTRY 16042450
|
||||
BEGIN 16042500
|
||||
SI:=SI+5; GO TO NEXT; 16042550
|
||||
END; 16042600
|
||||
TOG:=DI; DI:=LOC TBBL; SI:=SI+2; DS:=2 OCT; % SWITCH VALUE 16042650
|
||||
SI:=SI-4; DI:=LOC TBBL; DS:=2CHR; % PROCED & MIXCODE 16042700
|
||||
SI:=TOG; 16042800
|
||||
L: IF SC=" " THEN 16042900
|
||||
BEGIN 16043000
|
||||
SI:=SI+1; GO TO L; 16043100
|
||||
END; 16043200
|
||||
BUFF:=SI; 16043300
|
||||
XT: END STREAM STATEMENT; 16043400
|
||||
P( [KTR],STD, .TYPE,STD); 16043500
|
||||
FORGETSPACE(TBLADDR); 16043550
|
||||
END % IF NOT QMARK, EMPTY OR ERROR 16043600
|
||||
ELSE % QMARK, EMPTY OR ERROR 16043620
|
||||
IF MIX.[3:1] THEN % QMARK 16043640
|
||||
BEGIN MIX:=63; 16043660
|
||||
TYPE:=VCC&@104[1:37:11]; 16043680
|
||||
END 16043700
|
||||
ELSE TYPE:=0; 16043750
|
||||
END PROCEDURE KEYINSCAN; 16043800
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user