1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-02-10 01:20:13 +00:00

Commit DCMCP transcription and ESPOLXEM mods as of 2012-08-16;

more minor corrections to ESPOL and ALGOLXEM.
This commit is contained in:
Paul Kimpel
2012-08-16 13:34:29 +00:00
parent 6372145c55
commit c113ac9af3

View File

@@ -8770,3 +8770,61 @@ INCR: N:=N+1; 08692600
GO TO OK; 08711200
END; 08711400
IF HEADER[7] GEQ PBDTOTRECS THEN % GET A NEW FILE 08711600
BEGIN 08711800
IF I:=HEADER[5].[3:1] THEN HEADER[5].[3:1]:=0; 08712000
H~SPACE(30); S~M[HEADER INX NOT 0]; 08712100
DISKWAIT(-H,30,S); 08712110
M[H+7]~HEADER[7]; 08712120
M[H+5].[2:1]~0; 08712130
DISKWAIT(H,30,S); 08712140
M[H+7]~M[H+9]~0; 08712150
MOVE(20,H+9,H+10); 08712160
M[H+5]~(*P(DUP)) OR H; 08712170
HEADER[5].[3:1]:=1; %SET CP BK UP TOG 08712200
HEADER[7] := 0; 08712500
HEADER[3] := XCLOCK + P(RTR); 08713000
STREAM(ONE:=1, H:=[HEADER[6]]); 08713250
BEGIN SI:=LOC ONE; DS:=8 ADD; 08713500
DI:=DI+24; 20(DS:=8 LIT"0"); 08713750
END; 08714000
M[H+7]~PBDROWSZ DIV 3; 08714110
HEADER[9]~M[H+9]~1; 08714120
HEADER[10]~M[H+10]~GETUSERDISK(-(PBDROWSZ+1)); 08714130
M[HEADER INX NOT 0] := EUF(-(IF I THEN "PUD " 08714140
ELSE "PBD "),HEADER[6],H-1); 08714150
FORGETSPACE(H); 08714170
$ SET OMIT = PACKETS 08714199
FILEMESSAGE((IF I THEN "PUD " ELSE 08714300
"PBD ")&HEADER[6][24:6:24], 08714310
"OUT " &HEADER[6][30:30:18], 08714320
0," ",0,0,0, 08714330
(PBDREL OR OPNMESS)); 08714340
END; 08714400
END ELSE 08714500
IF HEADER[7] MOD PBDRECS=0 THEN %GET NEW ROW 08715000
BEGIN H:=SPACE(30); S:=M[HEADER INX NOT 0]; 08715100
DISKWAIT(-H,30,S); 08715200
HEADER[9+HEADER[9]~*P(DUP)+1]~ 08716000
GETUSERDISK(-(PBDROWSZ+1)); 08716010
M[H+9+HEADER[9]]~HEADER[9+HEADER[9]]; 08716100
M[H+9]~HEADER[9]; 08716110
M[H+7]~HEADER[7] + PBDROWSZ DIV 3; 08716200
DISKWAIT(H,30,S); 08716300
FORGETSPACE(H); 08716500
END; 08716600
OK: 08716800
STREAM(A~1~HEADER[HEADER[9]+9]+(HEADER[7] MOD 08717000
PBDRECS)|3,D~POINTER.[CF]-1); 08718000
BEGIN SI~LOC A; DS~8 DEC END; %P 08720000
HEADER[7]~(*P(DUP))+1; %P 08721000
IOD~@141330100477777; 08722000
END ELSE %% ON TAPE %% %P 08723000
IOD~@21320500000000&M[POINTER INX NOT 1][3:14:4]; %P 08724000
IOREQUEST(M[ALPHA],POINTER INX IOD&ALPHA[24:1:1], %P 08726000
M[POINTER INX NOT 1]); 08727000
M[T]~IOD INX M[T]$0[26:26:7]&0[19:19:1] AND NOT M; 08728000
IF H LSS 0 THEN 08728500
BEGIN TERMINATE(P1MIX); 08728600
TERMINALMESSAGE(H); 08728700
END; 08728800
END PBIO; 08729000