
*1
 JMP I .+1
 INT
TA, 0
TB, 0

*22
APOP, POP
SSS, SYMBOL
CSS, CONNCT
DSS, DISCNT
ESS, DELETE
AMENU, MENU
ARAST, RASTER
ABUTN, BUTTON
ACMENU, CMENU
ACRAST, CRAST
ACTEXT, CTEXT
ACBUTN, CBUTN
ACDATA, CDATA
ADISP, DISP
AT1, T1
AT2, T2
AT3, T3
AT4, T4
AT5, T5
ALIST, LIST
APUSH, LIST+3000
AGARB, GARB
AIPORT, IPORT
AOPORT, OPORT
ACRT, CREATE
ANULL, NULL
AINST, INST
AFORG, FORG
ASORG, SORG
AORG, ORG
AVEC, VEC
ACLRB, CLRB
ADINST, DINST
ACON, CON

/PORT COORDINATES
IPRTY, 0
IPRTX, 0
OPRTY, 0
OPRTX, 0

/LITERALS
K0004, 4
K0005, 5
K0006, 6
K0007, 7
K0010, 10
K0060, 60
K0455, 455
K0757, 757
K0777, 777
K1301, 1301
K1321, 1321
K1400, 1400
K2000, 2000
K2010, 2010
K3777, 3777
K4000, 4000
K4060, 4060
K6202, 6202
K6203, 6203
K6302, 6302
K7323, 7323
K7640, 7640
K7773, 7773

*200
 TAD APOP
 DCA I ACMENU
 TAD APOP
 DCA I ACRAST
 TAD AT1
 DCA I ACTEXT
 TAD ABUTN
 DCA I ACBUTN
 TAD APOP
 DCA I ACDATA
 DCA I SSS
 DCA I CSS
 DCA I DSS
 DCA I ESS
 TAD ALIST
 DCA I AGARB
 CMA
 TAD ALIST
 DCA 10
 TAD APUSH
 CIA
 TAD ALIST
 DCA TA
 DCA I 10
 ISZ TA
 JMP .-2
 TAD APUSH
 6135
 CLA
 TAD IC
 6145
 CLA
 TAD K4000
 6155
 CLA
 TAD ADISP
 6165
 ION
 CLA
 JMP .
IC, 3005

INT, 6172
 SKP
 JMP RETURN
 KSF
 JMP LEGAL
 KCC
RETURN, ION
 JMP I 0
LEGAL, 6171
 JMP I LPEN
 6061
 DCA DAC
 TAD I DAC
 DCA SUB
 JMS I SUB
 CLA
 TAD DAC
 IAC
 6165
 CLA
 JMP RETURN
LPEN, PENHIT
DAC, 0
SUB, 0

CREATE, 0 /CREATE A LIST BLOCK
 CLA
 TAD GARB
 DCA 10
LB, TAD GARB
 TAD K0010
 DCA GARB
 TAD GARB
 CIA
 TAD APUSH
 SZA CLA
 JMP .+3
 TAD ALIST
 DCA GARB
 TAD I GARB
 SZA CLA
 JMP LB
 TAD 10
 JMP I CREATE
GARB, 0

INST, 0 /CREATE NEW INSTANCE
 JMS I ACRT
 DCA TA
 TAD TA
 DCA 10
 TAD K6202
 DCA I TA
 TAD K2010
 DCA I 10
 TAD APOP
 DCA I 10
 TAD K6203
 DCA I 10
 TAD K1400
 DCA I 10
 TAD ANULL
 DCA I 10
 TAD K2000
 DCA I 10
 TAD APOP
 DCA I 10
 TAD ACDATA
 DCA TB
LC, TAD APOP
 CIA
 TAD I TB
 SNA CLA
 JMP LD
 TAD I TB
 TAD K0007
 DCA TB
 JMP LC
LD, TAD TA
 DCA I TB
 TAD TA
 JMP I INST

