PWB1/usr/man/man8/romboot.8

Compare this file to the similar file:
Show the results in this format:

.th "ROM BOOT" VIII 5/31/77
.sh NAME
romboot \*- special ROM bootstrap loaders
.sh DESCRIPTION
To bootstrap programs from various storage media, standard
.if t \s-2DEC\s+2\(rg
.if n DEC (Rg.)
ROM
bootstrap loaders are often used.
However, such standard loaders may not be compatible with UNIX
bootstrap programs or may not exist on a particular system.
Thus, special bootstrap loaders were designed which may be cut into a programmable
ROM (M792 read-only-memory) or manually toggled into memory.
.s3
Each program is position-independent,
that is, it may be located anywhere in memory.
Normally, it is loaded into high core to avoid being overwritten.
Each reads one block from drive 0 into memory starting at address 0
and then jumps to address 0.
To minimize the size, each assumes that a system INIT was generated prior
to execution.
Also,
the address of one of the device registers is used to set the byte
count register or word count register.
In each case, this will read in at least 256 words, which is the
maximum size of bootstrap programs.
.s3
On disk devices, block 0 is read,
on tape devices, one block from the current position.
Thus, the tape should be positioned at the load point (endzone if
DECtape)
prior to booting.
Also, the standard \s-2DEC\s+2 bootstrap loader
for magnetic tape may be emulated by
positioning the tape at the load point and executing the
bootstrap loader twice.
.s3
By convention, on PWB 11/45 systems, address 773\ 000 is the start of a tape bootstrap
loader, and 773\ 020 the start of a disk bootstrap loader.
The actual loaders used depend on the particular hardware configuration.
.sh "SEE ALSO"
70boot(VIII), unixboot(VIII)
.rs
.bp
.SP 5
.nf
.ta 3n 14n 20n 27n 42n
TC11 \- DECtape
	012700		mov	$tcba,r0
	177346
	010040		mov	r0,\-(r0)	/use tc addr for wc
	012740		mov	$3,\-(r0)	/read bn forward
	000003
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b
	112710		movb	$5,(r0)	/read forward
	000005
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b	
	005007		clr	pc	/transfer to zero
.sp
.ne 10
TU10 \- Magnetic Tape
	012700		mov	$mtcma,r0
	172526
	010040		mov	r0,\-(r0)	/use mt addr for bc
	012740		mov	$60003,\-(r0)	/read, 800 bpi, 9 track
	060030
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b
	005007		clr	pc	/transfer to zero
.sp
.ne 11
TU16 \- Magnetic Tape
	012700		mov	$mtwc,r0
	172442
	012760		mov	$1300,30(r0)	/set 800 bpi, PDP format
	001300
	000030
	010010		mov	r0,(r0)	/use mt addr for wc
	012740		mov	$71,\-(r0)	/read
	000071
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b
	005007		clr	pc	/transfer to zero
.sp
.ne 10
RK05 \- \s-2DEC\s+2 pack
	012700		mov	$rkda,r0
	177412
	005040		clr	\-(r0)
	010040		mov	r0,\-(r0)	/use rk addr for wc
	012740		mov	$5,\-(r0)	/read
	000005
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b
	005007		clr	pc	/transfer to zero
.sp
.ne 13
RP03 \- Disk Pack
	012700		mov	$rpmr,r0
	176726
	005040		clr	\-(r0)
	005040		clr	\-(r0)
	005040		clr	\-(r0)
	010040		mov	r0,\-(r0)	/use rp addr for wc
	012740		mov	$5,\-(r0)	/read
	000005
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b
	005007		clr	pc	/transfer to zero
.sp
.ne 15
RP04 \- Disk Pack
	012700		mov	$rpcs1,r0
	176700
	012720		mov	$21,(r0)+	/read\-in preset
	000021
	012760		mov	$10000,30(r0)	/set to 16\-bits/word
	010000
	000030
	010010		mov	r0,(r0)	/use rp addr for wc
	012740		mov	$71,\-(r0)	/read
	000071
	105710	1:	tstb	(r0)	/wait for ready
	002376		bge	1b
	005007		clr	pc	/transfer to zero