1
0
mirror of https://github.com/pkimpel/retro-220.git synced 2026-03-01 09:31:05 +00:00
Files
Paul Kimpel 28eae3bfdd Commit support for paper-tape/TTY I/O in BALGOL and run-time.
1. Implement paper-tape/TTY versions of compiler INPUTMEDIA and
OUTPUTMEDIA routines, and the run-time REED and RITE routines.
2. Create Generator callout deck to make a compiler tape containing
paper-tape/TTY support.
3. Create a compiler tape containing paper-tape/TTY support.
4. Create a paper-tape compiler callout bootstrap program.
5. Correct address for NUMB in Generator source to match the address in
the compiler's Overlay module.
6. Create corrected Generator tape (must be used to create compilers
with paper-tape/TTY support).
7. Add option to produce Generator INPUTMEDIA/OUTPUTMEDIA object card
decks to BAC-Assembler and GEN-Assembler.
8. Create Xlate-Card-PT.wsf utility to convert card-image files to
retro-220 paper-tape image files.
9. Create paper-tape versions of example BALGOL programs.
2018-10-23 13:15:31 -07:00

1393 lines
9.5 KiB
XML

22 COM
2MENT
2SECON
2D EXA
2MPLE
2PROGR
2AM FR
2OM BA
2LGOL
2MANUA
2L, MA
2RCH 1
2963.
2
22 THI
2S IS
2THE C
2ORREC
2TED V
2ERSIO
2N THA
2T COM
2PUTES
2 AREA
2 USIN
2G NOR
2TH/SO
2UTH
22 RAT
2HER T
2HAN N
2ORTH/
2SOUTH
2 DISP
2LACEM
2ENTS
2IN TH
2E CAL
2CULAT
2ION F
2OR -S
2UM-.
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 THE
2 PROG
2RAM W
2HICH
2FOLLO
2WS IS
2 ONE
2FOR S
2URVEY
2 TRAV
2ERSE
2CALCU
2LATIO
2NS;
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 COM
2MENT
2SURVE
2Y TRA
2VERSE
2 CALC
2ULATI
2ONS;
2
2
2
2
2
2
22 TRA
2CE AN
2GLE;
2
2
2
2
2
2
2
2
2
2
2
22 DUM
2P EW,
2 NS,
2CD;
2
2
2
2
2
2
2
2
2
2
22 INT
2EGER
2I, J,
2 K, S
2URVEY
2, D()
2, M()
2, S()
2, Q()
2, N;
2
2
2
2
22 FUN
2CTION
2 LENG
2TH(X,
2Y) =
2SQRT(
2X*2 +
2 Y*2)
2;
2
2
2
2
2
22 ARR
2AY D(
2200),
2 M(20
20), S
2(200)
2, Q(2
200),
2MD(20
20), N
2S(200
2),
2
2
22
2 EW
2(200)
2, CNS
2(201)
2, CEW
2(201)
2;
2
2
2
2
2
2
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 STA
2RT..
2
2
2
2
2
2
2
2
2
2
2
2
22 R
2EAD(;
2; IDE
2NT);
2
2
2
2
2
2
2
2
2
2
22 T
2MD =
20; TN
2S = 0
2; TEW
2 = 0;
2
2
2
2
2
2
2
2
22 F
2OR I=
2 (1,1
2,N);
2
2
2
2
2
2
2
2
2
2
22
2 BEGI
2N
2
2
2
2
2
2
2
2
2
2
2
22
2 READ
2 (;;
2STATI
2ON);
2
2
2
2
2
2
2
2
2
22
2 IF I
2 NEQ
2K;
2
2
2
2
2
2
2
2
2
2
22
2 ST
2OP K;
2
2
2
2
2
2
2
2
2
2
2
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22
2 Z =
2(60(6
20D(I)
2 + M(
2I)) +
2 S(I)
2)/6.4
28**5;
2
2
2
2
2
22
2 SWIT
2CH Q(
2I), (
2QUAD1
2, QUA
2D2, Q
2UAD3,
2 QUAD
24);
2
2
2
2
22
2 QUAD
21.. Z
2 = 0.
25 - Z
2; GO
2TO AN
2GLE;
2
2
2
2
2
2
22
2 QUAD
22.. Z
2 = 1.
25 + Z
2; GO
2TO AN
2GLE;
2
2
2
2
2
2
22
2 QUAD
23.. Z
2 = 0.
25 + Z
2; GO
2TO AN
2GLE;
2
2
2
2
2
2
22
2 QUAD
24.. Z
2 = 1.
25 - Z
2;
2
2
2
2
2
2
2
2
22 ANG
2LE..
2
2
2
2
2
2
2
2
2
2
2
2
22
2 ALPH
2A = 3
2.1415
2927Z;
2
2
2
2
2
2
2
2
2
22
2 NS(I
2) = M
2D(I)S
2IN(AL
2PHA);
2
2
2
2
2
2
2
2
22
2 TNS
2= TNS
2 + NS
2(I);
2
2
2
2
2
2
2
2
2
22
2 EW(I
2) = M
2D(I)C
2OS(AL
2PHA);
2
2
2
2
2
2
2
2
22
2 TEW
2= TEW
2 + EW
2(I);
2
2
2
2
2
2
2
2
2
22
2 TMD
2= TMD
2 + MD
2(I)
2
2
2
2
2
2
2
2
2
22
2 END;
2
2
2
2
2
2
2
2
2
2
2
2
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 E
2RROR
2= LEN
2GTH(T
2NS, T
2EW);
2
2
2
2
2
2
2
2
22 W
2RITE
2(;; T
2ITLE,
2 F1);
2
2
2
2
2
2
2
2
2
22 N
2SCF =
2 -TNS
2/TMD;
2
2
2
2
2
2
2
2
2
2
22 E
2WCF =
2 -TEW
2/TMD;
2
2
2
2
2
2
2
2
2
2
22 T
2CD =
20; TC
2NS =
20; TC
2EW =
20;
2
2
2
2
2
2
2
22 F
2OR I
2= (1,
21,N);
2
2
2
2
2
2
2
2
2
2
22
2 BEGI
2N
2
2
2
2
2
2
2
2
2
2
2
22
2 CNS(
2I) =
2NS(I)
2 + MD
2(I).N
2SCF;
2
2
2
2
2
2
2
22
2 TCNS
2 = TC
2NS +
2CNS(I
2);
2
2
2
2
2
2
2
2
22
2 CEW(
2I) =
2EW(I)
2 + MD
2(I).E
2WCF;
2
2
2
2
2
2
2
22
2 TCEW
2 = TC
2EW +
2CEW(I
2);
2
2
2
2
2
2
2
2
22
2 CD =
2 LENG
2TH(CN
2S(I),
2 CEW(
2I));
2
2
2
2
2
2
2
22
2 TCD
2= TCD
2 + CD
2;
2
2
2
2
2
2
2
2
2
22
2 WRIT
2E (;;
2 ANSW
2ERS,
2F2)
2
2
2
2
2
2
2
2
22
2 END;
2
2
2
2
2
2
2
2
2
2
2
2
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 C
2NS(N+
21) =
2CNS(1
2);
2
2
2
2
2
2
2
2
2
22 C
2EW(N+
21) =
2CEW(1
2);
2
2
2
2
2
2
2
2
2
22 S
2UM =
20;
2
2
2
2
2
2
2
2
2
2
2
22 N
2SLOC
2= 0;
2EWLOC
2 = 0;
2
2
2
2
2
2
2
2
2
22 F
2OR I=
2(1,1,
2N);
2
2
2
2
2
2
2
2
2
2
22
2 BEGI
2N
2
2
2
2
2
2
2
2
2
2
2
22
2 NSLO
2C = N
2SLOC
2+ CNS
2(I);
2
2
2
2
2
2
2
2
22
2 EWLO
2C = E
2WLOC
2+ CEW
2(I);
2
2
2
2
2
2
2
2
22
2 SUM
2= SUM
2 + (C
2NS(I+
21)) (
2CEW(I
2+1) +
2 2EWL
2OC)
2
2
2
2
22
2 END;
2
2
2
2
2
2
2
2
2
2
2
2
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 S
2QFT =
2 ABS(
2SUM)/
22;
2
2
2
2
2
2
2
2
2
22 A
2CRES
2= SQF
2T/435
260;
2
2
2
2
2
2
2
2
2
22 W
2RITE
2(;; T
2OTALS
2, F3)
2;
2
2
2
2
2
2
2
2
22 G
2O TO
2START
2;
2
2
2
2
2
2
2
2
2
2
22
2
2
2
2
2
2
2
2
2
2
2
2
2
22 INP
2UT
2
2
2
2
2
2
2
2
2
2
2
2
22 I
2DENT
2(SURV
2EY, N
2),
2
2
2
2
2
2
2
2
2
22 S
2TATIO
2N (K,
2 D(I)
2, M(K
2), S(
2I), Q
2(I),
2MD(I)
2);
2
2
2
2
22 OUT
2PUT
2
2
2
2
2
2
2
2
2
2
2
2
22 T
2ITLE
2(SURV
2EY, N
2, ERR
2OR),
2
2
2
2
2
2
2
2
22 A
2NSWER
2S (I,
2 D(I)
2, M(I
2), S(
2I), Q
2(I),
2MD(I)
2, CD,
2 CNS(
2I), C
2EW(I)
2),
22 T
2OTALS
2 (TMD
2, TCD
2, TCN
2S, TC
2EW, S
2QFT,
2ACRES
2);
2
2
2
2
22 FOR
2MAT
2
2
2
2
2
2
2
2
2
2
2
2
22 F
21 (*S
2URVEY
2*, I8
2, B5,
2 *NUM
2BER O
2F LEG
2S*, I
25, B5
2, *CL
2OSURE
2 ERRO
2R*,
22
2 X9
2.2, W
21,
2
2
2
2
2
2
2
2
2
2
22
2 *L
2EG*,
2B5, *
2ANGLE
2*, B7
2, *ME
2ASURE
2D*, B
25, *C
2ORREC
2TED*,
2 B3,
2
22
2 *N
2ORTH-
2SOUTH
2 E
2AST-W
2EST*,
2 W6,
2
2
2
2
2
2
22
2 *N
2O.
2DD MM
2 SS Q
2
2DISTA
2NCE
2 D
2ISTAN
2CE D
2ISPLA
2CEMEN
2T *,
22
2 *D
2ISPLA
2CEMEN
2T*,2W
2),
2
2
2
2
2
2
2
2
22 F
22 (I3
2, I5,
2 2I3,
2 I2,
24X13.
22, W)
2,
2
2
2
2
2
2
22 F
23 (B6
2, *TO
2TALS*
2, B4,
2 4X13
2.2, W
24, *A
2REA O
2F TRA
2VERSE
2*, X1
23.2,
2
22
2 *
2SQUAR
2E FEE
2T*, X
213.2,
2 * AC
2RES*,
2 W6);
2
2
2
2
2
22 FIN
2ISH;
2
2
2
2
2
2
2
2
2
2
2
2
25 123
24 7
2
2
2
2
2
2
2
2
2
2
2
2
2
2
25 1
2 62
230 0
2 2
2 137
2.0
2
2
2
2
2
2
2
2
2
2
25 2
2 29
230 0
2 2
2 83
2.8
2
2
2
2
2
2
2
2
2
2
25 3
2 73
230 0
2 2
2 124
2.4
2
2
2
2
2
2
2
2
2
2
25 4
2 39
230 0
2 1
2 149
2.8
2
2
2
2
2
2
2
2
2
2
25 5
2 39
230 0
2 3
2 111
2.7
2
2
2
2
2
2
2
2
2
2
25 6
2 88
230 0
2 4
2 266
2.5
2
2
2
2
2
2
2
2
2
2
25 7
2 54
230 0
2 4
2 52
2.0
2
2
2
2
2
2
2
2
2
2
25 999
29 1 *
2 DUMM
2Y DAT
2A SET
2 TO F
2ORCE
2A STO
2P
2
2
2
2
2
2
2
25 0
2 0
2 0 0
2 0
2 0
2.0
2
2
2
2
2
2
2
2
2
2