*400
DINST, 0 /DELETE INSTANCE
 DCA TA
 DCA I TA
 TAD ACDATA
 DCA TB
LE, TAD I TB
 CIA
 TAD TA
 SNA CLA
 JMP GAP
 TAD I TB
 TAD K0007
 DCA TB
 JMP LE
GAP, TAD TA
 TAD K0007
 DCA TA
 TAD I TA
 DCA I TB
 TAD TA
 TAD K7773
 DCA TA
 TAD I TA
 DCA TA
 DCA I TA
 TAD TA
 TAD K0004
 DCA TA
 TAD I TA
 DCA TB
 TAD I TB
 TAD K7323
 SNA CLA
 DCA I TB
 ISZ TA
 ISZ TA
 TAD I TA
 CIA
 TAD APOP
 SNA CLA
 JMP I DINST
 TAD I TA
 DCA TA
 DCA I TA
 JMP I DINST

FORG, 0 /SET FIRST ORIGIN ARGUMENT
 DCA TA
 TAD TA
 TAD K0004
 DCA TB
 TAD I FORG
 DCA I TB
 TAD TA
 ISZ FORG
 JMP I FORG

SORG, 0 /SET SECOND ORIGIN ARGUMENT
 DCA TA
 TAD TA
 TAD K0006
 DCA TB
 TAD I SORG
 DCA I TB
 ISZ SORG
 JMP I SORG

NULL, 0 /DO NOTHING
 JMP I NULL

ORG, 0 /CREATE ORIGIN, INST ADR IN AC ON ENTRY
 IAC
 DCA 11
 JMS I ACRT
 DCA TA
 TAD TA
 DCA 10
 TAD K1301
 DCA I TA
 DCA I 10
 TAD K4000
 DCA I 10
 TAD K2010
 DCA I 10
 TAD APOP
 DCA I 10
 TAD K2010
 DCA I 10
 TAD APOP
 DCA I 10
 TAD I APOP
 DCA I 10
 TAD TA
 DCA I 11
 TAD TA
 JMP I ORG

VEC, 0 /CREATE VECTOR BLOCK
 JMS I ACRT
 DCA TA
 TAD TA
 DCA 10
 TAD K0455
 DCA I TA
 TAD K1321
 DCA I 10
 TAD K4000
 DCA I 10
 TAD K4000
 DCA I 10
 TAD K1321
 DCA I 10
 TAD K4000
 DCA I 10
 TAD K4000
 DCA I 10
 TAD I APOP
 DCA I 10
 TAD TA
 JMP I VEC

*600
PENHIT, TAD APOP
 DCA I ACRAST
 TAD ABUTN
 DCA I ACBUTN
 JMS I AINST
 DCA TB
 TAD TB
 JMS I AORG
 DCA TA
 TAD TA
 DCA 10
 6054
 DCA I 10
 6052
 TAD K4000
 DCA I 10
 TAD TB
 TAD K0004
 DCA 10
 TAD AHSYM
 DCA I 10
 TAD TA
 JMS I AFORG
PSYM, 0 /PRESENT SYMBOL ADDRESS
 CLA
 DCA I SSS
 TAD AT1
 DCA I ACTEXT
 TAD ADISP
 6165
 CLA
 ION
 JMP I 0
AHSYM, HSYM

CLRB, 0 /CLEAR LIGHT BUTTONS
 CLA
 DCA I SSS
 DCA I CSS
 DCA I DSS
 DCA I ESS
 JMP I CLRB

RASSTP, 0 /ENABLE RASTER
 TAD K0777
 DCA I ARAST
 JMP I RASSTP

HSYM, 0 /USER POINTING AT SYMBOL
 TAD I ESS
 SNA CLA
 JMP I HSYM
 DCA I ESS
 TAD AT1
 DCA I ACTEXT
 6061
 TAD K7773
 JMS I ADINST
 JMP I HSYM

