PDP11: Fix PDP-11 boot code for TDCn where n>0 (TU58)

As discussed in #401
This commit is contained in:
Mike Hill 2017-02-14 10:57:29 -08:00 committed by Mark Pizzolato
parent 5233af7c89
commit 7f2c7480ef

View file

@ -1553,7 +1553,7 @@ return td_reset_ctlr (ctlr);
/* TBUF = 6 offset from CSR in R1 */ /* TBUF = 6 offset from CSR in R1 */
/* BOOT_START: */ /* BOOT_START: */
0012701, 0176500, /* MOV #176500,R1 ; Set CSR */ 0012701, 0176500, /* MOV #176500,R1 ; Set CSR */
0012702, 0000000, /* MOV #0,R0 ; Set Unit Number */ 0012700, 0000000, /* MOV #0,R0 ; Set Unit Number */
0012706, BOOT_START,/* MOV #BOOT_START,SP ; Setup a Stack */ 0012706, BOOT_START,/* MOV #BOOT_START,SP ; Setup a Stack */
0005261, 0000004, /* INC TCSR(R1) ; Set BRK (Init) */ 0005261, 0000004, /* INC TCSR(R1) ; Set BRK (Init) */
0005003, /* CLR R3 ; data 000, 000 */ 0005003, /* CLR R3 ; data 000, 000 */
@ -1590,7 +1590,7 @@ size_t i;
for (i = 0; i < BOOT_LEN; i++) for (i = 0; i < BOOT_LEN; i++)
M[(BOOT_START >> 1) + i] = boot_rom[i]; M[(BOOT_START >> 1) + i] = boot_rom[i];
M[BOOT_UNIT >> 1] = unitno & 1; M[BOOT_UNIT >> 1] = unitno & 1;
M[BOOT_CSR >> 1] = (td_dib.ba & DMASK) + 000; M[BOOT_CSR >> 1] = (td_dib.ba & DMASK) + (unitno >> 1) * 010;
cpu_set_boot (BOOT_ENTRY); cpu_set_boot (BOOT_ENTRY);
return SCPE_OK; return SCPE_OK;
} }