Commit | Line | Data |
---|---|---|
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 |