BSYM, 0 /ENTER SYMBOL STATE
 JMS I ACLRB
 TAD K6302
 DCA I SSS
 TAD I ACDATA
 DCA I ASDATA
 TAD AMENU
 DCA I ACMENU
 TAD APOP
 DCA I ACTEXT
 TAD APOP
 DCA I ACBUTN
 TAD APOP
 DCA I ACDATA
 JMP I BSYM
ASDATA, SDATA

BDEL, 0 /ENTER DELETE STATE
 JMS I ACLRB
 TAD K6302
 DCA I ESS
 TAD AT5
 DCA I ACTEXT
 JMP I BDEL

GSOU, 0 /GET SOURCE ADDRESS
 JMS RESTOR
 SOURCE
 JMP I GSOU
GSIN, 0 /GET SINK ADDRESS
 JMS RESTOR
 SINK
 JMP I GSIN
GQUE, 0 /GET QUEUE ADDRESS
 JMS RESTOR
 QUEUE
 JMP I GQUE
GSER, 0 /GET SERVER ADDRESS
 JMS RESTOR
 SERVER
 JMP I GSER
GINP, 0 /GET INPUT ADDRESS
 JMS RESTOR
 INPUT
 JMP I GINP
GOUT, 0 /GET OUTPUT ADDRESS
 JMS RESTOR
 OUTPUT
 JMP I GOUT
RESTOR, 0
 TAD I RESTOR
 DCA I APSYM
 ISZ RESTOR
 TAD APOP
 DCA I ACMENU
 TAD ARAST
 DCA I ACRAST
 TAD AT2
 DCA I ACTEXT
 TAD SDATA
 DCA I ACDATA
 TAD K0757
 DCA I ARAST
 JMP I RESTOR
APSYM, PSYM
SDATA, 0

*1000
BCON, 0 /ENTER CONNECT STATE
 JMS I ACLRB
 TAD K6302
 DCA I CSS
 TAD AT3
 DCA I ACTEXT
 DCA IPRTX
 DCA OPRTX
 JMP I BCON

BDIS, 0 /ENTER DISCONNECT STATE
 JMS I ACLRB
 TAD K6302
 DCA I DSS
 TAD AT4
 DCA I ACTEXT
 JMP I BDIS

HCON, 0 /USER POINTING AT CONNECTION
 TAD I DSS
 SNA CLA
 JMP I HCON
 DCA I DSS
 TAD AT1
 DCA I ACTEXT
 6061
 TAD K7773
 JMS I ADINST
 JMP I HCON

PORTI, 0 /USER POINTING AT INPUT PORT
 TAD IPRTX
 SZA CLA
 JMP I PORTI
 6054
 DCA IPRTY
 6052
 DCA IPRTX
 TAD OPRTX
 SNA CLA
 JMP I PORTI
 TAD PORTI
 DCA PORTO
 JMP COMMON
PORTO, 0 /USER POINTING AT OUTPUT PORT
 TAD OPRTX
 SZA CLA
 JMP I PORTO
 6054
 DCA OPRTY
 6052
 DCA OPRTX
 TAD IPRTX
 SNA CLA
 JMP I PORTO
COMMON, TAD I CSS
 SNA CLA
 JMP I PORTO
 TAD OPRTX
 CIA
 TAD IPRTX
 SMA CLA
 JMP .+3
 JMS I ACON4
 SKP
 JMS I ACON2
 TAD AT1
 DCA I ACTEXT
 DCA I CSS
 JMP I PORTO
ACON2, CON2
ACON4, CON4

CON, 0 /ESTABLISH CONNECTION INSTANCE
 JMS I AINST
 TAD K0005
 DCA TA
 TAD AHCON
 DCA I TA
 TAD TA
 TAD K7773
 JMS I AORG
 DCA TB
 TAD TB
 DCA 10
 TAD OPRTY
 DCA I 10
 TAD OPRTX
 TAD K4000
 DCA I 10
 JMP I CON
AHCON, HCON

CON2, 0 /FORWARD CONNECTION
 JMS I ACON
 JMS I AVEC
 DCA PA2
 TAD TB
 JMS I AFORG
PA2, 0
 CLA
 TAD PA2
 IAC
 DCA 10
 TAD OPRTY
 CIA
 TAD IPRTY
 SMA
 JMP .+3
 CIA
 TAD K2000
 AND K3777
 TAD K4000
 DCA I 10
 ISZ 10
 ISZ 10
 ISZ 10
 TAD OPRTX
 CIA
 TAD IPRTX
 AND K3777
 TAD K4000
 DCA I 10
 JMP I CON2

*1200
CON4, 0 /BACKWARD CONNECTION
 JMS I ACON
 JMS I AVEC
 DCA PA4
 JMS I AVEC
 DCA PB4
 TAD TB
 JMS I AFORG
PA4, 0
 JMS I ASORG
PB4, 0
 TAD PA4
 IAC
 DCA 10
 TAD OPRTY
 CIA
 TAD IPRTY
 DCA TA
 TAD TA
 SPA CLA
 TAD K2000
 TAD K4060
 DCA I 10
 ISZ 10
 ISZ 10
 ISZ 10
 TAD IPRTX
 CIA
 TAD OPRTX
 TAD K2000
 TAD K4060
 DCA I 10
 TAD TA
 SMA
 TAD K7640
 TAD K0060
 DCA TA
 TAD PB4
 IAC
 DCA 10
 TAD TA
 SMA
 JMP .+3
 CIA
 TAD K2000
 AND K3777
 TAD K4000
 DCA I 10
 ISZ 10
 ISZ 10
 ISZ 10
 TAD K4060
 DCA I 10
 JMP I CON4

DISP, 0455
 2010
 LABEL
 2010
CMENU, POP
 2010
CRAST, POP
 2010
CTEXT, POP
 2010
CBUTN, POP
 2010
CDATA, POP
 2000
 DISP

POP, 3000

BUTTON, 0555
 1301
 0040
 4240
 6202
SYMBOL, 0
 2010
 S
 2010
 Y
 2010
 M
 2010
 B
 2010
 O
 2010
 L
 6301
 6203
 1400
 BSYM
CONNCT, 0
 2010
 SPACE
 2010
 C
 2010
 O
 2010
 N
 2010
 N
 2010
 E
 2010
 C
 2010
 T
 6301
 6203
 1400
 BCON
DISCNT, 0
 2010
 SPACE
 2010
 D
 2010
 II
 2010
 S
 2010
 C
 2010
 O
 2010
 N
 2010
 N
 2010
 E
 2010
 C
 2010
 T
 6301
 6203
 1400
 BDIS
DELETE, 0
 2010
 SPACE
 2010
 D
 2010
 E
 2010
 L
 2010
 E
 2010
 T
 2010
 E
 6301
 6203
 1400
 BDEL
 3000

