mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-03-02 17:44:40 +00:00
1. Commit library tape images, directories, and extracted text files. 2. Commit additional utilities under Unisys-Emode-Tools.
68 lines
5.3 KiB
Plaintext
68 lines
5.3 KiB
Plaintext
BEGIN 00000100
|
|
COMMENT CUBE LIBRARY NUMBER IS M200010. THE PROGRAM NAME IS 00000200
|
|
"COORD/TTY". THIS VERSION DATED 5/3/68; 00000300
|
|
ALPHA FILE IN TTIN 14(2,8); 00000400
|
|
ALPHA FILE OUT TTOUT 14(2,8); 00000500
|
|
ARRAY Z[0:7]; 00000600
|
|
INTEGER GP,S; 00000700
|
|
LABEL LRTP,LPTR,DUNN,L1,L2,MORE; 00000800
|
|
FORMAT F1(X8,"{!TYPE RTP FOR RECT TO POLAR{!~"), 00000900
|
|
F2(X8,"TYPE PTR FOR POLAR TO RECT{!~"), 00001000
|
|
F2A(X8,"AT THE END OF EACH SET TYPE RTP OR PTR!{~"), 00001100
|
|
F2B(X8,"OR TYPE NO IF YOU WISH TO QUIT{!~"), 00001200
|
|
FA(X8,"{!A= ~"), 00001300
|
|
FB(X8,"{!B= ~"), 00001400
|
|
FC(X8,"{!C= ~"), 00001500
|
|
FT(X8,"{!ANGLE= ~"), 00001600
|
|
F3(X8,A3), 00001700
|
|
F4(X8,"{!YOU DID NOT ENTER PTR OF RTP. YOU WILL BE~"), 00001800
|
|
F5(X8,"{!GIVEN ONE MORE CHANCE{!~"), 00001900
|
|
F6(X8,R*.0), 00002000
|
|
F7(X8,"{!C= ",R20.10," ANGLE= ",R20.10,"{!~"), 00002100
|
|
F8(X8,"{!A= ",R20.10," B= ",R20.10,"{!~"); 00002200
|
|
ALPHA WHICH; 00002300
|
|
BOOLEAN NOGO; 00002400
|
|
DEFINE RT=READ(TTIN(S)#, WT=WRITE(TTOUT(S)#; 00002500
|
|
REAL A,B,C,T; 00002600
|
|
INTEGER STREAM PROCEDURE FINDGP(B); 00002700
|
|
BEGIN 00002800
|
|
LABEL HERE; 00002900
|
|
SI~B; 20(IF SC="~" THEN JUMP OUT 1 TO HERE; 00003000
|
|
SI~SI+1; TALLY~TALLY+1); 00003100
|
|
HERE: FINDGP~TALLY; 00003200
|
|
END; 00003300
|
|
PROCEDURE READIT(V,FF); 00003400
|
|
REAL V; 00003500
|
|
FORMAT FF; 00003600
|
|
BEGIN 00003700
|
|
WT,FF); RT,8,Z[*]); 00003800
|
|
GP~FINDGP(Z[1]); 00003900
|
|
READ(Z[*],F6,GP,V); 00004000
|
|
END; 00004100
|
|
NOGO~FALSE; 00004200
|
|
S~STATUS(Z[*]); 00004300
|
|
S.[9:9]~Z[0].[9:9]; 00004400
|
|
L1: WT,F1); WT,F2); WT,F2A); WT,F2B); 00004500
|
|
L2: RT,F3,WHICH); 00004600
|
|
IF WHICH="RTP" THEN GO TO LRTP; 00004700
|
|
IF WHICH="PTR" THEN GO TO LPTR; 00004800
|
|
IF WHICH.[36:12]="NO" THEN GO TO DUNN; 00004900
|
|
IF NOGO THEN GO TO DUNN; 00005000
|
|
NOGO~TRUE; 00005100
|
|
WT,F4); WT,F5); 00005200
|
|
GO TO L1; 00005300
|
|
LRTP: READIT(A,FA); READIT(B,FB); 00005400
|
|
C~SQRT(A*2+B*2); 00005500
|
|
T~ARCTAN(B/A)|57.29578; 00005600
|
|
IF A<0 AND B<0 THEN T~T-180; 00005700
|
|
IF A<0 AND B>0 THEN T~T+180; 00005800
|
|
WT,F7,C,T); 00005900
|
|
GO TO MORE; 00006000
|
|
LPTR: READIT(C,FC); READIT(T,FT); 00006100
|
|
T~T|0.017453; 00006200
|
|
A~C|COS(T); 00006300
|
|
B~C|SIN(T); 00006400
|
|
WT,F8,A,B); 00006500
|
|
MORE: GO TO L2; 00006600
|
|
DUNN: END. 00006700
|