diff --git a/PDP10/kx10_cpu.c b/PDP10/kx10_cpu.c index 85ac7e1..a086660 100644 --- a/PDP10/kx10_cpu.c +++ b/PDP10/kx10_cpu.c @@ -9056,7 +9056,7 @@ jrstf: } #endif PC_CHANGE - PC = AD; + PC = (t_addr)(AD & RMASK); f_pc_inh = 1; break; diff --git a/PDP10/kx10_dpy.c b/PDP10/kx10_dpy.c index be0eb9e..35ed569 100644 --- a/PDP10/kx10_dpy.c +++ b/PDP10/kx10_dpy.c @@ -109,6 +109,7 @@ #include "kx10_defs.h" #include "sim_video.h" +#include #ifndef NUM_DEVS_DPY #define NUM_DEVS_DPY 0 diff --git a/PDP10/kx10_rp.c b/PDP10/kx10_rp.c index 4384b55..97dc704 100644 --- a/PDP10/kx10_rp.c +++ b/PDP10/kx10_rp.c @@ -507,7 +507,7 @@ rp_rst(DEVICE *dptr) UNIT *uptr = dptr->units; uint16 *regs; int ctlr = GET_CNTRL_RH(uptr->flags); - int i; + uint32 i; rh_reset(dptr, &rp_rh[ctlr]); for (i = 0; i < dptr->numunits; i++) { @@ -1067,7 +1067,7 @@ rp_reset(DEVICE * rptr) UNIT *uptr = rptr->units; uint16 *regs; int ctlr = GET_CNTRL_RH(uptr->flags); - int i; + uint32 i; rh_reset(rptr, &rp_rh[ctlr]); for (i = 0; i < rptr->numunits; i++) { @@ -1099,14 +1099,14 @@ rp_boot(int32 unit_num, DEVICE * rptr) DEVICE *dptr = uptr->dptr; uint32 addr; uint32 ptr = 0; - uint64 len; int wc; uint64 word; - int i; - int da; - t_stat r; #if KS + int da; + t_stat r; + uint64 len; + if ((r = rp_reset(dptr)) != SCPE_OK) return r; if ((r = cty_reset(&cty_dev)) != SCPE_OK) @@ -1147,6 +1147,8 @@ rp_boot(int32 unit_num, DEVICE * rptr) /* Read len sectors into address 1000 */ addr = 01000; for (; len > 0; len--) { + int i; + da = GET_DA(dtype); disk_read(uptr, &rp_buf[0][0], da, RP_NUMWD); for (i = 0; i < RP_NUMWD; i++) {