Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fun chunks of code from the Tymshare stuff #56

Open
PashPaw opened this issue Sep 17, 2021 · 7 comments
Open

Fun chunks of code from the Tymshare stuff #56

PashPaw opened this issue Sep 17, 2021 · 7 comments
Labels

Comments

@PashPaw
Copy link
Collaborator

PashPaw commented Sep 17, 2021

From lines 544-558 in interp.15:

        SUBTTL	CENTRAL-PROCESSOR/SUPERVISOR INTERFACE
	EXTERN S62,S61,ERR
	INTERNAL	ERRX,S61X,S62X
	EXTERN	MONENT,COMEBACK,CT14;
	INTERN	JOSS,INTBEG;
	BUFAD=4;
	EXTERN	USERS,HR,MIN,SECONDS;
	EXTERN	ACTION,RESULT,FILE,KEY,NAME,PROG;
	EXTERN	TYPE,FLAG,BFR,BFRP;
	EXTERN	RPN,KILL;

X43:	HRRI	A,X44;	AFTER LOG-ON RITUAL.
	HRRZM	A,ME;
	HRRZM	A,INTENT;
	SETZM	RETURN; `
@PashPaw PashPaw added the notes label Sep 17, 2021
@PashPaw
Copy link
Collaborator Author

PashPaw commented Sep 17, 2021

More from interp.15 (758-764):

E3C.1:	F	A1,US0;	AT LAST BYTE OF INPUT IMAGE
	FI	CC,CGII;
	DPB	CC,A1;	MAKE SURE IT IS A CG
	SETZM	UP0;
	F	A,WIDTH;
	CAIN	A,110;
	SETOM	UP0;	NOTE TTY OR JOSS CONSOLE

1235-1241:

X50:	SKIPN	UP1;	IS THIS A DEAD LINE?
	J	V0;	YES
	SKIPE	UP3;	TRANSMISSION ERROR?
	PJ	E48;	YES
	MOVE	A,UP2;
	LDB	CC,A;	LOOK AT LAST 
	MOVEI	B1,PERIOD;	NON-BLANK BYTE.

@PashPaw
Copy link
Collaborator Author

PashPaw commented Sep 17, 2021

Not important but silly (lines 4954-4963):

	SETZM	UP1;	THINK POSITIVELY!
	JUMPE	B1,S52.3;	ALL BLANK -- OLE
	LDB	CC,B1;
	CAIN	CC,STAR;
	JRST	0,S52.3;	STAR-HEAD -- CRAZY
	LDB	CC,B2;
	CAIN	CC,STAR;
	JRST	0,S52.3;	STAR-TAIL -- MMMMMM
	SETOM	UP1;	BAH!!
S52.3:	M	B2,UP2;	POINTS AT LAST BYTE.

@larsbrinkhoff
Copy link
Member

larsbrinkhoff commented Sep 17, 2021 via email

@PashPaw
Copy link
Collaborator Author

PashPaw commented Sep 17, 2021

It's certainly very JOSS-y code!

Indeed! I'll keep digging especially as I think I found one of the functions in su.mac in impur.15.

@PashPaw
Copy link
Collaborator Author

PashPaw commented Sep 17, 2021

Lines 43-53 in impur.15:

INTERN T7.9,COMEBACK,CT14,HR,MIN,SECOND,USERS

T7.9:	Z			;COUNT OF ARITH OPERATIONS
COMEBA:	Z			;COMEBACK FLAG
				;WHEN SET, INTERP CALLS MONITOR
CT14:	Z			;COUNT OF STATEMENTS INTERPRETED
USERS:	Z			;NO OF USERS ON (?)

HR:	Z			;TIME OF DAY, HOUR PART
MIN:	Z			;TIME OF DAY, MINUTE PART
SECOND:	Z			;TIME OF DAY, SECOND PART

From su.mac (170-189):


				INTERN	 DATE,HR,MIN,TIME
				INTERN	 CTD,CTDR,CTDB
				INTERN	 CT24,CT17,CT23,CT37
				INTERN	 CT14,CT19,CT18
				INTERN	 CT15,CT22
				INTERN	 CT27A,CT27B,CT46,CT47
				INTERN	CT22A,CT18A,CT18B,TERASE,S.S,N.CB
				INTERN	YEAR,MONTH,DAY,SEC,CT22A
				INTERN	 S.OK
				INTERN	 N.SON,APRR,PROP
				INTERN	 CT11,CT13,CT16,CT28,CT31
				INTERN	 DRMR,S.QUE,CMESS,ADATE,OCTW
				INTERN	 T8,KILL
				INTERN	 S.BUF,COMEBACK,N.S,SIGTBL,SG.L,SG.M,SG.LIM
				INTERN	 USERS,MONENT,T7.9
				INTERN	 CORE,SECONDS,CTYR
				INTERN	 HMES,PPW,TYPE6,SOUT,SIGPR
				INTERN	 SSIG,RSIG,TSIG
				INTERN	 T9,T10,T11,T11.1,T11.2,T11.3,T11.4,T11.5
				INTERN	 T11.6,T11.7,T11.8,T11.9		


505-531:

;PG. 18 - COUNTERS FOR ACCOUNTING, STATISTICS, AND DEBUGGING



			;	CHARACTER (MOSTLY) INTERRUPTS/SECOND/USER
			,	RANGE: >=15,15-7.5,7.5-3,3-1.5, ... , .75-.03,<.03
		
			IINT:	ZBLOK 12;  INPUT INTERRUPTS
			OINT:	ZBLOK 12;  OUTPUT INTERRUPTS
			TINT:	ZBLOK 12;  TOTAL INTERRUPTS
			T5:	ZBLOK 12;  INTERPRETATION RATE
			T6:	ZBLOK 12;  BLOCKSIZE DISTRIBUTION
			T7:	ZBLOK 12;  MISC COUNTS
			T7.9=T7+9
			T8:	ZBLOK 12;  TASK TURN-AROUND TIME
			T9:	ZBLOK 12;  JOE USES T9, T10, AND T11 TO COUNT
			T10:	ZBLOK 12;  COMMAND EXECUTIONS BY VERB TYPE
			T11:	ZBLOK 12
			T11.1=T11+1
			T11.2=T11+2
			T11.3=T11+3
			T11.4=T11+4
			T11.5=T11+5
			T11.6=T11+6
			T11.7=T11+7
			T11.8=T11+8
			T11.9=T11+9

Since these are internals, I suspect that they likely serve the same purpose. Also, impur.15 is gone in later versions of AID.

@PashPaw
Copy link
Collaborator Author

PashPaw commented Sep 19, 2021

From arith.15 (line 1986, block ends at 2140, so I'm not going to paste the whole thing):

IFN RAND,<	SUBTTL	S85: TYPE USER DICTIONARY
,	CALLING SEQUENCE

,		JSR S85
,		NOTHING TO TYPE EXIT
,		TYPE OUT SETUP EXIT
...
	SUBTTL	S86A:UNPACK 2
S86A:	UNPK	B
	JSR	S87
	JRST	2,@S86
	SUBTTL	S87A:UNPACK 1


This entire block is gone in arith.mac from 5.03. Also, some of the comments in arith.15 and interp.15 are weirdly anachronistic since they were changed from semicolons to commas in the 1965 version of the MACRO-6 manual.

@PashPaw
Copy link
Collaborator Author

PashPaw commented Oct 10, 2021

The Tymshare code contains an AID.OPR that gives instructions on how to compile this for the PDP-6 or 3-series monitors, non-reentrant AID for the 4-series, and the reentrant AID instructions for the 4-series and that works on Monitor 5.03 with MACRO-10 v47.

But, considering what I'm digging up, I think that at least the interpreter came from RAND and the USAF.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants