2000A_Loader Listing 2000A Loader

2000A_LoaderListing 2000A_LoaderListing

User Manual: 2000A_LoaderListing

Open the PDF directly: View PDF PDF.
Page Count: 114

Download2000A_Loader Listing 2000A Loader
Open PDF In BrowserView PDF
PAGE 0001 #01

0001

**

12:13 PM

ASMB,A,B,C,L

TUE., 23

OCT., 1979

2000A TSB LOADER--VERSION F

NO ERRORS PASS#l **RTE ASHB 92067-16011**

12:13 PM. TUE., 23

PAGE 0002 #01

0001
0002*
0003*
0004*
0005 00004
0006
0007 00004 103004

ASMB,A,B,C,L

?OOOA

~SB

OCT., 1979

LOADER--VERSION F

AUGUST 1, 1970

ORG 4
SUP PRESS EXTRA PRINTING
HLT 4,C
LOADER POWER FAIL HALT

PAGE 0003 #01
EQUIPMENT TABLE
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018

00100
00100
00134
00135
00136
00137
00140
00160
00164
00165

12:13 PM

TUE. ,

23

OCT. ,

1979

ORG 1008

000000
000000
000000
000000
000000
000000
000000

OOOOnO
000000

DIREC

BSS 28
IDT..IOC f\SS 1
TDLE~1

SSS 1

ADLOC BSS 1
ADLEN ass 1
TRAX ass 16
DTBL SSS 4
MAGSC SSS 1
PHNSC SS5 1

DIRECTORY TRACK HEADERS
10 TASLE DISC .A.DORESS
ID TABLE LENGTH IN -WORDS
ADT DISC ADDRESS
ADT LENGTH IN -WORDS
AVAILABLE TRACK TABLE
DISC SELECT CODE TABLE
MAG TAPE SELF.CT CODE
PHONES SELECT CODE

PAGE 0004 #01

12:13 PM

rUE., 23

OCT., 1979

LOADER ENTRY POINTS
0020*
0021** NORMAL ENTRY POINT
0022*
0023 02000
ORG 2000B
0024 02000 126001
~MP *+1,1
0025 02001 004000
OCT 4000

*
**
*

0027*
0028** NON-SLEEP RELOAD ENTRY POINT
0029*
0030 03000
ORG 3000B
CLC O,C
0031 03000 107100
0032
03001 127002
JMP *+l,I
0033 03002 004122
DEF LDR6

0035

03003

r.fTRLT EQU

JU~P

TO

[,OADER

*
**
*

*

SYSTEM SEGMENT TABLE BUfFER

[~]

0037*
0038** LOADER-SYSTEM LINKAGE TABLE
0039*
0040*
0041* CONTENTS FILLED IN FROM TSB SYSTEM TAPE ON PAPER TAPE LOADS,
0042* FROM MAG TAPE ON MAG TAPE LOADS.
0043*
0044 04000
ORG 4000B
0045 04000 026030
INITIATE LOADING SEQUENCE
JMP LDR
0046 04001
LSLTB EQU
0047 0400l 000000 LIBRA OCT 0
SYSTEM LIBRARY PROGRAM OR1GIN[E]
0048 04002 000000 COM6 sss 1
ADDRESS OF SYSTEM LIBRARY DISC
0049*
ADDRESSES
0050 04003 000000 INCRF. BSS 1
LENGTH OF TTY TABLE
0051 04004 000000 TTYDA 8SS 1
ADDRESS OF USER DISC ADDRESS
0052 04005 000000 ?MASK BSS 1
ADDRESS OF USER MASK
0053 04006 oooono ?BHED BSS t
=> START OF LOGICAL BUFFER
0054 04007 000000 ?BSTR BSS 1
=> END OF LOGICAL BUFFER
0055 04010 000000 ?BG1N BSS 1
=> START O~ PHYSICAL BUFFER
0056 04011 000000 ?BF.ND BSS 1
=> END OF PHYSICAL BUFFER
0057 04012 000000 ?10
ass 1
ADDRESS OF IO-NAME
0058 04013 oooono SWPIA 855 1
ADDRESS OF USE~-DEPENDENT ITEMS
0059 04014 000000 SWPLN BSS 1
LENGTH OF SWAP AREA
0060 04015 oooono SWPAA 8SS 1
CORE ADDRESS OF SWAP AREA
0061 04016 000000 DATE BSS 1
ADDRESS OF HOUR OF YEAR
0062 04017 000000 TIME 8SS 1
ADDRESS OF TENTHS OF SECONDS
0063 04020 000000 YEAR 8SS 1
A,ODRESS OF YEAR
0064 04021 000000 TSB
BSS 1
SYSTEM STARTING ADDRESS

***
*

*

12:13 PM

PAGE 0005 #01
LOADER ENTRY POINTS
0065

0066
0067
0068
0069
0070

0071

04022
04023
04024
04025
04026
04027
04030

000000
000000
000000
000000
000000
000000

PHINl ass 1
PHIN2 SSS 1
PHIN3 BSS 1
PHIN4 SSS 1
PWRFIJ RSS 1
ULTTA sss 1
LSLTE Ji.:QU

*

rUE., 23

OCT., 1979

ADDRESSES
OF pHONES

CODE
ADDRESS OF pHONE QUANTITY
POWER FAlL INTERRUPT CODE
USER LIBRARY TRACK TABLE ADDRESS

PAGE 0006 #01
TSB LOADER

12:13 PM

TUE. ,

23

OCT. ,

0073*
0074** MAIN LOADING SEQUENCE **
0075*
*
0076*
0077* BEGIN HERE FOR NORM.~L LOADING SEQUENCES.
0078*
0079 04030 107700 LOR
CLC o,e
SET I/O TO NULL STATE
0080 04031 002400
eLA
ZERO
0081
04032 073667
STA SYSLF'
DIRECTORY TRACK
0082 04033 073670
STA SYSLF+1
COUNTERS
0083 04034 063551
LOA .12
ASK
0084 04035 067743
LOB LBRYA
0085 04036 117723
JSB ASR35,I
IF LIBRARY
0086 04037 002400
eLA
0087 040-40 117723
JSB· ASR35, I
EXISTS
0088 04041 117141
JSB GETCA,I
ANSWER GIVEN?
0089 04042 026047
JMP ERRl
NO
0090 04043 053617
CPA y
YES, 'y" ?
0091
04044 026142
YES, ASSUME 'YES"
JMP LDR7
NO, 'N' ?
0092 04045 053613
CPA N
0093 04046 026053
YES, ASSUME 'NO'
JMP LDR1
NO
0094 04047 063561
ERRl [fDA .15
0095 04050 067744
LOB ILINA
TRY
0096 04051 1177?3
JSB ASR35,I
AGAIN
0097 04052 026030
JMP LDR
0098*
0099** SYSTEM GENERATION **
0100*
*
0101*
0102* CREATE NASCENT EQUIPMENT TABLE.
0103*
0104 04053 063544 LDPl
LDA M16
SET DIRECTORY LENGTH
0105 04054 070100
SIA DIREC
FOR TWO DUMMY ENTRIES
0106 04055 063622
LOA EQTLN
ZERO OUT
0107 04056 073660
STA TE"'PO
0108 04057 006400
CLB
THE REST
0109 04060 063575
LDA EQTA
0110 04061 002004 LDR2
rNA
OF THE
04062 174000
0111
STB 0,1
0112 04063 037660
EQUIPMENT TABLE
ISZ TEMPO
0113 04064 026061
JMP LDR2
0114 04065 002400
eLA
SET
0115 04066 073661
STA TEMPi
FOR
0116 04067 063557
LOA 814
DISC
0117 04070 073662
STA TEMP2
0
0118 04071 063571 LOR3 LDA .26
REQUEST
0119 04072 067745
LDB S/TDA
0120 04073 111123
JSB ASR35,I
NUMBER OF
0121
04074 002400
eLA
0122 04075 117723
JSB ASR35,T
SECTORS FOR
0123 04076 117737
JSS SETDA,I
0124 04077 026071
JMP LOR3
DISC 0
0125 04100 063545
I.lDA M12
SET
0126 04101 073660
STA TEMPO
0127 04102 063634
LDA TRAXA
TRACKS

*

*

1979

PAGE 0007 #01
TSB LOADER

12:13 PM

TUE., 23

OCT., 1979

0128 04103 043553
ADA .4
0129 04104 007400
NOT ON
CCB
0130 04105 174000 LOR4 STB O,I
0131 04106 002004
INA
DISC 0
0132 04107 037660
rsz TEMPO
0133 04110 026105
JMP LDR4
'UNAVAILABLE'
0134 04111 077666
STB MTFLG
SET FLAG TO 'SYSGEN' MODE
0135 04112 026171
JMP IJDR8
0136*
0137** INITIATE PAPER TAPE RELOAD
0138*
0139*
0140* PRIMARY USE IS FOR LINKING A NEW SYSTEM (FOR EXAMPLE, A
0141* SYSTEM UPDATE) WITH THE LIBRARY OF A CURRENT SYSTEM.
01-42:*
0143 04113 063557 tORS LOA B14
FAKE DTBL ENTRY
0144 04114 010160
STA DTBL
F'OR DISC DRIVER
0145 04115 063542
LOA M64
READ
0146 04116 173655
STA WORD,I
EQUIPMENT
0147 04117 063553
LOA DEQTA
TABLE
0148 04120 067633
LDB CEaTA
FROM
0149 04121 117724
JSB DISC,I
DISC 0
0150*
0151** BEGIN EMERGENCY LO~OING SEQUENCE
0152*
0153*
0154* ENTRY IS TO HERE WHEN ATTEMPTING TO RELOAD THE SYSTEM
0155* USING THE EQUIpMENT TABLE IN CORE (I.E., SYSTEM WAS
0156* HALTED BY OTHER THAN THE 'SLEEP' ROUTINE).
0157*
0158 04122 002400 LDR6 CLo~
SET FLAG TO
0159 04123 073666
STA MTFLG
'PAPER TAPE RELOAD'
0160 04124 073661
STA SYSLF
ZERO COUNTERS FOR
0161 04125 073670
STA SYSLF+t
DIRECTORY TRACKS
0162 04126 060137
LOA ADLEN
READ
0163 04127 013542
AND M64
0164 04130 173655
STA WORD,I
ADT
0165 04131 067637
LDB ADTBA
0166 04132 047603
ADB SITtS
FROM
0167 04133 060136
LDA ADLOC
0168 04134 117724
JSB DISC,l
DISC
t)169 04135 060137
LDA AOLEN
RECOVER THE
0170 04136 026331
JMP LDR1S
SYSTEM TRACKS
0171*
0172 04137 063561 ERR2 LDA .15
REPORT
0173 04140 067744
LDB ILINA
PROBABLE
0174 04141 117723
JSB ASR35,I
ERROR
0175*
0176** REOUEST MAG TAPE SELECT CODE
0177*
0178*
0179* ANSWER IS THE HIGH PRIORITY SELECT CODE FOR THE MAG TAPE UNIT
0180* OR A CARRIAGE RETURN, THE LATTER INDICATING A PAPFR TAPE RELOAD.
0181*
[F]
0182 04142 117742 LDR7 JSB GTMTA,I
GET MAG TAPE SELECT CODE

*
**
*

***
*

***
*

PAGE 0008 #01

12:13 PM

TUE., 23

OCT., 1979

TSB LOADER
0183 04143 026113
JMP LDR5
PAPER TAPE RELOAD
0184*
*
0185** INITIATE MAG TAPE RELOAD
0186*
0187*
0188 04144 067666
LOB MTFLG
SAVE
0189 04145 074164
STB MAGSC
SELECT CODE
0190 04146 005665
ELB,CLE,ERB
CLEAR RIT15
04147 117726
0191
JSB MTDIA:I
CONFIGURE MAG TAPE DRIVER
0192 04150 117125
JSB MTAPE,I
REttiIND
0193 04151 000003
OCT 3
TAPE
0194 04152 063542
LDA M64
READ
0195 04153 067575
LOB EQTA
EQUIPMENT TABLE
0196 04154 117725
~SB MTAPE,I
FROM
0197 0-4155 0-00-000
OCT ()
MAG TAPE
0198 04156 027420
JMP EOFER
0199 04157 027424
JMP TPERR
0200 04160 067666
{.DB MTFLG
RECORD NEW
0201 04161 074164
STS MAGSC
5ELECT CODE
0202 04162 005665
ELB,CLE,ERB
CLEAR
0203 04163 077666
STB MTFLG
BIT1S
0204 04164 063547
LOA M4
COUNT
0205 04165 073660
STA TEMPO
0206 04166 067576
LDB DIRE6
NUMBER OF
0207 04167 160001
{..IDA 1,I
0208 04170 002002
SZA
DIRECTORY TRACKS
0209 04171 037670
ISZ SYSLF+1
0210 04172 002400
CLA
AND SET ALL
0211 04173 170001
STA 1,1
0212 04174 047555
ADB .7
DISC ADDRESSES
0213 04175 037660
ISZ TEMPO
0214 04176 026167
tJMP *-7
TO ZF.RO
0215*
0216** REQUEST DISC COMMANDS **
0217*
0218*
0219* DISC COMMANDS MAY ADD OR REMOVE DISCS.
DISC 0
0220* MAY ONLY BE REFERENCED ALONG WITH SELECT r.ODE 14 OCT; I.E.,
0221* DISC n MAY NOT BE MOVED OR REMOVED.
DISCS 1-3 MAY NOT HAVE
0222* A SELECT CODE BELOW 14 OCT OR ABOVE 76 OCT.
THE SEQUENCE OF
0223* DISC COMMAND REQUESTS IS TERMINATED BY ANSWERING WITH A

**
*

*
*

0224*

CARRIAGE RETURN.

0225*
0226
0227
0228
0229

04177
04200
04201
04202

002400

JSB ASR35,I
CLA

0230

04203 117723

JSB ASR35,I

0231
0232
0233
0234
0235
0236

04204 117741

JSB
JMP
CPA
JSB
JMP

0237

04212 117141

063566
067146
111723

04205 026264
04206 053610

04207 117741
04210 026216
04211 053611

[,DRS

[,OA .22
LOB OISMA

GETCA,r
LDR14

REQUEST
DISC
COMMANDS

D

ANY?
NO
YES

GETCA,I
ERR3

'D'

CPA I

JSB GETCA,I

'1'

(Fl

[El
[F]
[F]
[F]

[El
[El
[F]
[F]

12:13 PM

PAGE 0009 #01
TSB

0238
0239
0240
0241
0242
0243
0244
0245
0246

0247
0248
0249
0250
0251
0-252
0253
0254
0255
0256
0257
0258
0259
0260
0261
0262

0263
0264

0265
0266
0267
0268
0269
0270
0271
0272
0273
0274
0275
0276
0277
0278

0279*

TUE., 23

OCT., 1979

LOADER

04213
04214
04215
04216
04217
04220
04221
04222
04223
04224
04225
04226
04227
04230
04231
04232
04233
04234
04235
04236
04237
04240
04241
04242
04243
04244
04245
04246
04247
04250
04251
04252
04253
04254
04255
04256
04257
04260
04261
04262
04263

026216
053615
026222
063563
067747
117723
026177
002400
117730
026177
073661
117141
000000
053574
026-257
117736
000063
026177
053604
026243
063561
067750
026220
006400
077662
002400
053661
026252
117737
026177
026177
057557
026247
063567
067751
026220
117741
026242
063565
067752
026220

ERR3

LDR9

JMP ERR3
CPA S
JMP LDR9
LOA .19
LOB RQSTA
JSBASR35,I
JMP LOR8
eLA
JSR GTDNA~I
JMP LDRS
STA TEMPt
JSB GETCA,I
NOP
CPA B60
JM-P LOR13

JSB SELCA,I
OCT 63
JMP LORS
CPA COMMA

JMP
LDA
LOB
JMP
CLB

LOR10
.15

BDLA
ERR3+2

[,DR 1 0 STB TEMP2

eLA
CPA TEMPt

JMP LDR12
LDRl1 JSB SETDA,I
JMP LORS
JMP LOR8
LOR12 CPS B14
JMP LOR11
l,DA .23

LOB DZMBA
JMP ERR3+2
LOR13 JSB GETCA,I
JMP J.JDRI0-1
[,DA .21
LDB ILSCA
JMP ERR3+2

***
*

"5" ?

YES
NO
PRINT
ERROR
PICK UP
DISC '*
NOT FOUND
FOUND, SAVE IT
NEXT

CHARACTER
A ZERO?
¥ES

NO, GET SELECT CODE
IN [14 OCT, 76 OCT]
NOT FOUND
FOUND, COMMA FOLLOWING?
YES
NO,
ERROR
STORE
SEllEer CODE

DISC

o?
YES
NO, SET DISC ENTRY
ASK AGAIN

SELECT CODE 14 OCT?
YES
NO,
ERROR

CARRIAGE RETURN?
YES
NO,
ERROR

0280** BUILD AOT
0281*
0282*
0283* CREATE AN ADT ENTRY OF ZERO SECTORS FOR EACH AVAILABLE TRACK
0284*
(THE TRACK LENGTH WILL BE FILLED IN BELOW). THE ENTRY FOR
0285* TRACK 0, DISC 0 AND A TERMINATING PSUEOO-ENTRY ROUND TH~ ADT.
0286*
0287 04264 063634 LOR14 f.JDA TRAXA
SET POINTER TO
0288 04265 073660
STA TEMPO
AVAILABLE TRACK TABLE
0289 04266 063637
LOA ADTBA
CREATE
0290 04267 006400
CLB
0291 04270 174000
STS 0,1
F"IRST
0292 04271 002004
INA

PAGE 0010 #01
TSB LOADER
0293
0294
0295
0296
0297
0298
0299
0300
0301
0302
0303
0304
0305
0306
030-7
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317

0318
0319
0320
0321
0322
0323
0324*
0325**

0326*
0327*
0328*

0329*

04212
04273
04274
04275
04276
04277
04300
04301
04302
04303
04304
04305
04306
04307
04310
04311
04312
04313
04314
04315
04316
04317
04320
04321
04322
04323
04324
04325

114000
002004
073661
063541
073662
063551
026305
063663
001200
000010
037660
073663
047600
113660
002-002-

12:13 PM

STB O,I

INA
STA TEMPl
LOA M255

STA
LOA
JMP
LOR15 LOA
"RAL

SLA
ISZ TEMPO
LOR16 STA TEMP3
ADB B400
AND TEMPO,!
SZA

026316

JMP LOR17
STB TE"'Pl,I

177661

ISZ TEMPt
STA TEMP!,!

037661

113661
037661
037662
026301
063661
007400
174000
002004
006400
174000
04326 003000
04327 043637
04330 070137

TEMP2
.2
LDR16
TEMP3

ISZ TEMPl
LORi7 ISZ TEMP2

RECOVER TRACKS

JMP f,.lDR15

LOA TEMpl
CCB

TUE., 23

OCT., 1979

ADT

ENTRY
INITIALIZE
TRACK COUNTER
AND MASK

ROTATE
NEXT
ADJUST
WHEN

MASK TO
TRACK POSITION
ATT POINTER
NECESSARY

ADVANCE DISC ADDRESS
AVAILABLE
TRACK?
NO

YES
CREATE

ZERO-LF.NGTH
ADT ENTRY
ALL TRACKS CONSIDERED?
NO
YES
APPEND

STB 0,1

INA
CLB
STa 0,1
CMA

ADAADTBA
STA ADLEN

TERMINAL

PSUEDO-ENTRY
RECORD -It
OF WORDS
IN ADT

***
*

ALL ADT ENTRIES WITH ZERO SECTORS AVAILABLE ARE RECOVERED AS
FULL TRACKS.
THIS PICKS UP ALL SYSTEM TRACKS ON PAPER TAPE

0330* RELOADS, OR ALL UNLOCKED TRACKS ON SYSTEM GENERATION OR
0331* MAG TAPE RELOAD, AND RETURNS THEM TO THE POOL OF TRACKS
0332* AVAILABLE FOR LOCKING AND LOADING BELOW.
0333*
0334 04331 043553 LOR1S ADA .4
SET ENTRY COUNTER
0335 04332 001100
(SKIPPING FIRST
ARS
0336 04333 073660
AND LAST ENTRIES)
STA TEMPO
0337 04334 063637
LOA AOTBA
LOAD ADDRESS
0338 04335 002004
INA
OF SECOND WORD
0339 04336 043551 LDR19 ADA .2
OF ENTRY
0340 04337 164000
LOB o,r
IS LENGTH
0341
04340 006003
5ZB,RSS
o SECTORS?
0342 04341 026345
JMP LOR2t
YES
0343 04342 037660 tDR20 ISZ TEMPO
NO, DONE?
0344 04343 026336
NO
JMP LDR19
0345 04344 026355
JMP T,.IDR22
YES
0346 04345 007400 I..;DR2t ceB
[tOAD
0347 04346 044000
ADB 0
ENTRY"S

PAGE 0011 #01

TUE., 23

12:13 PM

OCT., 1979

TSB LOADER
0348
0349
0350

0351
0352

LOA 1,I
JSB ISOTA,I

04347 1.60001
04350 117733
04351 006004
04352 170001

INS
STA 1,1
LOA t

04353 060001

DISC ADDRESS
GET TRACK LENGTH
IN SECTORS
RESTORE TO
FULL TRACK

0353

04354 026342
JMP LDR20
0354*
0355** PROCESS LOCK/UNLOCK COMMANDS
0356*
0357 04355 063573 IJOR22 LDA .38
LDB LULC,A
0358 04356 067753
0359 04357 117723
JSB ASR35,I
0360 04360 002400
CLA
0361 04361 117723
JSf3 ASR35,I
0362

043-62 11 7741

0363
0364
0365
0366
0367
0368
0369
0370

04363 026402

0371
0372
0373

0374
0375
0376
0377

0378

JSB GE'1'CA,I
JMP ERR4

04364 007400

ceB

04365
04366
04367
04370

CPA U

053616
127722
053612

JMP
CPA
JSB
JMP
CPA
JSB
JMP

117741
04371 026402
04372 053614
04373 1.17741
04374 026402
04375 053606
04316 026406

CHARACTER
A

'Uf' ?
YES, ASSUME 'UNLOCK'
NO, 'L' ?
YES

LKUNA,I
L
GETCA,I
ERR4

NO

GETeA,I
ERR4

YES
NO

a

"0' ?
f'A' ?

04377 006400
04400 053607

CPA C

04401 127722
04402 063561
04403 067744
04404 117723

ERR4

JM'P LKUNA,I
LOA .15
LDB ILINA
JSB ASR35,I

NO

PRINT
ERROR

IJD~22

*
*

CLAIM TRACKS FOR THE SYSTEM AND USER SWAPPING. THE AnT
ENTRIES ARE SET TO LENGTH ZERO RATHER THAN BEING REMOVED.

0389

04406 063543

0390
0391

04407
04410
04411
04412
04413
04414
04415
04416

0393
0394
0395
0396
0397

COMMAND

FIRST

YES, ASSUME 'LOAD'
NO
'e' ?
YES, ASSUME 'LOCK'

0384*

0392

LOCK,
UNLOCK,
OR LOAD

JMP LDR23
CLB

0385*

0386*

REQUEST

CPA A

0379
0380
0381 04405 026355
JMP
0382*
0383** CLAIM DISC TRACKS **

0387*
0388*

*

***

073660
063644
073661
002400

117731
173661
037661
037660

04417 026412

0398
0399

04420 104200

0400

04422 104400

LDR23 LDA M20
STA TEMPO
LOA TRKTA

GET
TWO SYSTEM TRACKS,

STA TEMp,_

T.JDR24 CLA
JSB
STA
ISZ
ISZ
JMP
OLD
DST

TWO SYSTEM LIBRARY TRACKS,
GTTRA,I

TEMP1,I
TEMPt
TEMPO
LDP24
TRKTB
LDRTA,I

AND
16 USER

TRACKS

DISC ADDRESSES OF TSB
SYSTEM TRACKS INTO DISC LOADER

SET

PAGE 0012 #01

12:13 PM

TUE., 23

OCT., 1979

TSB LOADER
0402*
0403** WRITE DISC LOADERS TO DISC
0404*
0405*
0406* THIS SECTION WRITES THE TSB SYSTEM DISC LOADER ONTO SECTOR 1
0407* OF TRACK 0, DISC 0 (110 CHANNEL 14 OCT) AND WRITES THE DISC
0408* BOOTSTRAP LOADER ONTO SECTOR 0, TRACK 0 AFTER CONFIGURING IT
IF THE DISC OPERATING SYSTEM IS NOT PRESENT, THE
0409* FOR TSB.
0410* TSB DISC LOADF.R IS ALSO WRITTEN TO SECTOR 2, TRACK 0 FOR SAFETY.
0411*
0412 04424 063570 LDR25 LDA .24
ASK IF
0413 04425 067754
LOB RDMSA
0414 04426 117723
JSB ASR35,J
DISC MONITOR SYSTEM
0415 04427 002400
eLA
f;l-41-6
044-30 111-7-2-3SSB- A-SR-3-5, I
IS PRESENT
0417 04431 117741
JSB GETCA,I
DEMAND A
0418 04432 026437
JMP LDR26
CHARACTER
'y' ?
0419 04433 053617
CPA Y
0420 04434 026443
JMP LOR27
YES, ASSUME 'YES'
NO, 'N' ?
0421 04435 053613
CPA N
0422 04436 026460
JMP LDR28
YES, ASSUME 'NO'
0423
04437 063561
LOR26 LOA .15
NO
0424 04440 067744
LOS ILINA
TRY
0425 04441 117723
JSB ASR35,I
AGAIN
0426 04442 026424
JMP I,DR25
0427*
04443 063542 LDR27 LDA M64
0428
READ
0429 04444 173655
STA WORD,I
'BOOTSTRAP"
0430 04445 002400
eLA
BOOTSTRAP
0431
04446 067656
LDB BSBSA
T.JOADER
0432 04447 047603
ADS SIT1S
FROM
0433 04 4 50 117724
JSB DISC,l
DISC
0434 04451 060016
t,.OA DSK7
~CCEPTABLE DISC
0435 04452 053624
CPA OTBl5
SELECT CODE?
0436 04453 026476
JMP LDR29
YES
0431 04454 063572
NO
LOA .32
0438 04455 067755
LOB BLDRA
TERMINATE
0439 04456 117723
JSB ASR35,I
LOADING
0440 04457 027427
JMP ERRIN
0441*
0442 04460 063624 LDR28 LOA OTB15
CONfIGURE
0443 04461 070016
STA 051<7
0444 04462 063625
l,OA 5TC14
'BOOTSTRAp'
0445 04463 070031
STA DSK8
0446 04464 063626
TJDA LIA15
BOOTSTRAP
0447 04465 070035
,sTA DSK9
0448
04466 063627
LOA LINKA
0449 04467 070047
STA LINKG
LOADER
0450 04470 063542
LOA M64
0451 04471 173655
STA WORD,!
WRITE
0452 04472 063551
LOA .2
TSR
0453 04473 067657
LDB TS8BA
LOADER
0454
04474 074003
STB OMS
TO 0,2
0455 04475 117724
JSB DISC,I
FOR SAFETY
0456 04476 067657 LDR29 LOB TSBBA
SET TSB LOAD/ENTRY ADDRESS

***
*

PAGE 0013 #01
TSB LOADER

12:13 PM

TUE., 23

OCT., 1979

0457 04477 074002
STB RT/TS
IN LOADER
0458 04500 002404
('LA, INA
WRITE TSB LOADER
0459 04501 117724
JSB DISC,I
TO 0,1
0460 04502 002400
CLA
WRITE
0461 04503 067656
LOB BSB5A
'BOOTSTRAP' BOOTSTRAP
0462 04504 117724
JSB DISC,!
LOADER 0,0
0463*
0464 04505 063666
LDA MTFLG
RELOAD SYSTEM FROM
0465 04506 002003
SZA:RSS
PAPER TAPE?
0466 04507 027013
JMP LDR43
YES
0467*
0468** GET REST OF SYSTEM TSACKS
0469*
0470*
0471*- CLAI-M QNE TRACK FOR THE- I-DT AND AOT.. ClfA-I--M ENOUGH-- DIRECTORY
0472* TRACKS TO HAVE ONE PER DISC, BUT NOT FEWER THAN THE NUMBER PRE0473* EXISTING IF THIS IS A MAG TAPE RELOAD.
0474*
0475 04510 003400
eCA
CLAIM
0476 04511 117731
TRACK FOR
JSB GTTRA,I
0477 04512 070134
STA IOLOC
ADT AND
0478 04513 070136
STA ADLor
10 TABLE
0479 04514 063547
LOA M4
SYSLF PREVIOUSLY
0480 04515 073660
STA TEMPO
0481 04516 067635
LDB OTBLA
SET TO 0
0482 04517 160001 LDR30 LDA 1,1
COUNT
0483 04520 002002
SZA
0484 04521 037667
ISZ SYSLF
NU~BER OF
0485 04522 006004
INS
0486 04523 037660
ISZ TEMPO
DISCS
0487 04524 026517
JMP LOR30
0488 04525 067667
LOB SYSLF
PRESENT
0489 04526 063670
T.lOA SYSLF+1
COMPUTE
0490 04527 003004
CNAtINA
0491 04530 043667
ADA SYSLF
MAXIMUM OF
0492 04531 002020
SSA
0493 04532 067670
LOB SYSLF+l
SYSfL AND SYSfL+l
04Q4 04533 007004
CMB,INR
STORE ITS
0495
04534 077660
STB TEMPO
NEGATION
0496 04535 067576
CLAIM
LDB OIRE6
0497 04536 077661 LDR31 STa TEMP1
0498 04537 003400
eCA
THIS
0499 04540 117731
JSB GTTRA,I
0500 04541 173661
MANy
STA TEMP1,!
0501 04542 067661
LOB TEMPt
0502 04543 047555
ADS .7
DIRECTORY
0503 04544 037660
rsz TEMPO
0504 04545 026536
TRACKS
JMP LDR31.
0505*
0506 04546 063542
LOA "'64
0507 04547 173655
STA WORD,l
WRITE
0508 04550 163576
LDA DIRE6,!
NULL
0509 04551 073664
STA TEMP4
DIRECTORY
0510 04552 067641
TO
LDB DIRBA
0511
04553 117724
JSB DISC,I
DISC

***
*

PAGE 0014 #01

12:13 PM

TUg., 23

OCT., 1979

TSB LOADER
0512
0513
0514
0515
0516
0517
0518
0519
0520

0521
0522
0523
0524
0525

0526-*

04554 063666

LDA MTFLG

04555
04556
04557
04560
04561
04562
04563
04564
04565
04566
04567
04570
04571

002007
027013
060135
067640
117725
000000

INA,SZA,RSS
JMP LDR43

027420

JMP EOFER
JMP TPERR
{JDA IDLEN
STA WORD,I
LOA IDLOC
LDB IDTBA
JSB DISC,!

027424
0601-35
173655
060134
067640
117724

LDA IOLEN
LOB IDTBA
JSB PKTAPE,I
OCT 0

*
*

MAG TAPE
RELOAD?
NO

YES
READ IN
IO TABLE
WRITE
ID TABLE
TO ITS
DISC
TRACK

0527** LOAD USER LIBRARY **
0528*
0529*
0530* THE LIBRARY IS STORED ON MAG TAPE AS ONE RECORD PER TRACK UP
THE
0531* TO 5440 WORDS; LONGER TRACKS ARE STORED AS TWO RECORDS.
0532* TFACK IMAGES ARE PRECEDED BY A TABLE OF LENGTH 255, EACH ENTRY
0533* HOLDING THE 2'5 COMPLEMENT OF THE LENGTH OF THE IMAGE IN WORDS
(TRACK 0, DISC 0 IS KNOWN NOT TO HAVE ANY USEQ FILES). AS EACH
0534*
0535* TRACK IMAGE IS READ AND STORED, ITS ENTRY IN THE TABLE IS
0536* REPLACED WITH (NEW DISC ADDRESS - OLD DISC ADDRESS) FOR USE IN
0537* UPDATING THE DIRECTORY BELOW.
0538*
0539 04572 063541
LOAD
LDA M255
0540 04573 073660
STA TEMPO
0541 04574 067642
LDB ULTTB
USER LIBRARY
0542 04575 077661
STB TEMP1
0543 04576 117725
JSB MTAPE,I
TRACK TABLE
0544 04577 000000
OCT 0
0545
04600 027420
JMP EOFER
0546 04601 027424
JMP TPERR
0547 04602 063600
LOA B400
INITIALIZE TO DISC ADDRESS 0,1,0
0548 04603 167661 LDR32 LDB TEMPI,!
USER LIBRARY
0549 04604 006003
SZB,RSS
TRACK?
0550
04605 026714
NO
JMP LDR37
0551 04606 177655
STS WORD,!
YES, SAVE LENGTH AND
0552 04607 073662
OLD DISC ADDRESS
STA TEMP2
0553 04610 101026
ASR 6
COMPUTE
0554 04611 077665
SECTOR RRQUIREMENT
STB COUNT
0555 04612 064137
LDS .aOLEN
SET
0556 04613 005100
BRS
ADT ENTRY
0557 04614 077663
STB TEMP3
COUNTER
0558 04615 067637
LOB ADTBA
0559 04616 006004
tNB
0560 04617 160001 LOR33 LDA 1,1
ENOUGH
0561 04620 043665
ADA COtJNT
SPACE IN
0562 04621 002021
SSA,RSS
THIS ENTRY?
0563 04622 026640
YES
JMP LDP35
0564 04623 047551
NO
ADS .2
0565 04624 037663
MORE
ENTRIES?
ISZ TEMP3
0566
04625 026617
JMP LOR33
YES

PAGE 0015 #01
TSB LOADER
0567
0568
0569
0570
0571
0572
0573
0574
0575
0576
0577
0578
0579
0580
058-1
0582
0583
0584
0585
0586
0587
0588
0589
0590
0591
0592
0593
0594
0595
0596
0597
0598
0599
0600
0601
0602
0603
0604
0605
0606
0607
0608
0609
0610
0611
0612
0613
0614
0615
0616
0617
0618
0619
0620
0621

04626
04627
04630
04631
04632
04633
04634
04635
04636
04637
04640
04641
04642
04643
04-6-44
04645
04646
04647
04650
04651
04652
04653
04654
04655
04656
04657
04660
04661
04662
04663
04664
04665
04666
04667
04670
04671
04672
04673
04674
04675
04676
04677
04700
04701
04702
04703
04704
04705
04706
04707
04710
04711
04712
04713
04714

063564
067770
117723
027427
160001
073663
047551
060001
117734
026652
170001
047550
002003
026632
160-0{)-1
073663
003004
043665
003004
170001
063662
003004
043663
113661
163655
043602
002021
026702
073665
063537
173655
067640
117725
000000
027420
027424
063663
067640
117724
063665
173655
067663
047577
077663
163655
067640
117725
000000
027420
027424
063663
067640
117724
063662
043600

12:13 PM

ERRS

LOA .20

LOB OOOSA
JSB A.SR35,I
JMP F:RRIN
LDR34 LOA 1,1
STA TEMP3
ADB .2

LDA 1
JSS MOVUl;!

TUE. ,

23

OCT. ,

1979

NO
TERMINATE
LOADING
SAVE

DISC ADDRESS
ELIMINATE

ENTRY
FROM

ADT

JMP LDR36
LDR35 STA 1,1
ADB M1

SZA,RSS
JMP LOR34
bOA. 1,1
STA TEMP3

CMA,INA
ADA COUNT

CMA,INA
STA 1,1
LDR36 LOA TEMP2
CMA,INA
ADA TEMP3
STA TEMPt,I
LOA WORD,I
ADA .5440
SSA,RSS

JMP LORE1
STA COUNT
LOA M5440
5TA WORD,!
LOB tyPRBA
JSB MTAPE,I

OCT
JMP
JMP
LDA
LOB
JSB
LDA

STORE REMAINING SECTOR COUNT
ALL OF
ENTRY USED?
YES

N-O-, SAVE
DISC ADDRESS
CORRECT ENTRY TO
DISC ADDRESS OF
REMAINING
SPACE
COMPUTE

NEW DISC ADDRESS
OOF.S TPACK

EXCEED
5440 WORDS?
NO
YES, SAVE DIFFERENCE
SET FOR
INITIAL SLOCK
READ
5440

WORDS

0

EOFER
TPERR

TEMP3
UPRBA
DISC,!

COUNT

STA WORD,I
T-IDB TEMP3
ADB .85
STB TEMP3

tJDREI LOA W.ORD,1
LOB UPRBA
JSB MTAPE,I
OCT 0
JMP EOF'ER
JMP TPERR
LDA TEMP3
r.,DB UPRBA
JSB DISC,I
LDA TEMP2
LDR37 ADA 8400

-

OLD DISC ADDRESS
SAVE IN TRACK TABLE

WRITE
THEM
TO DISC
SET

FOR

REST

OF TRACK

~DVANCE

DISC
ADDRESS

READ TRACK
FROM TAPE

WRITE TRACK
TO DISC
UPDATE OLD
TRACK ADDRESS

12:13 PM

PAGE 0016 #01

TUE., 23

OCT., 1979

TSB LOADER
0622
0623
0624

04715 037661
04716 037660
04717 026603

rsz

'TEMpt

ISZ TEMpO
JMP LOR32

INCREMENT TABLE POINTER
ALL TRACKS CONSIDERED?
NO

PAGE 0017 #01
TSB LOADER

12:13 PM

TUE., 23

OCT., 1979

0626*
0627** LOAD DIRECTORY **
0628*
0629*
0630* READ IN THE DIRECTORY TRACKS ONE 8Y ONE: AN END-OF-FILE MARK
USING THE TABLE BUILT ABOVE, CORRECT
0631* FOLLOWS THE LAST TRACK.
0632* THE DISC ADDRESS IN EACH ENTRY TO THE NEW DISC ADDRESS OF THE
0633* REFERENCED PROGRAM OR FILE.
0634*
0635 04720 063575
LDA DIREA
INITIALIZE POINTER TO
0636 04721 073660
STA TEPAPO
DIREC TABLE ENTRY
0637 04722 006400
etB
0638 04723 177643
STB ULTM1,I
COMPLETE USERS' LIBRARY TABLE[C)
0639 04724 174000
STS 0,1
SET IJENGTHS
06-4-0 047-2-5 0-43555
ADA .7
0641 04726 174000
STB 0,1
or ALL
0642 04727 043555
ADA .7
0643 04730 174000
STB 0,1
DIRECTORY TRACKS
0644 04731 043555
ADA .7
0645 04732 174000
STa 0,1
TO ZERO
0646 04733 063537 LDR38 LDA M5440
READ A
0647 04734 067640
LOB UPRBA
DIRECTORY
0648 04735 117725
~JSB MTAPE,I
TRACK
0649 04736 000000
OCT o
0650 04737 027011
JMP fJDR42
NO"JE FOUND
0651 04740 027424
JMP TPERR
04741 173655
0652
STA WORD,I
SAVE LENGTH
0653 04742 067664
LDB TEMP4
AVAILABLE
0654 04743 006002 LOR39 SZB
TRACK?
0655 04744 026754
JMP LDR40
YES
0656 04745 067660
NO, MOVE
LDB TEMPO
0657
04746 047555
ADB .7
TO NEXT
0658 04747 077660
5TB TEMPO
DIREC ENTRY
0659 04750 047554
ADB .6
SAVE ITS
0660 04751 164001
LDB 1,1
DISC
0661 04752 077664
STB TEMP4
ADDRESS
0662 04753 026743
JMP LDR39
0663 04754 173660 LDR40 STA TEMPO,!
RECORD LENGTH IN DIREC ENTRY
0664 04755 007400
CCB
SAVE
0665 04756 101.023
COUNT nF
ASR 3
0666 04757 073661
STA TEMPI
ENTRIES
0667 04760 067640
LOB UPRBA
INITIALIZE ENTRY POINTER
0668 04761 047554 LDR41 AOB .6
LOAD ENTRY'S
0669 04762 160001
DISC ADDRESS
LOA 1,1
0670 04763 013540
AND M256
LOAD THE
0671 04764 001727
ALF,ALF
TRACK TABLE
ADA ULTM1.
0672 04765 043643
ENTRY THAT
0673 04766 160000
LDA 0,1
CORRESPONDS
0674 04767 140001
ADA 1,I
CO~PUTE AND RECORD
0675 04770 170001
STA 1,1
"'EW DISC ADDRESS
0676 04771 047551
UPDATE ENTRY pOINTER
A.DB .2
0677 04772 037661
ISZ TEMP1
MORE ENTRIES?
0678 04773 026761
\.lMP LOR41
YES
0679 04774 063664
NO
LOA TEMP4
0680 04775 067640
LOR UPRBA
WRITE DIRECTORY

*
*

PAGE 0018 '01

12:13 PM

TUE., 23

OCT., 1979

TSB LOADER
0681
0682
0683
0684

04776
04777
05000
05001
05002
05003
05004
05005
05006
05007
05010

117724
063547
173655
063664
067660
006004
047603
117724
002400
073664
026133

JSB DISC,I
I,DA M4
STA WORD,I
IJDA TEMP4

TO DISC
READ

FIRST FOUR
WORDS OF
DIRECTORY
INTO
DIREC TABLE

0685
LOB TEMPO
0686
INS
0687
ADB BIT15
0688
JSB DISC,I
0689
eLA
SET TRACK
0690
STA TEMP4
UNAVAILABLE
0691
JMP LDR38
0692*
0693 05011 053572 LDR42 CPA 840
END-Of-FILE?
0694
05012 027420
JMP EOFER
NO
0695-*
0696** WRITE ADT TO DISC
0697*
0698*
0699* IF INSUFFICIENT ROOM EXISTS ON THE rOT/ADT TRACK, ELIMINATE
0700* ENOUGH ADT ENTRIES OF NON-ZERO LENGTHS TO FORCE A FIT.
0701*
0702 05013 060135 LDR43 LOA IDLEN
COMPUTE # OF
0703 05014 013542
AND M64
EX1'RA WORDS
0704 05015 043602
ADA .5440
ON IOT/ADT
0705 05016 040137
ADA ADLEN
TR~CK
0706 05017 002021
SSA,RSS
NEGATIVE?
0707 05020 027037
NO
JMP LDR45
0708 05021 001100
ARS
YES, S~VE COUNT OF
0709 05022 073660
STA TEMPO
EXCESS ADT ENTRIES
LOA ADTBA
0710 05023 063637
{JOAD
0711 05024 002004 LDR44 INA
0712 05025 164000
LOB 0,1
SECTOR LENGTH
0713 05026 002004
INA
OF ADT ENTRY
0714 05027 006003
SZB,RSS
NON-ZERO?
0715 05030 027024
NO
JMP LOR44
0716 05031 073661
YES, SAVE ADT POINTER
STA TEMPt
0717 05032 064000
ELIMINATE
LDB 0
0718 05033 117734
JSB MOVUA,I
ENTRY
0719 05034 063661
LDA TEMP1
RETRIEVE POINTER
0720 05035 037660
!SZ TEMPO
ENOUGH ENTRIES DELETED?
NO
0721 05036 027024
JMP LOR44
0722 05037 064135 LOR45 LOB IDLEN
YES
0723 05040 101026
ASR 6
CQ~PU1'E
0724 05041 007004
CMB,INB
ADT
0725 05042 044134
ADB IDLOC
DISC
0726 05043 060001
LOA 1
ADDRESS
STA ADJ.lOC
0727 05044 070136
RECORD IT
LOB AD LEN
0728 05045 064137
WRITE
0729 05046 177655
STB WORD,I
ADT
0730 05047 067637
LDB ADTBA
TO
0731
05050 117724
JSB DISC,1
DISC
0732*
0733 05051 003400
eCA
INITIALIZE
0734 05052 073667
STA SYSLF
SYSTEM LIBRARY
0715 05053 073670
FLAGS
STA SYSLF+1

***
*

PAGE 0019 #01

12:13 PM

TUE., 23

TSB l,OADER

0136
0737
0738

05054 063666
05055 003026
05056 027146

LOA MTFLG
CMA,SSA,INA,SZA
JMP LDRSO
YES

LOADING FROM
MAG TAPE?

OCT., 1979

PAGE 0020 #01

12:13 PM

rUE., 23

OCT., 1979

TSB LOADER
0740*
0741**
0742*
0743*
0744*
0745*
0746*
0747*

0748*
0749*
0750*
0751*
0752*
0753
0754
0755
0156
0757
0158
0759
0760
0761
0762
0763
0764
0765
0766
0767
0768
0769
0770

0771
0772

0773
0774
0775
0776
0777

0778
0179
0780
0781
0782
0783
0784
0785
0786
0187

0788
0789
0790
0791
0192
0793
0794

LOAD SYSTEM FROM PAPER TAPE

*

**

*
READS THE TSB SYSTEM TAPE, OR TAPES IF MORE THAN ONE (EXECUTING
A HLT 77 ON RECOGNIZING AN END-Of-TAPE CONDITION). THE LAST
RECORD IS IDENTIFIED BY AN ORIGIN OF O. CHECKSUM'S ARE
COMPUTED FOR EACH RECORD: A FAILURE MAY RETRIED BY BACKING UP
TO THE START OF THE RECORD; THE CORE TO BE OCCUpIED BY EACH
RECORD IS CHECKED AGAINST A TABLE OF ADMISSABLE AREAS TO HELp
CATCH ORIGIN MIS-READS BEFORE LOADING A RECORD. RECOVERY
MAY BE ATTEMPTED BY BACKING UP TO THE BEGTNNING OF THE RECORD.
05057
0-5-060
05061
05062
05063
05064
05065
05066
05067
05070
05071
05012
05073
05014
05075
05076
05077
05100
05101
05102
05103
05104
05105
05106
05107
05110
05111
05112
05113
05114
05115
05116
05117
05120
05121
05122
05123
05124
05125
05126
05127
05130

002401
061546
002300
117735
007306
027074
002006
027062
063560
061756
117723
'.02077
027057
017665
007000
077661
117135
117135
006003
027203
060001
077660

077663
057636
027114
117727
064000
047661
117727
052001
011434
000040
117735
040001
177660
037660
037665
027116
000040
117735
054000
027060

LOR46 CLA,RSS
SET FOR START OF TAPE
LOA MI0
SET FOR END-OF-TAPE CHECK
reE
GET RECORD'S
LOR47 JSB READA,I
WORD COUNT
CMB,CCE,tNB,SZB
AS NEGATIVE
JMP LDR4S
INA,SZA
FEED FRAME, END-Of-TAPE?
JMP LDR47
NO
LDA .13
YES
LDB EOTMA
PRINT
JSB ASR35,I

HLT 718
JMP LDR46
LDR48 STB COUNT
eMS
srB TEMPI
JSB READA,I
JSB READA,I
SZB,RSS
JMP LDR54
LDA 1
STa TEMPO
STB TEMP3

CPS LNKAD
JM~ LDR49
JSB ADVLA,I
LDB 0
ADS TEMP1
JSB ADVLA,I
LDR49 CPA LIBRA
JSB SYSLB
CLE

JSB
ADA
STB
ISZ
ISZ
JMP
CLE
JSB
CPS
JMP

READA,I
1
TEMPO,I
TEMPO
COUNT
LDR49+2
READA,I
0
LDR46+1

'END OF TAPE'

WAIT FOR NEXT TAPE
SAVE WORD COUNT
SAVE TRUE
WORD COUNT -1
SKIP FEED FRAME
READ LOAD ORIGIN
ZERO ORIGIN?
YES
NO, INITIALIZE CHECKSUM COUNTER
SAVE
ORIGIN
SYSTEM LINKAGE ADDRESSES?
YES
NO, VALIDATE ORIGIN
COMPUTE LAST ADDRESS
TO BE LOADED
VALIDATE IT
SYSTEM LIBRARY PROGRAM?
YES
READ A
WORD
ADD TO CHECKSUM COUNT~R
STORE WORD
ADVANCE ADDRESS
RECORD ALL READ?
NO
YES
READ CHECKSUM
DO CHECKSU~S AGREE?
YES

PAGE 0021 #01

12:13 PM

TUE., 23

OCT., 1979

TSB LOADER
0795 05131 073661
STA TEMPt
NO, SAVE
0796 05132 077662
STS TEMP2
REGISTERS
0797 05133 007400
CCB
0798 05134 063663
LOA TEr.rP3
FIRST RECORD OF
0799 05135 052001
CPA LIBRA
SYSTEM LIBRARY PROGRAM?
0800 05136 077670
STa SYSLF+1
YES, PROTECT AGAINST SPURIOUS
0801 05137 063562
LDA .17
CALL TO SYSLB
0802 05140 067757
LDB CHKSA
PRINT
0803 05141 117723
JS'B ASR35:!
'CHECKSUM P:RROR'
0804 05142 063661
LOA TEMPt
LOAD RESISTERS
0805 05143 067662
LOB TEMP2
FOR DISPLAY
0806 05144 102066
HLT 66B
WAIT FOR REREAD ATTEMPT
0807 05145 027057
JMP I,DR46
0808*
08-Q-9-*-* Lo-AD S-¥STEM FROM MAG TAPE
0810*
0811*
0812* READ THE TABLE OF SYSTEM RECORDS, THEN READ IN THE RECORDS
NEXT
0813* THEMSELVES (COMPRISING THE CORE-RESIDENT TSB SYSTEM).
0814* READ THE SYSTEM LIBRARY PROGRAMS ONE BY ONE, TERMINATING WITH
0815* AN END-OF-FILE.
0816*
0817 05146 002400 LDRSO eLA
TURN OFF
0818 05147 073670
STA SYSLF+l
PAPER TAPE F'LAG
0819 05150 063540
LOAD
LDA "256
0820 05151 067646
LDB MTRLA
0821 05152 077664
STB TEMP4
TABLE
0822 05153 002001
RSS
0823 05154 037664 LDR51 ISZ TEMP4
0824 05155 117725
JSB MTAPE,I
LOAD
0825 05156 000000
OCT 0
RECORD
0826 05157 027420
JMP EOFER
0827 05160 027424
JMP TPERR
0828 05161 037664
ISZ TEMP4
PREPARE FOR NEXT
0829 05162 104200
DLD TEMP4,I
SYSTEM SEGMENT
0830 05164 137646
I SZ MTRL.A, I
ALL SEGMENTS READ?
0831 05165 027154
JMP LDR51
NO
0832 05166 063540 LORS2 LOA M256
YES
0833 05167 066001
LDB LIBRA
READ
0834 05170 117725
JSB MTAPE,I
SYSTEM LIBRARY
0835 05171 000000
PROGRAM
OCT 0
0836 05172 021176
JMP LOR53
END-OF-FILF./ENO-OF-TAPE
0837 05173 027424
JMP TPERR
0838 05174 017434
JSB SYSLB
WRITE '1'0 DISC
0839 05175 027166
JMP tORS?
0840 05176 053572 LDR53 CPA B40
END-OF-FILE?
0841 05177 027420
JMP EOFER
NO
0842 05200 117725
JSB MTAPE,I
YES, REWIND
0843 05201 000005
OCT 5
AND STANDBY
0844 05202 002001
RSS
0845 05203 017434 LDR54 JSB SYSLB
TRANSFER LAST PAPER TAPE PROGRAM

***
*

PAGE 0022 #01
TSB LOADER

12:13 PM

0847*

TUE., 23

OCT., 1979

***
*

0848** INITIALIZE USER SWAP AREAS
0849*
0850*
0851* FOR EACH USER PORT, INITIALIZE THE SWAPPING PORTION OF THE
0852* LANGUAGE PROCESSOR, WRITE IT TO THE APPROPRIATE SWAP TRACK,
0853* AND INITIALIZE THE TELETYPE TABLE ENTRY CORRESPONDINGLY.
0854*

0879

05204
05205
05206
05207
05210
05211
0521205213
05214
05215
05216
05217
05220
05221
05222
05223
05224
05225
05226
05227
05230
05231
05232
05233
05234

0880

05235

0881
0882
0883

05236

0855
0856
0857
0858

0859
0860
08-61
0862

0863
0864
0865
0866
0867
0868
0869
0870

0811
0872
0873

0874
0875
0876
0877

0878

0884
0885
0886
0887

0888
0889
0890
0891
0892
0893
0894
0895

0896
0897
0898
0899
0900
0901

05237
05240
05241
05242
05243
05244
05245
05246
05247
05250
05251
05252

05253
05254
05255
05256
05257
05260
05261
05262

063544
073660
062004
073661
063645
073662
09-240-0
073663
062013
066005

047663
164001
174000
002004
007000
174000
002004
066006
047663
114000
002004
066001
047663
174000
002004
066010
047663
174000
002004
066011
047663
174000
002004
066012
047663
174000
067663
04600)
077663
163662
037662
173661
067661
046003
077661
066014
177655

{lOA M16

STA TEMPO
LDA TTYDA
STA TEMPt

LDA USTRA
STA TEMP2
CLA
STA TEMP3

IJDR58 {fDA Sf/PIA

LOB ?MASK
ADS TEMP3
LOB 1,1
STB 0,1

INA
eMB
STB 0,1

INA
LDB ?BHED
ADS TEMP3
STa 0,1

INA
LOB ?BSTR
ADB TEMP)
STa 0,1

INA
LDB ?BGIN
ADS TEMP3

STa o,r

INA
LOB ?BEND
ADS TEMP3

STB 0,1

INA
LOB 11D
ADS TEMP3
STS 0,1

LOB TEMP3
ADS INCRE
STa TEMP3
LDA TEMP2,I
ISZ TEMP2
STA TEMP1,I
LDB TEMpt
ADR INeRE
STB TE\tPt

LOB SWT?LN
STB WORD,!

SET FOR
16 USERS

FOR DISC ADDRESS
IN TTYOO
POINTER TO
FIRST USER TRACK ADDRESS
INCREMENT FROM TTYOO
TO CURRENT TTY TABLE
SWAP AREA COMpILER QUANTITIES
LOAD
USER

BIT MASK
RECORD IT
RECORD
COMPLEMENT
MASK

RECORD ADDRESS OF
CHARACTER ADDRESS
OF LOGTCAL BUFFER
RECORD ADDRESS OF ADDRESS OF
LAST CijARACTER +1
OF LOGICAL BUFFER
RECORD ADDRESS OF
CHARACTER ADDRESS
OF PHYSICAL BUFFER
RECORD ADDRESS OF ADDRESS OF
LAST CHARACTER+l
OF PHYSICAL BUFFER
LOAD ADDRESS OF
IO/NAME
RECORD IT
UPDATE
TOTAL
INCREMENT
RECORD
DISC ADDRESS
IN TTY TABLE
UPDATE TTY TABLE
POTNTER TO
DISC ADDRESS
WRITE
SWAP

12:13 PM

PAGE 0023 #01

rUE., 23

OCT., 1979

TSB LOADER
0902 05263 066015
LDB
0903 05264 117724
JSB
0904 05265 037660
ISZ
0905 05266 027214
JMP
0906*
0907** WRITE SYSTEM TO DISC

0908*
0909*

0910*

SWPAA
DISC,I
TEMPO
LDR58

AREA
TO DISC
ALL DONE?
NO

***
*

DUMP THE CORE-RESIDENT TSB SYSTEM TO THE DISC FOR POTENT!AL

0911* BOOTSTRAP LOADING.
0912*
0913 05267 163650
LOA BSYIA,I
WRITE
0914 05270 173655
STA WORD,I
0915 05271 063552
LOA .3
0-9-l-6 Q-5-2-12- O{)-6400
CLBSYSTEM
0917 05273 117124
JSB OISC,I
0918 05274 1636'51
LOA BSY2A,I
0919 05275 173655
STA WORD,I
TO
0920 05276 063676
LOA TRKTB
0921 05277 067653
LOB RSYAl
0922 05300 117124
JSB DISC,!
DISC
0923 05301 163652
LOA, BSY3A,I
0924 05302 173655
STA WORD,I
0925 05303 063677
LDA TRKTB+l
0926 05304 067654
LOB RSYA2
0927 05305 117724
JSB DISC,1
0928*
0929** GET DATE AND TIME
0930*
*
0931*
0932* THE DISC-RESIDENT TSB BOOTSTRAP LOADER TRANSFERS HERE AFTER
0933* LOADING TSB FROM THE DISC. THIS SECTION REQUESTS THE DATE
0934* AND TIME OF DAY FOR THE INTERNAL CLOCKING ROUTINES.
0935*
0936 05306 063556 LDR59 LDA .8
PRINT
0937 05307 067760
LOB DATE A
0938 05310 117723
tJSB ASR 35, I
'DATE?'
0939 05311 002400
eLA
GET
0940 05312 117723
JSB ASR35,I
RESPONSE
0941 05313 117732
JSB INTGA,T
GET DAY OF YEAR
0942 05314 073660
STA TEMpO
SAVE FOLLOWING CHARACTER
0943 05315 006003
SZB,RSS
NON-ZERO?
0944 05316 027332
NO
JMP ERR6
0945 05317 060001
LDA 1
YES
0946 05320 047620
ADS MXDAY
0941 05321 006021
SSB,RSS
< 3b7 ?
0948 05322 027332
JMP ERR6
NO
0949 05323 006400
eLB
YES
0950 05324 100200
MPY .24
CONVERT
0951 05326 172016
STA DATE,!
TO HOURS
0952 05327 063660
LOA TEMPO
'\'
0953 05330 053605
CPA 5LSH
NEXT?
0954 05331 027336
JMP LDR60
YES
0955 05332 063561 ERR6 LOA .15
NO, PRINT
0956 05333 067761
, 1 IlLEGAL
LOB ILOTA

***

PAGE 0024 #01

12:13 PM

TUE., 23

OCT., 1979

TSB LOADER
0957
0958
0959
0960
0961
0962
0963
0964
0965
0966
0967
0968
0969
0970
09-71
0972
0973

05334 117723
05335 027306
05336 117732
05337 053560
05340 002001
05341 027332
05342 176020
05343 047621
05344 006021
05345 027332
05346 063556
05347 067762
05350 117723
05351 002400
0535-2 - 1-171-2--3
05353 117740
05354 177750
05355 077660
05356 117740
05357 177704
05360 060001
05361 006400
05362 100200
05364 043623
05365 1.72017
05366 117741
05367 027374
05370 063561
05371 067763
05372 117723
05373 027346
05374 067660
05375 146016
05376 176016

JSB ASR35,I
JMP LDR59
LDR60 JSB INTGA,I
CPA 815
RSS

JMP ERR6
STB YEAR,I

DATE'
GET YEAR
MORE CHARACTERS'?
NO
YES
RECQRD YEAR

ADB MAXYR
SSB,RSS

JMP ERRb
LDR61 LDA .8
LOB TIMEA
JSB ASR35,I

CLA
J-SS AS R35, I
JSB TWOOA,I
DEC -24
STS TEMPO
JSB TWOOA,T
DEC -60
LOA 1
eLB
MPY .600
ADA MBIAS
STA TIME,I
JSB GETCA,I
JMP LDR62

< 100 ?
NO

YES
REQUEST

TIME OF DAY
GET
RESPONSE

GET TWO-DIG!T
INTEGER < 24
SAVE IT
GET TWO-DIGIT
INTEGER < 60
CONVERT
TO TENTHS
OF SECONDS
SAVE IN SPECIAL
INTERNAL FORM
EXTRANEOUS DIGITS?
NO
YES
PRINT
ERROR

0974
(C]
0975
0976
0977
0978
0979
0980
0981
0982
0983
0984
ERR7 rJOA .15
0985
LDB ILTIA
0986
JSB ASR35,I
0987
JMP TJDR61
0988
LOR62 LOB TEMPO
0989
ADB DATE,I
CORRECT
0990
STS DATE,!
HOUR OF YEAR
0991*
0992** INITIATE TIMESHARING **
0993*
0994*
0995* IF A PHONES BOARD EXISTS, IT IS TURNED ON. POWER FAIL, SET TO

*
*

0996*
0997*
0998*
0999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011

HALT DURING LOADING, IS SET TO THE POWER FAIL ROUTINE IN THE
SYSTEM. FINALLY, CONTROL TRANSFERS TO T5B.
05377
05400
05401
05402
05403
05404

060165
002003
027415
064000

033630
172022

05405 060001

05406
05407
05410
05411
05412
05413

033631
172023
067632
176024
073413
000000

LOA PHNSC
SZA,RSS
JMP IIDR63
LOB 0
lOR PHi
5TA PHlNl,I
LDA 1
lOR PH2

PHONES

BOARD?
NO
YES
CREATE
APPROPRIATE

STA PHIN2,I

LOB RSSA
STS PHIN3,I
STA *+1
NOP

INSTRUCTIONS
EXECUTE
LAST ONE

12:13 PM

PAGE 0025 #01

TUE., 23

OCT., 1979

TSB LOADER
1012
1013
1014
1015

05414
05415
05416
05417

172025
062026
070004
126021

STA PHIN4,I
LDR63 l,DA PWRFL
STA 4

JMP TSR,J

SET UP pHONES STATUS

SET POWER-FAIL
INTERRUPT LINK
RUN

12:13 PM

PAGE 0026 #01
TSB LOADER
1017*
*
1018** TAPE ERRORS
1019*
1020 05420 063573 EOFER LDA .38
[,DB EOFMA
1021 05421 067764
JSB ASR35,I
1022 05422 117723
JMP ERRIN
1023 05423 027427
1024*
1025 05424 06356& TPERR LDA =22
1026 05425 067765
LOB TAPEA
1027 05426 117723
LJSB ASR35,I
1028*
1029 05427 063564 ERRIN LDA .20
LDB LASOA
1030 05430 067766
JSB ASR3-5, I
1031 0543-1 1177-23
1032 05432 102001
HLT 1
JMP *-1
1033 05433 027432

**
*

TUE. ,

23

NO RECORD
WHERE
EXPECTED
TERMINATE LOADING
TIMING
OR PARITY
ERROR

OUTPUT
TERMINATION
M-ESSAGE

IRRECOVERABLE
HALT

OCT. ,

1979

PAGE 0027 #01

12:13 PM

TUE., 23

OCT., 1979

UTILITY ROUTINES
1035*
1036** RECORD SYSTEM LIBRARY PROGRAM
1037*
1038*
1039* UPON FIRST ENTRY SYSLF
-1 AND SYSLF+1
-1 FOR A PAPER TAPE
MAG TAPE LOADS CALL SYSLB AFTER
1040* LOAD OR 0 FOR A MAG TAPE LOAD.
1041* LOADING A SYSTEM LIBRARY PROGRAM TO STORE IT ONTO THE DISC;
1042* PAPER TApE LOADS CALL SYSLB BEFORE LOADING A SYSTEM LIBRAPY
1043* PROGRAM TO STORE THE PRECEDING ONE ONTO THE DISC; HENCE THE
1044* FIRST CALL MUST BE IGNORED. THE FIRST SYSTEM LIBRARY PROGRAM,
1045* A TABLE OF LENGTHS !N WORDS OF THE SYSTEM LIBRARY PROGRAMS,
AS EACH PROGRAM IS STORED
1046* IS COPIED INTO A CORE-RESIDENT TABLE.
1047* ONTO THE DISC, ITS DISC ADDRESS REPLACES ITS LENGTH IN THIS
1048* TABLE, WHICH BECOMES THE LINKAGE BETWEEN TSB AND THE SYSTEM
10-49-* LIBRA-R-Y. W-HILE SWR (15-) IS ,. UP", THE LOA-aSR HALT-S TO ALLOW
1050* PATCHING JUST BEFORE WRITING EACH PROGRAM ONTO THE DISC.
1051*
1052 05434 000000 SYSLB NOP
1053 05435 037670
tSZ SYSLF+l
FIRST CALL FROM PAPER TAPE LOAD?
1054 05436 002001
RSS
NO
1055 05437 127434
JMP SYSLB,I
YES
1056*
1057 05440 106501
I,IB 1
DEBUGGING AID:
1058 05441 006020
SSB
HLT 15B BEFORE SYSLIB PROGRAM
1059 05442 10?015
HLT 158
GOES TO DISC IF SWR(15)
1
1060 05443 002400
eLA
1061 05444 053667
CPA SYSLF
FIRST SYSTEM LIBRARY PROGRAM?
NO
1062 05445 027472
JMP SYSL2
1063*
1064 05446 162001
LOA LIBRA,!
YES
1065 05447 073667
STA SYSLF
SET MOVE COUNTER
1066 05450 066002
lJDB COM6
SET
TABLE POINTER
1067 05451 077675
STe SLOIR
1068 05452 062001
LOA LIBRA
SET POINTER TO
1069 05453 073664
STA TEMP4
ADDRESS TABLE
COpy
1070 05454 163664 SYSL1 LDA TEMP4,I
1071 05455 170001
LENGTH
STA 1,1
1072 05456 037664
TABLE
ISZ TEMP4
1073 05457 006004
INB
INTO
1074 05460 037667
ADDRESS
ISZ SYSLF
1075 05461 027454
TABLE
JMP SYSL1
1076 05462 063700
LDA TRKTB+2
SET DISC ADDRESSES OF
1077 05463 073671
STA SYSTI
1078 05464 117733
JSB ISOTA,I
SYSTEM LIBRARY TRACKS AND
1079 05465 073673
STA SYSS1
1080 05466 063701
# OF SECTORS AVAILABLE
LDA TRKTB+3
1081 05467 073672
STA SYST2
1082 05470 117733
JSB ISOTA,I
ON EACH ONE
1083 05471 073674
STA SYSS2
1084*
1085 05472 067540 SYSL2 LOB "256
SET WORD COUNT
1086 05473 177655
STB WORD,l
FOR DISC TRANSFER
1087 05474 167675
CO~PUTE # OF
LOB SLDIR,I
10B8 05475 101026
SECTORS NEEDED
AS~ 6
1089 05476 063547
ROOM ON
LOA M4

=

***
*

=

=

PAGE 0028 #01
UTILITY ROUTINES
1090

1091
1092

1093
1094
1095
1096
1097
1098
1099

1100
1101
1102*
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122

05477
05500
05501
05502
05503
05504
05505
05506
05507

05510
05511
05512
05513
05514
05515
05516
05517
05520
05521
05522
05523
05524

05525

05526
05527
05530
05531
05532
05533
05534
05535
05536

043673
002020
027517
060001
043673
073673
063671
007004
047671
077671
173675
037675

12:13 PM

ADA SYSSI
SSA
JMP SYSL5

LDA 1
ADA SYSSI
STA SYSS1

LOA SYSTI
CMB,INB
ADS

~YST1

STB SYSTI
SYSL4 STA SLDIR,I
ISZ SLDIR

066001

LOB LIBRA

117-7-2-4
062001
127434
063547
043&74

J-S-B DISC,!

LDA LIBRA
JMP SYSLS,!
SYSL5 LOA M4
ADA SYSS2

'rUE., 23

FIRST
TRACK?

NO
YES, UPDATE
REMAINING
SECTOR COUNT
LO_~D DISC ADDRESS
SAVE
DISC ADDRESS OF
REMAINING SPACE
SAVE DISC ADDRESS
IN LOADER TABLE

WRITE PROGRAM
TO DISC
HANDLE

SECOND

002020

SSA

027533
060001
043674
073674
063672
007004
047672
077672
027511
063571
067767
117723
027427

JMP SYSL6
TJDA 1
ADA SYSS2
STA SYSS2
LOA SYST2

TRACK

CMB,INB
ADS 5YST2

STa
JMP
SYSL6 LOA
LOB
JSB
JMP

OCT., 1979

SY[-;T2
S'tSL4
.26
SYSLA
ASR35,I

OUTPUT

ERRIN

TERMINATE LOADING

OVERFLOW
MESS~GE

PAGE 0029 #01
CONSTANTS, TEMPORARIES, ETC.
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151

1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171

1172
1173
1174
1175
1176
1177
1178

05537
05540
05541
05542
05543
05544
05545
05546
05547
05550
05551
05552
05553
05554
0-5-555
05556
05557
05557
05560
05560
05561
05562
05563
05564
05565
05566
05567
05570
05571
05572
05572
05573
05574
05575
05576
05577
05600
05601
05602
05603
05604
05605
05606
05607
05610
05611
05612
05613
05614
05615
05616
05617
05620
05621
05622

165300
177400
177401
177700
177754
177760
177764
177766
177774
177777
000002
000003
000004
000006
0-00-0-07
000010
000014
000015

23

OCT. , 1979

M5440 DEC -5440
DEC -256
M255 DEC -255
"'64

M20
M16
M12
M10
M4

Ml
.2
.3

DEC
DEC
DEC
DEC
DEC
DEC
DEC
DEC
DEC

-64
-20
-16
-12
-10

-4
-1
2

3

.4
.6

DEC 4

.7
.8
.12
B14
.13

OEC 7

.15
.17
.19
.20
.21
.22
.23
.24
.26
.32
840

000046
000060
000100
000106
000125
000400
001130
012500
100000
000054
000057
000101
000103
000104
000111
00011.4
000116
000117
000123
000125
000131
1,77221
177634
177713

TUE. ,

M256

B15
000017
000021
000023
000024
000025
000026
000027
000030
000032
000040

12:13 PM

.38
860

BI00

DEC 6

DEC 8
DEC 12
EQU .12
DEC 13
EQU .13
DEC 15
DEC 17
DEC 19
DEC 20
DEC 21
DEC 22

DEC
DEC
DEC
DEC
EQU
DEC

23
24
26
32
.32
38
60
100
106
85
400

OCT
OCT
OCT
DEC
OCT
DEC 600

RI06
.85
8400
.600
.5440 DEC 5440
8IT15 OCT 100000

OCT
SLSH OCT
A
OCT
C
PCT
0
nCT
OCT
I
L
OCT
N
OCT
0
OCT
5
OCT
TJ
OCT
y
OCT
MXDAY DEC
MAXYR DEC
EQTLN DEC
COMMA

54
57
101
103
104
111
114
116
117
123
125
131
-367
-100
-53

, ,,
'/'

'A'

'c'

'0'
'I'
'L'

'N'
'0'
'5'

'u'
'I'

,'s

COMPT,EMENT

OF MAXIPIUM DAY

1'S CQMPJ..IEMENT OF MAXIMUM YEAR
LENGTH OF" EQUIPMENT TA13LE

12:13 PM

PAGE 0030 #01

TUE., 23

OCT., 1979

CONSTANTS, TEMPORARIES, ETC.
1179

05623 071540

MBIAS ASS -30000-6000

TENTHS-Of-SECOND COUNTER

12:13 PM

PAGE 0031 #01

Tue., 23

OCT., 1979

CONSTANTS, TEMPORARIES, ETC.
1181
1182
1183
1184
1185*
1186
1187
1188
1189*

1190
1191
1192

1193
1194

1195
1196

1197
1198
1199
1200
1201

1202
1203
1204

1205
1206
1207
1208

1209
1210
1211
1212
1213
1214
1215
1216

1217
1218*
1219

1220
1221
1222
1223
1224
1225
1226

1227
1228
1229
1230
1231

1232

05624
05625
05626
05627

106615
102714
102515
020014

OTAIS OTB 158
STC14 STC 14B
LIlIS LIA 158

LINKA OCT 20014

05630 102600
05631 102500
05632 002001

PH1
PH2
RSSA

OTA 0

05575
05633
05553
05515
05576
05634
05635
05636
25200
05637
12500
05640

EQTA
CEQTA
OEOTA
DIREA
DIRE6

EQU
OCT
EQU
EQU
EQU

100100

000140
000160
004001

012500

05640
05641 005771
05642
05643
05644
05645
05646
05647
05650
05651

05652
05653

05654

012101
012100
005676
005702
003003
002504
002500
002501
002502
014000
026500
002423

05655
05656 000000
05657 00243&
05660
05661
05662
05663

tJI.Z\ 0

000000
000000
000000
000000
05664 000000
05665 000000
05666 000000
05667 000000
05671 000000
05672 000000
05673 000000
05674 000000
05675 000000
05676 000000

SKELETON CODE
FOR PHONES

RSS
BI00
100100

.4

Bloa

EQUIPMENT TABLE ADDRESS
EaT 'DISC READ' CORE ADDRESS
EQ" DISC ADDRESS
DIRECTORY TASLE ADDRESS

8106

AVAILABLE TRACK TABLE ADDRESS
DISC SELECT CODE TABLE AnDRESS
LINKAGE TABLE ADDRESS
37700B-12500B ADT BUFFER
ADTBL
ADT BUFFER ADDRESS
ADTBL-12500B
10 ~ABLE BUFFER
IOTBL
10 TABLE BUfFER ADDRESS
IOTSl
USER PROGRAM BUFFER ADDRESS
DIRBF
ADORESS OF NULL DIRECTORY
12101B
USER LIBRARY TRACK TABLE ADDRESS
121008
TRKTB
SYSTEM TRACK TASLE ADDRESS
TRK'J'B+4
USER TRACK DISC ADDRESSES
MTRLT
BUFFER ADDRESS FOR SEGMENT TABLE
LDRTT
=> DISC LOADER DISC ADDRESSES
ADDRESSES OF
BSYSI
BSYS2
SYSTEM SEGMENT
BSYS3
WORD COUNTS
SYSTEM SEGMENT
14000
CORE ADDRESSES
26500
WORDC
DISC BLOCK wORD COUNT ADDRESS
Bsasa
ADDRESS OF 'BOOTSTRAP' BOOTSTRAP
BstDR
ADDRESS OF TSB BOOTSTRAP LOADER

T-RAXA DEF TR~X

DTBLA DEF DTBL
I.JNKAD DEF LSLTB
AOTS!" EQU

025200

'BOOTSTRAP'
BOOTSTRAP LOADER
INSTRUCTIONS

ADTBA
IOTBL
IDTBA
UPRBA
DIRBA
ULTTB
ULTM1
TRKTA
USTRA
MTRLA
LDRTA
BSYIA
BSY2A
BSY3A
RSYAl
RSYA2
WORD
BSBSA
TSBBA

DEF'
DEF
DEF
OEF
OCT
OCT
OEF
DEF
DEF

TEMPO
TEMp,_
TEMP2
TEMP3
"EMP4
COUNT
MTFLG
SYSLF
SYST1
SYST2

8SS
SSS
BSS
BSS
ASS
8SS
BSS
BSS
BSS
SSS

DEF

EQU
DEF
EQU
DEF
DEF
DEF
DEF
DEF

DEF

1
1
1
1
1
1
1
2

1
1

SYSS1 8SS 1

SYSS2 BSS 1
SLDIR ass 1
TRKTB BSS 20

LOADER MODE FLAG
SYSTEM LIBRARY FLAGS
DISC ADDRESSES OF SPACE
ON SYSTEM LIBRARY TRACKS
SPACE AVAILABLE ON
SYSTEM LIBRARY TRACKS
SYSTEM LIBRARY DIRECTORY POINTER
CLAIMED TRACKS TABLE

PAGE 0032 #01
CONSTANTS, TEMPORARIES, ETC.
1234
1235
1236
1237
1238

1239
1240
1241
1242
1243
1244
1245
1246
1247
12-4-81249
1250
1251*
1252
1253
1254
1255*
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274

05722
05723
05724
05725
05726
05727
05730
05731
05732
05733

05734
05735
05736
05737
0-57-4-0

05741
05742

006362 LKUNA
002010 ASR35
002145 DISC
010356 MTAPE
011457 MTDIA
007112 AOVLA
006625 GTDNA
006755 GTTRA
007021 INTGA
007011 ISOTA
007171 MOVUA
007077 RE.AOA
006563 SELCA
006665 SETDA
(l-{}70-53 'P-WfJD-A
007233 . GETCA
007251 GTMTA

DEF
OEF
DEF
DEF
DEF
DEF

LKUNL
TTY35
DISCO
MTD
MTDIN

DEF

GTONO
GTTRK
INTGR
ISOTL
MOVUP
READ

12:13 PM

TUE., 23

OCT., 1979

LOCK/UNLOCK CODE ADDRESS
TTY DRIVER AORESS
DISC DRIVER ADDRESS
ItfAG TAPE DRIVER ADDRESS
MAG TAPE INITIALIZATION ROUTINE

-AOVAL

DEF
DEF
DEF
DEF
DEF
OEF sEtleD
DEF SETDS
f)-EF- TW-e-OG

DEF GETeR
DEF GETMT

05743 00601-1
05744 011706
05745 006017

LBRYA DEF IJBRY
ILINA DEF lLIN
S/TDA DEF S/TDO

05746
05747
05750
05751
05752
05753
05754
05755
05756
05757
05760
05761
05762
05763
05764
05765
05766
05767
05770

DISMA
RQSTA
BDLA
nZMBA
ILSCA

[FJ

[F]

006050
006063
006075
006105
006121
006134
006157
006173
006213
006222
006233
006237
006247
006253
006263
006306
006321
006333
006350

LUf.JCA
RDMSA

BLDRA
EOTMA
CHKSA

DATEA
ILDTA
TIMEA
ILTIA
EOFMA
TAPEA
LABOA
SYSLA

oonSA

OEF DISMD

DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEP
DEF

RQSTD
RDDL
DZ"4BF
ILSCD
LULe
ROMS

BLDRC
EOTM
CHKSM
DATER
ILDTE
TIMER
ILTIM
EOFM
TAPER
LABOR
SYSL
ODDS?

1276*
1277* NULL DIRECTORY
1278*
1279 05771 000000 DIRBF DEC 0,0,0,0,0,-1,0,0
DIRECTORY
1280 06001 177777
DEC -1,-1,-1,-1,0,-1,0,0
PSUEDO-!NTRIES

PAGE 0033 ,01
CONSTANTS, TEMPORARIES, ETC.
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
12-9-61297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334

06011
06012
06017
06020
06034
06035
06050
06051
06063
06064
06074
06075
06076
06104
06i-OS
06106
06120
06121
06122
06133
06134
06135
06156
06157
06160

006412
046111
005123
042503
005115
040507
005104
044523
005102
042507
006400
005102
040504
006400
0-05-1-04
044523
006400
005111
046114
006400
006412
043511
006412
005104
044523

06173 005114
06174
06213
06214
06221
06222
06223
06232
06233
06234
06237
06240
06246
06247
06250
06?53
06254
06262
06263
06264
06306
06307
06321
06332
06333
06334
06350
06351

047501
005105
047104
006400
005103
044105
006400
005104
040524
005111
046114
006400
005124
044515
005111
046114
006400

005000
052516
005124

tBRY

TUE., 23

OCT., 1979

OCT 6412

ASC 5, IJIBRARY?
S/TDO OCT 5123
ASC 12,ECTORS/TRACK ON DISC O?
MTSC OCT 5115
ASC 11,AG TAPE SELECT conE?
DISMO OCT 5104
ASC 10,ISC MODIFICATIONS?
RQSTD OCT 5102
ASC 8,EGIN WITH 'DISC'

BDDL

OCT
OCT
ASC
OCT

6400
5102

6 , AD DELIMITER
6400

OZ MB-F o-eT 5-104-

ASC 10,ISC 0 MUST BE IN 14

OCT
ILSCD OCT
ABC
OCT
LULe OCT
Ase
OCT
RDMS OCT
Ase
BLDRC' OCT
Ase
EOTM OCT
Ase
OCT
CHKSM OCT
ASC
OCT

6400
5111

9,LLEGAL SELECT CODE
6400
6412
l',GIVE LOCK, UNLOCK, OR LOAD COMMAND
6412
5104
11,ISC MONITOR PRESENT?
5114

15,OADER NOT CONFIGURED FOR TSB,
5105

S,NO OF TAPE
6400
5103
7,HECKSU~

ERROR

6400
DATER OCT 5104

Ase 3,ATE?
ILDTE OCT 511.1
Ase 6,LLEGAL DATE
OCT 6400

TIMER OCT 5124
ASC 3,TME?
ILTIM OCT 5111
ASC 6,LLEGAL TIME
6400
5000

OCT
[OFM OCT
Ase
TAPER OCT

040520
046117
006412
005123
054523
005117
052524

12:13 PM

18,UNEXPECTED END-OF-FILE/END-OF-TAPE,
5124

ASC 10,APE CANNOT BE

LABOR

R~AD,

9,LOAD/DUMP ABORTED
OCT 6412
5YSL OCT 5123
Ase 12,YSTEM LIBRARY OVERFLOW,
OODSP OCT 5117
ASC 9,UT OF DISC SPACE,
ASC

PAGE 0034 #01
LOCK/UNLOCK EXECUTION

12:13 PM

TUE., 23

OCT., 1979

1336*
1337** INTERPRET REQUEST **
1338*
1339*
1340* UPON ENTRY (8)
0 FOR A 'LOCK' OR -1 FOR AN 'UNLOCK'. SEARCH
1341* THE INPUT RECORD FOR • ,, OR FOR
INSURE THAT  DOES NOT EXCEED 3
1342* - ,.
INSURE THAT ANy 
1343* AND CORRESPONDS TO AN EXISTING DISC.
1344* DOES NOT EXCE~D 64 AND THAT THE SECOND : IF PRESENT:
1345* IS AT LEAST AS GREAT AS THE FIRST.
1346*
1347 06362 077417 LKUNL STB MFLAG
SAVE MODE
1348 06363 003400
CCA
GET LEGAL
1349 06364 016625
JSB GTONO
DISC #
1350 06-3-65 12-740-2J-M-PL2-2A, I
NOT F-O U-NO
1351 06366 001020
ALS,ALS
FOUND, SAVE POINTER
1352 06367 043373
ADA LTRAX
TO ITS
1353 06370 073411
STA LTMP1
TRAX TABLE
1354 06371 017021
JSB INTGR
GET TRACK #
1355 06372 073413
STA LTMP3
SAVE FOLLOWING CHARACTER
1356 06373 017145
JSB PARCK
VALIDATE AND SAVE
1357 06374 077412
STB LTMP2
TRACK NUMBER
1358 06375 063410
LOA LTMPO
SAVE
1359 06376 001323
RAR,RAR
DISC
1360 06377 005127
BLF,BLF
ADDRESS
1361 06400 040001
ADA 1
OF
1362 06401 073414
5TA LTMP4
TRACK
1363 06402 063413
LDA LTMP3
WAS OELI~ITER
1364 06403 053331
CPA LB54
A COMMA?
1365 06404 026414
JMP LKUN2
YES
1366 06405 007400
CCB
NO
1367 06406 053321
CPA LBts
CARRIAGe; RETURN?
1368 06407 026425
JMP LKUN3-1
YES
1369 06410 063322 [,KUN 1 LOA T,J. 15
NO
1370 06411 067424
LOB BODLA
PRINT
1371 06412 117377
JSB ASRDA,1
ERROR
1372 06413 127402
JMP L22A,I
1373 06414 017021
LKUN2 JSB INTGR
GET SECOND TRACK
1374 06415 053321
CPA LB15
FOLLOWED BY CARRIAGE RETURN?
1375 06416 002001
RSS
YES
1376 06417 026410
NO
JMP LKUN1
1377 06420 017145
JSB PARCK
VALIDATE PARAMETER
1378 06421 007000
eMS
COMPUTE # OF TRACKS
1379 06422 047412
ADB LTMP2
TO BE LOCKED/UNLOCKED
1380 06423 006021
SSB,RSS
ONE OR MORE?
1381 06424 027152
JMP PARC!
NO
13B2 06425 077413
STB LTMP3
YES, SAVE COUNT
1383*
1384* FOR EACH TRACK IN TURN, EXTRACT ITS STATUS AND JUMp TO THE
1385* LOCK OR UNLOCK CODE.
1386*
1387 06426 063414 LKUN3 LOA LTMP4
1388 06427 001066
ALS,CLE,ELA
SET POINTER
1389 06430 006400
CLB
TO PROPER
1390 06431 100022
ASL 2
WOR.O OF

=

*
*

*

PAGE 0035 #01
LOCK/UNLOCK EXECUTION
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401*

1402**

06432
06433
06434
06435
06436
06437
06440
06441
06442
06443

1406*
1401*

ADB LTMPI

047411
077415
001700
043315
160000
073416
113415
067417
006006
026516

TUE., 23

ALF
ADA BMSKA
fJDA 0,1

STA LTMP6
AND LTMP5,I

OCT., 1979

TRAX

STS LTMP5

'rABLE
SAVE

APPROPRIATE
BIT
MASK

EXTRACT TRACK STATUS

l,DR MFl,AG

INB,SZB
JMP LKUN6

UNLOCK A TRACK

1403*

1404*
1-4-0-5*

12:13 PM

UNLOCK?
NO

***

*

I-FTR--A-C-K IS LOCKED, UNLD-C-K IT AN-D INSERT A FULL-TRACK ENTRY
INTO THE ADT (IF THE ADT IS FULL, THE TRACK IS LOST UNTIL A
SUBSEQUENT RELOAD).

1408*
1409

1410
1411
1412
1413
1414
1415
1416
1417

1418
1419
1420
1421
1422
1423

1424
1425
1426
1427
1428
1429

1430
1431
1432
1433
1434

1435
1436
1437

1438
1439
1440
1441
1442*

1443*
1444*
1445*

06444
06445
06446
06447
06450
06451
06452
06453
06454
06455

002003
026507
123415
173415
064137
057340
026501
007004
047372
011415
06456 064137
06457 047313
06460 0741~7
06461 017156
06462 063415
06463 003004
06464 040001
06465 001100
06466 073410
06467 063415
06470 043313
06471 073416
06472 104200
06474 104400
06476 063416
06477 073415
06500 037410
06501 026470
06502 063414
06503 173415
06504 017011
06505 037415
06506 173415

SZA,RSS
JMP LKUN5
XOR LTMP5,I
STA LTMP5,I
LDB ADIJEN
cpa MXADT
JMP IJKUN5
eMB,INB
ADB ADTBF
STB LTMP5
LOB ADLEN
ADB LM2
STS AOLEN
JSB FADTP
LDA LTMp5
CMA,I~A

ADA 1

ARS
STA LTMPO
LDA LTMPS
LKUN4 ADA LM2
STA LTMP6
OLD LTMP6,I
DST LTMP5,I
LOA LTMP6
STA LTMP5
ISZ LTMPO
JMP LKUN4
LOA LTMp4
STA LTMPS,!
JSB I50TL
ISZ LTMPS
STA LTMP5,T

IS TRACK LOCKED?
NO
YES
UNLOCK TRACK
IS ADT
FULL?
YES, TRACK LOST
NO
SET POINTER TO
TJAST WORD +1 OF ADT
CORRECT
ADT
LENGTH
FIND POSITION FOR NEW ENTRY
COMPUTE
# OF
F:NTRIES
TO BE
MOVED
SET
SOURCE ADDRESS
MOVE
ENTRY
UPDATE TO NEXT
DESTINATION ADDRESS
ALL ENTRIES MOVED?
NO
YES
SET ENTRY'S DISC ADDRESS
SET

ENTRY'S LENGTH
IN SECTOPS

CHECK IF UNPROCESSED TRACKS REMAIN. IF so, UPDATE REFERENCE
QUANTITIES AND PROCEED TO PROCESS THE NEXT ON~; ELSE RETURN
TO THE LOADER FOR FURTHER INSTRUCTIONS.

PAGE 0036 #01
LOCK/UNLOCK EXECUTION
1446*
1447
1448
1449
1450

1451
1452
1453
1454*
1455**
1456*

06507
06510
06511
06512
06513
06514
06515

063414
043335
073414
037412
037413
026426
127402

LOCK A TRACK

1457*
1458*

1459*
1-460*

12:13 PM

LKUN5 LOA LTMP4
ADA LB400

STA
ISZ
ISZ
JMP
JMP

LTMP4
LTMP2
LTMP3
LKUN3
L22A,I

TUF.., 23

OCT., 1979

COMPUTE
DISC ADDRESS OF
NEXT TRACK
ADVANCE TRACK #
ALL THACKS CONSIDERED?
NO
YES

*
*

**

IF THE TRACK IS UNLOCKED AND LOCKABLE, LOCK IT AND REMOVE ITS
ENTRY FROM THE ADT; ELSE PRINT A MESSAGE AND CONTINUE TO THE
NEX-T TRACK.
A 'FRACK IS LOCKA-BLE IF IT H-'\S AN AD-T EN-TRY
CORRESPONDING TO THE FULL LENGTH OF THE TRACK: I.E., NO PART
OF THE TRACK IS IN USE.

1461*
1462*
1463*
1464 06516 002002
1465 06517 026507
1466 06520 017156
1467 06521 063414
1468 06522 150001
1469 06523 006005
1470 06524 026537
1471 06525 017011
1472 06526 150001
1473 06527 006005
1474 06530 026537
1475 06531 060001
1476 06532 017171
1477 06533 163415
1478 06534 033416
1479 06535 173415
1480 06536 026501
1481*
1482 06537 063324
1483 06540 067432
1484 06541 117377
1485 06542 006400
1486 06543 063412
1487 06544 100400
1488 06546 047332
1489 06547 002003
1490 06550 026553
1491 06551 043332
1492 06552 001727
1493 06553 030001
1494 06554 067344
1495 06555 104400
1496 06557 063316
1497 06560 067376
1498 06561 117377
1499 06562 026507

TR~oCK

LKUN6 SZA

JMP LKUN5
JSB FADTP
LDA LTMP4
CPA 1,1

INB,RSS
JMP LKUN7
JSB ISOTL
CPA 1,1
INB,RSS
JMP LKUN7
LOA 1
JSB MOVUP
LDA LTMP5,I
lOR LTMP6
STA LTMPS,I
JMP LKUN5

LKUN7 LOA
LDB
JSB
CLB
LOA
DIV
ADS

L.20
TRKNA
ASRDA,I

t..I0CKED?

YES

NO, FIND ADT ENTRY FON tRACK
ENTRY
FOUND?
YES
NO

GET TRACK LENG1'H
IS PART OF TRACK IN USE?
NO
YES
DELETE
lOT ENTRY
LOCK
TRACK

PRINT 'CANNOT
LOCK TRACK #'
COMPUTE

LTMP2
L.10
LB6Q

DIGITS OF

TRACK #
COMPUTE

SZA,RSS

JMP LKUN8

ASCII OF

ADA LB60

ALF,ALF
LKUN8 TOR 1
LDB 86400

DST EBUFA,I
LOA L.3
LOB FBUFA
JSB ASRDA,I
LTMP LKUN5

TRACK

PRINT
IT

#

PAGE 0037 #01

12:13 PM

TUE., 23

OCT., 1979

UTILITY ROUTINES
1501*
1502** GET SELECT CODE **
1503*
1504*
1505* ENTER WITH A CHARACTER IN (Al.
FIND A TWO-DIGIT OCTAL
1506* INTEGER IN £(77 OCT - SELCD,I),76 OCTJ.
IF THIS CANNOT BE DONE,
1507* PRINT AN ERROR AND EXIT TO (P+2), ELSE EXIT TO (P+3) WITH THE
1508* INTEGER IN (S) AND THE FOLLOWING CHARACTER IN (A).
1509*
1510 065&3 000000 SELeD NOP
1511 06564 017220
JSB DIGCK
DIGIT?
1512 06565 026621
JMP SELC2
NO
1513 06566 047311
ADB LM8
YES, OCTAL
1514 06567 006021
SSB,RSS
DIGIT?
1515 0657-0 02-662-1
JM-P SELC2
NO
1516 06571 001723
ALF,RAR
YES
1517 06512 013411
5T.A LTMP1
SAVE IT
9
1518 06573 017233
JSB GETCR
NEXT
1519 06574 026621
JMP SELC2
1,520
06575 017220
JSB DIGCK
CHARACTER AN
1521 06576 026621
JMP SELC2
ADS [1MB
1522 06577 047311
OCTAL DIGIT?
1523 06600 006021
SSB,RSS
1524 06601 026621
JMP SELC2
NO
1525 06602 043411
ADA LTMPl
YES, SAVE
1526 06603 073411
STA LTMP1
SELECT CODE
1527 06604 017233
JSB GETCR
1528 06605 000000
NOP
1529 06606 067411
LDB LTMP1
SELECT CODE
1530 06607 047307
ADS LD77
1531 06610 006021
SSB,RSS
WITHIN
1532 06611 026621
JMP SELC2
1533 06612 146563
ADS SEl,CD, I
LEGAL RANGE?
1534 06613 006020
5SB
1535 06614 026621
JMP 5ELC2
NO
1536 06615 067411
LDB LTMPI
YES
1537 06616 036563
ISZ SELen
1538 06617 036563 SELC 1 I SZ SEI,.CD
1539 06620 126563
JMP SEJ.Jcn, I
1540 06621 063325 SELC2 LDA L.21
REPORT
1541 06622 067425
LOB ILSCL
1542 06623 117377
JSB ASRDA,I
ERROR
1543 06624 026617
JMP SEtel
1544*
1545** GET DISC NUMBER
1546*

*
*

*

1547*

SEARCH THE INPUT

***
*
RECORD

FOR A '-' FOLLOWED By AN INTEGER IN

=

[0,3] FOLLOWED B¥ A COMMA. IF (A)
1548*
-1 UPON ENTRY, CHECK THAT
EXIT TO (P+2) WITH THE INTEGER IN
1549* THE REFERENCEO DISC EXISTS.
1550* (A) IF ABOVE CONDITIONS ARE MET: OTHERWISE, PRINT AN ERROR AND
1551* EXIT TO (P+l).
1552*
1553 06625 000000 GTDNO NOP
1554 06626 073410
STA LTMPO
SAVE FLAG
1555 06627 017233 GTONI JSB GETCR

PAGE 0038 '01

12:13 PM

TUE., 23

OCT., 1979

UTILITY ROUTINES
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
15-7-01571

1572
1573
1574
1575
1576
1577
1578
1579

15BO

06630
06631
06632
06633
06634
06635
06636
06637
06640
06641
06642
06643
06644

026637

JMP GTDN2

053343

CPA DASH
RSS

002001
026627
017021
053331
026643
063322
067424
117377
126625

060001

047312
06645 006020

0-664-6 0266-53
06647
06650
06651
06652
06653
06654
06655
06656

0&657
06660
06661
06662
06663

063323
067430
117377
126625
037410
026663
073410
043374
006400
154000
026647
063410
036625

JMP GTDNI
JSB INTGR
CPA L854

'-' ?
YES
NO
GET DISC #
FOLLOWED BY A COMMA?

JMP GTDN3

YES

GIDN2 LDA L.1S
TJDB BDDLA

JSB
JMP
GTDN3 LOA
ADB
SSB

J-M-P- GT-DN-5-

GTON4 LOA L.17
L08 BAODA,

JSB
JMP
GTONS ISZ
JMP
STA
ADA
CLB
CPR
JMP
LDA
GTDN6 ISZ
JMP

1581
1582
1583
1584 06664 126625
1585*
1586** SET DISC TABLE ENTRY
1587*
1588*
1589* UPON ENTRY TEMPt HOLDS
1590* SELECT CODE.
IF TEMP2

1591*
1592*
1593*
1594*
1595*
1596*
1597*
1598
1599
1600
1601

1602
1603

1604
1605
1606
1607
1608
1&09
1610

ASRDA,I
GTDNO,I
1
LM4

NO
PRINT
ERROR

DISC #

< 4 ?
YES
NO
PRINT
ERROR

ASROA,I
GTDNO,I
LTMPO
GTDN6
LT!'PO

CHECK DISC TABLE?
NO
YES, SAVE DISC #

LDTBT,I

DOES

0,1

GTDN4
LTMPO
GTDNO
GTONO,I

DISC
EXIST?
NO
YES, LOAD DISC #

*
**

*

THE DISC # AND TEMP2 HOLDS THE DISC'S
> 0 UPON ENTRY, SEARCH THE INPUT
BUFFER FOR AN INTEGER IN [90,128] FOLLOWED BY A CARRIAGE RETURN.
IF rOUND, RESET THE DISC TABLE ENTRY APPROPRIATELY AND UNLOCK THE
TRACKS ON THE DISC, EXITING TO (P+2'. IF NO PROPER
INTEGER IS FOUND, PRINT AN ERROR AND EXIt TO (P+1). IF TEMP2
0
UPON ENTRY, ZERO THF, DISC'S TABLE ENTRY AND LOCK ITS TRACKS,
EXITING TO (P+2).

=

06665
06666
06667
06670
06671
06672
06673
06674
06675
06676
06677
06700
06701

000000
167406
047374
163407
002002
026710
170001
067312
077411
16740&
005020
047373
003000

SETDS NQP

LOB TMP1A,I
ADB LDTBT.J
LOA TMP2A,I
SZA

JMP SETD3
STA 1,1
SETDI LOB LM4
STB LTMPI
LDB TM'P1A,I
BLS,BLS
ADS LTRAX
CMA

COMPUTE ADDRESS OF pROPER
DISC TABLE ENTRY
DISC
RE~OVAL?

NO
YES, REMOVE OISC
SET
COUNTER
COMPUTE
TR~CK TABLE
ADDRESS
SET DISC AVAILABLE

PAGE 0039 #01
UTILITY ROUTINES
1611
1612
1613
1614
1615
1616

1617
1618
1619
1620

1621
1622
1623
1624
1625
1626
1627
1628
1629

1630
1631
1632
1633

1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646

1047
1648

1649
1650
1651
1652
1653
1654*

06702
06703
06704
06705
06706
06707
06710
06711
06712
06713
06714

12:13 PM

170001
006004
037411
026702
036665
126665
077412
017021
053321

SETD2 STA
INS
ISZ
JMP
ISZ
JMP
SETD3 STB
JSB

026720

JMP
SETD4 LOA
LOB
JSB
JMP

063326

06715 067426

06716 117377
06717 126665
0672-0 0600-01

06721 047305
06722 006021
06723 026714
06724 047330
06725 006020
06726 026714
06727 001727
06730 073411
06731 006400
06732 177412
06733 167407
06734 002001
06735 047333
06736 063374
06737 073413
06740 063312
06741 073414
06742 163413
06743 013334
06744 050001
06745 026735
06746 037413
06747 037414
06750 026742
06751 047411
06752 177412
06753 003400
06754 026674

TUE., 23

OCT., 1979

1,1
OR NOT AS

LTMPl
SETD2
SETDS
SETDS,I
LTMP2
INTGR

CP-l\ LBtS

SETD5
L.23
ILTRA
ASRDA,I
SETDS,I
SETO-StrOA- tAOS LM129
SSB,RSS
JMP SETD4

APPROPRIATE

SAVE DTBL ADDRESS
GET # OF SECTORS
ENO-OFwLINE?
YES
NO

PRINT
ERROR

VERIFY RESULT
TO BE WITHIN

ADS I.,.39

sse
JMP SETD4
ALF,ALF
STA LTMP1
CLB
STa LTMP2,I
LDB TMP2A,I
RSS
SETD6 ADB LBtoo
LDA tOTBL
STA LTMP3
LDA 1"M4

STA
SETD7 LDA
AND
CPA
JMP
ISZ
ISZ
JMP
ADS
STa

eeA

LTMP4
LTMP3,I
LB377
1
SETD6
LTMP3
LTMP4
SETD7
LTMPl
LTMP2,I

JMP SET01

[90,128]

POSITION AND
SAVE LENGTH
DELETE
PRIOR ENTRY
COMPUTE
TRIAL
SELECT CODE PART
SET
FOR
TABLE
SEARCH
SELECT CODE PART
ALREADY
USED?
YES
NO, MOPE
TABLE ENTRIES?
YES
NO, CREATE
NEW ENTRY
UNLOCK
TRACKS

***
*

1655** GET A COMPLETE TRACK
1656*
1657*
1658* SEARCH ADT FOR A FULL TRACK. IF NONE FOUND, TERMINATE
IF FOUND, RETURN WITH DISC ADDRESS IN (A). IF
1659* LOADING.
1660* CA)
-1 UPON ENTRY, DELETE TRACK'S AOT ENTRY, ELS~ SET
1661* ITS SECTOR COUNT TO ZERO.
1662*
1663 06755 000000 GTTRK NOP
1664 06756 073411
STA LTMPl
SAVE FLAG
1665 06757 067315
TJDB L. 2
SET

=

[El

PAGE 0040 #01

12:13 PM

TUE., 23

OCT., 1979

UTILITY ROUTINES
1666 06760 044137
AOS ADLEN
ENTRY COUNTER,
[El
1667 06761 005100
BRS
SKIPPING LAST
(El
1668 06762 077412
STB LTMP2
P5UEDO-ENTRY
(E]
1669 06763 067372
LDB ADTBF
(8) WILL HOLD ENTRY ADDRESSES
1670 06764 160001 GTTRI LOA 1,1
LOAD ENTRY'S DISC ADDRESS
1671 06765 017011
JSB ISOTL
GET TRACK LENGTH
1672 06766 006004
INB
IN SECTORS
1673 06767 150001
CPA 1,1
ALL OF TRACK AVAILABLE?
1674 06770 026775
JMP GTTR2
YES
1675 06771 006004
INS
NO
1676 06772 037412
TSZ l,TMP2
MORE AOT ENTRIES?
1677 06773 026764
JMP GTTRI
YES
1678 06774 127404
NO
JMP ERR5A,I
1679 06775 002400 GTTR2 CLA
CLAIM
16-80- 0677-6 17-{)-001
ST-A 1-, ITRACK
1681 06777 047314
ADB LNl
LOAD
1682 07000 160001
tJDA I, I
DISC ADDRESS
1683 07001 037411
ISZ LTMPl
REMOVE ENTRY?
1684 07002 126755
NO
JMP GTTRK,I
1685 07003 073412
STA LTMP2
YES
1686 07004 047315
ADB L.2
ELIMINATE
1687 07005 060001
LOA 1
1688 07006 017171
JSB MOVUP
ENTRY
1689 07007 063412
LDA LTMP2
RETRIEVE
1690 07010 126755
JMP GTTRt<,I
DISC ADDRESS
1691*
1692** ISOLATE TRACK LENGTH
1693*
*
1694*
1695* ENTER WITH A DISC ADDRESS IN CAl.
RETURN WITH THE LENGTH IN
1696* SECTORS OF THE REFERENCED TRACK IN CA).
1697*
1698 07011 000000 150TL NOP
1699 07012 001222
RAL,RAL
GET
1700 07013 013316
AND L.3
DISC #
1701 07014 043374
ADA LDTBL
LOAD wORD FROM
1702 07015 160000
LOA 0,1
DISC TABLE
1703 07016 001727
ALF,ALF
EXTRACT TRACK LENGTH
1704 07017 013334
AND LB377
IN SECTORS
1705 07020 127011
JMP ISOTt,I
1706*
1707** BUILD AN INTEGER **
1708*
1709*
1710* SEARCH THE INPUT STRING FOR AN INTEGER.
IF FOUND, RETURN WITH
1711* IT IN (8).
IF NO DIGITS ARE FOUND OR THE INTEGER OVERfLOWS
1712* 16 BITS, RETURN WITH 32767 IN (8).

***

*
*

1713*
1714
1715
1716
1717

1718
1719
1720

07021
07022
07023
07024
07025
07026
07027

000000
003400
073415
002400
073416
017233
027046

INTGR NOP
CCA
STA. LTMP5

eLA

INTG1 STA LTMP6
JSB GETCR
JMP INTG2

SET 'NO DIGITS'
F'LAG

INITIALIZE TO ZERO
STORE PARTIAL RESULT
MORE CHARACTERS?
NO

PAGE 0041 #01
UTILITY ROUTINES
1121
1122
1123
1724
1125
1726
1727
1728
1729

1733
1734

07030
07031
07032
07033
07034
07036
07037
07040
07041
07042
07043
07044
07045
07046

173-5

070-4-7 ·037·415

1736
1737
1738

07051 067336
07052 127021

1730

1731
1732

017220
027046
073415
063416
100200
000040
043415
006043
002020

002001
027025
067336
127021
067416

01050 127021

12:13 PM

JSB
JMP
STA
LOA

DIGCK
INTG2
LTMPS
LTMP6

MPY L.I0

CLE
ADA l.lTMP5
SEZ,SZB,RSS
SSA
RSS

JMP INTG1
LOB INF
JMP INTGR,I
INTG2 LOB l,TMP6
ISZ LTtttp5

JMP INTGR,I
LDB TNF
JMP INTGR,I

1739*

TUE., 23

OCT., 1979

YES, DIGIT?
NO
YES, SAVE IT
MULITPL¥ PARTIAL
RESULT BY 10
ADD IN
NEW DIGIT

OVERFLOW?
YES
NO
REPLACE WITH
MAXI1tfU'" INTEGER
LOAD INTEGER
ANY DIGITS FOUND?
YES
NO, LOAD ILLEGAL INTEGER

***
*

1740** CONVERT TWO-DIGIT INTEGER
1741*
1742*
1743* SEARCH THE INPUT RECORD FOR A TWO-DIGIT INTEGRR NOT TO EXCEED
1744* - (TWODG, I UPON ENTRY). IF FOUND, RETURN TO (P+2) WITH I ~4TEGER
1.745* IN (8), ELSE EXIT TO ERROR ROUTINE.
1746*
1747 07053 000000 TWODG NOP
1748 07054 017233
JSB GETeR
FETCH
1749 07055 127405
JMP ERR1'A,I
AND
1750 07056 017220
JSB DIeCK
VERIFy
1751 07057 127405
JMP ERR7A,I
DI~IT
1752 07060 006400
eLB
MULTIPLY
1753 07061 100200
MPY L.IO
BY 10
1754 07063 073411
STA tJTJ;4Pl
AND SAVE
1155 07064 017233
JSB GETeR
FETCH
1756 07065 127405
JMP ERR7A,I
AND
1757 07066 017220
JSB DIGCK
VERIFY
1758 07067 127405
JMP ERR7A,I
DIGIT
1759 07070 047411
ADB LTMPl
COMBINE WITH PRIOR RESULT
1760 07071 060001
LOA 1
1761 07072 143053
ADA TWODG,I
INTEGER
1762 07073 037053
ISZ 't'WODG
TOO
1763 07074 002020
5SA
LARGE?
1764 07075 127053
NO
JMP TWODG,I
1765 07076 127405
JMP ERR7A,I
YES
1766*
1767** READ FROM PAPER TAPE
1768*

***
*

1769*
1770* RETURN WITH A WORD FROM PAPER TAPE IN (8).
IF CEl
1 UPON
1771* ENTRY, READ ONLY THE NEXT FRAME~
IF (E)
0 UPON ENTRY,
1772* COMBINE THE NEXT TWO FRAMES INTO A 16-SIr RPSULT.
1773*
1774 07077 000000 READ NOP
1775 07100 006600
CLB,CME

=

=

12:13 PM

PAGE 0042 #01
UTILITY ROUTINES
1776
1.777
1778
1779
1780
1781
1782
1783
1784

07101
07102
07103
07104
07105
07106
07107
07110
07111

103713
102313
027102
106713
106413
002041
127077
005767
027101

READ! STC 13B,C
SFS 138
JMP *-1
eLC 138
MIS 13B
SEZ,RSS
JMP READ,!
BLF,CLE,BLF
JMP READ!

TUF.., 23

OCT., 1979

READ
A

CHARACTER
INCLUSIVE OR
INTO (8)
SECOND CHARACTER TO BE READ?
NO
YES, MOVE FIRST CHARACTER
TO HIGH PART OF (8)

PAGE 0043 #01

12:13 PM

TUE., 23

OCT., 1979

UTILITY ROUTINES
1786*
1787** VALIDATE ADDRESS **
1788*
1789*
1790* ENTER WITH AN ADDRESS IN (B).
VERI~Y THAT THIS!AODRESS LIES
IF THIS IS
1791* WITHIN AN AREA OF CORE CONTAINING TSB SYSTEM CODE.
1792* NOT THE CASE, HLT 55 OCT WITH THE OFFENDING ADDRESS IN (A).
1793*
1794 07112 000000 ADVAL NOP
1795 07113 077411
STB LTMP1
SAVE ADDRESS
1796 07114 000040
CLE
BELOW
1797 07115 047365
ADB MAXAD
PRO'!'ECTED
1798 07116 002040
SEZ
LOADER?
1799 07117 027137
NO
JMP ADVA1
18-0-0 0·712·0 0-47366
A0·8· S·YST A
YES, IN MAIN PART
1801 07121 006021
Of~ SYSTEM?
SSB,RSS
1802 07122 127112
JMP ADVAL,I
YES
1803 07123 047367
ADB MAXBA
NO, BELOW
1804 07124 006021
SSB,RSS
UNUSED SWAP AREA?
1805 07125 027137
NO
JMP ADVAI
1806 07126 047370
ADS BPAGA
YES, IN BASE PART
1807 07127 006021
SSB,RSS
OF SYSTEM?
1808 07130 127112
JMP ADVAL,I
YE5
1809 07131 047371
NO, WITHIN LEGAL
ADB INRPA
1810. 07132 006021
SSB,RSS
INTERRUPT AREA?
1811 07133 027137
NO
JMP ADVAl
1812 07134 047317
ADS LSll
YES,
( A) OR (B) ?
1813 07135 006021
SSB,RSS
1814 07136 127112
NO
JMP ADVAL,I
1815 07137 063323 ADVA1 LOA L.17
YES
1816 07140 067427
LOB BDADA
PRINT
1817 07141 117377
JSB ASRDA,I
ERROR
1818 07142 063411
LOA LTMP1
DISPLAY ADORESS
1819 07143 102055
HLT 55B
WATT FOR REREAD ATTEMPT
1820 07144 127403
JMP J,.I46 A , I
1821*
1822** VALIDATE TRACK NUMBER
1823*
*
1824*
1825* ENTER WITH AN INTEGER IN (8).
IF IT IS LESS THAN 64, EXIT WITH
1826*
(8) UNCHANGED; OTHERWISE, PRINT AN ERROR ~ND RETURN TO LOADER
1827* SEQUENCE.
1828*
1829 07145 000000 PARCK Nap
1830 07146 060001
I~DA 1
1831 07147 043306
ADA LM64
TRACK #
1832 07150 002020
SSA
< 64 ?
1833 07151 127145
YE5
JMP PARCK,I
1834 07152 063321
PARe1 LOA L.13
""0
1835 07153 067431
LOB BAOPA
PRINT 'BAD
1836 07154 117377
JSB ASRDA,1
TRACK #'
1837 07155 127402
JMP r~22A, I

*

*

***

PAGE 0044 ,01

12:13 PM

TUE., 23

OCT., 1979

UTILITY ROUTINES
1839*
1840** FIND ADT POSITION **
1841*
1842*
1843* SEARCH THE ADT FOR THE FIRST ENTRY WHOSE DISC ADDRESS IS EQUAL
1844* TO OR EXCEEDS THE DISC ADDRESS IN LTMP4. RETURN WITH A pOINTER
1845* TO THIS ENTRY IN (B).
1846*
1847 07156 000000 FAOTP NOP
1848 07157 063414
2'5 COMPLEMENT
LDA LTMP4
1849 07160 003104
CMA,CLE,INA
DISC ADDRESS
1850 07161 073410
STA LTMPO
SAVE IT
1851 07162 067372
LDB .ADTSF
INITIAL ADT POINTER
1852 07163 140001 FAOTI ADA 1,1
FIRST ADT ENTRY >=
18-53 07164 00-26-4-0
S-EiZ
TRACK DISC ADDRESS?
JMP FAOT?,I
YES
1854 07165 127156
1855 07166 063410
NO, TRY
LDA LTMPO
1856 07167 047315
ADS L.2
NEXT ENTRY
1857 07170 027163
JMP FADTl
1858*
1859** ELIMINATE AOT ENTRY
1860*
1861*
1862* ENTER WITH THE ADDRESS OF THE SCRATCHED ADT ENTRY IN CA) AND (B).
1863* MOVE THE TABLE BELOW IT OVER IT AND DECREMENT THE ADT LENGTH
1864* BY 2.
1865*
1866 07171 000000 MOVUP NQP
1867 07172 073421
STA SOURe
SAVE SOURCE ADDRESS
1868 07173 047313
ADB LM2
SAVE
1869 07174 077420
DESTINATION ADDRESS
STB DEST
ADA A.ot.$EN
1810 07175 040137
COMPUTE
NUMBER OF
1871 07176 003004
CMA,INA
ADA AD'J'BF
ENTRIES
1872 07177 043372
1873 07200 003004
CMA,JNA
TO BE
1874 07201 001100
MOVED
ARS
1875 07202 073422
STA MCNT
1876 07203 104200 MOVUl OLD SOURC,I
MOVE
1877 07205 104400
DST DEST,l
ENTRY
1878 07207 063421
LOA SQURe
UPDATE
1879 07210 073420
STA OEST
1880 07211 043315
ADA L.2
ADDRESSES
1881 07212 073421
STA SOURC
1882 07213 037422
ISZ MeNT
DONE?
1883 07214 027203
JMP MOVUl
NO
1884 07215 034137
ISZ ADLEN
YES, REDUCE TABLE LENGTH
1885 07216 034137
ISZ ADLEN
BY ONE ENTRY
1886 07217 127171
JMP MOVUP,I

*

*

***
*

PAGE 0045 #01
UTILITY ROUTINES

12:13 PM

TUE., 23

OCT., 1979

1888*
1889** CHECK FOR A DIGIT **
1890*
1891*
IF IT IS A DIGIT, RETURN TO
1892* ENTER WITH A CHARACTER IN (A).
1893* (P+2) WITH THE BINARY DIGIT IN CA) AND (8). OTHERWISE, RETURN
1894* TO (P+l) WITH THE CHARACTER IN (A).
1895*
1896 07220 000000 DIGCK NQP

*
*

1897
1898
1901

07221
07222
07223
07224
07225

1902

-Ol-2-26

1903
1904

07227

1905

07231
07232

1899
1900

1906
1907*
1908**
1909*

07230

064000
047310
006021
127220
047320
006-0-2-0
127220
060001
037220
127220

LDB 0
ADB LD72
SSB,RSS
JMP DIGCK,I
ADB LB12
SSB

JMP
LOA
ISZ
JMP

FETCH INPUT CHARACTER

OR LES-51

DIGCK,I
1
DIGCK
DIGCK,1

YES
NO

*
**

*

1910*

1911*
1912*
1913*

ASCII
72 OCT OR
GREATER?
YES
NO, ASCII 57 OCT

RETURN TO (P+2) WITH THE NEXT NON-BLANK CHARACTER FROM THE INPUT
RECORD IN (A). IF A CARRIAGE RETURN IS FOUND, RETURN TO (P+l)
WITH IT IN (A).

1914*

1915
1916
1911

1918
1919
1920

1921
1922
1923
1924
1925

1926
1927
1928

07233
07234
07235
07236
07237

000000

067423
037423

004065
160001
07240 002041
07241 001727
07242 013334
07243 053341
07244 027234
07245 0533'21
07246 127233
01247 037233
07250 127233

GETeR NOP
LDB BADOR
ISZ BAODR
CLE,ERB
LDA t,I
SEZ,RSS
ALF,ALF
AND LB377
CPA BLANK
JMP GETCR+l
CPA LB15
JMP GETeR,I
lSZ GETeR
JMP GETeR,I

1929*
1930**

GET MAG TAPE SELECT CODE

1931*
1932*
1933*

1934*
1935*
1936*
1937*
1938*

LOAD CHARACTER POINTER
ADVANCE IT
LOAD
WORD
ADJUST AS

NECESSARY
MASK OFF CHARACTER
BLANK?
YES,

IGNORE IT

NO, CARRIAGE HETURN?
YES, EXIT TO (P+l)
NO, EXIT
TO (P+2)
[F]

*
**
*

[FJ
[F]

[Fl

REQUEST MAG TAPE SELECT CODE. IF THE ANSWER IS A CARRIAGE
RETURN, INDICATING PAPER TAPE RRLOAD, RETURN TO (P+l).
OTHERWISE, LOOK FOR A SELECT CODE IN [16 OCT, 76 OCTJ. A n*"
FOLLOWING THE SELECT CODE DESIGNATES THE MAG TAPE CONTROLLER
AS A 7970 TYPE. EXIT TO (P+2) AFTER FINDING A VALID SELECT
CODE.

1939*
1940 07251 000000
1941 07252 063327
1942 07253 067400

(F]

[F]

[Fl
[F)

[FJ
(F]

[F"J

GETMT NOP
{,IDA L.24

LOB MTSCA

(Fl
ASK

FOR

[F)

12:13 PM

PAGE 0046 #01
UTILITY ROUTINES
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
t95.7
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967

07254
07255
07256
07257
07260
07261
07262
07263
07264
07265

07266
07267
07270
07271
07212
07273
07274
07275
07276
07277
07300
07301
07302
07303
07304

117377
002400
117377
017233
127251
016563
000061
027252
177401
053321
027303
053342
027275
063325
06.7 4-25

117377
027252
017233
002001
027271
163401
033337
173401
037251
127251

JSB ASRDA,I
CLA
JSB ASRDA,I
JSB
JMP
JSB
OCT
JMP
STB
CPA
JMP

GETeR
GETMT,I
BELen
61
GETMT+1

MTFLA,I
LBt5

GTMT3
CPA STAR

JMP GTMT2
GTMTI LOA L.21
L-DB lLSCL
JSB ASRDA,I
JMP GETMT+l
GTMT2 JSB GETeR
pss
JMP GTM1'1
LDA MTFLA,t
rOR SGNBT
STA MTF'LA,I
GTMT3 ISZ GETMT
JMP GETMT,r

TUE., 23

OCT. ,

TAPE
SELECT
CODE

MAG

1979

[F]

[FJ

CF)
EMPTY INPUT RECORD?
[F]
YES, PAPER TAPE RELOAD
GET SELECT CODE
rFJ
IN [ 16 OCT, 76 OCTl
(F)
NOT FOUND
FOUND~ SET FLAG TO 'MAG 't'APE'(F]
[F)
CARRIAGE RETURN FOLLOWS?
[F)
YES
NO, ASTERISK?
[F]
(F]
YES
NO, OUTPUT
ERROR-

t.4ESSAGE
AGAIN
CARRIAGE RETURN FOLLOwS?
REQUEST

YES

NO

FLAG
AS

7970

[F]
[F]
[F]
[F)
[F]
[F)
[F']
[F)
[F]
[F]
[~)

[F]

PAGE 0047 #01
CONSTANTS, TEMPORARIES, ETC.

177577

1969
1970
1971
1972
1973
1974
1975
1976

177700
177701
177706
07311 177770
07312 177774
07313 177776
07314 177777

1977

07315 000002

L~2

1978
1979
1980
1981
1982
19-83
1984
1985
1986
1987
1988
1989
1990
1991

07316 000003
07317 000011
07320 000012
07320
07321 000015

L.3

1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005*
2006
2007
2008
2009
2010
2011*
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023

07305
07306
07307
07310

0-73-2-1
07322
07323
07324
07325
07326
07327
07330
07331
07332
07333

000017
000021
000024
000025
000027
000030
000047
000054
000060
000100

07334 000377
07335
07336
07337
07340
07341
07342
07344
07345
07357

000400
077777
100000
165300
000040
000052
000055
006400
000001
002000

07365
07366
07367
07370
07371

140100
023700
012000
001600
000165

07343

TUE., 23

OCT., 1979

LM129 DEC -129
LM64 DEC -64
L071 OCT -77
L072

OCT -72

LHe

DEC -8
DEC -4

LM4

LM2
LMI
LSll
L.tO

LB12
IJ .13

LBtS
T..,.15
L.17
L.20
L.21

L.23

DEC -2
DEC
DEC
DEC
OCT

-1
,
3
11
DEC 10

EQU L.I0
DEC 13
E-Q-U L.l3
DEC 15

DEC 17
DEC 20
DEC 21

DEC 23

L.24 DEC 24
L.39 DEC 39
LB54 OCT 54
OCT 60
LB60
LBlOO OCT 100
La317 OCT 377
LB400 OCT 400
INF
OCT 77777
SGNBT OCT 100000

MXADT DEC -5440
BLANK OCT 40
STAR
OCT 52

[F]

(F]

'*'

(F]

OCT 55
'.'
B6400 OCT 6400
CARRIAGE RETURN - NULL
BMASK OCT 1,2,4,10,20,40,100,200,400,1000
OCT 2000,4000,10000,20000,40000,100000

DASH

MAXAD
SYSTA
MAXBA
BPAGA
rNRPA

OCT
ASS
ASS
ABS
ABS

07372 025200
07373 000140
07374 000160
01375 007345
07376 011641
07377 002010
07400 006034
07401 005666

ADTBF DEF
LTRAX DEF
LDTBL DEF
BMSKA DEF
EBUFA DEF
ASRDA DEF
MTSCA DEF
MTFLA DEF

07402 004355

L22A
L46A

07403 005057
07404 004626
07405 005370

12:13 PM

140100

37700B-14000B
14000B-2000B

2000B-200B
200B-138

AOTBL
TRAX
DTBL
BMASK
EBUF

ADT BUFFER ADDRESS
ADDRESS OF AVAILABLE TRACK TABLE
DISC SELECT COOE TABL~ ADDRESS

TTY35
MTSC

ADDRESS OF TTY DRIVER

MTFLG

DEF LOR22

DEF LDR46
ERR5A DEF ERR5
ERR7A DEF ERR7

ADDRESS OF BIT MASK TABLE

ADDRESS OF ERROR BUFFER
[F]

[Fl

PAGE 0048 #01

12:13 PM

CONSTANTS, TEMPORARIES, ETC.
2024
2025

07406 005661
07407 005662

TMP1A DEF TEMP1
TMP2A DEF TEMP2

TUE., 23

OCT., 1979

PAGE 0049 #01
CONSTANTS, TEMPORARIES, ETC.
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2031
2038
2039*
2040
2041
2042
2043
2044
2045
2046

TUE .. ,

23

000000
000000
000000
000000
000000
000000
000000

LTMPO
I.JTMP1.
LTMP2
LTMP3
LTMP4
LTMP5
LTMP6
MFLAG

000000
000000
000000
000000

DEST

07424
07425
07426
07427
07430
07431
07432

006075
006121
007433
007447
007460
007471
007500

BDOL" DEF aDOL
IbSCL DEF ILSCD
ILTRA DEF ILTRL
BDADA DEF BADAD
BADDA DEF BAOD
BADPA DEl" BADP
TRKNA DEF TRKNL

07433
07434
07446
07447
07450
07457
07460
07461
07470
07471
07472
07477
07500
07501

005111
046114
006400
005111
046114
006400
005102
040504
006400
005102
040504
006400
005103
040516

ILTRL OCT
ASC
OCT
BADAO OCT

sss

sss
ass
SSS
ass
BSS

sss
ass

1
1
1
1
1
1
1

1
saURC sss 1
MCNT BSS 1
BADDR BSS 1

2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061

2063*

BADD

1979

LOCK/UNLOCJ< MODE FLAG

POINTER TO NEXT INPUT CHARACTER

2047*
2048
2049

OCT. ,

ass 1

01410
01411
07412
07413
07414
07415
01416
01417
07420
07421
07422
07423

oonooo

12:13 PM

5111
10,LLEGAL TRACK LENGTH
6400
5111
ASC 7,LLEGAL ADDRESS
OCT 6400
OCT 5102

~SC 7,AD DISC NUMBER
OCT 6400
BADP OCT 5102
ASC 5,AD TRACK #
OCT 6400
TRKNL OCT 5103
ASC 9,ANNOT LOCK TRACK #

[F]

12:13 PM

PAGE 0050 #01

TUE., 23

OCT., 1979

MAG TAPE DUMP
2065*
2066*
2067*

2068*
2069*
2070
2071
2072
2073

IF THE MAG TAPE SELECT CODE IS NON-ZERO, T5B IS DUMPED IN ITS
ENTIRETY. ON MAG TAPE FAILURES (HLT 11 OCT) THE DUMP MAY BE
RETRIED BY CORRECTING THE CAUSE OF ERROR AND PRESSING 'RUN'.
10000
10000
10001
10002
10003
10004

ORG 10000B

064164
006003
026260
005665
017457

MTOMP [,DB MAGSe
SZB,RSS
~JMP MTDM8
ELB,CLE,ERB
JSS MTDIN

LOAD MAG TAPE SELECT CODE
NON-ZERO?
NO
CLEAR 8IT15
[F]
YES, CONFIGURE MAG TAPE ORIVER

2074
2075
2076*
*
2071** MOVE USER LIBRARY TRACK TABLE
2078*
2-0--7-9*2080* THE AREA OCCUPIED BY THE USER LIBRARY TRACK TABLE IS OVERWRITTEN
TO INSURF RESTARTIBILITY OF THE DUMp
2081* DURING THE MAG TAPE DUMP.
2082* AFTER A MAG TAPE FAILURE, THE TABLE IS MOVED TO A SECTION OF
2083* CORE WHICH IS OTHERWISE UNUSED.
2084*
2085 10005 063562
LDA DM255
SET LENGTH
208& 10006 073626
OF MOVE
STA DTMPO
2087 10007 063666
LOA DULTS
SET
2088 10010 013627
STA DT,MPI
DESTINATION ADDRESS
2089 10011 167665
LOB DULTT,!
LOAD SOURCE ADDRESS
2090 10012 160001 MTOMO LOA 1,I
MOVE
2091 10013 173627
STA DTMP1,I
A WORD
2092 10014 006004
INB
ADVANCE
POI['4TERS
2093 10015 037627
tsZ OTMPl
DO~JE?
2094 10016 037626
ISZ DT"1PO
2095 10017 026012
NO
JMP MTT>MO
2096 10020
[Fl
MTOMl Eau
(F]
LDB MSTOC
2097 10020 067672
B => STA XWNEC,1
(F]
2098 10021 002404
CLA,INA
A
WRITE REQUEST CODE
2099 10022
[Fl
COME HERE FOR VERIFY START
MTVFS EQU
[Fl
STORE REQUEST CODE
2100 10022 072305
STA MTVFL
[F]
t0023 076667
2101
STB MTVLC
SET 3030 DRIVER FOR VERIFY
[F]
2102 10024 077273
srB MTVLQ
SET 7970 FOR VERIFY
[F)
2103 10025 016356 MTRWD JSB MTD
REWIND
2104 10026 000003
OCT 3
TAPE
[F]
2105 10027 016356
JSB 14TO
GET
[F]
2106 10030 000007
OCT 7
STATUS
[F]
2107 10031 100111
RRL 9
[F]
2108 10032 006021
SSB,RSS
START OF TAPE?
[F]
2109 10033 026025
NO
JMP MTRwD
2110*
2111** DUMp EQUIPMENT TABLE
2112*
*
2113 10034 062346
LOA BPT.EN
READ
[F]
2114 10035 173660
STA. WORDN, I
SYSTEM
2115 10036 063573
LOA BSPGA
BASE PAGE
2116 10037 067646
LDB BASPG
INTO
[FJ
2117 10040 117657
JSB DlseN,I
CORE
2118 10041 063563
LOA OM64
WRITE
2119 10042 067611
EQUIPMENT
LOB DOIRA

**

*

*
*

***

=

PAGE 0051 #01
MAG TAPE DUMP

12:13 PM

TUE., 23

OCT., 1979

2120 10043 016302
"lSB MTWR
TABLE TO TAPE
2121*
2122** DUMP ID TABLE **
2123*
2124 10044 064135
LOB IOLEN
READ
2125 10045 171660
STa WORDN,I
2126 10046 060134
LDA IDTJOC
10 TABLE
2127
10047 067670
LDB DTRKR
2128 10050 117657
JSB DISeN;!
FROM DISC
2129 10051 060135
LDA IDLEN
WRITE
2130 10052 067667
LDB DTRK13
IO TABLE
2131
10053 016302
JSB MTWR
10 TABLE TO TAPE
2132*
*
2133** DUMP TRACK TABLE **
2134*
2135 10054 063562
LOA 014255
WRITE
2136 10055 073626
STA DTMPO
2137 10056 067666
LDB DULTS
USER LIBRARY TRACK TABLE
2138
10057 077627
STB DTMPI
2139 10060 016302
JSB MTWR
TO TAPE
2140*
2141** DUMP USER LIBRARY TRACKS
2142*
2143*
2144* NON-ZERO ENTRIES IN THE USER LIBRARY TRACK TABLE HOLD THE
2145* LENGTH IN -WORDS FOR EACH DISC TRACK CONTAINING USER LISRARY
EACH SUCH TRACK IS DUMPED AS ONE RECORD IF NO
2146* PROGRAMS.
2147* LONGER THAN 5440 WORDS, OTHERWISE AS TWO RECORDS.
2148*
2149 10061 063621
t,DA D8400
LOAD DISC ADDRESS 0,1,0
2150 10062 167627 MTDM2 LDB DTMPt,I
USER LI BRAR"Y
2151
10063 006003
SZB,RSS
TRACK?
2152 10064 026110
NO
JMP MTDM3
2153 10065 177660
STB WORON,I
YES, SAVE LENGTH
2154 10066 073630
STA DTMP2
AND DISC ADDRESS
2155 10067 067670
LOB OTRKR
READ USER PROGRAMS
2156 10070 117657
JSB DlseN,I
PROM DISC
2157
10071 067667
LOB DTRKB
LOAD BUFFER ADDRESS
2158 10072 163660
LOA WORON,I
WORD COUNT
2159 10073 043624
ADA 05440
GREATER
2160 10074 002021
SSA,RSS
THAN 5440?
2161
10075 026105
NO
JMP MTDEI
2162 10076 073631
STA ceNT
YES, SAVE EXCESS COUNT
2163 10077 063561
LDA N5440
WRITE BLOCK
2164 10100 016302
OF 5440 WORDS
JSB J4TWR
2165 10101 063631
LOA CC~IT
LOAD WORD COUNT
2166 10102 067667
LDB DTRKB
COMPUTE BUFFER
2167 10103 047624
AOB 05440
F'OR REMAINDER
2168
RSS
10104 002001
2169 10105 163660 ~TDEl LOA WORDN,!
WRITE TRACK
2170 10106 016302
JSB MTWR
TO TAPE
2171
10107 063630
LD~ DTMP2
UPDATE DISC ADDRESS
2172 10110 043621
MTDM3ADA 08400
TO NEXT TRACK
2173 10111 037627
ISZ OTMPI
INCRgMENT TABLE POINTER
2174 10112 037626
ISZ DTMPO
ALL TRACKS CONSIDERED?

[F]

*
*

[F]

£FJ
[F]

*

[F]

***
*

[F]

(F]
[F]

(F]

(F]
(F]

PAGE 0052 #01
MAG TAPE DUMP

12:13 PM

TUE., 23

OCT., 1979

2175 10113 026062
NO
JMP MTDM2
2176*
2177** DUMP DIRECTORY TRACKS
2178*
2179*
2180* EACH DIRECTORY TRACK OF NON-ZERO LENGTH IS DUMPED AS ONE
AN END-OF-FILE MARK FOLLOWS THE LAST TRACK DUMPED.
2181* RECORD.
2182*
LOA DM4
2183 10114 063566
SET COUNTER FOR
2184 10115 073626
STA DTMPO
DIRECTORY TRACKS
2185 10116 063611
l!DA DDIRA
LOAD DIRECTORY
2186 10117 164000 MTOM4 LDB O,I
LENGTH
2187 10120 043574
ADA 0.6
COMPUTE POINTER TO DISC ADDRESS
2188 10121 006003
5ZB,RSS
EMPTY DIRECTORY TRACK?
218-9 1G12 2 02-61-34
J-MP MT-OM-5YES
2190 10123 073627
STA DTMPl
NO, SAVE TABLE POINTER
2191 10124 177660
STB WORDN,!
READ
[~]
{.lOA 0, I
2192 10125 160000
DIRECTORY
2193 10126 067670
LDB DTRKR
TRACK
2194 10127 117651
JSB DISCN,I
FROM DISC
[F]
2195 10130 163660
LOA WORDN,!
WRITE
(F)
2196 10131 067667
LDB OTRKR
DIRECTORY TRACK
2197 10132 016302
JSB MTWR
TO TAPE
[F]
2198 10133 063627
LOA DTMPl
UPDATE
2199 10134 002004 MTDM5 INA
TABLE POINTER
2200 10135 037626
ISZ DTMPO
ALL FOUR DISCS CONSIDERED?
2201 10136 026117
NO
JMP MTDM4
2202 10137 016320
JSB MTWF
YES, WRITE EOF MARK
[F]
2203*
2204** DUMP SYSTE~
2205*
2206*
2207* THE SYSTEM IS READ INTO CORE IN ITS ENTIRETY.
IT IS DUMPED IN
2208* SEGMENTS AS DEFINED IN THE SYSTEM SEGMENT INFORMATION TABLE.
2209*
2210 10140 062355
LOA MTBLN
WRITE S¥STE:M
2211 10141 066354
LOB MLTBA.
SEGMENT TABLE
2212 10142 016302
JSB MTWR
[F]
TO TAPE
., LDA JSYS2, t
2213 10143 163647
LO~D
[P]
2214 10144 173660
STA WORDN,I
(F)
2215 10145 163650
LDA JDRT'T',I
[F]
2216 10146 167651
LDB JSAD2,I
(F)
SYSTEM
2217 10147 117657
JSB OlSeN,!
[Fl
2218 10150 163652
[F]
LOA JSYS3,r
2219 10151 173660
STA WORDN,J
[FJ
FROM
2220 10152 163653
[F]
LDA JDRT1,I
2221 1.0153 167654
[F]
LOB JS~D3,r
[P]
2222 10154 117657
JSB DlseN,I
DISC
2223 10155 062354
LDA MLTBA
SET TARLF:
2224 10156 073627
5TA DTMPl
POINTER
2225 10157 062343
LOA MLTBL
SET
2226 10160 002004
INA
SEGMl;;NT
2227 10161 013626
STA DTMPO
COUNTER
2228 10162 037627 MTDM6 ISZ DT~P1
LOAD
2229 10163 104200
OLD DTMPt,I
TABLE

***
*

***
*

PAGE 0053 tOl
MAG TAPE DUMP

12:13 PM

TUE. ,

23

OCT., 1979

2230 10165 037627
ISZ OTMPI
ENTRY
2231
10166 016302
JSB MTWR
WRITE SEGMENT TO TAPE
2232 10167 037626
MORE SEGMENTS?
ISZ DTMPO
2233 10170 026162
JMP MTDM6
YES
2234*
2235** DUMP SYSTEM LIBRARY
2236*
2237*
2238* THE SYSTEM LIBRARY IS DUMPED ONE PROGRAM AT A TIME ..
AN
2239* END-Of-FILE MARK FOLLOWS THE LAST ONE.
2240*
LDA COM6A,I
2241
10171 163664
SET POINTER TO ADDRESS TABLE
OF SYSTE~ LIBRARY PROGRAMS
2242 10172 073627
STA OTMPl
2243 10173 067563
LOB tlM6 4
READ
S-Ta-- -W-OR-f)N-, I
2-2-44 10-1-7-4 1-77660
2245 10175 163627
LDA DTMP1,I
LENGTH TABLE
2246 10176 067671
LOB OMTRL
2241 10177 077630
OF SYSTEM
STB DTMP2
2248
10200 047625
AOB BI00K
2249 10201 117657
JSB OlSeN,!
LIBRARY PROGRAMS
2250 10202 163630
LOA OTMP2,I
SET ENTRY COUNTER
2251
10203 073626
STA DTMPO
OF LENGTH TABLE
2252 10204 163630 MTDM7 LOA DTMP2,I
READ
2253 10205 173660
STA WORDN,T
SYSTEM
2254 10206 163627
LOA DT~Pl,I
LIBRARY
2255 10207 067670
PROGRAM
LDB DTRKR
2256 10210 117657
JSB DlseN,I
FROM D1SC
2257 10211 163630
LOA DTMP2,t
WRITE
2258 10212 067667
LOB DTRKB
IT TO
2259 10213 016302
JSB MTWR
TAPE
2260 10214 031627
ISZ OTMPl
ADVANCE
2261 10215 037630
ISZ DTMP2
POINTERS
2262 10216 037626
DONE?
ISZ OTMPO
NO
2263 10217 026204
JMP MTDM7
2264 10220 016320
YES, WRITE EOr MARK
JSB MTWF
2265 10221 062305
LDA MTVFL
WAS THIS pASS VERIFY
2266 10222 002003
SZA,RSS
2267 10223 026256
JMP Ml'OMV
VERIFY COMPLETJ4.:0 OKAY
2268
10224 016356
JSB MTD
REWIND
2269 10225 000003
OCT 3
2270 10226
MTESQ EQU
2271
10226 063600
LOA D.I0
2272 10227 067701
LOB VRFYA
PRINT "VERIFY"
2273 10230 117656
QUESTION
JS8 TT35I,I
2274 10231 002400
CLA
2275 10232 117656
JSB TT35I,I
CALL FOR INPU;r
2276 10233 117655
JSB MGTCA,I
GET THE FIRST CHARACTt;R
2271 10234 026241
JMP MTENR
EMPTY LINE IS ERROR
2278 10235 053645
OPERATOR TYPE "YES"?
CPA .Y.
YES, GO VERIFY TAPE
2219 10236 026245
JMP MTGVT
2280 10237 053644
CPA .N
OPERATOR TYPE "NO"?
MUST NOT DESIRE VERIFY
2281
10240 026250
JMP MTDMU
MTENR EQU
2282 10241
2283 10241 063602
LOA DB17
2284 10242 067615
LOB ILINM
"ILLEGAL INPUT"

[F)

*
*

**

*

*

[F]

[FJ

[F]

[F]

[F]

[F]
[F]

i:FJ
[F]
(F]
[F]

[FJ
[F)

[F]
[F]

[F)
[Fl
[Fl
(F)
(F)
[F]
[F]

[Fl
[F]

[F]
(F]

PAGE 0054 f01

12:13 PM

TUE. , 23

OCT. , 1979

MAG TAPE DUMP
2285
2286

10243
10244
1024:5
10245
10246
10247

2287
2288
2289
2290
2291*
2292 10250
2293

117656
026226
002400
067673
026022

002400
10251 006404

2294 10252 016356
2295 10253 000004
2296 10254 026312
2297 10255 026312
2298 10256
22-9-9 10-25-6 016356
2300 10257 000005
2301 10260 162275
2302 10261 172276
2303 10262 066277
2304 10263 062300
2305 10264 170001
2306 10265 006004
2307 10266 062301
2308 10267 170001
2309 10270 063576
231.0 10271 067674
2311 10272 117656
2312 10273 102077
2313 10274 026020
2314*
2315 10275 002000
2316 10276 003000
2317 10277 004031
2318 10300 102022
2319 10301 026000
2320*
2321 10302 000000
2322 10303 072320
2323 10304 016356
2324 10305 000001
2325*
2326 10306 026312
2327 10307 026312
2328 10310 052320
2329 10311 126302
2330*
2331** TAPE ERROR
2332*
2333 10312 107700
2334 10313 063604
2335 10314 067676
2336 10315 117656
2337 10316 102011
2338 10317 026020
2339*

JSB
JMP
MTGVT EQU
CLA
LOB
JMP

TT35I,I
MTESQ

*
MCPAC
MTVFS

MTDMU CLA

CLR:INB
JSB MTO
OCT 4
JMP MTDER
JMP MTDER
MTDMV EQU *
JSB M-TD
OCT 5
MTDM8 LOA ADD2K,I
STA ADD3K,T
LOB ADD4K
LDA HLT22
STA 1,1
INB
LOA JMPMl
STA 1,1
LDA OSlO
LDB DONEA
JSB TT35I,I
HLT 77B
JMP MTDMl
AOD2K
AOD3K
AOD4K
HLT22
JMPMl

OCT
OCT
DEF
HLT
OCT

2000
3000
LDR+l
228
26000

COMPLAIN ABOUT QUAI1ITY OF
ANSWER.

[F]
[F']

[FJ

CODE FOR VERIFY
LOAD COMPARE INSTRUCTION
REPEAT SLEEp PROCESS,
WITH MINOR CHANGES
SPACE ZERO FILES AND
ONE RECORD FORWARD

CFJ
[F]
[F]
[F)
[F]
[fO"]

[Fl
(F]

[FJ

[F]
[F]

REWIND AND
STANDBY
SET
ALL
STARTING
SEQUENCES
TO PRODUCE
AN IRRECOVERABLE
HLT 22B
PRINT
'DONE'
[F]

ALLOW NEW DUMp
ON 'RUN'

[El

[El

UTILITY WORDS FOR
DISABLING LOADER WITHOUT

[F]

RELOADING TSB LOADER TAPE
[F]

NOP
STA MTWF
JSB MTD
MTVFL OCT 1

MTWR

JMP
JMP
CPA
JMP

MTDER
MTDER
MTWF
MTWR,I

WRITE OR VERIFY RECORD
SAVE BUFFt:R LENGTH

(F)
[F]

(FJ

THIS WORD IS A ONE FOR SLEEP, [F]
CHANGED TO A ZERO FOR VERIFY [F]
[F]
TAPE
[F]
ERRORS
(F]
CHECK RECORD LENGTH
[F"]

*

***

MTDER CLC o,e
LDA D.24
LOB TAPMA
JSB TT35I,I
HLT I1B
JMP MTDM1

PRINT
TAPE ERROR
MESSA.GE
WAIT FOR
RETRY

(F]
[F]

[F]

[Fl

PAGE 0055 #01
MAG TAPE DUMP
2340
2341
2342
2343

2344
2345

2346
2347
2348
2349
2350
2351
2352
2353
23-54
2355
2356
2357
2358
2359

10320
10321
10322
10323
10324
10325
10326
10327
10330
10331
10331
10332
10333
10334
10-335
10336
10337
10340
10341
10342

000000
002400
052305
026331
016356
000002
026312
026312
126320
063565
067667
016356
000000
0263-40
026312
026312
057616
126320
026312

12:13 PM

MTWF

NOP
JMP
JSB
OCT
JMP
JMP
...JMP

23

OCT., ,

1979

TO wRITE OR VERIFY FILE MARK

eLA
CPA

TUE. ,

[F)

[F)
MTVFL
MTWFY
MTO

WRITE OR VERIFY?
VERIFY
WRITE AN EOF MARK

2

MTDER
MTDER
MTWF,I

MTWFY EQU
*
LOA OMS
r. . OB DTRKB
"JS8 MTD
OCT 0
JMP M-TWFZ
JMP MTDER
JMP MTDER
MTWFZ CPS 08200
JMP MTWF,I
JMP MTDER

TAPE

ERRORS

[F]
[F]
[F]
[F]
[F]
[F]
(F]

(Fl

TRY TO READ A SHORT
RECORD INTO BUFFER

EXPECT END OF FILE
EXPECT END OF FILE
EOF STATUS?
YES, OKAY
NO

[F]

[F]
[F]
[F]
[F]
[F]

[Fl
(F]

CP]
[F]

2361*
2362** SYSTEM SEGMENT INFORMATION TABLE
2363*
2364*
2365* THE FIRST WORD OF THE TABLE GIVES THE NUMBER OF SEGMENTS. THE
2366* TWO-WORD SEGMENT ENTRIES ARE THE LENGTH OF THE SEGMENT IN -WORDS
2367* AND THE ABSOLUTE CORE ADDRESS.
2368*
2369 10343 177773 MLTBL DEC -5
SYSTEM
2370 10344 177767
ASS 2-138
2371 10345 000002
OCT 2
SEGMENT
2372 10346 176200 BPLEN ASS 2008-20008
(F]
2373 10347 000200
OCT 200
TABLE
2374 10350 177751
ASS [,SLT8-LSLTE
2375 10351 004001
DEF LSLTB
2376 10352 154500
ASS 14000B-373008
2377 10353 014000
OCT 14000
2378 10354
MLTBE EQU
2379 10354 010343 MLTBA DEF MLTBL
SYSTEM SEGMENT TABLE ADDRESS
2380 10355 177767 MTBLN ASS MLTBL-MLTBE
SYSTEM SEGMENT TABLE LENGTH

***
*

*

PAGE 0056 #01
MAG TAPE DRIVERS

12:13 PM

TUE., 23

OCT., 1979

[Fl

2382 00000
CMNO EQU 0
2383 00000
DATA
EQU 0
2384*
2385* CALLING SEQUENCE: (WRITE/READ)
2386*
LOA  (>O=CHARS, 
2387*
JSB MTAPE,I
2388*
OCT  (O=READ, l=WRITE)
2389*

2391*
 (A)=RECORD LENGTH, (B)=STATUS
2392*
2393*
READ AND WRITE REQUESTS OF 0 LENGTH ARE RETURNED
2394*
BY THE DRIVER TO THE NORMAL RETURN LOCATION
2395*
2--3-96*WITH-€J-HT A-N-Y- TAP-E MeV~EM-E-NT.
2397*
2398*
THE FIRST WORD OF 2 BYTES WRITTEN ON TAPE IS THE
2399*
USER'S REQUEST LENGTH. THIS WORD IS NOT STORED
2400*
IN THE USER'S BUFFER BY A READ REQUEST, BUT IS
LEFT IN THE A REGISTER tN THE FORM WHICH THE
2401*
2402*
USER SPECIFIED (+CHARACTERS OR -WORDS) AS THE
2403*
TAPE RECORD LENGTH IF THE TAPE RECORD < THE
BUFFER REQUEST LENGTH.
2404*

2405*
2406*
2407*
2408*

2409*
2410*
2411*
2412*

SINCE THE MINIMUM TAPE RECORD LENGTH WHICH CAN BF.
WRITTEN OR READ IS 12 CHARACTERS OR 6 WORDS,
WRITE REQUESTS SMALLER THAN 5 wORDS WILL BE
WRITTEN AS AN EXTENDED RECORD OF 6 WORDS
(INCLUDING THE RECORD LENGTH WORD).
ALL USER READ BUFFERS SHOULD HAVE A MINUMUM STORAGE

AREA OF 5 WORDS SINCE THE SMALLEST RECORD THAT CAN
2413*
BE READ FROM THE TAPE IS 6 WORDS. THE RECORD LENGTH
2414*
WORD ts STRIPPED BY THE DRIVER AND IS NOT STORED IN
2415*
THE USER BUFFER.
2416*
2417*
2418* CALLING SEQUENCE: (REWIND/REWIND STANDBY/STATUS)
JSB MT-APE, I
2419*
OCT  (3=REWIND, 7=STATUS,
2420*
2421*

5=REWINO & STANDBY)
2422*
2423*
2424* CALLING SEQUENCE:
(GAP/WRITE END OF FIL~)
2425*

JSB MTAPE,I

2426*
OCT  (6=GAP, 2=END OF FILE)

2427*

2428*

(8)
STATUS
2429*
2430*
2431*
(POSITION)
2432* CALLING SEQUENCE:
2433*
LOA 
(+=FORWARD, -=REVERSE)
2434*
LDB 
"
"
2435*
JSB MTAPE,I
2436*
OCT 4

=

PAGE 0057 ,01
MAG TAPE DRIVERS




2437*
2438*
2439*
2440*
2441*

12:13 PM

TUE., 23

(A)=FILE COUNT, (B)=STATUS

A BACKFILE LEAVES THE TAPE POSITIONED ON THE SIDE OF
THE N-TH FILE MARK (-N IN A FOR BACKFILE) AWAY FROM
LOAD POINT. THUS CAl
-2 LEAVES THE TAPE AT THE
BEGINNING OF THE FILE PRECEEDING THE CURRENT FILE.

2442*

=

2443*
2444*
2445*
2446*
2447*
2448*
2449*
2450*

RECORD OPERATIONS WILL MOVE THE TAPE THE APPROPRIATE
# OF RECORDS. THE FILE MARK IS COUNTED AS 1 RECORD.
COMMANDS TRYING TO CROSS THE SOT OR EOT MARKERS WILL
CAUSE AN EXIT TO THE END OF TAPE RETURN POINT.

2-4-51-*
2452*

END OF TAPE ON READ, WRITE OR GAP WILL BE CHECKED
BEFORE THE OPERATION IS INITIATED.

2453*
2454*
2455*
2456*
2457*

TAPE COMMANDS OCT 0 - READ
1 - WRITE
2 - WRITE END OF FILE

2458*
2459*
2460*
2461*

3 - REWIND
4 - POSITION

5 - REWIND AND STANDBY
6 - GAP (3" BLANK TAPE)
7 - STATUS (RETURNS STATUS IN -8- )

2462*

2463*
2464*
2465*
2466*
2467* THE STATUS WORD BIT ASSIGNMENTS ~OR THE 3030 ARE:
2468*
MEANING
2469* BIT
2470* o BUSY (TAPE IN M.OTION OR LOCAL STATUS)
2471* 1 PARITY ERROR

2472*
2473*
2474*

2
3

2475*
2476*

2477*
2478*

2479*

OCT., 1979

[Fl

4
5

6
7
8

[FJ
[Fl

WRITE NOT ENABLED OR TAPE REWINDING
REJECT: 1 MOTION REQ'D AND CONTROLLER BUSY
2 BACKWARD MOTION REQ'D & AT LOAD POINT
3 WRITE COMMAND GIVEN AND NO WRITE RING
TIMING ERROR
END OF TAPE
START OF TAPE
END OF FILE
LOCAL MODE

2480*
2481*
2482* THE STATUS WORD BIT ASSIGNMENTS FOR THE 7970 ARE:
2483*
MEANING
2484* BIT
2485*
248b* o TAPE UNIT NOT ON-LINE
2487* 1 PARITY ANDIOR TIMING ERROR
2488* 2 FILE pROTECTED (NO WRITE ENABLE RING)
2489* 3 REJECT: 1 MOTION REQ'P ANO CONTROLLER BUSY
2490*
2 BACKWARD MOTION REQ'D & AT LOAD POINT
2491*
3 WRITE COMMAND GIVEN AND NO WRITE RING

[F]

[FJ
[F]
[F)
[F]

[FJ
[F]
[F]
[~]

[FJ
[F]

PAGE 0058 #01

MAG TAPE DRIVERS
2492*

4

2493*

5

2494* 6
2495* 7
2496* 8
2497* 9
2498* 10
2499* 11

TIMING ERROR
END OF TAPE
START OF TAPE
END OF FILE
CONTROLLER BUSY
TAPE UNIT NOT READY
TAPE UNIT REWINDING
ODD NUMBER OF BYTES READ

12:13 PM

TUE., 23

OCT., 1979

(Fl
[F]
[F]
(F"]

[F]
[F]

[Fl
[F]
[F)

PAGE 0059 #01
3030 MAG TAPE DRIVER
2501
2502
2503
2504
2505

2506
2507
2508

2509
2510
2511
2512
2513
2514
2-515
2516
2517
2518*
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528*
2529
2530
2531
2532
2533
2534*
2535
2536
2537
2538
2539
2540*
2541
2542
2543*
2544*
2545*
2546*

MTO

12:13 PM

NOP

10356
10357
10360
10361
10362
10363
10364
10365
10366
10367
10370
10371
10372
10373
103-74-10375
10376

000000
073633
077632
060164
002020
027026
102500
013607
073636
016774
063620
017006
162356
036356
0-135-75
042377
124000

10377
10400
10401
10402
10403
10404
10405
10406
10407

110400
010623
010553
010543
010415
010424
010422
010536
010534

TBASE DEF *+1,1

10410
10411
10412
10413
10414

016530
036356
036356
063633
126356

EXIT

10415
10416
10417
10420
10421

063617
102600
002006
026417
126356

REW
LDA OB201
MT.20 OTA CMNO

10422 063612
10423 026416
TAPE

STA.

BUFL

STB SUFA

TUE. , 23

OCT. , 1979

DRIVER ENTRY **
AND
BUFFER

MAG TAPE
SAVE LENGTH
ADDRESS OF

**

LOA MAGSe
79701

[F]

JMP XMTO

YES
SET EOT FLAG

[F]

MT.21 LIA CMND
AND 0840
STA EOTF
JSB AUTCK
MT.52 LOA 08300

ISZ MTD

INSURE TAPE UNIT IN AUTO
[El
ISSUE A CLEAR COMMAND TO
THE CONTROLLER AND WAIT.
FETCH OPERATION CODE
INCREMENT RETURN POINT (P+2)

AND D-B7
ADA TB.ASE
JMP 0,1

LOOK UP PHOCE5S0R IN TABLE
CALL PROCESSOR

JSB CHAND

LOA MTD,!

DEF
DEF
DEF
DEF
DEF
DEF
OEF
DEF

READT

COMMAND PROCESSOR ENTRY
POINT TABLE

WRITE
WEOF
REW
POS
RES

GAP
STAT

JSB STIN

ISZ
ISZ
LOA
JMP

RES

[F]

SSA

MTD
MTO

GET STATUS, RECORD COUNT
AND EXIT

BUFL
MTD,I
REWIND

INA,SZA
JMP *-j,
JMP MTD,I

TIME OUT FOR TAPE UNIT
TO ACCEPT COMMAND

LDA OBI01

REWIND AND STANDBY

JMP plT.20

POSITIONING ROUl'!HE

ENTER WITH COMMANDS STORED IN BUFL

AND

BUFA.

2547*
2548

2549
2550
2551
2552
2553
2554
2555

10424
10425
10426
10427
10430
10431
10432
10433

067633
016502
026436
063633
002020
026451
016515
026432

PQS

LDB BUF'L
JSB ASS
JMP P .1
LOA BUFL
SSA
JMP P.2
JSB SPACE
JMP *-1

GET FILE

COUNT

SET FLaGS,

# FILES

=

COMMANDS AND COUNT
0, DO RECORDS

TEST FWD/REV
BACKSPACE FILES
FORWARD SPACE
REPEAT UNTIL FILE

PAGE 0060 #01
3030 MAG TAPE DRIVER
2556

2557
2558
2559
2560

2561
2562
2563
2564

2565
2566
2567
2568
2569*
2570

2571
2572
2573
2574
2575
2576
2577

2578
2579
2580
2581
2582
2583
2584*
2585
2586
2587
2588*
2589
2590
2591
2592
2593
2594
2595
2596
2597*
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609*
2610

10434
10435
10436
10437
10440
10441
10442
10443
10444
10445
10446
10447
10450

037635
026432
067632
016502
026410
063632
002020
026472
016515
000000
037635
026444
026410

10-4-5-1
10452
10453
10454
10455
10456
10457
10460
10461
10462
10463
10464
10465
10466

0-16530
013611
002002
026461
063634
017006
013616
002003
026451
037635
026451
037632

P .1

JSB ASS
SSA

JMP
JSR
NOP
ISZ
JMP
JMP
P.2

10467 037635
10470 126356
10471 026436

P.4

063634
017006
013611
002002
126356
10477 037635
10500 026472
10501 026410

P.3

10502
10503
10504
10505
10506
10507
10510
10511
10512
10513
10514

ASS

10515 000000

P.3
SPACE
eNT
*-3

EXIT

STIN
AND DBI00

JSB-

TUE. ,

23

OCT. ,

1979

CHECK FOR FINISHED
NO, LOOP
PROCESS RECORDS
SET FOR FWD/REV RECORD SPACING
NO RECORDS, EXIT

TEST FWD/REV
BACKSPACE RECORD
FORwARD SPACP.:
COUNT FILE MARK AS ONE RECORD
FINISHED?
NO , LOOP
YES RETURN
GET TAPE STATUS (BACK-FILE)
MASK FOR SOT

SZA

02643.6

000000
063571
006020
063610
073634
006021
007004
077635
006002
036502
126502

ISZ eNT
JMP *-3
LDB SUF'A
JMP EXIT
LDA BUFA

026410

10472
10473
10474
10475
10476

12:13 PM

-

JMP P.4
LDA WeNT

SOT SET

JSB CMAND
AND oB200
SZA,RSS

BACKSPACE:
EOF?

JMP P,,2
ISZ eNT

NO, {JOOP
DONE?

JMP
ISZ
JMP
JMP

NO, LOOP AGAIN
BUMp RECORD COUNTER TO RECROSS
LAST FILE MARK AND DO RECORDS
NO RECORDS NOW, EXIT

P.2
BurA
P .1

EXIT

ISZ CNT
JMP MTD,I
JMP P .1

LOA

weNT

CNT

EXIT IF Cf!4T > 1

= -1?

NO, TRIED TO CROSS SOT, ERROR

YES, DO RECORD SPACING
BACKSPACE RECORD

JSB CMAND
AND OBI00
SZA

JMP MTD,t
ISZ CNT
JMP P.l
JMP EXIT

SOT?
YES
EDT EXIT
DONE?
NO, LOOP

-

NOP

SET-UP ROUTINE

LOA D.3
sse

FORwARD SPACE COMMAND
IF # 15 < 0 SET FOR
BACKSPACf4: COMMAND

LDA 0841
STA

weNT

SSB,RSS

GET -ABS(I) FOR eNT

CMB,INB
STB CNT
SZB

ISZ ABS
JMP ASS,!
SPACE NQP

IF = 0 EXIT CALL + 1
OTHERWISE CALL + 2
SPACE TAPE

PAGE 0061 #01
3030 MAG TAPE DRIVER
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621*
2622
2623
2624

10516
10517
10520
10521
10522
10523
10524
10525
10526
10527

12:13 PM

JSB srIN

016530
013607
002002
126356

SZA

LDA weNT
JSB CHAND

017006
013616
002002
036515
126515

ISZ SPACE
JMP SPACE,I
NOP
LIA CMNO

5.2

LIB CMND

2627 10534 016530
2628 10535 126356
2629*

STAT

2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663

2664
2665

GET TAPE STATUS

J-M-P STI N, I

2630*

2648
2649
2650
2651

SPACE
CHECK FOR EOF
RETURN CALL + 1 FOR EOF

AND 08200
SZA

S.1

2647

EDT EXIT

JMP MTD,I

063634

STIN

2631*
2632
2633
2634
2635
2636
2637*
2638*
2639*
2640
2641
2642
2643
2644
2645
2646

OCT., 1979

GET TAPE STATUS
CHECK FOR EDT

AND DB40

10530 000000
10531 102500
10532 106500
1053-3- 1-26530

26-252626*

TUE., 23

JSB STTN
JMP MTD,!

GET TAPE STATUS
EXIT DRIVER

WRITE 3" BLANK TAPE
10536 016761
10537 017014
10540 063577
10541 017006
10542 026410

GAP

JSB WNEC

JSB
LOA
JSB
JMP

EOTC
DB11

CHECK FOR WRITE RING IN
CHECK FOR END OF TAPE
COMMAND

CMAND

EXIT

NORMAL EXIT

WRITE END OF FILE
10543
10544
10545
10546
10547
10550

10551
10552
10553
10554

016161
063606
017006
023616
033636
002002
126)56
026410
017014
016761

10555 016746
10556
10557
10560
10561
10562
10563
10564
10565

10566
10567
10570
10571
10572
10573
10574

006021
063565
043570
073635
073634
067632
047570
063605
102600
063633
001727
102300
026571
103600
006004

\'IEOF

JSB WNEC
LOA 0835

CHECK FOR WRITE RING IN
WRITE FILE MARK CODE

JSB CMAND
XOR DB200
tOR EOTF

CHECK EDT

SZA

JMP MTD,!
JMP EXIT
WRITE JSB EOTC
JSB WNEC
JSB CNTR
SSB,RSS
LDA OMS
ADA DM1

**

WRITE
CHECK FOR WRITE RING IN
GET NEG # WORDS
IS REQUEST AT LEAST 5 WORDS?
NO, PAD BUFFER
ADD 1 FOR RECORD LENGTH

STA CNT

RETRY STA WeNT
LDB SUFA
A_DB OM1

LOA DB31
MT.l0 OTA CMND
LOA BUFL
OUT
ALF,ALF
MT.8 SFS DATA
JMP *-1
MT.9 OTA DATA,C
INB

SAVE WORD COUNT
GET BUFFER ADDRESS
INITIALIZE BUFFER POINTER
WRITE CHARACTERS CODE
ST~RT FORWARD TAPE MOTION
FIRST WRITTEN WORD IS BU~L
POSlTION FIRST BYTE

WAIT FOR DATA CHANNEL FLAG
WRITE FIRST BYTE
ST~P BUFFER POINTER

(F]

PAGE 0062 #01
3030 MAG TAPE DRIVER
2666
2667
2668
2669
2670
2671
2672
2673
2674

2675
2676
2677
2678
2679
268-0
2681
2682
2683
2684
2685

2686
2687
2688*
2689
2690
2691
2692
2693
2694
, 2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706

2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720

10575
10576
10577
10600
10601
10602
10603
10604
10605
10606
10607
10610
10611
10612
10613
10614
10615
10616
10617
10620
10621
10622

001727
102300
026576
103600
160001
037634
026570
106700
002400
017006
013622
002003
026410
063610
Ot70-0-6

10623
10624
10625
10626
10627
10630
10631
10632
10633
10634
10635
10636
10637
10640
10641
10642

017014
063564
073637
016746
006021
063565
073635
067635
063632
043570
073400
063603
102600
103700
102300
026641
103500
001727
102200
026727
102300
026645
103400
073140
102200
026727
102300

10643
10644
10645
10646

10647
10650
10651
10652
10653
10654
10655
10656
10657
10660
10661
10662

063577
017006
013607
002002
027022
063635
026562

026653

103500
001727
037400
102200

MT.2

12:13 PM

ALF,ALF
SFS DATA
...IMP

MT.3

MT.5

*-1

OTA DATA,C
LOA 1,1
ISZ weNT
JMP OUT
CLC DATA
CLA
JSB CMAND
AND OB733
SZA,RSS
JMP EXIT
LOA D841
J-S-B

TUE. ,

23

OCT. ,

1979

POSITION SECOND BYTE
WAIT FOR DATA FLAG
WRITE SECOND BYTE
GET NEXT WORD
STEP AND TEST WORD COUNT
NOT END, LOOP
INITIATE END OF RECORD SEQUENCE
WAIT FOR CONTROL FLAG
AND GET STATUS
DISCARD EDT BIT
TEST FOR ERRORS DURING WRITE
NORMAL EXIT
[F]
BACKSPACE

CM~A-ND

LDA OBll
JSB CHAND
AND 0840
SZA

JMP ERR
LOA eNT
JMP RETRY
READT JSB EOTC
LOA DHI0
STA EeNT
JSB CNTR
SSB,RSS
LOA OM5
STA CNT
RERED LOB CNT
LDA BUFA
ADA OM!
STA XWNEC
LDA D823
MT.40 OTA CMND
'4T.41 STC CMND,C
MT.42 SF'S DATA
JMP *·1~
Ml'.43 LIA DATA,C
ALF,ALF
HT.30 SFC CMND
JMP ENDR

[£0"]
[F]

GAP

[F]
[F)

EDT?
YES

[F]
[P]

NO,
RETRY

[F]

[Fl

READ
SET RETRY COUNTER TO -10
GET NEG # OF WORDS
IS REQUEST AT LEAST 5 WORDS?
NO, PAD BUFFER
NEGATIVE WORD COUNT
INITIALIZE BUFFER POINTER
READ CHARACTERS CODE
START TAPE MOTION

[F)

WAIT FOR DATA FLAG
READ TAPE RECQRD LENGTH
CHECK FOR EOF/EOT

MT.44 SFS DATA

JMP *-3
MT.45 MIA DATA,C
STA XABS
LOOP SFC CMND
JMP ENDR
MT.46 SFS DATA
,JMP

*-3

HT.47 LIA DATA,C
ALF,ALF
ISZ XWNEC
MT.51 SFC CMND

WAIT FOR DATA FLAG
SAVE RECORO IJENGTH
CHECK FOR END Or~ TAPE

[Fl

OR NEXT WORD

READ FIRST 8YTE
POSITION BY;IF.
STEP BUFFER POINTER

[F]

PAGE 0063 #01
3030 MAG TApE DRIVER
2721
2722
2723
2724
2725
2726
2127
2728
2729
2730
2731
2732
2733
2134
2-13-5
2736
2737
2738
2739
2740
2741
2742
2743

2744
2745

2746
2747
2148
2749
2150
2751
2752
2153
2754
2755
2756
2757*
2758*
2759
2160
2761
2762
2763
2764
2765
2166
2767
2768
2169
2770
2771
2772
2773
2774*
2715

10663
10664
10665
10666
10667
10610
10671
10672
10673
10674
10675
10676
10677
10700
107-01-

10702
10703
10704
10705
10706
10707
10710
10711
10712
10713
10714
10715
10716
10717
10720
10721
10722
10723
10724
10725
10726

026727
102300
026662
103400
173400
006007
002001
026655
006002
026312
106700
002400
017006
013623
00 2 Q-O-l
016530
013622
002003
026410
013616
002002
126356
074000
037631
002001
026720
06361.0
017006
026632
063632
003004
043400

12:13 PM

JMP ENDR
MT.48 SFS DATA
JMP *-3
MT.49 MIA DATA,C
MTVLC STA XWNEC,I
INB,SZB,RSS
RSS
JMP MT.46
SZB

JMP MTDER
MT.50 CLC DATA
CLA
JSB CMAND

TUE. ,

23

OCT., 1979

READ AND MERGE SECOND BYTE
*** THIS WORD CHANGED

***
[F]
END OF BUFF.'ER?
NO COMPARE OR BUFFER END
[F]
NOT END, READ NEXT WORD
SKIP IF BUFFER END
(FJ
NO COMPARE ON VERIFy
[F]
ST.ART END or RECORD SEQUENCE

AND DB757

WIAT FOR END OF RECORD
DISCARD TIMING ERROR BIT

R-SS··

P-R-O-C5-SS EN-El- -OF . RE-CD-R f)

READX JSB STIN
AND DB733

RESTORE STATUS
DISCARO NW AND EDT BITS

SZA,RSS
JMP EXIT

ANY F.RRORS?

AND 08200

CHECK FOR END OF FILE

SZA
JMP MTD,I

EOF EXIT

NO,ODN~

5TH 0

~ESTORE

ISZ EeNT

HAVE fiE TRIED 10

RSS

NO

STATUS
TJMES?

JMP SHORT
YES, CHECK FOR SHORT RECORD
LDA DB41
BACKSPACE
JSR CMAND
JMP RERED
TRY AGAIN
SHORT LOA BUFA
RECORD
CMA,INA
ADA XWNEC
< 5
ADA DMS;
043565
SSA
002020
WORDS?
026623
JMP REAOT
YES
027022
NO
JMP ERR
RECORD < BUFFER LENGTH, GET TAPE LENGTH IN USER'S BUFFER

10727
10730
10731
10732
10733
10734
10735
10736
10737
10740
10741
10742
10743
10744
10745

063140
067633
006020
026740
002021
026744
001000
003004
026744
002020
026744
003004
001100
073633
026702

10746 000000

ENDR

LOA XABS
LDB BUFL
SSB

JMP *+6
SSA,RSS
JMP ENDRl
ALS
CHA,INA
JMP ENOR1
SSA
JMP ENOR1
CMA,INA
ARB
ENDR1 STA BUFL
JMP READX
CNTR

NOP

[F]

GET TAPE RECORD LENGTH
GET USER BUFFER LENGTH
CHECK USER'S SPECIFICATIONS:
USER SPECIFIED WORDS
USER SPECIFIP.D CHARACT~RS
BOTH ARE WORDS
DIFFERENT, CONVERT 'I'D CHARS
CHECK TAPE TYPE
WORDS,
CHARACTERS, MAKE WORDS

SAVE TAPE LENGTH FOR USER
CONTINUE REAl) PROCESSING
GET NEG # WORDS IN A

[FJ

[F]

(F]
[F)
[F]
[F']

tFl
(F]

[F]

PAGE 0064 #01
3030 MAG TAPE DRIVER

2776
2777
2778
2779
2780
2781
2782
2783
2784

2785

10741
10750
10751
10752
10753
10754
10755
10756
10757
10760

063633
002003
026410
002020
026756
003004
001100
064000
047573

126146

12:13 PM

LOA BUF'L

SZA,RSS
JMP EXIT
SSA

JMP *+3
CMA, INA.

ARS·
LDB 0
ADS 0 .. 5

JMP CNTR,I

TUE., 23

OCT., 1979

USER'S BUFFER LENGTH

o

LENGTH, DON'T READ OR WRITE
WORDS OR CHARACTERS?
WORDS, LEAVE AS IS
CHARACTERS, CONVERT TO WORDS
RETURN WITH (NEG • WORDS + 5)
IN B

PAGE 0065 #01
3030 MAG TAPE DRIVER
2787
2788
2789
2790
2791
2792

2793
2794
2795

2796
2797
2798*
2799*
2800*
2-8-0-1
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811*
2812
2813
2814
2815
2816
2817
2818*
2819
2820
2821
2822
2823
2824
2825*
2826
2827
2828
2829

10761
10762
10763
10764
10765
10766
10767
10770
10771
10772
10773

000000
102500
013572
002003
126761
063603
067700
117656
102033
016774
026762

WNEC

12:13 PM

NOP

TUE. ,

23

OCT. ,

1979

CHECK FOR WRITE RING

MT.12 LIA CMND
AND D.4
SZA,RSS
JMP WNEC,I

llDA D.19

LDB
JSB
HLT
JSB
JMP

WNEA
TT35I,I
33B
AUTCK

EXIT WITH WRITE ENABLED
REQUEST
WRITE
RING
WAIT
INSURE TAPE UNIT IN AUTO

[F]

[El

MT.12

.~

[EJ

CHECK FOR TAPE UNIT IN AUTO

[El
[El

1077-410775
10776
10777
11000
11001
11002
11003
11004
11005

O-Q-O O-G 0

A:UTC-K

HOP

102500
013621
002003
126774
063605
067677
117656
102044
026715

MT .1

LIA

11006
11007
11010
11011
11012
11013

000000
102600
102300
027010
016530
127006

CHAND

11014
11015
11016
11017
11020
11021

000000
016530
063636
002002
126356
121014

EOTC

11022
11023
11024
11025

016530
002400
036356
126356

ERR

(E-]

CMND

IS

[El
[E]
(El
[El
[El
[E]
[Fl
[El

STATUS
AUTO?

AND OB400

SZA,RSS
\.TMP AUTCK,I

YES

l.!OA D.25

NO

LDB MTLMA

REQUEST

JSB TT35I,I
HLT 448

WAIT

AUTO

JMP MT.1
NOP \

MT.14 OTA CMND
MT.15 SFS CMND

JMP

*-1

JSB STIN

(E1

ISSUE THE COMMAND IN -A-

GET TAPE

STATUS

JMP CMAND,I
NOP

CHECK FOR EOT

JSB STIN
LOA EOTF
SZA

JMP MTD,I
JMP EOTe,!
JSB STIN
CLA
ISZ MTD
JMP MTD,I

ERROR EXIT

PAGE 0066 .01
7970 MAG TAPE DRIVER
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850*
2851
2852
2853
2854
2855
2856
2857
2858

12:13 PM

TUE., 23

OCT. ,

1979

[F]

JSB XSTIN

11026
11027
11030
11031
11032
11033
11034
11035
11036
11037
11040
11041
11042
11043
11044
11045
11046
11047
11050

017165
000010
027166
106700
106700
063116
102600
017432
162356
013575
053575
027123
073140
063614
017415
063140
036356
043051
124000

XNTO

11051
11052
11053
11054
11055
11056
11057
11060

111052
011251
011212
011202
011063
011070
011061
011172

XBASE DEF
DEF
DEF
DEF
DEF
DEF
DEF
OEF

2860 11061
2861
11062
2862 11063
2863 11064
2864 11065
2865 11066
2866 11067
2867*
2868** TAPE
2869*
2870* ENTER
2871*
2872 11070
2873 11071
2874 11072
2875 11073
2876 11074
2877
11075
2878 11076
2879 11077
2880 11100
2881
11101
2882 11102
2883 11103

063613
002301
063612
002300
017415
017165
027124

XRES

SLA
JMP
XT.13 CLC
XT.16 CLC
LDA
XT.l OTA
JSB
tlOA
AND
CPA
JMP
STA

XS.l
DATA
CMND

SLO

CMND
XATCK
MTD:T
DB7
DB7

ERR.l
XABS

LOA OS110
J5-B XCM-N-O

LDA
ISZ
ADA
JMP

GET STATUS
CONTROLLER BUSY?
YES, CONTINUE
CLEAR CONTROL BIT
ON BOTH CHANNELS
NO
SEt,ECT UNIT 0
INSURE TAPE UNIT IN AUTO
F'ETCH OpERATION CODE
USE LOWER 3 BITS
STATUS REQUEST?
YES, STATUS IN (B)
NO
ISSUE CLEAR
COMM-ANT)

XABS
MTD

XBASE
0,1

INCREMENT RETURN POINT (P+?)
LOOK UP PROCESSOR IN TABLE
CALL PROCESSOR

[F]
(F)
(F]
[F)

[F]

[FJ
[F]
(F]
[F)

(F']
[F]
[F]
[F]

[Fl
[F]
[F]
(F]
[F]
(F)

[F]

XREW

*+1,1
XREAD
XWRTE

cor.(MAND PROCESSOR ENTRY
POINT TABLE

XWEOF
XREW
xpos
XRES
XGAP

LDA.DBI05
CCE,RSS
LOA DBI01
CCE
JSB XCMND
JSB XSTIN
JMP XITl

[F)

[F]
[F]
[F]

[Fl
[F]
[F]

[F]

REWIND/STANDBY

COMt-fAND

[F]
[F]

REWIND COMMAND

[F)
[ F]

INITIATE COMMAND EXECUTION

[F]
[F]
[F]

GET STATUS

IF]

POSITIONING ROUTINE

WITH

COMMANDS

**

STORED IN BUFA AND BUFL

[F]
[F]
[FJ
[F]

067633
063616
017140
027107
003741
017127
017153
027014
037370
027074
063633
001276

XPOS

XP.5

(F)
LOB BUFL
GET FILE COUNT
[F]
LOA 08200
JSB XABS
SET FLAGS, COMMANDS AND COUNT(F]
[F]
JMP XP.1
# FILES = 0, DO RECORDS
[F]
CCA,SEZ,CCE,RSS BACKWARDS MOTION?
JSB XP.2
YES, GO CHECK FOR "BOT"
[fJ
JSB XSPCE
(FJ
FORWARD SPACE
JMP XP.5
[FJ
REPEAT UNTIL FILE
[F]
ISZ XCNTR
FINISHED?
[F]
NO, LOOP
JMP XP.5
[F]
tJDA BUFL
RAL,CLE,SLA,ELA BACKFILE REQUEST?
[FJ

PAGE 0067 #01
7970 MAG TAPE DRIVER
2884
28B5
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897*

11104
11105
11106
11107
11110
11111
11112
11113
11114
11115
11116
11117
11120

037632
000031
027121
067632
002400
017140
027121
003541
017127
017153
001400
037370
027113

2a982899
2900
2901
2902
2903

1112-1
11122
11123
11124
11125
11126

03-6-3-56017165
036356
063633
106700
126356

2905
2906
2907
2908
2909
2910
2911
2912
2913

11127
11130
11131
11132
11133
11134
11135
11136
11137

000000
017165
001200
002021
127127
002040
037370
027124
027107

XP.2

2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935

11140
11141
11142
11143
11144
11145
11146
11147
11150
11151
11152
11153
11154
11155
11156
11157
11160
11161
111.62
11163
11164

000000
006021
043571
006020
043610
073400
006121
007306
037140
077370
127140
000000
002120
017451
063400
017415
001210
037153
002320
027124
127153

XABS

XP.l

xP.o
SLO

XIT

12:13 PM

TUF.:. ,

23

OCT. ,

ISZ aUFA
[F]
SLA,ARS
SKIP
(F}
JMP XIT
[F]
LOB BUFA
PROCESS RECORDS
[FJ
CLA
[FJ
JSB XABS
SET FOR FWD/REV RECORD SPACE [F]
JMP XIT
NO RECORDS, EX!'!'
[F]
CCA,SEZ,CLE,RSS BACKWARDS MOTION?
[F]
JSB XP.2
[F]
YES; GO CHECK FOR "BOT"
JSB XSPCE
FORWARD SPACE
[F]
ALR
SELECT UNIT 0 COMMA~D
[F]
ISZ XCNTR
FINISHED?
(F]
JMP XP.o
NO, l,QOP
[F]

!-sz

[F]

M-'J.!D

JSB XSTIN
ERR.l !SZ MTD
XITl LOA BUFL
XT.4 eLC CMND
JMP "TO,I
NOP
JSB XSTIN

GO LOAD

THE

MT STATUS

CLEAR

MT

COMMAND CONTROL BIT

NOP

SET ... UP

SEZ

ROUTINE

5SB
ADA DB41

[F]
(FJ
(F]

[F]
[F]
[F]
[F]
(F]

[F]

SSB,RSS

ADA D.3

[F]
[F]

[F]

GET STATUS

ISZ XCNTR
JMP XIT1
JMP XP.l

SSA,RSS
JMP XP.2,I

[FliF]
[F]
[F)

SHIFT SOT BIT TO A15.
MT UNIT AT "SOT"?
NO, RETURN
YES, FILE SKIPPING?
CNT=-l?
NO, TRIED TO CROSS SOT
YES, DO RECORD SPACING

RAI,

XSPCE

1979

(F]

[P]

FORWARD SPACE COMMA_NO
IF # IS < 0 SET FOR
BACKSPACE COMMAND

[F]
[F)
(F]

STA XWNEC
CLE,SSB,RSS
GET -ABS(,) FOR CNT
CMB,CCE,INB,SZB IS THE MT TO BE MOVED?
ISZ XABS
YES, EXIT TO (P+2)
STB XCNTR
JMP XABS,I

[F]
[F]

NQP

[FJ

CLE,SSA
JSB XEOTC
LOA XWNEC
JSB XCMND
RAL,SLA
ISZ XSPCE
CCE,SSA
JMP XITl
JMP XSPCE,1

IS TAPE MOTION BACKWARDS

[F]

[F]
[F]
[F]
[F]

[FJ
[F)

SPACE
EOF MARK?
YES
NO, IS THE TAPE
YES
NO

[Fl
AT SO'1'?

[F]
[F]
[F']

[FJ
[F'J

PAGE 0068 #01
7970 MAG TAPE DRIVER

12:13 PM

TUE., 23

OCT., 1979

[F]

2937 11165 000000 XSTIN NOP
2938 11166 102500 XS.1
LIA CMND
2939 11167 064000
LOB 0
2940 11110 001127
ALF,ALF
2941
JMP XSTIN,I
11171 127165
2942*
2943** WRITE 4" BLANK TAPE
2944*
2945
11172 01740Q XGAP JSB XWNEC
2946 11173 017451
JSB XEOTC
2947 11174 063601
LOA OB15
2948 11175 017415
JSB XCMND
2949 11176 027121
JMP XIT
2950*
29-5-1**- WRITE END OF FILE
2952*
2953 11177 063610 XWEOR LOA OB41
2954 11200 017415
JSB XCMND
2955
11201 027204
JMP RWFOF
2956 11202 017400 XWEOF JSB XWNEC
2957 11203 103100 XT.12 eLF DATA
2958 11204 063615 RWEOF LOA 08?15
2959 11205 017415
JSB XCMNO
2960 11206 005332
RBR,SLB,RBL
2961 11201 027177
JMP XWFOR
2962 11210 017451
JSB XEOTC
2963 11211 027121
JMP XIT

GET TAPE STATUS
(8)= STATUS
CA)= STATUS SHIFTED 8 BITS

**

lFJ
[F]

CHECK FOR WRITE RING
CHECK FOR END OF TAPE
COMMAND

11212 017400
11213 017451
11214 017310

11215 043570
11216 073400
11211
11220
11221
11222
11223
11224

11225

0&3605
017415
103700
041632
063633
006004
102200
027235
102300
027225
103600
160001
037400

11226
11227
11230
11231
11232
11233
11234 027224
11235 106700
11236 102300
11237 027236
11240 017165
11241 005310
11242 002101
11243 027121

XWRTE JSB
JSB
JSB
ADA
STA

XWNEC
XEOTC

XCNTR
OM1
XWNEC
OB31
XCMND
DATA,C
BUFA
BUFL

LOA
JSB
XT.9 STC
ADB
LOA
XOUT INS
XT.20 SFC CMND
JMP XT.5
XT.2

SFS DATA

JMP XT.20
Xl'.3 OTA DATA, C
LOA 1,1
ISZ XWNEC
JMP XOUT
XT.5 CLC DATA
XT.I0 SFS CMND
JMP XT.10
JSB XSTIN
RBR,SLB
CLE,RSS
JMP XI'T'

[FJ
[F]

[F]

[F]
[F]
(F)

**

2965
2966
2967
2968
2969
2970
2971
2972
2973
2914
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990

[F]
(F]
[F]
[F]
[F]
[F]

[--FJ

BACKSPACE RECORD COMMAND
EXECUTE COMMAND

CHECK FOR WRITE
WRITE FILE MARK CODE

[F]
[F']
[F]
(FJ
(F]
[F)
[F]
[F]

PARITY OR TIMING ERRDk OCCUR?[Fl
[F]
YES, GO BACKSPACE
[F]
[F]

CHECK FOR WRITE ENABLED
CHECK FOR END OF TAPE
GET NEG # WORDS
ADD 1 FOR RECORD LENGTH
SAVE WORD COUNT
WRITE RECORD COMMAND
GO INITIATE WRITE SEQUENCE
INITIALIZE DATA CHANNEL
BUFFER AODR~SS - 1
FIRST WRITTEN WORD IS BUFL
STEP BUFFER POINTER

[Fl
[F]
[Fl
[F)

(F]
[Fl
[F]
[F)
[F)
[F]
[F]
(F)
[F]

WAIT FOR
DATA FLAG
WRITE RECORD HEADER WORD
GET NEXT WORD
DONE
NO, LOOP
INITIATE END RECORD SEQUENC~
WRITE COMPLETE?
NO, CONTINUE

[F]
[Fl
[F]
(Fl
[Fl
[Fl
[FJ
(FJ

[FJ

YES, GET STATUS

[F]

PARITY OR TIM)NG ERROR?
YES

[F]

NO

[F]

[FJ

PAGE 0069 101
7970 MAG TAPE DRIVER
2991

2993

11244 063610
11245 01741.5
11246 063601

2994
2995

11247 017415
11250 027452

2992

2997
2998
2999
3000

3001
3002
3003
3004

3005
3006
3007

3008
3009
3010

3011
3012

3013
3014
3015

3016
3017
3018
3019
3020

3021
3022
3023
3024

3025
3026
3027

3028
3029
3030

3031
3032
3033

3034
3035
3036
3037
3038

3039
3040
3041
3042

11251 017451
11252
11253
11254
11255
11256
11257

063567

073153
017370
073370
003700
043632

11-260 0-73400
11261 002400
11262 073140
11263 063603
11264 017415
11265 103700
11266 067370
11267 017361
11270 073140

11271 017361
11272 037400
11273 173400
11274 006007
11275 002001
11276 027362
11277 006002
11300 026312
11301 106700

11302 102300
11303 027302
11304 017165
11305 002020
11306 027124
11307 005332

11310 002001
11311 027327
11312 037153
11313 002101
11314 027320
11315 063610
11316 017415
11317 027256
11320 063632
11321 003004
11322 043400
11323 043565
11324 002020
11325 027251
11326 027123

12:13 PM

TUE., 23

OCT., 1979

[F]

LOA
JSB
LDA
JSB
JMP
XREAD JSB
LOA
STA
JSB

D841
XCMNO
DB15
XCMNO
XEOTC+1
XEOTC
DM3

XSPCE
XCNTR

BACKSPACE
GAP

[F]
[F]
[F]

RETRY

[F]

(F]

READ
SET RETRY
COUNTER TO -3
GET NEG # OF WORDS

[F]

[Fl
(F]

[F]
[F]
[F]
[F]

STA XCNTR

XRERD CCA,CCE
ADA BUFA

BUFFER ADDRESS - 1

S-TA- XW-N EC

CLA
STA XABS
tlDA DB?3

JSB XCMND
XT.11 STC DATA,C

LDB XCNTR
~TSB

XWAIT

STA XABS

JSB XWAIT
ISZ XWNEC
MTVLQ STA XWNEC,I
INB,SZB,PSS
RSS

JMP
SZB
JMP
XT.50 CLC
XT.8 SFS
JMP
JSB

IF-]

INITIALIZE RECORD
(FJ
LENGTH COUNTER
(F]
READ CHARACTERS CODE
[F]
INITIATE READ RECORD SEQUENCE[F]
INITIALIZE DATA CHANNEL
[F]
LOAD NEG WORD COUNT
(F]
WAIT FOR 1ST WORD
[F]
SAVE RECORD LENGTH
[F]
WAIT FOR NEXT WORD OR EOR
[F]
STEP BUFFER POINTER
(F)
*** THIS WORD CHANGED
[F]
END OF BUFFER?
[F]
END OF BUFFER OR NO COMPARE. (F]

***

XLOQP
MTDER
DATA
CMND

XT.8
XSTIN

5S1>,

JMP XITI
RBR,SLB,RBL
RSS

JMP XENDR
NOISE ISZ XSDCE
CLE,RSS
JMP XSHRT
T.,DA OB41
JSB XCMND
JMP XRERD
XSHRT LOA BUFA
CMA,INA
ADA XWNEC
ADA OMS

[Fl
(F]
[F]
[P]
[F]
[F)
[F]
[F]
(F]
[F]
[F)

[Fl
[Fl

< 5

[F]

WORDS?

[FJ

YES
NO

3043*
3044**

(F]
[F]

TRY AGAIN
RECORD

SSA

JMP XREAD
JMP ERR.l

[F]
[F]
[F]
[F]
[F]
[F]

END OF BUFFER
NO, NO COMPARE
YES, START EOR SEQUENCE
READ FUNCTION COMPLETE?
NO
YES, RESTORE STATUS
WAN AN "EOF" READ?
YES, RETURN TO (P+2)
PARITY OR TIMING ERROR
YES
NO
HAVE WE TRIED 3 TIMES?
NO
YES
BACKSPACE

RECORD < BUFFER LENGTH, GET TAPE LENGTH IN USER'S BUFFER

[F)

[Fl

**

[F]
[F]

PAGE 0070 #01
7970 MAG TAPE

3045*
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056*
3057
3058

12:13 PM

DRIVER

11327
11330
11331
11332
11333
11334
11335
11336
11337
11340

063140
002003
027312
067633
077632
002020
027341
006020
001100
027344

XENDR t,lDA XABS

006021
00 t. 000
0-0·3-004
073633
006021
007004
040001
007004
002021
077633
063633
067632
006020
003004
073633
027121

XEND2 SSB,RSS

3060
3061
3062
3063
3064
3065
3066
3067
306.
3069
3070
3071
3072

11341
11342
1134·311344
11345
11346
11347
11350
11351
11352
11353
11354
11355
11356
11357
11360

3074
3075
3076
3077
3078
3079
3080

11361
11362
11363
11364
11365
11366
11367

000000
102200
027301
102300
027362
1.03500
127361

XWAIT NOP
XLOOP SFC CMND
JMP XT.50
XT.46 SFS DATA
JMP XLOQP
XT.43 LIA DATA,C
JMP XWAIT,I

3082
3083
3084
3085
3086
3087
3088
3089

11370
11371
11372
11373
11374
11375
11376
11377

000000
063633
002320
127370
003007
027121
001100
127370

XCNTR

3091
3092
3093
3094
3095
3096

11400
11401
11402
11403
11404
11405

000000
017165
001310
027166
005363
006011

XWNEC NOP
JSB XSTIN
RAR,SLA
JMP XS.1
RBR,CLE,RBR
SLB,RSS

3.Q5-9-

TUE. ,

23

OCT., 1979

[FJ

SZA,RSS

JMP NOISE
I..JDB BUFL
STB SUFA

GET TAPE RECORD LENGTH

IS LENGTH O?
YES, ASSUME TAPE NOISE
GET USER BUFFER LENGTH
SAVE USER REUQEST

SSA

JMP XEND2
ssa

[F]
[F]
(F]

[F']
[F]

[FJ
[FJ
[F)
[F]
[F]
[F)

ARS

JMP XENDI

[F}

[FJ

ALS

(FJ

[-Fl-···

eM-A,· INA

XENDI STA BUFL
ADA 1

SAVE TAPE LENGTH FOR USER
USER LENGTH IN CHARS?
YES
NO

CMB,INB
SSA,RSS
5TA BUFL

RECORD LENGTH > USER REQUEST?[F]
YES, STORE USER REQUEST LENGT[Fl

SSB,RSS

eMB,INB

I.JDA BUF'L

LDe BUFA
SSB
CMA,INA
BTA BUFL
JMP XIT

[F)
(F)

[FJ
[F]
[P]

(F]

GET ORIGINAL REQUEST
USER REQUEST FOR WORDS?
YES, NEGATE ACTUAL LENGTH
NO
CONTINUE READ PROCESSING

END-Of-RECORD?
YES
NO, NEXT WORD READY?
NO
YES, LOAD DATA WORD

NOP
USER'S BUFFER LENGTH
LOA BUFL
CCE,SSA
WORDS?
JMP XCNTR,r
YES
CMA,INA,SZA,RSS NO, CHARACTERS
DONE IF REQUEST=O
JMP XIT
ARS

JMP XCNTR,I

GET STATUS
UNIT READy?
NO

(FJ
[F"]
[F]
[F]
(F]

[F)
[F]

(F]
[P]
[F)
[F]
[F]

[F)
[F]

[F'l
[F]
[P]
[F]
[F]
[F]

[F]
[F]

(FJ
[F]

YES

[F]

WRTTf ENABLED?

[F]

PAGE 0071 #01
7970 MAG TAPE DRIVER
3097
3098
3099

3100
3101
3102

3103
3105
3106

3107
3108
3109
3-11-0
3111
3112
3113
3114
3115
3116

3117
3118*
3119**

12:13 PM

1.1406
11407
11410
11411
11412
11413
11414

127400
063603
067700
117656
102033
017432
027401

JMP
LOA
LDB
JSB
HLT
JSB
JMP

11415
11416
11417
11420
11421

000000
102600
106500

XCMND NOP
XT.14 OTA CMND
XS.o LIB CMND
RBR,RBR
RBR,SLB

005323

005310

11-4-2-2 027-4-4-3

11423
11424
11425
11426
11427
11430
11431

103700
007540
127415
102300

027426
017165
127415

XT.7

TUE., 23

XWNEC,I

YES
NO

D.19
WNEA
TT35I,I
338

XATCK
XWNEC+1

OUTPUT

[F]
[F]
[F]

MESSAGE
HALT
CHECK FOR AUTO

[F]
[F]

OUTPUT COMMAND
LOAD STATUS WORD
REQUEST REJECTED

J-MP- R-EJ-€ T

YES

STC CMND,C
CCB,SEZ,CLE

NO, INITIATE EXECUTION
READ OR WRITE?
YES, RETURN

JMP
XT.15 SF'S
JMP
JSB
JMP

XCPlND,I
CMND
XT.15
XSTIN
XCMNO,I

CHECK FOR TAPE UNIT IN AUTO

3126

3127
3128
3129
3131

3132
3133

3134
3135
3136
3138
3139
3140
3141
3142

3143

11432 000000

11433
11434
11435
11436
11437
11440
11441
11442
11443
11444
11445
11446
11447
11450

017165
006111
127432
063605

067677
117656
102044
027433

067614
106600
103700

102300
027446
027416

11451 000000
11452 017165

UNIT IN AUTO?
YES
OUTPUT

[F]
[F]

MESSAGE
HALT

(F)
[F]
[F]

11453
11454
11455
11456

001763
000010
027124
127451

JMP XATCK+l-

XEOTC NOP
JSB XSTIN
ALF',CLE,RAR
SLA
JMP XITI
JMP XEOTC,I

[FJ

GET STATUS

**

HLT 448

[F]
[F]
[F]
[F]
[F]
(-F-]

[F)
[F]
(F]
[F]
[F]
[F]
[F]
[F]
[F)
[F]
[P)

GET STATUS

XATCK NOP
JSB XSTIN
CLE,SLB,RSS
JMP XATCK,I
LOA 0.25
LOB MTLMA
JSB TT3SI,!

REJCT LOB 08110
O.B
OTB CMND
XT.6 STC CMND,C
XT.O SFS CMND
JMP XT.O
JMP XT.14

(F]

[F)

3120*

3121
3122
3123
3124
3125

OCT., 1979

[F]

[FJ

[Fl

LOAD CLEAR COMMAND
OUTPUT IT
INITIATE IT
COMPLETED?
NO
YES

GET STATUS
SHIFT "EDT" TO AO

(FJ
LFl
[F')

[Fl
[F]
[F]

(F)
(F]

[F]

AT "EDT"

[Fl

YES

[F]

NO

[F]

PAGE 0072 #01

12:13 PM

MAG TAPE DRIVERS CONFIGURATOR
3145*
3146*
3147*
3148*
3149*
3150
3151
3152
3153
3154
3155
3156
3157
3158
3-1-59
3160
3161
3162
3163*
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3181
3188
3189
3190
3191
3192
3193
3194
3195
3196
3191
3198
3199

TUE., 23

OCT., 1979

[~l

ENTER WITH THE LOWER MAG TAPE SELECT CODE IN (8). ALL 110
INSTRUCTIONS IN THE MAG TAPE DRIVER ARE MODIFIED TO
REFERENCE THE GIVEN I/O PORT.
11457
11460
11461
11462
11463
11464
11465
11466
11467
1141-0
11471
11472
11473

000000
077640
067661
160001
013563
033640
170001
006004
057662
037640
057663
127457
027462

MTOIN NOP

11474
11475
11476
11477
11500
11501
11502
11503
11504
11505
11506
11507
11510
11511
11512
11513
11514
11515
11516
11517
11520
11521
11522
11523
11524
11525
11526
11527
11530
11531
11532
11533
11534
11535
11536
11537

010600
010573
011231
010643
010657
011366
010651
010666
010604
010675
011235
011301
011031
010576
010571
010641
010647
010655
010664
011227
011364
011221
011265
011203
010775
010762
010364
010531
011166
010532
011417
010653
010645
010662

CONI

011362
011225

STA 1,l

SAVE SELECT CODE
GET STARTING POINTER
GET INSTRUCTION
MASK OUT OLD SELECT CODE
MERGE IN NEW SELECT CODE
SAVE IT

INB
CPS CON2A

FINISHED DATA CHANNEL?

STB MTSCD

LDB CONIA
MTDI1 LOA 1,1
AND DM64

lOR MTSCO

IS-Z MTS-CD

YES, B-U-M.P SELECT COO-E-

CPS CON3A
JMP MTDIN,I
JMP MTDI1

FINISHED COMMAND CHANNEL?
YES
NO

DEP MT.3
DEF MT.9

DATA CHANNEL INSTRUCTIONS

[Fl
[F]
[F]
[F]
[F)
[F]
[--F-][F)
[F]
[F]
[F]
(F)
[F]

DEF XT.3
DEF MT.43

[FJ
[F]

DEF MT.47
DEF XT.43
DEF MT.45

[F]

lFJ
[FJ

DEF MT.49

DEF
DEF
DEF
DEF
DEF
OEF
OEF
DEF
DEF
OEF

CON2

[F]
[F)

(F]
(F]
(F]

MT.5
MT.50

XT.5

[F]

XT.50

[FJ

XT.13
MT.2
MT.8
MT.42
MT.44

(F']
[F]
[F]
[F]

MT.46
DEF MI'. 48

[Fl
[FJ

DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF
DEF

[F]
[F]
[F]

XT.2
XT.46
XT.9
XT.l1

[FJ

XT.12

MT.l
MT.12

MT.21
5.1
XS.l

DEF 5.2

DEF
DEF
DEP
OEF
DEF

[~]

XS.O
LOOP
MT.30

MT.51
XLOOP
DEF' XT.20

COMMAND CHANNEL INSTRUCTIONS

[F]
[F]
(F]
(F)
[F]

[Fl
[Fl
[F]
[F]
[F]

(Fl
[F]
[F]

PAGE 0073 #01
MAG TAPE DRIVERS CONFIGURATOR
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209

3210
3211
3212
3213
3214

3215
3216
3217

11540
11541
11542
11543
11544
11545
11546
11547
11550
11551
11552
11553
11554
11555
11556
11557
11560
11561

011010
011426
011446
011236
011302
01056b
011007
010416
010637

Oii41b
011034
010640
011423
011445
011444

o 111~t5
011032

CON3

12:13 PM

rUE. ,

23

OCT. ,

1979

(F]

DEF MT.15
DEF XT.IS
DEF XT.O

(F']

DEF XT.10

[F]

DEF XT.8
DEF MT.I0
DEF MT.14
DEF MT.20
DEF MT.40
DEF XT.14
DEF X'l'.l
DEF MT.41
DEF XT.7
DEF XT.6
DEF O.B
DEF XT.4
OEF XT.16
EQU

[F]
(F)

*

(FJ
[F]

[Fl
[F)

(F)
[F)
(F)
[F]
(F]

[F'l
[-FJ[F']
[F)

[F]

PAGE 0074 #01

12:13 PM

TUE., 23

OCT., 1979

CONSTANTS, TEMPORARIES, ETC.
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3-23-33234
3235*
3236
3237*
3238
3239
3240
3241
3242
3243
3244*
3245
3246
3247
3248*
3249
3250
3251
3252*
3253
3254
3255*
3256
3257
3258
3259
3260
3261
3262
3263*
3264
3265*

11561 165300

N5440 DEC -5440

11562 177401
11563 177700

DM255 DEC
DEC
DMI0 DEC
OM5
DEC
DM4
DEC
DM3
DEC
DMl
DEC
OCT
0.3
D.4
DEC
DEC
D.5
DEC
D.6

11564
11565
11566
11567
11570

177766
177773
177774

177775
177777

11571 000003
11572 000004
11573 000005
11574 000006
11575 000007
11576 000010
1157-1- Q-OOO-l 1
11600 000012

01464

-255
-64
-10
-5

-4
-3
-1

[F]

3
4

5
6

DB7
0810
DB-11
f).10

OCT 7
OCT 10
OCT 1-1

11601 000015

OB15

OCT 15

11602 000017
11603 000023
11603
11604 000030
11605 000031
11605

DB17
DB23

OCT 17
OCT 23

D.19

EQU D823

DEC 10

[F]
[F]

[FJ

D.24

DEC 24

DB31
D.25

OCT 31
EQll DB31

0'835
DB40

OCT 35
OCT 40
OCT 41

[F]

[F]

11606 000035
11607 000040
11610 000041

DB41

[F]

11611 000100
11612 000101
11613 000105

DBI00 OCT 100
08101 OCT 101
08105 OCT 105

[F)

[Fl

11614 000110
11615 000215

06110 OCT 110
08215 OCT 215

[F]

[FJ

rFJ
11616 000200

11617 000201
11620
11621
11622
11623
11624

000300
000400
000733
000757
012500

OB200 OCT 200
08201 OCT 201
D8300 OCT 300

OB400 OCT 400
OB733 OCT 733
OB757 OCT 757
05440 DEC 5440
(F]

11625 100000

BlOOK OCT 100000
[F]

PAGE 0075 #01
CONSTANTS, TEMPORARIES, ETC.
3267*
3268
3269
3270
3271*
3272
3273*
3274
3275
3276
3277
3278
3279
3280

3-2-8-1-

3282
3283*
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310*
3311*
3312
3313
3314
3315*
3316
3317
3318
3319*
3320
3321

12:13 PM

TUE. ,

23

OCT. ,

1979

[F)

DTMPO RSS 1

11626 000000
11627 000000
11630 000000

OTMP1 BSS 1
OTMP2 BSS 1

11631 OOOO()O

ceNT

BSS 1

TTY CHARACTER COUNT

11632
11633
11634
11635
11636
11637
11640
1-164111643

000000
000000
000000
000000
000000
000000
000000
-0-0-0-0-00
026040

BUFA
BUFL
WeNT
CNT
EOTF
ECNT

BSS 1
8SS 1

14TD BUFFER ADDRESS

11644
11645
11573
11646
11647
11650
11651
11652
11653
11654
11655
11656
11657
11660
11661

000116
000131

.N
.Y

[F]

[FJ

11662
11663
11664
11665
11666
11611
11667
11670
11671
11672
11673

ess 1

BSS 1
8SS 1
BSS 1

MTSCD 8SS 1
~8U-F

sss-

Ase

002510
007233
002010
002145
002423
111474
111524
111561
004002'
004027

006000
012500
112500
003003
173400
153400

[F]

21, ,

OCT 116

[14"]

OCT 131

[Fl

BSPGA EQU 0.5

100200
002501
002504
002507
002502
002505

MTD BUFfER LENGTH
MID WORD COUNT
\1TO RECORD COUNT
END-Of-TAPE F'LAG
MTD RETRY COUNTER

BASPG OCT 100200
JSYS2 DEF BSYS2
JDRTT OEF LDRTT
JSAD2 OEF BSAD2
JSYS3 DEF B5Y53
JDRT1 DEF LDRTT+1
JSAD3 DEF BSAD3
MGTCA DEF GETeR
TT35I DEF TTY35
OlseN OEF DISCD
WORDN DEF WORDC
CON1A DEF CON1,l
CON2A DEF CON2,I
CON3A DEF CON3,I
COM6A DEF COM6
OULTT OEF ULTTA
OULTS DEF 6000B
DDIRA EQU DBI00
OTRKB DEF IDTaL

BASE PAGE DISC ADDRESS
BASE PAGE CORE ADDRESS
[F]
[F]
[F]

[F}
[F]
[F]
[F]

[Fl
[Pl
[F]
[F]
[F)
[F]

=> USER LIRARY TRACK TABLE
DUMp BUFFER ADDRESS FOR ULTTB

DUMP TRACK Burt'FER ADDRESS
DTRKR ASS IDTBL+I00000B DISC READ FORM OF DTRKB
DMTRL OEF MTRLT
=> SYSTE1'- LIBRARY LENGTHS BUFFER
MSTOC STA XW~EC,I
WORD TO RESTORE READ
[Fl
MCPAC CPA XWNEC,I
WORD READ MATCH BUFFEk?
(F]
[F]

11674 011702
11675 011706
11676 011716

DONEA OEF DONEM
lLYN'" OEF lLIN
TAPMA DEF TAPMS

11677 011742
11700 011757
11701 011771

MTLMA DEF MTLM
WNEA OEF WNE
VRFYA f'EF VRFY

11702 00641.2
11703 042117

DONEM OCT 6412
ASC 2,DONE

(Fl
[F]

[F]

PAGE 0076 #01
CONSTANTS, TEMPORARIES, ETC.
3322
3323
3324
3325
3326
3321
3328
3329
3330
3331
3332
3333
3334
3335
3-33-6

3337
3338

11705
11706
11707
11715
11716
11717
11731
11732
11733
11742
11743
11756
11757
117&0
1177011771
11772

006412
005111
046114
006400
005124
040520

006412
005104
044523
005103
044101
006400
005127
051111
,0-0-640-0
005126
042522

12:13 PM

TUF.. ,

23

OCT 6412
OCT 5111
ASe 6,LLEGAL INPUT
OCT 6400
TAPMS OCT 5124
ASC 10,APE BAD OR TOO SHORT
OCT 6412
OIser OCT 5104
ASC 7,ISC FAILURE:
MTLM OCT 5103
Ase 11,HANGE MAG TAPE TO AUTO
OCT 6400
WNE
OCT 5127
ASC 8,RITE NOT ENABLED
OCT -6-4{)-O-VRFY OCT 5126
ASC 4,ERIFY ?

OCT. ,

1979

ILIN

[El
[F]

[F]

PAGE 0077 101

12:13 PM

TUE., 23

OCT., 1979

ASR35 DRIVER
3340*
3341*
3342*
3343*
3344*
3345*
3346*
3347*
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377

3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392

3393
3394

UPON ENTRY (A) HOLDS THE NUMBER OF CHARACTERS TO BE OUTPUT OR
IS ZERO TO REQUEST INPUT. FOR OUTPUT REQUESTS (8) POINTS TO
THE FIRST WORD OF THE BUFFER. A LINE FEED, RUBOUT, NULL, OR
X-OFF 1s IGNORED BY INPUT. ON INPUT A CARRIAGE RETURN ENOS THE
RECORD, A _ BACKSPACES ONE CHARACTER, AND AN ESCAPE OR ALT-MODE
DELETES THE INPUT RECORD.
02010
02010
02011
02012
02013
02014
02(}15
02016
02017
02020
02021
02022
02023
02024
02025
02026
02027
02030
02031
02032
02033
02034
02035
02036
02037
02040
02041
02042
02043
02044
02045
02046
02047
02050
02051
02052
02053
02054
02055
02056
02057
02060
02061
02062
02063
02064
02065

ORG 20108
000000
072351
002003
026120

TTY35 NOP
STA CeNTY

SZA,RSS
JMP TTY6
BLS

005000
0-76416
003400
072417
062343
102611
062351
002003
126010
042316
072351
066416
036416
004065
160001
002041
001727
012335
032336
102611
103711
102311
026041
062417
002002
026022
102511
012335
052322
026040
052335
026040
002002
052325
026040
052340
026110
007400
052327
026112
052341
026112

STB BU-FAD
CCA

STA TFLAG
LOA Bl'20K

TTYI

OTA TTYSC
LDA CCNTY
SZA,RSS
JMP TTY35,I
ADA NMl
STA CeNTY
LOB BUFAO
ISZ BUFAD
CLE,ERS
LOA 1,1
SEZ,RSS
ALF,ALF
AND DB177
lOR NB200

TTY2

OTA
STC
SFS
JMP
LDA

TTYSC
TTY5C,C
TTYSC
*-1
TFLAG

SET CHARACTER COUNT
OUTPUT REQUEST?
NO
YES, INITIALIZE
CHAR~CTER P01NTER
SET FLAG
AS 'OUTPUT'
SEND BITS FOR
'PRINT ONLY'
ALL CHARACTERS
OUTPUT?
YES
NO, CORRECT
CHARACTER

COMPUTE
WORD-CHARACTER
ADDRESS
LOa.D WORD
POSITION
CHARACTER
EXTRACT CHARACTER
ADD IN BIT 7
OUTPUT IT
REQUEST CHARACTER TRANSfER
WAIT FOR
COMPLETION FLAG

SZA

OUTPUT?

JMP TTYl
LIA TTYSC
AND OB177

YES

CPA OB12

JMP TTY2
CPA DB117
JMP T 'l 'Y2
SZA
CPA NB23
JMP TTY2

CPA
JMP
CCB
CPA
JMP
CPA
JMP

BKSPC
TTY4
OB33
TTYS
ALTMD

TTY5

CQUI~T

[F]

[F]

[F)
[Fj

[F]

NO, EXTRACT
CHARACTER
LINE FEED?
YES

NO, RUBQUT?
YES
NO, NULL
OR X-OFF?
YES
f\JO,

'_'

?

YES

NO
EXIT ON
VARIOUS
FORMS OF
ESCAPE

[Fl

PAGE 0078 #01
ASR35 DRIVER
3395
3396

3397
3398

3399
3400
3401
3402
3403
3404

3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415

3416
3411
3418
3419
3420
3421
3422
3423
3424
3425
3426

02066
02067
02070
02071
02072
02073
02074
02075
02076
02077
02100
02101
02102
02103
02104
02105
02106
02107
02110
02111
02112
02113
02114
02115
02116
02117
02120
02121
02122
02123
02124
02125

12:13 PM

052334
026112
072420
066351

CPA

056333

CPS

D8176
JMP TTY5
STA TTYTM

LOB CeNTY
D.72
JSB BKSP
LOB BU~AD
ISZ BUPAD
CLE,ERB
SEZ,RSS

016126
066416
036416
004065
002041
001737
130001
170001
036351

ALF, SLl'., ALP

062_4..20

052323
126010
026040
016126
026040
076417
046010
076010
062317
066427
026011
066426
176430
076416
072417
062345
026037

TTY4

TTY5

TTY6

lOR 1,1
STA 1,1
rsz CCNTY
LDA TTYT-M
CPA NBIS
JMP TTY35,!
JMP TTY2
JSB BKSP
JMP TTY2

TUE. ,

23

ALT MODE
CHARACTER
BACKSPACE
IF BUFFER
IS FULL
COMPUTE:
NEXT BUFFER
SAVE

[F]

ADDRESS

POSITION
AND PORM
BUFFER WORD
STORE AND
COUNT CHARACTER

[F]

VI-AS IT A

CARRIAGE RETURN?
YES

[F]

NO

BACKSPACE

SET TO OUTPUT MODE

ADS TTY35

SET RETURN

TTY35
N.3
RVRSA
TTY35+1
IBUf'A
AADRA,I
STB BUFAD
STA TFIJAG
LOA B160K
JMP TTY2-1

TO l~PUT CALL
OUTPUT
A~D
CARRIAGE RETURN
LIN,E FEED
SET UP INPUT

3428*
3429** BACKSPACE ONE CHARACTER
3430*
3431 02126 000000 BKSP NOP
3432 02127 066351
fJDB CeNTY
3433 02130 006003
5ZB,RSS
3434 02131 126126
JMP BKSP,I
3435 02132 046316
AOB NMl
3436 02133 076351
STS CCNTY
3437 02134 007400
CCB
3438 02135 046416
ADS BUFAD
3439 02136 076416
ST8 BUFAD
3440 02137 004065
CLE,ERB
3441 02140 160001
LOA 1,I
3442 02141 012346
AND HIMSK
3443 02142 170001
STA 1,I
3444 02143 062420
LDA TTYTM
3445 02144 126126
JMP BKSP,I

1979

OR

STS TFf.. AG

STS
LOA
LOB
JMP
LOB
STa

OCT. ,

~\~

-

[F]

E\UFFER

POINTERS
SET TO INPUT MODE
SEND INPUT BITS

TO ASR 35

*
**
*

DECREMENT
CHARACTER
COUNT
IF
NON-ZERO
BACKSPACE
CHARACTER
ADDRESS
INSURE
NEXT CHARACTER
WILL NOT BE
GARBLED
RETRIEVE CHARACTER FOR CALT..IS
FROM BUFFE:R OVERFLOW

(F]

(FJ
[F]

PAGE 0079 #01

12:13 PM

rUE., 23

OCT., 1979

DISC DRIVER
3447*
3448*
3449*
3450*

3451*
3452*

UPON ENTRY (A) HOLDS THE DISC ADDRESS (BITS 15-14 DETERMINE
THE DISC REFERENCED) AND (8) HOLDS THE COPE ADDRESS.
BIT 15
OF (6) IS 1 FOR A TRANSFER TO CORE, 0 FOR A TRANSFER TO DISC.
IT IS ASSUMED THAT WORDe HOLDS THE NEGATIVE TRANSFER LENGTH

IN WORDS.

3453*
3454 02145 000000
3455 02146 072422
3456
02147 076421
3457 02150 062423
3458 02151 002003
3459 02152 126145
3460 02153 006021
3-4--61
0-21-54- ()-1- 2- 3-14
3462 02155 072423
3463 02156 062422
3464 02157 001222
3465 021.6001231.7
3466 02161 072424
3467 02162 042431
3468 02163 160000
3469 02164 072425
3470 02165 012331
3471
02166 064000
3472 02167 042342
3473 02170 102607
3474 02171 022344
3475 02172 072237
3476 02173 002004
3477 02174 022336
3478 02175 072220
3479 02176 072242
3480 02177 072251
3481
02200 042332
3482 02201 072227
34B3
02202 066421
3484 02203 007000
3485 02204 005200
3486 02205 062425
3487 02206 0017'7
3488 02207 100042
3489 02210 062422
3490 02211 001222
3491
02212 100046
3492 02213 001200
3493 02214 101051
3494 02215 072422
3495 02216 066315
3496 02217 076425
3497 02220 102500
3498 02221 000010
3499 02222 026220
3500 02223 001727
3501
02224 002021

Dlscn NOP
STA DAODR
STS CORE
LOA WORDe
SZA,RSS
JMP DISCD,I
SSB,RSS
A-N-Q NM-6-4-

STA waRDC
LOA DADDR
RAL,RAL
AND N.3
STA DISCI
ADA D5TBL

SAVE DISC AND
CORE ADDRESSES

EXIT ON
WORD COUN'!'
OF ZERO
ROUND UP
~ULL

TO

-SECTOR

ON WRITE
LOAD
DISC
SELECT
CODE
WORD

[F'J

[,OA 0, I

STA FAIL
AND 0877
{JDB 0

ADA DCHN
OTA DMA
XOR DSTC

STA DISC3
INA

SAVE IT
EXTRACT SELECT CODE
COpy INTO (S)
OUTPUT DMA/DISC
LINKAGE CONTROL WORD
COMPUTE
AND

XOR NB200

STA DISCI
STA DISC4
STA DISCS

[F]

STORE
110

ADA NBI00

STA DISC2
LOB CORE
eMS
RaL
LOA FAIL
ALF,ALF
LSL 2
LOA DADDR
RAL, RAt"

LSL 6
RAL
LSR 9
Sf A DADDR
LDR NMI0
STB FAIL
DISCl LIA 0
SLA
JMP DISCI
ALF,ALF
SSA,RSS

[F]

COMMANDS
SET B(O]

TO PROPER
DIRECTION BIT
SET B[2:0}

TO PROPER
ADDRESS PREFIX
EXTRACT
TRACK

NUMBER
REMOVE BIT 7

SHTFT HARDWARE ADDRESS INTO CA)
SET RETRY

COUNTER
WAIT FrJR
DISC CONTROLLER
FREE AND
DISC
UP TO

[F]

PAGE 0080 #01
DISC DRIVER
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3--5-1-&
3517
3518
3519
3520
3521
3522
3523
3524

3525
3526
3527

3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
.3552
3553
3554
3555

02225 026220
02226 062422
02227 102600
02230 106703
02231 062421
02232 10260)
02233 102703
02234 062423
02235 102&03
02236 103707
02237 102700
02240 102307
02241 026240
02242 102500
Q--2-2-4-l--Q--1-2--3-2-1
02244 002002
02245 026255
02246 062421
02247 002021
02250 026312
02251 102500
02252 012326
02253 002003
02254 026312
02255 036425
02256 026220
02257 062324
02260 066435
02261 016010
02262 062424
02263 042330
02264 001727
02265 042337
02266 172433
02267 006400
02270 062422
02271 001727
02272 001200
02273 012331
02274 100400
02276 046330
02277 002003
02300 026303
02301 042330
02302 001727
02303 030001
02304 172434
02305 062320
02306 062320
02307 066433
02310 016010
02311 126432
02312 107707
02313 126145

12:13 PM

JMP DISC1
LD,~ DADOR
DISC2 OTA 0
CLC MAR
LDA CORE
OTA MAR
STC MAR
LOA WORDe
OTA MAR
STC DMA,C
DISC3 STC 0
SfS DMA
JMP *-1
DISC4 LILA 0

SSA,RSS

JMP DISC7
DISCS LIA 0
AND D832
SZA,RSS

JMP DISC7
DISC6 ISZ FAIL
~JMP DISCl
LDA D.16
LDB DISFA
JSB TTY35
LOA DISCI
ADA D860

ALF,ALF
ADA SLASH

STA EBFDA,I
CLB
LOA DADOR
ALF, A.LF

23

OCT., 1979

SPEED
OUTPUT
DISC ADDRESS
OUTPUT
CORE
ADDRESS
OUTPUT

TRANSFER
LENGTH
INITIATE
TRANSFER
WAIT FOR
COMPLETION FLAG
ABORT
SIT -

A-N-D- N-B10
SZA

JMP DlSC6
LDA CORE

TUE. ,

{FJ

SET?
YES

NO
READ?
NO
YES
FAULTY
TRANSFER?
NO

YES, TRY AGAIN?
YES
NO, PRINT
'DISC
F'AILURF.'

STORE
DISC NUMBER
AND ' I '

IN
BUFFER

[F]

COMPUTE
ASCII

RAL

(F]

AND 0877

OIV OB12

FOR

ADS D860

SZA,RSS

TRACK

JMP *+3
NU~BER

ADA 0860

ALF,ALF
lOR 1
STA EBIDA,I
LOA N.6
LOA N.6
LDB EBFDA
JSB TTY35
JMP ERPIA,I
DISC7 CLC DHA,C
JMP DISCD,J

STORE IT
PRINT
PRINT
,

[F]

(FJ

(FJ

'X/XX,

TERMIN~TF

CLEAN UP

LOAD/DUMP

PAGE 0081 #01
CONSTANTS, TEMPORARIES, ETC.
3557

3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
35-71

3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590

3591
3592

3593
3594
3595
3596

3597
3598
3599
3600
3601
3602

3603

02314
02315
02316
02317
02320
02321
02322

117100
177166
117177
000003
000006
000010
000012
02323 000015
02324 000020
02325 000023
02326 000032
02327 000033
02330 000060
02331 000077
02132 0001-00
02333 000110
02334 000176
02335 000177
02336 000200
02337 000057
02340 000137
02341 000175
02342 020000
02343 120000
02344 122700
02345 160000
02346 177400
00011
02347 056015
02351 000000
02352 000000
02416 000000
02417 000000
02420 000000
02421 000000
02422 000000
02423 000000
02424 000000
02425 000000
02426 004724
02427 002347
02430 007423
02431 000160
02432 005427
02433 011&41
02434 011642
02435 011732

NM64

NMI0
NMl
N.3

N.6
NBI0
DB12
NB15
D.16
NB23

0832
OB33
D860
OB77
NBt-OO
0.72
D8176
DB177
NB200
SLASH

DEC
DEC
DEC
DEC
DEC
OCT
OCT
OCT

12:13 PM
[P]

TUE. ,

23

OCT. ,

1979

-64

(F]

-10

[F]

-1
3
6
10
12
15
DEC 16
OCT 23
OCT 32

[FJ

[F)
[F]

(F]
[F]
[F]

OCT 33
OCT 60
OCT 77

O-CT 100
[F]
DEC 72
OCT 116
OCT 177
OCT 200
[Fl
OCT 57
'I'
, ,
BKSPC OCT 137
ALTMD OCT 175
DCHN OCT 20000
B120K OCT 120000
'PRINT ONLY' TTY CONTROL BITS
nSTe OCT 122700
B160K OCT 160000
'INPUT' T'
CONTROL BITS
HIMSK OCT 177400
TTYSC EQU I1B
ASR35 SELECT CODE
RVRSL OCT 56015,5000 ' \ CR LF' F'OR LINE DELETION
[F]
CeNTY sss 1
INBUF SSS 36
TTY INPUT BUFFER
BUFAD SSS 1
TTY CHARACTER ADDRESS
TFLAG BSS 1
TTY 110 MODE
TTYTpI

-

BSS 1

TTY TEMPORARY

CORE

SSS 1
CORE ADDRESS FOR DISC
DADOR BSS 1
DISC ADDRESS
WORDe sss 1
BLOCK WORD COUNT FOR DISC
DISC# BSS 1
DISC NUMBER
FAIL ass 1
DISC RETRY COUNTEH
lBUFA ASS INBUF+INBUF
RVRSA DEF RVRSI,
BADRA OEF BADDR
ADDRESS OF CHARACTER POlfllTF:R

DSTBL DEF DTBL
ERRIA DEF ERRIN
EBFDA DEF EBUF~
EtilDA DEF EBUl""+l
DISFA DEF DIscr

DISC SELECT CODE TABLE ADDRESS
ADDRESS OF ABORT MESSAGE CODE
ADDRESS Of' ERROR BUFF~R
[FJ

PAGE 0082 #01

12:13 PM

TUE., 23

OCT., 1979

POST-SLEEP DISC LOADER
3605*
3606*
3607*
3608*
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3-61-9
3620
3621

3622
3623
3624
3625
3626

3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642*
3643
3644
3645
3646

3647
3648
3649
3650
3651
3652
3653
3654*
3655
3656
3657
3658

HLT 2 IF A SYSTEM READ IS BAD.
LOADING.

PRESS

02436
02437
02440
02441
02442
02443
02444
02445
02446
02447
0-24-50
02451
02452
02453
02454
02455
02456
02457
02460
02461
02462
02463
02464
02465
02466
02467
02470
02471
02472
02473
02474
02475
02476

107100
062477
102607
062500
102703
102603
066506
062503
102615
106703
1-06-603103707
102714
102307
026453
102515
012512
002003
026463
102002
026436
062501
072423
062504
066507
016145
062502
072423
062505
066510
016145
107700
126511

BSf.JDR CLC 0, C

02477
02500
02501
02502
02503
02504
02506
02507
02510
02511
02512

020014

BLINK ASS 20000B+BDISC
eSYS1 ASS -12000B
BSYS2 ASS 14000B-265008

00007
00014
00003

00003

166000
165300
1&7200
000003
000000

100000
114000
126500
005306
000032

LOA BLINK
OTA DMA
LOA BSYS1
STC WCR

OTA
LDB
LOA
OTA
eLC

WCR
eSAOl
BOAD
BDISC+l
MAR

STC
SFS
JMP
LIA

BOIse
DMA
*-1
BOI5C+l

LINKAGE
OUTPUT
FIRST SEGMENT
WORD COUNT
FIRST CORE ADDRESS
ESTABLISH
DISC ADDRESS
ESTABLISH
CORE ··ADDR-SS-S

INITIATE DMA
START TRANSFER
WAIT FOR
END OF TRANSFER
TRANSFER

AND BSL32
SZA,FSS

JMP
HLT
JMP
LOA

TO RETRY SYSTEM

OUTPUT DMA/DISC

O-T-B MAR

STC DMA,C

~RUN~

OK?

*+3

YES

2
estOR
BSYS2

TRY AGAIN ON 'RUN'
READ

NO

STA WORDC

LOA
LDB
JSB
LDA
STA
LDA

LORTT

BSAD2
Dlscn
8SYS3
WORDe
LDRTT+l

SECOND
SEGMENT
READ

THIRD

1,08 BgAD3

JSB DISCO
CLC o,C
JMP DATE?,I

BSYS3 ASS

BDAD

OCT

LDRTT OCT
BSAD1 OCT

BSA02 OCT
BSAD3 OCT
DATEP DEF

SEGMENT
GET DATE
AND TIME

SEGMENT
WORD
265008-373006
COUNTS
3
SEGMENT
0,0
DISC ADDRESSES
100000
SEGMENT
CORE
114000
126500
ADDRESSES
LDR59
ENTRY POINT TO DATE-TIME CODE

BSL32 OCT 32

DMA
BOIse
MAR
WCR

EQU 7

DMA CHANNEL

EQU 148

DISC SELECT CODE (LOWFR)
MEMORY ADDRESS REGISTER
WORD COUNT REGISTER

EQU 3
EQU 3

PAGE 0083 #01

12:13 PM

TUE., 23

OCT., 1979

'DISC LOADER' LOADER
3660*

3661*
3662*
3663*
3664*
3665*
3666*
3667*
3668*

3669*
3b70*
3671*

3672*
3673*
36-74
3675
3676*
3677
3678
3679
3680
3681*
3682
3683
3684
3685
3686
3687*
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700

3701
3702
3703

3704
3705

THE FOLLOWING IS THE FORMAT FOR THE PORTION OF THE
BOOTSTRAP LOADER TO BE SET IN 0,0. THIS SECT rON OF THE
BOOTSTRAP IS LOADED INTO 2 TO 77B BY THE PROTECTED BINARY
LOADER. WHEN IT IS READ COMPLETELY INTO CORE IT CHECKS fOR
READ PARITY ERRORS DURING ITS INPUT. FOLLOWING THIS, A HALT
INSTRUCTION PERMITS THE OPERATOR TO PROTECT THE BASIC
BINARY LOADER AND SET SWITCH 0 OF THE SWITCH REGISTER
TO 0 (EITHER R~AL TIME EXECUTIVE OR TTME-SHARED BASTC)
OR 1 (DISC MONITOR SYSTEM). PRESSING 'RUN' READS THE
SELECTED SYSTEM LOADER FROM 0,1 OR 0,2 RESPECTIVELY. IBIS
PORTION OF THE BOOTSTRAP OPERATION WILL tHEN LUAD INTO
CORE THE SELECTED SYSTEM AND TRANSFER CONTROL TO IT.
000-00

00000
00000
00002
00003
00004

000000
000000

000000
103004

00005 070044
00006 034043
00007 10'2077
00010 060047

00011 10260b
00012 102501
00013
00014
00015
00016
00017

00020

006404
000010
006004
106600
006304
160001
070046
001225
106702
102602

3712
3713
3714

ASSEMBLY ORIGIN

RLOAD OCT 0,0
R'f/TS OCT 0
DMS
OCT 0
ALT 4,C

DON'T USE CA) AND (B)
REAL TIME EXEC/TIME-SHARED BASIC
DISC MONITOR SYSTEM
IN CASE OF POwER FAIL

BSLDO STA
ISZ
HLT
LOA
OTA

00035
00036
00037
00040
00041
00042
00043

102500
000010
024035
010050
002003
124034
102000

SELECT SYSTEM LOADER
FROM SWITCH REGISTER:
SwR
0 IMPLIES SECTOR 1
SWR
1 IMPLI~S s£crOR 2
OUTPUT DISC ADDRESS

=
=

SAVE

CHOSEN LOADER'S
CORAD-BSBSO
ENTRY POINT
RAL,ERA
ourpUT 'READ' FORM
CLC 2
OF LOADER'S
OTA 2
CORE ADDRESS
LOA .N64-BSBSO
OUTPUT
STC 2
TRANSFER
OTA 2
LENGTH
STC 6,C
START DMA
STC 0
START DISC TRANSFEP
JSB TSTAT-BSBSO
VALIDATE READ
JMP CORAD-BSBSO,I TRANSFER TO SYSTEM LOADER
LOA 1,1

STA

00030 103706
00031 102700
00032 014034
00033 124046

BSLD2-BSBSO+1 CHANGE IRRECOVERABLE HLT 0
BSLD2-BSBSO
INTO RECOVERABLE HLT 1
77B
PROTECT BSL, SET SWR FOR SYSTEM
LINKG-BSBSO
SET UP DISC/DMA
6
LINKAGE

BSLDI tIA 1
CLB,INB
SLA
INB
DSK7 OTB 0
CCE,INB

00021
00022
00023
00024
00025 060051
00026 102702
00027 102602

3706*
3707 00034 000005
3708
3709
3710
3711

BSBS-O EQU 0
ORG BSBSO

DSK8

TSTAT DEF BSLDO-BSBSO
(INITIAL EXIT)
DSK9 LIA 0
WAIT FOR
SLA
TRANSfER
JMP *-BSBSO-2
COMPLETION
AND BSB32-BSBSO
TRANSFER
SZA,RSS
OK?
JMP TSTAT-BSRSO,I YES
BSLD2 HLT 0
NO (HLT 1, NOP AFTER CHECK

PAGE 0084 #01
'DISC LOADER' LOADER
3715
3716
3717*
3718
3719
3720
3721
3722*
3723

00044 024043
00045 024012

12:13 PM

JMP *-85B50-1
JMP BSLD1-BSBSO

00046 000000
00047 020000
00050 000032

CORAD OCT 0

00051 177700

.N64

LINKG OCT 20000
BSB32 OCT 32

TUE., 23

OCT., 1979

ON BOOTSTRAP ITSELF)
RETRY LOAD

SYSTEM LOADER ENTRY ADDRESS
DISC/DNA LINKAGE TEMPLATE
TRANSFER VALIDATION MASK

DEC -64

00077
ORG BSBSO+77B
3724 00077 024035
JMP DSK9-BSBSO
TEST BOOTSTRAP LOAD
3725
END
** NO ERRORS *TOTAL **RTE ASMB 92067-16011**

PAGE 0085
CROSS-REFERENCE SYMBOL TABLE
**ORG

03348

*****

00005
03675

00009
03723

.12

01140

00083

01141

.13

01142

00761

01143

.15

01144
00984

00094

.17

01145

00801

.19

01146

00241

.2

01134

.20

12:13 PM

TUE" ,

23

OCT. ,

1979

00023

00030

00044

02070

00172

00258

00378

00423

00955

002-9-8

00339

00452

00564

00573

00-676

01147

00567

01029

.21

01148

00276

.22

01149

00226

.23

01150

00271

.24

01151

00412

00950

.26

01152

0011H

01119

.3

01135

00915

.32

01153

00437

01154

.38

01155

00357

01020

.4

01136

00128

00334

.5440

01162

00592

00704

,6

01137

00659

00668

.600

01161

00979

.7

01138

00212

00502

00642

00644

00657

.B

01139

00936

00967

.85

01159

00609

.N

03284

02280

,N64

03721

03699

.Y

03285

02278

01025

01192

00640

PAGE 0086

CROSS-REFERENCE SYMBOL TABLE

?BEND

00056

00884

?BGIN

00055

00880

?BHED

00053

00872

?BSTR

00054

00876

110

00057

00888

?MASK

00052

00864

A

01166

00373

ASS

02598

02549

AD02K

02315

02301

ADD3K

02316

02302

ADD4K

02317

02303

ADLEN

00014
01413

AOLOC

12:13 PM

TUE., 23

02559

02607

02608

00162
0141.9

00169
01421

00323
01666

00555

00013

00167

00478

00727

ADTBA

01199
00730

00165

00289

ADTBY

02012

01417

ADTBL

01198

ADVAI

OCT. ,

1979

01810

00705
01884

00128
01885

00322

00337

00558

00710

01669

01851

01872

01199

01200

02012

01815

01799

01805

01811

ADVAL

01794

01239

01802

01808

01814

ADVLA

01239

00778

00781

ALTMD

03578

03393

ASR35

01235
00228
00416
00940
01031

00085
00230
00425
00957
01121

00087
00243
00439
00969

00096
00359
00569
00971

00120
003bl
00763
00986

00122
00380
00803
01022

00174
00414
00938
01027

ASRDA

02017
01623

01371
01817

01484
01836

01498
01943

01542
01945

01565
01958

01573

AUTCK

02801

02510

02796

02805

8100

01157

01190

01193

PAGE 0087

CROSS-REFERENCE SYMBOL TABLE

12:13 PM

BI00K

03264

02248

8106

01158

01194

B120K

03580

03357

B14

01141

00116

B15

01143

00960

B160K

03582

03425

840

01154

00693

00840

8400

01160

00305

00547

00621

860

01156

00251

86400

02002

01494

BAOAD

02051

02043

BADD

02054

02044

BADDA

02044

01572

BADOR

02038

01916

01917

03598

SADP

02057

02045

BADPA

02045

01835

BADRA

03598

03422

BASPG

03287

02116

BOAD

03647

03616

BDADA

02043

01816

BOOL

01293

01258

02040

BODLA

02040

01370

01564

BOISC

03656

03617

03621

03624

BOLA

01258

00259

BIT15

01163

00166

00432

00687

BKSP

03431

03400

03413

03434

BKSPC

03577

03388

BLANK

01999

01923

00143

TUE. ,

00269

03643

03445

23

OCT. ,

1979

PAGE 0088

CROSS-REFERENCE SYMBOL TABLE

12:13 PM

BLORA

01263

00438

SLORe

01307

01263

BLINK

03643

03610

BMASK

02003

02015

BMSKA

02015

01394

BPAGA

02009

01806

BPLEN

02372

02113

B-SAD1

036-4-9

0361-5

BSAD2

03650

03290

03633

BSAD3

03651

03293

03638

BSB32

03720

0371,1

BSBSA

01216

00431

00461

BSBSO

03674
03699
03715

01216
03704
0371b

03675
03705
03723

BSL32

03653

03625

BSLDO

03682

03707

BSLD1

03688

03716

BSLD2

03714

03682

03683

aSLOR

03609

01217

03629

BSPGA

03286

02115

BSY1A

01210

00913

BSY2A

01211

00918

8SY3A

01212

00923

8SYS1

03644

01210

03612

BSYS2

03645

01211

03288

03630

BSYS3

03646

01212

03291

03635

BUFA

03274
02750

02503

02558
02887

02884

TUE. ,

23

OCT. ,

1979

03683
03710

03685
037t1

0,3695
03713

02561

02581

02973

03003

02656
03036

03050

03682

03707
03724

02697

PAGE 0089
CROSS-REFERENCE SYMBOL TABLE

12:13 PM

TUE. ,

23

OCT. ,

1979

03068

BUFAD

03588
03438

03354
03439

03364

03365

03401

03402

03423

BUFL

03275
02772
030bO

02502
02776
03066

02532
02872
03067

02548
02882
03071

02551
02901
03083

02660
02974

02760
03049

C

01167

00376

ceNT

03272

02162

02165

03586

03350

03359

03363

03398

03408

03432

CeNTY

03436

CEQTA

01191

00148

CHKSA

01265

00802

CHKSM

01312

01265

CMAND

02812
02675

02512
02680

02575
02682

02590
02133

02616
02748

02635
02817

02642

CMHD

02382
02702
03022
03133

02507
02707
02835
03075
03134

02536
02713
02837
03106

02623
02720
02902
03107

02624
02788
029]9
03111

02659
02802
02976
03114

02701
02813
02985
03132

CNT

03277
02654

02556
02686

02566
02695

02579
02696

02585

02594

02605

CNTR

02775

02650

02692

02785

COM6

00048

01066

03301

COM6A

03301

02241

COMMA

01164

00256

CONi

03164

03298

CON1A

03299

03152

CON2

03188

03299

CON2A

03299

03158

CON3

03217

03300

CON3A

03300

03160

CORAD

03718

03695

02814

03705

PAGE 0090
CROSS-REFERENCE SYMBOL TABLE

12:13 PM

TUE. ,

23

OCT. ,

1979

CORE

03591

03456

03483

03506

03519

COUNT

01224
00789

00554

00561

00584

00595

00606

00766

D

01168

00233

0.10

03234

02271

D.16

03565

0352ij

D.19

03240

02792

D.24

03241

02334

0.25

03243

02806

03125

D.3

03227

02599

02917

D.4

03228

02789

0.5

03229

02784

0.6

03230

02187

D.72

03572

03399

05440

03262

02159

02167

DADDR

03592

03455

03463

03489

03494

03503

03537

DASH

02001

01557

DATA

02383
02705
02731
03009

02662
02709
02834
03021

02664
02711
02957
03077

02667
02715
02972
03079

02669
02717
02978

02673
02722
02980

02703
02724

DATE

00061

00951

0098

00484
00800

SYSSl

01229

01079

01090

01094

01095

SYSS2

01230

01083

01108

01112

01113

SYST1

01227

01077

01096

01098

01099

SYST2

01228

01081

01114

01116

01117

SYSTA

02007

01800

TAPEA

01271

01026

TAPER

01327

01271

TAPMA

03314

02335

TAPMS

03326

03314

TBASE

02519

02516

TEMPO

01219
00288
00480
00656
00787
00988

00107
00303
00486
00658
00788

00112
00306
00495
00663
00856

00120
00336
00503
00685
00904

00132
00343
00540
00709
00942

00205
00390
00623
00720
00952

00213
00397
00636
00774
00974

TEMPt

01220
00311
00500

00115
00312
00501

00248
00315
00542

00264
00392

00295
00395
00590

00309
00396
00622

00310
00497
00666

TABLE

12:13 PM

00548

TUE., 23

OCT. ,

1979

PAGE 0110

CROSS-REFERENCE SYMBOL TABLE

12:13 PM

TUE. ,

23

OCT. ,

1979

00677
00858

00716
00896

00719
00897

00768
00899

00780
02024

00795

00804

TEMP2

01221
00620

0011.7
00796

00262
00805

00297
00860

00313
00894

00552
00895

00587
02025

TEMP3

01222
00589
00862
00891

00300
00b03
00865
00893

00304
00608
00873

00557
00610
00877

00565
00617
00881.

00572
00775
00885

00582
00798
00889

TEMP4

01223
00821

00509
00823

00653
00828

00661
00829

00679
01069

00684
01070

00690
01072

TFLAG

03589

03356

03376

03415

03424

TIME

00062

00981

TIMEA

01268

00968

TIMER

01320

01268

TMPIA

02024

01599

01607

TMP2A

02025

01601

01636

TPERR

01025
00827

00199
00837

00520

00546

00602

00616

00651

TRAX

00015

01195

02013

TRAXA

01195

00127

00287

TRKNA

02046

01483

TRKNL

02060

02046

TRKTA

01206

00391

TRKTB

01232
01207

00399

00925

01076

01080

01206

TSB

00064

01015

TSBBA

01211

00453

00456

TSTAT

03707

03704

03713

TT351

03295
02808

02273
03100

02275
03121

02285

02311

02336

02794

TTY1

03359

03318

TTY2

0337.3

03382

03384

03387

03412

03414

0)426

00920

PAGE 0111
CROSS-REFERENCE SYMBOL TABLE
TTY35

03349
03417

01235
03420

TTY4

03413

03389

TTY5

0.3415

03392

TTY6

03421

03352

TTYDA

00051

·00857

TTYSC

03584

TrYTM

12:13 PM

02017
03530.

03295
03552

03394

03396

03358

03372

03373

03590

03397

03409

03444

T·W-GO-A

0-12·4·8

009·72·

0.0·975

TWODG

01747

01248

01761

U

01174

00365

ULT"'1

0.1205

00638

ULTTA

00070.

03302

ULTTB

0.1204

00541

UPRBA

01202
0.0680

00598

USTRA

01207

00859

VRFY

03337

03318

VRFYA

03318

02272

weNT

03276

weR

TUE. , 23

03361

03411

03374

03379

OCT. ,

1979

03416

01762

01764

0.0604

00.612

00618

00647

00667

02574

02589

02602

02615

02b55

02671

03658

03613

03614

WEor

02640

02522

WNE

03334

03317

WNEA

03317

02793

03099

WNEC

02787

02632

02640

02649

02791

WORD

0.1215
00551
00729

00146
00591
00901

00164
00597
00914

00429
00607
00919

00451
00611
00924

00507
00652

00522
00683

03593
03636

01215

03297

03457

03462

03509

WORDe

00672

01086
03631

PAGE 0112
CROSS-REFERENCE SYMBOL TABLE
WORDN

03297
02195

02114
02214

WRITE

02648

02521

XABS

02915
02923

XATCK

12:13 PM

TUE., 23

02125
02219

02153
02244

02158

02925

02759
03006

02843
03012

02846
03046

03121

02838

03102

03124

03129

XBASE

02851

02848

XCMND

03105
02971

02845
02992

02864
02994

02930
03008

XCNT-R

030-82
03001

0-28-8003010

02-8-95

03085

XEND1

03060

03055

XEND2

03057

03052

XENDR

03046

03029

XEOTC

03138
03143

02928

XGAP

02945

02858,

XIT

02898
03087

XITl

OCT. ,

1979

02169

02191

02874

02889

02948
03034

02954
03113

02959
03117

02911
03089

02924

02-9-67

03-000

02946

02962

02966

02995

02997

02886

02890

02949

02963

02990

03072

02901

02866

02912

02934

03026

03142

XLOOP

03075

0301.8

03078

03198

XMTD

02831

02506

XOUT

02975

02983

XP.O

02891

02896

Xp.l

02887

02875

02913

XP.2

02905

02877

02892

XP.5

02876

02879

02881

XPOS

02872

02856

XREAD

02997

02852

XRERD

03002

03035

XRES

02860

02857

02712

03041

02909

02253

PAGE 0113
CROSS-REFERENCE SYMBOL TABLE

XREW

02862

02855

XS.O

03107

03194

XS.1

02938

02833

XSHRT

03036

03032

XSPCE

02926

XSTIN

12:13 PM

TUE" ,

23

OCT. ,

1979

03094

03192

02878

02893

02932

02935

02999

03030

02937
03024

02831
03092

02865

02899

02906

02941

02987

03116

03122

03139

XT.O

03134

03135

03202

XT.l

02837

03210

XT.10

02985

02986

XT.l1

03009

03186

XT.12

02957

03187

XT.13

02834

03176

XT.14

03106

03136

03209

XT.15

031.14

03115

03201

XT.16

02835

03216

XT.2

02978

03183

XT.20

02976

02979

XT.3

02980

03166

XT.4

02902

03215

XT.43

03079

03169

XT.46

03077

03184

XT.5

02984

02977

03114

XT.50

03021

03076

03175

XT.6

03133

03213

XT.7

03111

03212

XT.8

03022

03023

XT.9

02972

03185

03203

03199

03204

PAGE 0114
CROSS-REFERENCE SYMBOL TABLE
XWAIT

03074

03011

XWEOF

02956

02854

XWEOR

02953

02961

03091
02945

02699
02956

03015

03038

XWRTE

02965

02853

Y

01175

00090

YEAR

00063

00963

XWNEC

12:13 PM

03013

03080

02719
02965
03097

02725
02969
03103

00419

TUE., 23

02752
02982

02920
03004

0330R

03309

OCT. ,

1979

02929
03014



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2003:07:13 18:24:52-07:00
Modify Date                     : 2009:08:17 08:22:19-07:00
Metadata Date                   : 2009:08:17 08:22:19-07:00
Producer                        : Adobe Acrobat 9.13 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:709ae3c6-73f9-47a7-b59a-93a8b238eb99
Instance ID                     : uuid:99528f8f-5888-4ade-b51f-f5994ef8ce3b
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 114
EXIF Metadata provided by EXIF.tools

Navigation menu