/BOOT.PA		17
/OS/8 V3D WITH RL01,RX02 AND VXA0 DEVICES
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1974,1975,1977 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/
	/SR

/FIXES MADE FOR MAINTENANCE RELEASE:

/1.	ADDED RX01 (FLOPPY BOOTSTRAP)
/2.	LEFT PATCH SPACE IN NAME TABLE

/	26-DEC-77

/1.	ADDED RL BOOTSTRAP (S.R.)


	*1
	HLT
	JMP I (7600
	*100

INNER,	0
OUTR,	-20
CODE,	0
LENGTH,	0
	*200

START,	CLA		/ALLOW BEING CHAINED TO
	TAD I (7600
	SPA CLA
	JMP OS8IN
	ISZ INNER
	JMP .-1
	ISZ OUTR
	JMP .-3
	JMS I (TESTRK
COSIN,	TAD I (7776
COMN,	CIA
	DCA CODE
	TAD (TABLE
	DCA PTR
LOOP,	TAD I PTR
	SNA
	JMP I (OS8
	TAD CODE
	SZA CLA
	JMP NXT
	IOF
	ISZ PTR
	TAD I PTR
	DCA OLDLOC
	ISZ PTR
	TAD I PTR
	DCA NEWLOC
	ISZ PTR
	TAD I PTR
	CIA
	DCA LENGTH
XXLUP,	TAD I OLDLOC
	DCA I NEWLOC
	ISZ OLDLOC
	ISZ NEWLOC
	ISZ LENGTH
	JMP XXLUP
	ISZ PTR
	TAD I PTR
	DCA TEMP
	TAD HLTSWT
	SNA CLA
	HLT
	CLL
	JMP I TEMP
HLTSWT,	1

NXT,	TAD PTR
	TAD (5
	DCA PTR
	JMP LOOP

OLDLOC,	0
NEWLOC,	0
PTR,	0
SCAN,	0
OS8IN,	TAD I (7600
	TAD (-4207
	SZA CLA
	JMP I (RETRY
	TAD I (1000
	TAD (777
	SNA CLA
	TAD (600
	TAD (1000-1
	DCA SCAN
SKAN,	ISZ SCAN
	TAD I SCAN
	SNA
	JMP I (RETRY
	AND (177
	TAD (-"/!7600
	SZA CLA
	JMP SKAN
	ISZ SCAN
	TAD I SCAN
	AND (77
	CLL RTL
	RTL
	RTL
	DCA TEMP
	ISZ SCAN
	TAD I SCAN
	AND (77
	TAD TEMP
	DCA TEMP
	ISZ SCAN
	TAD I SCAN
	AND (177
	TAD (-".!7600
	DCA HLTSWT
	TAD TEMP
	JMP COMN

TEMP,	0
	PAGE
TABLE,	2403	/TC
	DECTAP
	7554
	25
	7554

	2213	/RK
RKADR,	RK8
	21
	11
	21

	2404	/TD
	TD8E
	7277
	34
	7277

	1424	/LT
	LINCTP
	4400
	7
	4400

	2206	/RF
	RF08
	7746
	7
	7746

	2024	/PT
	BINLDR
	7626
	152
	7700

	3205	/ZE
	ZERO
	4
	6
	4

	2431	/TY
	TYPSET
	7730
	42
	7730

	0414	/DL
	DIAL
	4012
	6
	4012

	0301	/CA
	CAS
	4000
	40
	4000

	0415	/DM
	DSKMON
	171
	16
	174

	2605	/VE
	VERS
	VERS
	1
	VERS

	0424	/DT
	TAPE
	TAPE
	1
	TAPE

	0413	/DK
	DISK
	DISK
	1
	DISK

	2205	/RE
	RK8E
	21
	11
	21

	2523	/US
	1
	1
	1
	RETRY

	2230	/RX
	RX01
	RX8E
	42
	RXSTRT

	2214	/RL
	RL01
	1
	35
	1

	2630	/VX
	VXA0
	0
	7
	0
	ZBLOCK 3^5	/PATCH SPACE

	0

/FORMAT:

/SIXBIT OF 2-CHARACTER NAME
/ADDRESS OF BOOTSTRAP CODE IN BOOT
/ADDRESS WHERE BOOTSTRAP CODE IS TO BE MOVED TO
/LENGTH OF BOOTSTRAP IN WORDS
/STARTING ADDRESS OF BOOTSTRAP
DECTAP,	7600
	6774
	1374
	6766
	6771
	5360
	7240
	1354
	3773
	1354
	3772
	1375
	6766
	5376
	7754
	7755
	0600
	0220
	6771
	5376
RK8,	6732
	6751
	6745
	5023
	6742
	6753
	6755
	6733
	5031

RK8E,	7000
	7000
	7000
	7000
	7201
	6742
	6742
	6743
	5031
TD8E,	6007
	1312
	4312
	4312
	6773
	5303
	6777
	3726
	2326
	5303
	5732
	2000
	1300
	6774
	6771
	5315
	6776
	0331
	1327
	7640
	5315
	2321
	5712
	7354
	7756
	7747
	0077
	7400
LINCTP,	6141
	1020
	0020
	0004
	0700
	0000
	6020
RF08,	6643
	6615
	7600
	6603
	6622
	5352
	5752
/	1000 IS OS/8 LINE BUUFFER
/	1600 IS PS/8 LINE BUFFERE

	*2000

BINLDR,	0000
	3212
	4260
	1300
	7750
	5237
	2212
	7040
	5227
	1212
	7640
	5230
	1214
	0274
	1341
	7510
	2226
	7750
	5626
	1214
	0256
	1257
	3213
	5230
	0070
	6201
	0000
	0000
	6031
	5262
	6036
	3214
	1214
	5660
	6011
	5270
	6016
	5265
	0300
	4343
	7041
	1215
	7402
	6032
	6014
	6214
	1257
	3213
	7604
	7700
	1353
	1352
	3261
	4226
	5313
	3215
	1213
	3336
	1214
	3376
	4260
	3355
	4226
	5275
	4343
	7420
	5336
	3216
	1376
	1355
	1215
	5315
	0000
	3616
	2216
	7600
	5332
	0000
	1376
	7106
	7006
	7006
	1355
	5743
	5262
	0006
	0000
	0000
	6014
	6011
	5357
	6016
	7106
	7006
	7510
	5374
	7006
	6011
	5367
	6016
	7420
	3776
	3376
	5357
	0000
	5301
ZERO,	1005
	3410
	5004
	5404
	0011
	2010
DIAL,	6141
	1020
	0020
	0004
	0701
	7300
/	7300
/	6002
/	6042
/	6022
/	6012
/	6032
/	6601
/	6764
/	1221
/	3010
/	1622
/	2222
/	7450
/	5620
/	3410
/	5212
/	7730
/	7727
/	0223
TYPSET,	6774
	1347
	4341
	7240
	1353
	3355
	1352
	4341
	5753
	7777
	6766
	3354
	6771
	5344
	5741
	4600
	7777
	7777
	4220
	7400
	7777
	7777
	7777
	6014
	6011
	5360
	7106
	6012
	7420
	5357
	5756
	4356
	3373
	4356
VXA0,	7200
1206
	6200
	6207
	5605
	0000
	7000
PTCLEV,	"A
L3,	"5
LV,	"V
VERS,	TAD LV
	JMS I (PUT
	TAD L3
	JMS I (PUT
	TAD PTCLEV
	JMS I (PUT
	JMP I PRETRY
PRETRY,	RETRY
DSKMON,	7577
	7750
	7751
	1171
	3572
	1172
	3573
	6643
	6615
	6603
	6602
	5203
	5606
	7600
CAS,	1237
	1206
	6704
	6706
	6703
	5204
	7264
	6702
	7610
	3211
	3636
	1205
	6704
	6706
	6701
	5216
	7002
	7430
	1636
	7022
	3636
	7420
	2236
	2235
	5215
	7346
	7002
	3235
	5201
	7737
	3557
	7730
	LCD=6751
	SDN=6755
	SER=6754
	STR=6753
	XDR=6752

RX01,	RELOC 20
RX8E,
/  DEVICE IOT SYMBOLIC EQUATES
/
LCD=6751		/LOAD COMMAND
XDR=6752		/TRANSFER DATA
STR=6753		/SKIP IF READY TO TRANSFER
SER=6754		/SKIP ON ERROR
SDN=6755		/SKIP ON DONE
/
/
/
/
READ,	TAD	UNIT	/TRY NEXT COMBINATION OF DENSITY AND UNIT
	TAD	CON360	/ADDING IN 360
	AND	CON420	/KEEPING ONLY 420 BITS
	DCA	UNIT	/CYCLES 400,420,0,20,400,,,,,,,,
	CLL CLA CML IAC RTL /COMMAND TO READ DISK - MUST BE ON OMNIBUS!
	TAD	UNIT	/UNIT AND DENSITY
	LCD		/COMMAND TO CONTROLLER
	CLL CLA IAC	/TO SET SECTOR AND TRACK TO 1
	JMS	LOAD	/SECTOR TO CONTROLLER, LEAVES AC ALONE
	JMS	LOAD	/AND TRACK
LITRAL,	7004		/LEAVING A 2 IN AC; SERVES AS LITERAL
/
/  FOLLOWING IS PART OF WAIT LOOP, SAME SECONDARY BOOTS, OLD PRIMARY BOOT
/
RXSTRT,
XSTRT,	SDN		/HAS DONE COME UP; CODE STARTS HERE!
	JMP	LOAD+1	/NO, GO CHECK FOR READY TO TRANSFER
/
/  NOW, DONE OR ERROR
/
	SER		/SKIP ON AN ERROR, TRY ANOTHER DENSITY ETC.
	SNA		/NASTY, AC=2 FOR ABOUT TO DO SILO, 0 ON START-UP
	JMP	READ	/START-UP, GO SET UP UNIT, THEN READ TO SILO
	TAD	UNIT	/AC ALREADY 2, PUT IN UNIT, DENSITY
	LCD		/TO EMPTY THE SILO
	TAD	UNIT	/SET UP LOC 60 FOR OLD SECONDARY BOOT
	AND	CON360	/KEEPING UNLY DENSITY BIT
	TAD	LITRAL	/ADDING IN 7004, BECAUSE THAT'S WHAT SYS WANTS
	DCA	RX1SAV	/OLD SECONDARY BOOT MOVES IT TO HANDLER
CON360,	360		/LITERAL; EXECUTES IN LINE AS A NO-OP
/			/FALLS THRU TO NEXT PAGE OF LISTING
/
/
/  FOLLOWING CODE SAME AS OLD PRIMARY BOOT
/
	JMS	LOAD	/GRAB NEXT ITEM FROM SILO
	DCA	2	/TRADITION; SECONDARY BOOT STARTS LOADING AT 2 !
	ISZ	50	/INCREMENT LOAD ADDRESS
	JMP	47	/GO BACK FOR ANOTHER
/
/  SECONDARY BOOT LOADS OVER PRIMARY BOOT UNIT LOCATION 47 IS LOADED,
/  THEN CONTROL PASSES TO SECONDARY BOOT
/
LOAD,	0		/SUBROUTINE TO GIVE AND TAKE DATA FROM CONTROLLER
	STR		/IS HE READY TO TALK TO US?
	JMP XSTRT	/NO, IS HE PERHAPS DONE WITH SILO, OR IN ERROR?
	XDR		/YES, DATA IN OR OUT;IF DATA TO CONTROLLER, AC UNCHANGED
	JMP I	LOAD	/NO MAGIC, JUST EXIT FROM SUBROUTINE
/
/  60 GOES TO OLD SECONDARY BOOT
/  61 HAS DENSITY AND UNIT THAT BOOTED SUCCESSFULLY
/
/
CON420,			/USE IT TO HOLD 420 LITERAL TO START OUT
RX1SAV,	420		/UNIT^20+7004 TO GO TO SYS HANDLER
UNIT,	20		/<DENSITY^400>+<UNIT^20> THAT BOOTED OK
/

	RELOC
	PAGE
L2213,	2213
	DIML=6615
DISK,	CLA IAC
	DIML
	SNA CLA
	JMP GOTRF
	TAD (70
	6732
	SNA CLA
	JMP GOTRK8
	CLA IAC
	6744
	SZA CLA
	JMP I PRETR
	STA		/RE
GOTRF,	TAD L2206	/RF
	JMP I PCOMN
L2206,	2206
GOTRK8,	TAD L2213	/RK
	JMP I PCOMN
PRETR,	RETRY
TAPE,	6141		/LINC
	17		/COMPL AC
	2		/PDP
	IAC
	SNA CLA
	JMP GOTLTA
	TAD (70
	6774
	CLA
	6772
	NOP
	TAD M70
	SNA CLA
	JMP GOTTC
	STL CLA RAR
	6774
	CLA
	6776
	SMA CLA
	JMP I PRETR
GOTTD,	CLA IAC
GOTTC,	TAD L2403	/TC
	JMP I PCOMN
GOTLTA,	TAD L1424	/LT
	JMP I PCOMN
L1424,	1424
L2403,	2403
PCOMN,	COMN
M70,	-70
/	0000
CRLF,	0
	TAD L215
	JMS PUT
	TAD L212
	JMS PUT
	JMP I CRLF

L215,	215
L212,	212

PUT,	0
	TLS
	TSF
	JMP .-1
	CLA
	JMP I PUT

GET,	0
	KSF
	JMP .-1
	KRB
	AND (177
	TLS
	TSF
	JMP .-1
	TAD (-003
	SNA
	JMP I (7605
	TAD (003-177
	SNA
	JMP I (RETRY
	TAD (177-015
	SNA
	ISZ GET
	TAD (015
	AND (77
	JMP I GET

TESTRK,	0
	TAD (70
	6732
	SNA CLA
	JMP I TESTRK
RK05,	TAD (RK8E
	DCA I (RKADR
	JMP I TESTRK
	PAGE
OS8,	TAD ("N
	JMS I (PUT
	TAD ("O
	JMS I (PUT
	CLA IAC
	DCA I (HLTSWT
RETRY,	JMS I (CRLF
	TAD ("/
	JMS I (PUT
	JMS I (GET
	SKP
	JMP RETRY
	CLL RTL
	RTL
	RTL
	DCA I (TEMP
	JMS I (GET
	SKP
	JMP RETRY
	TAD I (TEMP
	DCA I (TEMP
	JMS I (GET
	JMP .-1
	CLA
	JMS I (CRLF
	TAD I (TEMP
	JMP I (COMN
RL01,	6600
	7201
	4027
	1004
	4027
	6615
	7002
	7012
	6615
	0025
	7004
	6603
	7325
	4027
	7332
	6605
	1026
	6607
	7327
	4027
	0377
	7600
	0000
	6604
	6601
	5031
	6617
	5427
	5001
	PAGE
	FIELD 0
	*200
	$

