Контроллер не может загрузить процессор - это дело программы. Можно добавить в контроллер HD команду "прочитать блок 0 текущего устройства по адресу 0", но перед запуском первичного загрузчика командой G - надо будет ещё поместить в R0 номер загружаемого привода ( и для продвинутых операционок - записать 177720 в R1 ).
Чем такая морока - проще пультовой скрипт написать, который запишет в память загрузчик HD и поместит нужные значения в регистры.
HDBoot.MAC
Код:
; HD Device Bootstrap
; R0 = Unit Number
.ASect
. = 100
.Word 102
RtI
. = 10000
Start:
Clr R0
Mov #177720, R1
Mov #177722, R2
Mov R0, (R2)
Mov #1, (R1)
Clr (R2)
Mov #2, (R1)
Clr (R2)
Mov #3, (R1)
Mov #256., (R2)
Mov #4, (R1)
Mov #5, (R1)
MTPS #340
Jmp @#0
.End Start
;
HD_Boot.odt
Код:
100/102¬
2
10000/5000¬
12701¬
177720¬
12702¬
177722¬
10012¬
12711¬
1¬
5012¬
12711¬
2¬
5012¬
12711¬
3¬
12712¬
400¬
12711¬
4¬
12711¬
5¬
106427¬
340¬
137¬
0
10000G
Для отправки пультового скрипта - в любом конфиге нужны следующие модификации:
Код:
[objects]
ODT_Loader = Ядро:ODT_Loader
[links]
TerminalPort <=> ODT_Loader
[ODT_Loader.ini]
ScriptFile = HD_Boot.odt
InitialStateOf[Load] = 1
SaveChangesFor[Load] = 0
Wait_at_Prompt_sec = 0
PromptChar="@"
SendDelay_MS=0
На состояние Load объекта ODT_Loader можно повесить кнопку и указать InitialStateOf[Load] = 0 - тогда загрузка с HD в пульте будет начинаться только после нажатия кнопки.