A, 1311
7272
5160
5766
7632
7437
1720
0000
3000
B, 1311
7272
5270
5756
5574
3057
5655
6430
1720
0000
3000
C, 1311
1272
6251
6057
3656
5564
3721
1000
3000
D, 1311
7272
5260
6766
6554
3721
1000
3000
E, 1311
7272
5270
5035
1460
3510
7050
1720
0000
3000
F, 1311
7272
5270
5035
1460
3717
1000
3000
G, 1311
1272
6251
6057
3570
5655
6430
1720
0000
3000
H, 1311
7272
5236
7050
7236
7620
1700
3000
II, 1311
5160
1472
7254
6037
3617
0000
3000
J, 1311
2252
5657
6051
7262
3636
1720
0000
3000
K, 1311
7272
5230
5075
7720
1700
3000
L, 1311
7272
5236
3670
5020
1700
3000
M, 1311
7272
5267
6176
7620
1700
3000
N, 1311
7272
5277
3250
7676
1720
0000
3000
O, 1311
1272
6251
6057
7656
5564
3020
1700
3000
P, 1311
7272
5270
5756
5564
3730
1600
3000
Q, 1311
1272
6251
6057
7656
5564
1022
7720
0000
3000
R, 1311
7272
5270
5756
5564
7730
1700
3000
S, 1311
1252
5760
5152
5364
5352
5160
5737
3600
3000
T, 1311
1150
7272
6420
6036
1637
0000
3000
U, 1311
1272
7230
5076
6655
6430
1720
0000
3000
V, 1311
2272
6230
5076
5665
5317
3010
1700
3000
W, 1311
7272
5230
5076
7663
5517
3010
1700
3000
X, 1311
6271
5152
3454
5657
1767
5617
2000
3000
Y, 1311
1150
7261
5234
5456
5737
2710
0000
3000
ZZ, 1311
6271
5152
7454
3727
5574
3721
1000
3000
Z0, 1311
1272
6251
6057
7516
1570
5172
3726
0000
3000
Z1, 1311
5160
1472
7255
3737
0000
3000
Z2, 1311
5271
5152
5364
5537
2774
5417
3020
0000
3000
Z3, 1311
1252
5760
5152
5354
1051
5253
6455
3737
1000
3000
Z4, 1311
3252
7176
7632
6420
5037
1600
3000
Z5, 1311
1252
5760
5162
5374
6270
5037
3616
0000
3000
Z6, 1311
1252
5760
5152
5364
5572
5170
3736
1600
3000
Z7, 1311
5271
5162
7454
5637
3710
0000
3000
Z8, 1311
1252
5760
5152
5364
5512
6251
6057
5637
2600
3000
Z9, 1311
5270
5162
7453
5251
6057
5637
2600
3000
STAR, 1311
1252
7151
3454
5717
6710
2700
3000
SLASH, 1311
1252
7151
3736
0000
3000
PLUS, 1311
1151
7252
1555
5010
6037
1600
3000
MINUS, 1311
3252
7050
3716
0000
3000
LPAREN, 1311
1150
5372
5251
3727
2600
3000
RPAREN, 1311
1150
5172
5253
3727
2600
3000
CRLF, 1301
2000
4000
1341
3740
3000

LABEL, 0555
 2010
 SELMA
 2010
 SEL
 3000

SPACE, 1321
 0000
 4050
 3000

SELMA, 1305
 1737
 4710
 2010
 S
 2010
 E
 2010
 L
 2010
 M
 2010
 A
 2010
 MINUS
 2010
 Z0
 3000

SEL, 1301
 1700
 4420
 2010
 S
 2010
 Y
 2010
 S
 2010
 T
 2010
 E
 2010
 M
 2010
 S
 1341
 0050
 2010
 E
 2010
 N
 2010
 G
 2010
 II
 2010
 N
 2010
 E
 2010
 E
 2010
 R
 2010
 II
 2010
 N
 2010
 G
 1341
 0050
 2010
 L
 2010
 A
 2010
 B
 2010
 O
 2010
 R
 2010
 A
 2010
 T
 2010
 O
 2010
 R
 2010
 Y
 3000

RASTER, 0777
 1305
 1640
 4040
 6202
 2010
 S1
 2010
 S1
 2010
 S1
 6203
 3000
 0000
 1400
 RASSTP
 3000
S1, 2010
 S2
 2010
 S2
 3000
S2, 2010
 S3
 2010
 S3
 3000
S3, 2010
 S4
 2010
 S4
 3000
S4, 2010
 S5
 2010
 S5
 3000
S5, 2010
 S6
 2010
 S6
 3000
S6, 1321
 4000
 0170
 2001
 6170
 3000

MENU, 0555
 1301
 1200
 4120
 2010
 POINTO
 2010
 T
 2010
 H
 2010
 E
 1341
 0050
 2010
 D
 2010
 E
 2010
 S
 2010
 II
 2010
 R
 2010
 E
 2010
 D
 1341
 0050
 2010
 SYM
 0455
 1301
 1300
 4400
 6202
 2010
 SOURCE
 6203
 1400
 GSOU
 1321
 0000
 4400
 2010
 SINK
 6203
 1400
 GSIN
 1321
 0000
 4400
 2010
 QUEUE
 6203
 1400
 GQUE
 1321
 2400
 7000
 2010
 SERVER
 6203
 1400
 GSER
 1321
 0000
 4400
 2010
 INPUT
 6203
 1400
 GINP
 1321
 0000
 4400
 2010
 OUTPUT
 6203
 1400
 GOUT
 3000

