From 54516bb17526d36ef89302665e3e6400e2f4a70d Mon Sep 17 00:00:00 2001 From: Bob Supnik Date: Sun, 3 Jun 2018 17:37:24 -0700 Subject: [PATCH] sigma: New simulator (from beta) --- doc/sigma_doc.doc | Bin 0 -> 80384 bytes sigma/sigma_cis.c | 18 ++++++++++-------- sigma/sigma_cpu.c | 11 +++++------ sigma/sigma_defs.h | 4 ---- sigma/sigma_doc.doc | Bin 90624 -> 0 bytes sigma/sigma_dp.c | 4 ++-- sigma/sigma_lp.c | 4 ++-- sigma/sigma_map.c | 6 ++---- sigma/sigma_mt.c | 5 ++--- sigma/sigma_pt.c | 16 +++++++++------- sigma/sigma_tt.c | 12 +++++++----- 11 files changed, 39 insertions(+), 41 deletions(-) create mode 100644 doc/sigma_doc.doc delete mode 100644 sigma/sigma_doc.doc diff --git a/doc/sigma_doc.doc b/doc/sigma_doc.doc new file mode 100644 index 0000000000000000000000000000000000000000..40f24e779f3bfb0295021028bf40c2993bebd0d4 GIT binary patch literal 80384 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 Q{g|; */ else { /* same signs */ - int32 t = CmpDstr (&src1, &src2); /* compare strings */ - if (t < 0) + scmp = CmpDstr (&src1, &src2); /* compare strings */ + if (scmp < 0) CC = (src1.sign? CC3: CC4); - else if (t > 0) + else if (scmp > 0) CC = (src1.sign? CC4: CC3); else CC = 0; } @@ -720,11 +722,11 @@ return cy; void SubDstr (dstr_t *s1, dstr_t *s2, dstr_t *ds) { uint32 i; -dstr_t Compl; +dstr_t complm; for (i = 0; i < DSTRLNT; i++) /* 9's comp s2 */ - Compl.val[i] = 0x99999999 - s1->val[i]; -AddDstr (&Compl, s2, ds, 1); /* s1 + ~s2 + 1 */ + complm.val[i] = 0x99999999 - s1->val[i]; +AddDstr (&complm, s2, ds, 1); /* s1 + ~s2 + 1 */ return; } diff --git a/sigma/sigma_cpu.c b/sigma/sigma_cpu.c index 2ba09efa..87903d96 100644 --- a/sigma/sigma_cpu.c +++ b/sigma/sigma_cpu.c @@ -248,7 +248,7 @@ extern uint32 io_tio (uint32 rn, uint32 bva); extern uint32 io_tdv (uint32 rn, uint32 bva); extern uint32 io_hio (uint32 rn, uint32 bva); extern uint32 io_aio (uint32 rn, uint32 bva); -extern t_stat int_reset (DEVICE *dev); +extern uint32 int_reset (DEVICE *dev); extern void io_set_eimax (uint32 lnt); extern void io_sclr_req (uint32 inum, uint32 val); extern void io_sclr_arm (uint32 inum, uint32 val); @@ -476,7 +476,6 @@ while (reason == 0) { /* loop until stop */ if (sim_brk_summ && sim_brk_test (PC, SWMASK ('E'))) { /* breakpoint? */ reason = STOP_IBKPT; /* stop simulation */ - sim_interval++; /* don't count non-executed instruction */ break; } if (PSW_QRX9 && (PC & PSW1_XA)) /* S9 real ext && ext? */ @@ -1124,7 +1123,7 @@ switch (op) { res = R[rn] | opnd; CC34_W (res); /* set CC's */ R[rn] = res; /* store */ - break; + break; case OP_EOR: /* xor */ if ((tr = Ea (IR, &bva, VR, WD)) != 0) /* get eff addr */ @@ -1134,7 +1133,7 @@ switch (op) { res = R[rn] ^ opnd; CC34_W (res); /* set CC's */ R[rn] = res; /* store */ - break; + break; /* Compares */ @@ -2705,7 +2704,7 @@ return SCPE_OK; t_stat cpu_show_addr (FILE *of, UNIT *uptr, int32 val, CONST void *desc) { t_stat r; -CONST char *cptr = (CONST char *) desc; +char *cptr = (char *) desc; uint32 ad, bpa, dlnt, virt; static const char *lnt_str[] = { "byte", @@ -2825,7 +2824,7 @@ t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, CONST void *desc) { int32 k, di, lnt; t_stat r; -CONST char *cptr = (CONST char *) desc; +char *cptr = (char *) desc; InstHistory *h; if (hst_lnt == 0) /* enabled? */ diff --git a/sigma/sigma_defs.h b/sigma/sigma_defs.h index db50f14b..e2f85d3b 100644 --- a/sigma/sigma_defs.h +++ b/sigma/sigma_defs.h @@ -34,10 +34,6 @@ #include "sim_defs.h" /* simulator defns */ -/* Rename of global PC variable to avoid namespace conflicts on some platforms */ - -#define PC PC_Global - #if defined(USE_INT64) || defined(USE_ADDR64) #error "Sigma 32b does not support 64b values!" #endif diff --git a/sigma/sigma_doc.doc b/sigma/sigma_doc.doc deleted file mode 100644 index 0cfb805c4d2bd5fe73bd0967e8f8b2610a545fd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90624 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 G0{UCTX; uint32 dva = dp_dib[cidx].dva; -sim_perror ("DP I/O error"); +perror ("DP I/O error"); clearerr (uptr->fileref); dp_ctx[cidx].dp_flags |= DPF_DPE; /* set DPE flag */ chan_set_chf (dva, CHF_XMDE); diff --git a/sigma/sigma_lp.c b/sigma/sigma_lp.c index 9d96f9f0..6d579adc 100644 --- a/sigma/sigma_lp.c +++ b/sigma/sigma_lp.c @@ -356,7 +356,7 @@ if (skp && CHP (CH_TOF, lp_cct[lp_cctp])) /* skip, TOF? */ } uptr->pos = ftell (uptr->fileref); /* update position */ if (ferror (uptr->fileref)) { /* error? */ - sim_perror ("Line printer I/O error"); + perror ("Line printer I/O error"); clearerr (uptr->fileref); chan_set_chf (lp_dib.dva, CHF_XMDE); return SCPE_IOERR; @@ -391,7 +391,7 @@ if ((lp_model == LP_7440) || lp_pass) { /* ready to print? */ fputc (lp_inh? '\r': '\n', uptr->fileref); /* cr or nl */ uptr->pos = ftell (uptr->fileref); /* update position */ if (ferror (uptr->fileref)) { /* error? */ - sim_perror ("Line printer I/O error"); + perror ("Line printer I/O error"); clearerr (uptr->fileref); chan_set_chf (lp_dib.dva, CHF_XMDE); return SCPE_IOERR; diff --git a/sigma/sigma_map.c b/sigma/sigma_map.c index cbd72b42..450e8f6c 100644 --- a/sigma/sigma_map.c +++ b/sigma/sigma_map.c @@ -529,8 +529,7 @@ if (QCPU_S89) ((R[rn] & S89_SR1_MARG) >> S89_SR1_MAROFF); break; case 0xB: /* read sr0, clr */ - mem_sr0[memu] = mem_sr1[memu] = 0; - /* fall through */ + mem_sr0[memu] = mem_sr1[memu] = 0; /* fall through */ case 0x8: /* read sr0 */ R[rn] = (wd & S89_SR0_RD) | (((1u << (chan_num + 1)) - 1) << (S89_SR0_V_PORTS - (chan_num + 1))); @@ -559,8 +558,7 @@ else switch (CC) { /* 5X0 */ mmc_wlk[ppag | 1] = R[rn] & 0xF; break; case 0xC: /* read sr0, clr */ - mem_sr0[memu] = 0; /* clr */ - /* fall through */ + mem_sr0[memu] = 0; /* clr, fall through */ case 0x8: /* read sr0 */ R[rn] = S5X0_SR0_FIXED | (wd & S5X0_SR0_RD) | (((1u << (chan_num + 1)) - 1) << (S5X0_SR0_V_PORTS - (chan_num + 1))); diff --git a/sigma/sigma_mt.c b/sigma/sigma_mt.c index df153f3c..5dfa33c1 100644 --- a/sigma/sigma_mt.c +++ b/sigma/sigma_mt.c @@ -477,8 +477,7 @@ switch (st) { case MTSE_FMT: /* illegal fmt */ case MTSE_UNATT: /* not attached */ case MTSE_WRP: /* write protect */ - chan_set_chf (mt_dib.dva, CHF_XMME); /* set err */ - /* fall through */ + chan_set_chf (mt_dib.dva, CHF_XMME); /* set err, fall through */ case MTSE_OK: /* no error */ chan_uen (mt_dib.dva); /* uend */ return SCPE_IERR; @@ -647,4 +646,4 @@ if (!(uptr->flags & UNIT_ATTABLE)) uptr->UST = 0; sim_cancel (uptr + MT_REW); return sim_tape_detach (uptr); -} +} \ No newline at end of file diff --git a/sigma/sigma_pt.c b/sigma/sigma_pt.c index 9b6a6342..cbda3052 100644 --- a/sigma/sigma_pt.c +++ b/sigma/sigma_pt.c @@ -1,6 +1,6 @@ /* sigma_pt.c: Sigma 7060 paper tape reader/punch - Copyright (c) 2007-2008, Robert M. Supnik + Copyright (c) 2007-2018, Robert M. Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -24,6 +24,8 @@ in this Software without prior written authorization from Robert M Supnik. pt 7060 paper-tape reader/punch + + 02-Jun-2018 RMS Defanged clang signed/unsigned whining (Mark Pizzolato) */ #include "sigma_io_defs.h" @@ -158,7 +160,7 @@ return 0; t_stat pt_svc (UNIT *uptr) { int32 c; -uint32 cmd; +uint32 uc, cmd; uint32 st; switch (pt_cmd) { /* case on state */ @@ -186,7 +188,7 @@ switch (pt_cmd) { /* case on state */ break; } else { /* real error */ - sim_perror ("PTR I/O error"); + perror ("PTR I/O error"); clearerr (uptr->fileref); chan_set_chf (pt_dib.dva, CHF_XMDE); /* data error */ return pt_chan_err (SCPE_IOERR); /* force uend */ @@ -196,7 +198,7 @@ switch (pt_cmd) { /* case on state */ if (c != 0) /* leader done? */ ptr_nzc = 1; /* set flag */ if ((pt_cmd == PTS_READI) || ptr_nzc) { - st = chan_WrMemB (pt_dib.dva, c); /* write to memory */ + st = chan_WrMemB (pt_dib.dva, ((uint32) c));/* write to memory */ if (CHS_IFERR (st)) /* channel error? */ return pt_chan_err (st); if (st == CHS_ZBC) /* bc == 0? */ @@ -208,11 +210,11 @@ switch (pt_cmd) { /* case on state */ sim_activate (uptr, pt_unit[PTP].wait); /* continue thread */ if ((pt_unit[PTP].flags & UNIT_ATT) == 0) /* not attached? */ return ptp_stopioe? SCPE_UNATT: SCPE_OK; - st = chan_RdMemB (pt_dib.dva, (uint32 *)&c); /* read from channel */ + st = chan_RdMemB (pt_dib.dva, &uc); /* read from channel */ if (CHS_IFERR (st)) /* channel error? */ return pt_chan_err (st); - if (putc (c, pt_unit[PTP].fileref) == EOF) { - sim_perror ("PTP I/O error"); + if (putc (((int32) uc), pt_unit[PTP].fileref) == EOF) { + perror ("PTP I/O error"); clearerr (pt_unit[PTP].fileref); chan_set_chf (pt_dib.dva, CHF_XMDE); /* data error */ return pt_chan_err (SCPE_IOERR); /* force uend */ diff --git a/sigma/sigma_tt.c b/sigma/sigma_tt.c index f595e02e..1c357d2a 100644 --- a/sigma/sigma_tt.c +++ b/sigma/sigma_tt.c @@ -1,6 +1,6 @@ /* sigma_tt.c: Sigma 7012 console teletype - Copyright (c) 2007-2008, Robert M. Supnik + Copyright (c) 2007-2018, Robert M. Supnik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), @@ -30,6 +30,8 @@ CR input, mapped to NEWLINE and echoes CR-LF ^H input, mapped to EOM and not echoed HT input or output, simulates tabbing with fixed 8 character stops + + 02-Jun-2018 RMS Defanged clang signed/unsigned whining (Mark Pizzolato) */ #include "sigma_io_defs.h" @@ -214,8 +216,8 @@ return SCPE_OK; t_stat tto_svc (UNIT *uptr) { -uint32 c, cmd; -uint32 st; +int32 c; +uint32 uc, cmd, st; switch (tt_cmd) { /* case on state */ @@ -231,10 +233,10 @@ switch (tt_cmd) { /* case on state */ break; case TTS_WRITE: /* char output */ - st = chan_RdMemB (tt_dib.dva, &c); /* get char */ + st = chan_RdMemB (tt_dib.dva, &uc); /* get char */ if (CHS_IFERR (st)) /* channel error? */ return tt_chan_err (st); - c = ebcdic_to_ascii[c & 0xFF]; /* convert to ASCII */ + c = ebcdic_to_ascii[uc & 0xFF]; /* convert to ASCII */ tto_echo (c); /* echo character */ sim_activate (uptr, uptr->wait); /* continue thread */ if (st == CHS_ZBC) /* st = zbc? */