mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-17 08:32:07 +00:00
Commit DCMCP transcription as of 2012-10-10.
This commit is contained in:
parent
c25e911127
commit
9e0d0f69d1
@ -13749,3 +13749,96 @@ END; % OF FILEHOLDER 18080000
|
||||
% OF FILE HEADER--ADDRESS OF HEADER IS IN OPTN.[CF]-- 18183000
|
||||
% NUMBER OF THE ROW TO BE FILLED IS IN OPTN.[FF] 18184000
|
||||
% IS IN OPTN.[CF] 18185000
|
||||
% A.[1:1] DIRECTORYSEARCH WILL FORGET THE MEMORY SPACE 18186000
|
||||
% OCCUPIED BY THE FILE HEADER 18187000
|
||||
% A.[2:1] IS DIALED INTO FH[4].[1:1] WHEN OPTN=4 18188000
|
||||
% A.[3:1] IF A CONFLICT OCCURS, AN "IF" WILL BE ENABLED. IF THE 18189000
|
||||
% OPERATOR ENTERS AN "IF", DIRECTORYSEARCH WILL RETURN A 18190000
|
||||
% VALUE OF 1. CURRENTLY, THIS IS USED ONLY BY LIBMAIN. 18191000
|
||||
% B.[1:1] DIRECTORYSEARCH WILL RETURN A VALUE OF 1 IF THE 18192000
|
||||
% FILE IS IN USE 18193000
|
||||
% B.[2:1] WILL NOT UPDATE DATE OF LAST ACCESS 18194000
|
||||
% B.[3:1] WILL SET FILE ACCESSED BIT FOR CLOSE 18195000
|
||||
BEGIN 18196000
|
||||
REAL OLDONE=-4; 18197000
|
||||
REAL TEMP,I,T,TOG,J,K,N,F,X; 18198000
|
||||
INTEGER S,I1,I2,I3; 18199000
|
||||
REAL UNITNO; 18199100
|
||||
ARRAY FH[*],NB[*]; 18200000
|
||||
$ SET OMIT = NOT SHAREDISK 18200490
|
||||
DEFINE DSED=TERMSET(P1MIX)#; 18201000
|
||||
$ SET OMIT = SHAREDISK 18201490
|
||||
DEFINE UNLOCKHDR = EXIT#; 18201500
|
||||
$ POP OMIT 18201510
|
||||
LABEL LL,EXT,CHECK,LWS; 18202000
|
||||
LABEL OPENSHARED,OPENINPUT,OPENOUTPUT,OPENWRITELOCK, 18203000
|
||||
OPENEXCLUSIVE,L6,L7,L8,EXIT,LWRITE,FOUND, 18204000
|
||||
THU,CLOSE,LW,BOMB,GETAROW,EX, 18205000
|
||||
CLOSESHARED,CLOSEINPUT,CLOSEOUTPUT,CLOSEWRITELOCK, 18206000
|
||||
CLOSEXCLUSIVE,ZER,UNSYS,SYS, 18207000
|
||||
SEE,LOCKSYS,DONTWAIT,NOFILE,COMPLETE,LEAVLKD,UNUSED; 18208000
|
||||
$ SET OMIT = NOT(DISKLOG) 18209000
|
||||
LABEL OPENPROTECT,CLOSEPROTECT; 18210300
|
||||
SWITCH Q~OPENSHARED,OPENINPUT,OPENOUTPUT,OPENWRITELOCK, 18211000
|
||||
OPENEXCLUSIVE,EXIT,L6,L7,L8,EXIT, 18212000
|
||||
CLOSESHARED,CLOSEINPUT, 18213000
|
||||
CLOSEOUTPUT,CLOSEWRITELOCK,CLOSEEXCLUSIVE 18214000
|
||||
$ SET OMIT = NOT(DISKLOG) 18215000
|
||||
$ SET OMIT = DISKLOG 18217000
|
||||
,EXIT 18218000
|
||||
$ POP OMIT 18218001
|
||||
,UNSYS,SYS 18219000
|
||||
,LOCKSYS,LEAVELKD,UNUSED,OPENPROTECT,CLOSEPROTECT 18220000
|
||||
; 18221000
|
||||
%************************************************* 18222000
|
||||
REAL SUBROUTINE SEARCH; 18223000
|
||||
BEGIN 18224000
|
||||
$ SET OMIT = NOT SHAREDISK 18224490
|
||||
S:=SCRAMBLE(A,B); 18225000
|
||||
DISKWAIT(-N,-60,S); 18226000
|
||||
LL: FOR X:=0 STEP 3 UNTIL 57 DO 18227000
|
||||
IF (NB[X] EQV A.[6:42]) = NOT 0 THEN 18227500
|
||||
IF (NB[X+1] EQV B.[6:42]) = NOT 0 THEN GO TO FOUND; 18228000
|
||||
IF (S:=NB[2].[FF])!0 THEN 18228500
|
||||
BEGIN DISKWAIT(-N,60,S); 18229000
|
||||
GO TO LL; 18229500
|
||||
END ELSE 18230000
|
||||
$ SET OMIT = NOT SHAREDISK 18230490
|
||||
GO TO EXT; 18231000
|
||||
FOUND: I~(K~NB[X+2].[CF]-DIRECTORYTOP-4).[44:4]|2; 18232000
|
||||
J ~(K AND NOT 15)+DIRECTORYTOP+19; 18233000
|
||||
K ~ K+DIRECTORYTOP+4; 18234000
|
||||
EXT: SEARCH ~ S; 18235000
|
||||
END; 18236000
|
||||
%************************************************* 18237000
|
||||
SUBROUTINE HEADER; 18238000
|
||||
BEGIN 18239000
|
||||
DISKWAIT(-F,30 18240000
|
||||
$ SET OMIT = NOT SHAREDISK 18240090
|
||||
,K); 18240200
|
||||
$ SET OMIT = NOT SHAREDISK 18240490
|
||||
TEMP:=F&K[CTF]&I[8:38:10]; 18241000
|
||||
END; 18242000
|
||||
%************************************************* 18243000
|
||||
SUBROUTINE REMOVER; % CANT BE CALLED FROM OTHER SUBROUTINES. 18244000
|
||||
BEGIN NB[X]~@14; 18245000
|
||||
DISKWAIT(N,-60,S); 18245500
|
||||
$ SET OMIT = NOT SHAREDISK 18245990
|
||||
DISKWAIT(-N,-30,J); 18247500
|
||||
NB[I]~@14; NB[I+1]~NEXTSLOT; NEXTSLOT~K; 18248000
|
||||
DISKWAIT(N,-30,J); 18248500
|
||||
$ SET OMIT = NOT SHAREDISK 18248990
|
||||
END; 18250000
|
||||
%************************************************* 18251000
|
||||
SUBROUTINE HOLD; 18252000
|
||||
BEGIN 18253000
|
||||
$ SET OMIT = NOT SHAREDISK 18253490
|
||||
IF B.[1:1] THEN GO DONTWAIT; 18254000
|
||||
$ POP OMIT OMIT 18254010
|
||||
FILEHOLD(A,B,TOG,TEMP,1); 18255000
|
||||
IF P THEN % 0 OR 1 IS LEFT ON TOP OF STACK IN FILEHOLD 18255100
|
||||
BEGIN TEMP:=3; A:=-1; GO EXIT; END % DS-ED IN FILEHOLD 18255200
|
||||
ELSE 18255300
|
||||
IF P1MIX!0 THEN 18256000
|
||||
IF REPLY[P1MIX]=VIF THEN 18258000
|
||||
BEGIN 18259000
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user