|
|
1.1 root 1: #
2: # first half of boot block for MicroVAX:
3: # VMB header, boot driver
4: #
5: .set IDAREA,8
6: .word 0x0 # junk
7: .byte IDAREA/2 # word offset to beginning of id area
8: .byte 0x1 # must be one
9: .long 0x00000000 # lbn of secondary image, PDP-11 format long
10: #
11: # id area: byte 8
12: #
13: .byte 0x18 # VAX instruction set
14: .byte 0x0 # unknown controller type
15: .byte 0x0 # unknown file structure
16: .byte ~0x18 # ones complement of the last three bytes
17: .byte 0x0 # must be zero
18: .byte 0x1 # format version 1, single sided
19: .word 0x0 # junk
20: .long 0x1 # size in blocks of secondary image
21: .long 0x0 # load offset from default load address
22: .long begin # offset into image to start execution
23: .long 0x1+0x0+begin # sum of previous three longwords
24:
25: #
26: # prologue, before we call
27: # the code that thinks it's a rom
28: # set up registers in the standard ROM-like way
29: # copy us to the normal ROM address
30: #
31: # temporary cheap hack:
32: # copy to very high memory, not ordinary ROM addr
33: # fix up Q-bus map
34: # this to (hopefully) keep certain UQSSP controllers
35: # from overwriting the wrong data
36: #
37: # on entry, r11 == extended rpb
38: #
39:
40: # .set RROM,0xfa00 # where rom should be in memory
41: .set RROM,0x72000
42: .set RRSIZE,512 # max size expected for rom:
43: # no bigger than this disk sector!
44:
45: .set QMAP,0x20088000 # Q-bus map registers
46: .set QV,0x80000000 # valid map bit
47:
48: #
49: # offsets in VMB's `extended RPB'
50: #
51: .set RPBFLAG,0x30 # restart flags
52: .set RPBCSR,0x54 # boot device csr
53: .set RPBUNIT,0x64 # boot device unit number
54:
55: begin:
56: movc3 $RRSIZE,rombegin,*$RROM
57: movl $QV|(RROM/512),*$QMAP+(RROM/128) # make map valid, for UQSSP stuff
58: movl RPBCSR(r11),r2
59: movzbl RPBUNIT(r11),r3
60: movl RPBFLAG(r11),r5
61: movl $0x200,sp # `working memory'
62: jmp *$RROM
63: .align 2
64:
65: rombegin:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.