SOURCE, 2010
 OPORT
 1321
 0036
 0000
 6074
 4000
 1341
 5737
 0017
 5737
 0017
 5737
 0017
 5737
 0017
 5737
 3717
 3700
 3740
 3000
SINK, 2010
 IPORT
 3000
QUEUE, 1321
 0000
 2036
 4034
 0016
 4000
 0040
 6034
 4016
 2010
 OPORT
 1321
 6034
 2016
 4000
 2040
 4034
 6016
 2010
 IPORT
 1321
 0000
 4036
 3000
SERVER, 1321
 0040
 0040
 6100
 0000
 4000
 2100
 4100
 0000
 4000
 0100
 2040
 4000
 2010
 OPORT
 1321
 0000
 6100
 2010
 IPORT
 1321
 0000
 4040
 3000
INPUT, 2010
 OPORT
 1321
 0040
 4000
 2010
 IPORT
 1321
 6100
 4000
 2010
 IPORT
 1321
 0040
 4000
 3000
OUTPUT, 2010
 IPORT
 1321
 0040
 4000
 2010
 OPORT
 1321
 6100
 4000
 2010
 OPORT
 1321
 0040
 4000
 3000

IPORT, 6202
 1341
 7737
 1700
 1700
 7757
 6201
 1400
 PORTI
 3000
OPORT, 6202
 1341
 4017
 4057
 6201
 1400
 PORTO
 1341
 0037
 0077
 3000

T1, 0555
 2010
 POINTO
 2010
 D
 2010
 E
 2010
 S
 2010
 II
 2010
 R
 2010
 E
 2010
 D
 1341
 0050
 2010
 S
 2010
 T
 2010
 A
 2010
 T
 2010
 E
 3000

T2, 0555
 2010
 POINTO
 2010
 P
 2010
 O
 2010
 S
 2010
 II
 2010
 T
 2010
 II
 2010
 O
 2010
 N
 1341
 0050
 2010
 F
 2010
 O
 2010
 R
 1341
 0050
 2010
 SYM
 3000

T3, 0555
 2010
 POINTO
 2010
 P
 2010
 O
 2010
 R
 2010
 T
 2010
 S
 1341
 0050
 2010
 TOBE
 2010
 C
 2010
 O
 2010
 N
 2010
 N
 2010
 E
 2010
 C
 2010
 T
 2010
 E
 2010
 D
 3000

T4, 0555
 2010
 POINTO
 2010
 C
 2010
 O
 2010
 N
 2010
 N
 2010
 E
 2010
 C
 2010
 T
 2010
 II
 2010
 O
 2010
 N
 1341
 0050
 2010
 TOBE
 2010
 B
 2010
 R
 2010
 O
 2010
 K
 2010
 E
 2010
 N
 3000

T5, 0555
 2010
 POINTO
 2010
 SYM
 1341
 0050
 2010
 TOBE
 2010
 D
 2010
 E
 2010
 L
 2010
 E
 2010
 T
 2010
 E
 2010
 D
 3000
POINTO, 1301
 0140
 4300
 2010
 P
 2010
 O
 2010
 II
 2010
 N
 2010
 T
 1341
 0050
 2010
 T
 2010
 O
 1341
 0050
 3000

TOBE, 2010
 T
 2010
 O
 1341
 0050
 2010
 B
 2010
 E
 1341
 0050
 3000

SYM, 2010
 S
 2010
 Y
 2010
 M
 2010
 B
 2010
 O
 2010
 L
 3000

LIST, 0
PAUSE
