Bell 32V development
[unix-history] / usr / src / standalone / TEboot.s
CommitLineData
d52f1552
TL
1# Stand-alone code to boot TE16 mag tape - read in
2# 1st block from tape to core loc 0 and halt
3 .set MBA1,0x20012000
4 .set M_var,MBA1+12 # MBA 1 virt addr reg
5 .set M_bc,MBA1+16 # MBA 1 byte count reg
6 .set M_map,MBA1+0x800 # MBA 1 1st map reg
7 .set M_cr,MBA1+4 # MBA 1 control reg
8 .set MBAinit,1 # MBA init bit
9#
10 .set TM02,MBA1+0x400 # TM02 reg's are 1st set of
11# external reg's on MBA 1
12 .set TM_cs1,TM02+0 # TM02 control reg
13 .set TM_tc,TM02+36 # TM02 tape control reg
14 .set TM_fc,TM02+0x14
15#
16 .set GO,1 # go bit
17 .set REDF,070 # read fwd function code
18 .set TCHAR,011700 # drive 0, odd parity, PDP11,
19# 800 BPI NRZI, abort on error - for
20# tape control reg
21#
22#
23 movl $MBAinit,*$M_cr # initialize MBA
24 movl $TCHAR,*$TM_tc # set drive characteristics
25 clrl *$M_var # virt addr reg = map reg no. + byte offset
26 movl $0x80000000,*$M_map # map reg = valid bit + mem page no.
27 movl $-512,*$M_bc # byte count = 512
28 movl $REDF+GO,*$TM_cs1 # read 1 block
29 halt