diff --git a/PDP10/ka10_cpu.c b/PDP10/ka10_cpu.c index e3437a6..b2911f7 100644 --- a/PDP10/ka10_cpu.c +++ b/PDP10/ka10_cpu.c @@ -664,7 +664,6 @@ int check_irq_level() { void restore_pi_hold() { int i, lvl; - int pi_ok, pi_t; if (!pi_enable) return; @@ -739,8 +738,8 @@ t_stat dev_pag(uint32 dev, uint64 *data) { *data = res; sim_debug(DEBUG_DATAIO, &cpu_dev, "DATAI PAG %012llo\n", *data); break; - return SCPE_OK; } + return SCPE_OK; } t_stat dev_apr(uint32 dev, uint64 *data) { @@ -934,7 +933,6 @@ int page_lookup(int addr, int flag, int *loc, int wr) { uint64 data; int base; int page = addr >> 9; - int pg; int uf = 0; if (flag) { @@ -1076,7 +1074,7 @@ int Mem_read(int flag) { sim_interval--; if (!page_lookup(AB, flag, &addr, 0)) return 1; - if (addr > MEMSIZE) { + if (addr > (int)MEMSIZE) { nxm_flag = 1; set_interrupt(0, apr_irq); return 1; @@ -1098,7 +1096,7 @@ int Mem_write(int flag) { if (private_page) return 1; #endif - if (addr > MEMSIZE) { + if (addr > (int)MEMSIZE) { nxm_flag = 1; set_interrupt(0, apr_irq); return 1; @@ -1159,7 +1157,7 @@ if ((reason = build_dev_tab ()) != SCPE_OK) /* build, chk dib_tab */ while ( reason == 0) { /* loop until ABORT */ if (sim_interval <= 0) { /* check clock queue */ - if (reason = sim_process_event () != SCPE_OK) { /* error? stop sim */ + if ((reason = sim_process_event()) != SCPE_OK) {/* error? stop sim */ if (reason != SCPE_STEP || !BYF5) return reason; } @@ -1205,7 +1203,6 @@ fetch: /* Update history */ if (hst_lnt) { - int i; hst_p = hst_p + 1; if (hst_p >= hst_lnt) hst_p = 0; @@ -1236,7 +1233,7 @@ fetch: goto last; /* Handle events during a indirect loop */ if (sim_interval-- <= 0) { - if (reason = sim_process_event () != SCPE_OK) { + if ((reason = sim_process_event()) != SCPE_OK) { if (reason != SCPE_STEP || !BYF5) return reason; } @@ -2192,7 +2189,7 @@ fxnorm: break; } #if !KI - if ((BR == SMASK)) /* Handle special case */ + if (BR == SMASK) /* Handle special case */ flag3 = !flag3; #endif MQ = AR * (BR & RMASK); /* 36 * low 18 = 54 bits */ @@ -2295,7 +2292,6 @@ fxnorm: AR = (AR + 1) & FMASK; flag1 = 1; } -div: if (BR & SMASK) AD = (AR + BR) & FMASK; else @@ -2507,7 +2503,7 @@ div: BR = AB; do { if (sim_interval <= 0) { - sim_process_event (); + sim_process_event(); } /* Allow for interrupt */ if (pi_enable && pi_pending) { @@ -3528,11 +3524,8 @@ for (i = 0; (dptr = sim_devices[i]) != NULL; i++) { if (dibp->io) { /* any dispatch? */ if (dev_tab[(dibp->dev_num >> 2) + j] != &null_dev) { /* already filled? */ - printf ("%s device number conflict at %02o\n", - sim_dname (dptr), dibp->dev_num + j << 2); - if (sim_log) - fprintf (sim_log, "%s device number conflict at %02o\n", - sim_dname (dptr), dibp->dev_num + j << 2); + sim_printf ("%s device number conflict at %02o\n", + sim_dname (dptr), dibp->dev_num + (j << 2)); return TRUE; } dev_tab[(dibp->dev_num >> 2) + j] = dibp->io; /* fill */ @@ -3566,7 +3559,7 @@ return SCPE_OK; t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, CONST void *desc) { fprintf (st, "Serial: " ); -if( (apr_serial == -1)) { +if (apr_serial == -1) { fprintf (st, "%d (default)", DEF_SERIAL); return SCPE_OK; } @@ -3611,7 +3604,6 @@ t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, CONST void *desc) int32 k, di, lnt; char *cptr = (char *) desc; t_stat r; -int reg; t_value sim_eval; InstHistory *h; diff --git a/PDP10/ka10_dc.c b/PDP10/ka10_dc.c index bb1639b..b939f21 100644 --- a/PDP10/ka10_dc.c +++ b/PDP10/ka10_dc.c @@ -81,7 +81,6 @@ uint32 dc_ring; /* Connection pending */ uint32 rx_conn; /* Connection flags */ extern int32 tmxr_poll; -DEVICE dc_dev; t_stat dc_devio(uint32 dev, uint64 *data); t_stat dc_svc (UNIT *uptr); t_stat dc_doscan (UNIT *uptr); @@ -297,7 +296,7 @@ t_stat dc_devio(uint32 dev, uint64 *data) { t_stat dc_svc (UNIT *uptr) { -int32 ln, c, temp; +int32 ln; if ((uptr->flags & UNIT_ATT) == 0) /* attached? */ return SCPE_OK; @@ -334,7 +333,6 @@ int32 ln, c, temp; /* Scan to see if something to do */ t_stat dc_doscan (UNIT *uptr) { - int ln; int32 lmask; uptr->STATUS &= ~(RCV_PI|XMT_PI); diff --git a/PDP10/ka10_defs.h b/PDP10/ka10_defs.h index 2c73e1a..1b64380 100644 --- a/PDP10/ka10_defs.h +++ b/PDP10/ka10_defs.h @@ -251,8 +251,8 @@ extern t_stat (*dev_tab[128])(uint32 dev, uint64 *data); #define VEC_DEVMAX 8 /* max device vec */ struct pdp_dib { - int dev_num; /* device address */ - int num_devs; /* length */ + uint32 dev_num; /* device address */ + uint32 num_devs; /* length */ t_stat (*io)(uint32 dev, uint64 *data); }; diff --git a/PDP10/ka10_dk.c b/PDP10/ka10_dk.c index bbbf3cd..76989ba 100644 --- a/PDP10/ka10_dk.c +++ b/PDP10/ka10_dk.c @@ -65,7 +65,6 @@ extern UNIT cpu_unit; -DEVICE dk_dev; t_stat dk_devio(uint32 dev, uint64 *data); void dk_count (UNIT *uptr); t_stat dk_svc (UNIT *uptr); @@ -91,7 +90,6 @@ DEVICE dk_dev = { }; t_stat dk_devio(uint32 dev, uint64 *data) { - uint64 res; int unit = (dev - DK_DEVNUM) >> 2; UNIT *uptr = &dk_unit[unit]; int32 t; diff --git a/PDP10/ka10_dp.c b/PDP10/ka10_dp.c index 2539a0c..b9701d6 100644 --- a/PDP10/ka10_dp.c +++ b/PDP10/ka10_dp.c @@ -69,7 +69,7 @@ #define NXM_ERR 0000000010000 #define SLW_CHN 0000000020000 #define SRC_ERR 0000000040000 -#define PWR_FAIL 0000000100000 +#define PWR_FAIL_10 0000000100000 #define END_CYL 0000000200000 /* No effect */ #define SRC_DONE 0000000400000 /* No effect */ #define DSK_PRTY 0000001000000 /* No effect */ @@ -505,6 +505,7 @@ t_stat dp_devio(uint32 dev, uint64 *data) { sim_activate(uptr, 100); return SCPE_OK; } + return SCPE_OK; /* Unreached */ } @@ -746,7 +747,6 @@ dp_boot(int32 unit_num, DEVICE * dptr) t_stat dp_attach (UNIT *uptr, CONST char *cptr) { - int32 drv, i, p; t_stat r; DEVICE *dptr; DIB *dib; @@ -772,8 +772,6 @@ t_stat dp_attach (UNIT *uptr, CONST char *cptr) t_stat dp_detach (UNIT *uptr) { - int32 drv; - if (!(uptr->flags & UNIT_ATT)) /* attached? */ return SCPE_OK; if (sim_is_active (uptr)) /* unit active? */ diff --git a/PDP10/ka10_dt.c b/PDP10/ka10_dt.c index 3680b0f..9c28cfb 100644 --- a/PDP10/ka10_dt.c +++ b/PDP10/ka10_dt.c @@ -360,7 +360,6 @@ static const int32 map_unit[16] = { /* Type 550 unit map */ 0, -1, -1, -1, -1, -1, -1, -1 }; -DEVICE dt_dev; int32 dt75 (int32 dev, int32 pulse, int32 dat); int32 dt76 (int32 dev, int32 pulse, int32 dat); t_stat dt_devio(uint32 dev, uint64 *data); @@ -390,7 +389,6 @@ int32 dt_gethdr (UNIT *uptr, int32 blk, int32 relpos); DIB dt_dib = { DT_DEVNUM, 2, &dt_devio}; UNIT dt_unit[] = { -#if 0 { UDATA (&dt_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_DISABLE+ UNIT_ROABLE, DT_CAPAC) }, { UDATA (&dt_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_DISABLE+ @@ -407,7 +405,6 @@ UNIT dt_unit[] = { UNIT_ROABLE, DT_CAPAC) }, { UDATA (&dt_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_DISABLE+ UNIT_ROABLE, DT_CAPAC) } -#endif }; REG dt_reg[] = { @@ -1581,6 +1578,8 @@ uptr->filebuf = NULL; /* clear buf ptr */ uptr->flags = uptr->flags & ~(UNIT_8FMT | UNIT_11FMT); /* default fmt */ uptr->capac = DT_CAPAC; /* default size */ return detach_unit (uptr); +#else +return SCPE_NOFNC; #endif } #endif diff --git a/PDP10/ka10_lp.c b/PDP10/ka10_lp.c index 1ce53a0..8cbf58a 100644 --- a/PDP10/ka10_lp.c +++ b/PDP10/ka10_lp.c @@ -52,7 +52,6 @@ -DEVICE lpt_dev; t_stat lpt_devio(uint32 dev, uint64 *data); t_stat lpt_svc (UNIT *uptr); t_stat lpt_reset (DEVICE *dptr); @@ -131,7 +130,7 @@ t_stat lpt_devio(uint32 dev, uint64 *data) { case DATAO: if ((uptr->STATUS & BUSY_FLG) == 0) { - uptr->CHL = *data >> 15; + uptr->CHL = (int32)(*data >> 15); uptr->CHR = (*data >> 1) & 0037777; uptr->STATUS |= BUSY_FLG; uptr->STATUS &= ~DONE_FLG; diff --git a/PDP10/ka10_mt.c b/PDP10/ka10_mt.c index 073f571..7066d0f 100644 --- a/PDP10/ka10_mt.c +++ b/PDP10/ka10_mt.c @@ -213,7 +213,7 @@ t_stat mt_devio(uint32 dev, uint64 *data) { case CONO: unit = (*data >> 15) & 07; uptr = &mt_unit[unit]; - uptr->u3 = *data; + uptr->u3 = (int32)*data; CLR_BUF(uptr); dptr->flags &= ~(MTDF_BUFFUL|MTDF_STOP|MTDF_UNIT_MSK); dptr->flags |= (unit << MTDF_V_UNIT); @@ -319,7 +319,6 @@ int mt_df10_fetch(DEVICE *dptr, int addr) { } int mt_df10_read(DEVICE *dptr, UNIT *uptr) { - uint64 data; if (dptr->flags & MTDF_TYPEB) { if (mt_wcr == 0) { if(!mt_df10_fetch(dptr, 0)) @@ -499,7 +498,7 @@ t_stat mt_srv(UNIT * uptr) uptr->u6 = 0; uptr->u5 = 0; } - if (uptr->u6 < uptr->hwmark) { + if ((uint32)uptr->u6 < uptr->hwmark) { int cc = (8 * (3 - uptr->u5)) + 4; uint8 ch; if ((cmd & 07) == CMP && uptr->u5 == 0) { @@ -688,7 +687,6 @@ t_stat mt_srv(UNIT * uptr) void mt_read_word(UNIT *uptr) { int i, cc, ch; - uint64 buf; buf_reg = 0; for(i = 0; i <= 4; i++) { @@ -729,7 +727,7 @@ mt_boot(int32 unit_num, DEVICE * dptr) while (wc != 0) { wc = (wc + 1) & RMASK; addr = (addr + 1) & RMASK; - if (uptr->u6 >= reclen) { + if ((uint32)uptr->u6 >= reclen) { r = sim_tape_rdrecf(uptr, &mt_buffer[0], &reclen, BUFFSIZE); if (r != SCPE_OK) return r; diff --git a/PDP10/ka10_pt.c b/PDP10/ka10_pt.c index 3c08c4c..c45c41b 100644 --- a/PDP10/ka10_pt.c +++ b/PDP10/ka10_pt.c @@ -46,7 +46,6 @@ #define TAPE_PR 000400 -DEVICE ptp_dev; t_stat ptp_devio(uint32 dev, uint64 *data); t_stat ptp_svc (UNIT *uptr); t_stat ptp_reset (DEVICE *dptr); @@ -56,7 +55,6 @@ t_stat ptp_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr); const char *ptp_description (DEVICE *dptr); -DEVICE ptr_dev; t_stat ptr_devio(uint32 dev, uint64 *data); t_stat ptr_svc (UNIT *uptr); t_stat ptr_reset (DEVICE *dptr); @@ -166,8 +164,6 @@ t_stat ptp_devio(uint32 dev, uint64 *data) { /* Unit service */ t_stat ptp_svc (UNIT *uptr) { - t_stat r; - char c; uptr->STATUS &= ~BUSY_FLG; uptr->STATUS |= DONE_FLG; set_interrupt(PP_DEVNUM, uptr->STATUS & 7); @@ -292,7 +288,7 @@ t_stat ptr_svc (UNIT *uptr) count--; } } - uptr->CHL = (word >> 18); + uptr->CHL = (word >> 18) & 0777777; uptr->CHR = word & 0777777; return SCPE_OK; } diff --git a/PDP10/ka10_rc.c b/PDP10/ka10_rc.c index f59b5f5..28c731e 100644 --- a/PDP10/ka10_rc.c +++ b/PDP10/ka10_rc.c @@ -194,13 +194,11 @@ DEVICE *rc_devs[] = { t_stat rc_devio(uint32 dev, uint64 *data) { - uint64 res; int ctlr = (dev - RC_DEVNUM) >> 2; struct df10 *df10 = &rc_df10[ctlr]; UNIT *uptr; DEVICE *dptr; int unit; - int cyl; int tmp; int drv; @@ -443,7 +441,6 @@ rc_boot(int32 unit_num, DEVICE * dptr) { UNIT *uptr = &dptr->units[unit_num]; int dtype = GET_DTYPE(uptr->flags); - uint64 buf_reg; uint32 addr; int wc; int wps; @@ -470,7 +467,6 @@ rc_boot(int32 unit_num, DEVICE * dptr) t_stat rc_attach (UNIT *uptr, CONST char *cptr) { -int32 drv, i, p; t_stat r; uptr->capac = rc_drv_tab[GET_DTYPE (uptr->flags)].size; @@ -486,8 +482,6 @@ return SCPE_OK; t_stat rc_detach (UNIT *uptr) { -int32 drv; - if (!(uptr->flags & UNIT_ATT)) /* attached? */ return SCPE_OK; if (sim_is_active (uptr)) /* unit active? */ diff --git a/PDP10/ka10_rp.c b/PDP10/ka10_rp.c index 3f27b97..01f9f6f 100644 --- a/PDP10/ka10_rp.c +++ b/PDP10/ka10_rp.c @@ -457,8 +457,6 @@ t_stat rp_devio(uint32 dev, uint64 *data) { int ctlr = -1; DEVICE *dptr; struct df10 *df10; - UNIT *uptr; - int tmp; int drive; for (drive = 0; drive < NUM_DEVS_RP; drive++) { @@ -578,6 +576,7 @@ t_stat rp_devio(uint32 dev, uint64 *data) { } return SCPE_OK; } + return SCPE_OK; /* Unreached */ } @@ -754,7 +753,7 @@ t_stat rp_svc (UNIT *uptr) struct df10 *df; int cyl = uptr->u4 & 01777; int diff, da; - t_stat err, r; + t_stat r; /* Find dptr, and df10 */ for (ctlr = 0; ctlr < NUM_DEVS_RP; ctlr++) { @@ -991,7 +990,6 @@ rp_boot(int32 unit_num, DEVICE * rptr) UNIT *uptr = &rptr->units[unit_num]; uint32 addr; uint32 ptr; - int sect; int wc; sim_fseek(uptr->fileref, 0, SEEK_SET); @@ -1011,7 +1009,6 @@ rp_boot(int32 unit_num, DEVICE * rptr) t_stat rp_attach (UNIT *uptr, CONST char *cptr) { - int32 drv, i, p; t_stat r; DEVICE *rptr; DIB *dib; @@ -1040,8 +1037,6 @@ t_stat rp_attach (UNIT *uptr, CONST char *cptr) t_stat rp_detach (UNIT *uptr) { - int32 drv; - if (!(uptr->flags & UNIT_ATT)) /* attached? */ return SCPE_OK; if (sim_is_active (uptr)) /* unit active? */ diff --git a/PDP10/ka10_sys.c b/PDP10/ka10_sys.c index 4828192..5589553 100644 --- a/PDP10/ka10_sys.c +++ b/PDP10/ka10_sys.c @@ -136,7 +136,7 @@ DEBTAB dev_debug[] = { #define EXE_DIR 01776 /* EXE directory */ #define EXE_VEC 01775 /* EXE entry vec */ #define EXE_PDV 01774 /* EXE ignored */ -#define EXE_END 01777 /* EXE end +#define EXE_END 01777 /* EXE end */ /* RIM10 loader @@ -152,6 +152,7 @@ DEBTAB dev_debug[] = { JRST start */ +#define RIM_EOF 0xFFFFFFFFFFFFFFFFLL uint64 getrimw (FILE *fileref) { int32 i, tmp; @@ -160,7 +161,7 @@ uint64 word; word = 0; for (i = 0; i < 6;) { if ((tmp = getc (fileref)) == EOF) - return -1; + return RIM_EOF; if (tmp & 0200) { word = (word << 6) | ((uint64) tmp & 077); i++; @@ -178,19 +179,19 @@ int32 op; for ( ;; ) { /* loop until JRST */ count = cksm = getrimw (fileref); /* get header */ - if (count < 0) /* read err? */ + if (count == RIM_EOF) /* read err? */ return SCPE_FMT; if (TSTS (count)) { /* hdr = IOWD? */ for ( ; TSTS (count); count = AOB (count)) { data = getrimw (fileref); /* get data wd */ - if (data < 0) + if (data == RIM_EOF) return SCPE_FMT; cksm = cksm + data; /* add to cksm */ pa = ((uint32) count + 1) & RMASK; /* store */ M[pa] = data; } /* end for */ data = getrimw (fileref); /* get cksm */ - if (data < 0) + if (data == RIM_EOF) return SCPE_FMT; if ((cksm + data) & FMASK) /* test cksm */ return SCPE_CSUM; @@ -237,9 +238,9 @@ int get_word(FILE *fileref, uint64 *word) t_stat load_sav (FILE *fileref) { - uint64 count, data; + uint64 data; uint32 pa; - int32 wc, op; + int32 wc; for ( ;; ) { /* loop */ if (get_word(fileref, &data))