From 38e3d58c7243135b0b3e780bad3e5b9cbc60a531 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 2 May 2012 05:39:27 -0700 Subject: [PATCH] Official simh-v3.9-0 Merge --- 0readme_39.txt | 21 +- ALTAIR/altair_dsk.c | 4 +- I1401/i1401_sys.c | 2 +- Ibm1130/ibm1130_sca.c | 2 +- NOVA/nova_dkp.c | 5 +- PDP11/pdp11_cpu.c | 3 +- PDP11/pdp11_io.c | 5 +- PDP11/pdp11_sys.c | 5 +- VAX/vax_syscm.c | 5 +- VAX/vax_sysdev.c | 17 +- makefile_old | 438 ---------------------------------- sim_rev.h | 8 +- swtp6800/common/bootrom.c | 10 +- swtp6800/common/dc-4.c | 9 +- swtp6800/common/i2716.c | 9 +- swtp6800/common/m6800.c | 8 +- swtp6800/common/m6810.c | 10 +- swtp6800/common/mp-8m.c | 8 +- swtp6800/swtp6800/swtp_defs.h | 2 +- 19 files changed, 73 insertions(+), 498 deletions(-) delete mode 100644 makefile_old diff --git a/0readme_39.txt b/0readme_39.txt index 7cc5d971..1dfc5fa6 100644 --- a/0readme_39.txt +++ b/0readme_39.txt @@ -29,19 +29,17 @@ components and build network capable simulators if they are available. 1.1.3 HP2100 (Dave Bryan) - - added support for 12821A HP-IP disk controller, + - added support for 12821A HP-IB disk controller, 7906H/20H/25H disks 1.1.4 PDP11 and VAX (Mark Pizzolato) - - Added DELQA-Plus device. + - added DELQA-Plus device 1.1.5 IA64 VMS Ethernet Support - - Identified compiler version issues and added IA64 support (Matt Burke) + - identified compiler version issues and added IA64 support (Matt Burke) -1.1.6 Visual Studio Projects (Mark Pizzolato) - 2. Bugs Fixed @@ -51,10 +49,10 @@ in the source module sim_rev.h. 3. Status Report -This is the last release of SimH for which I will be sole editor. After this +This is the last release of SimH for which I will be lead editor. After this release, the source is moving to a public repository: - +https://github.com/markpizz/simh under the general editorship of Dave Hittner and Mark Pizzolato. The status of the individual simulators is as follows: @@ -170,19 +168,22 @@ Bill Beech 3.25 Sigma 32b Incomplete; more work is needed on the peripherals for accuracy. +Included in the beta simulators package. 3.26 Alpha -Incomplete; essentially just an EV-5 (21164) chip emulator. +Incomplete; essentially just an EV-5 (21164) chip emulator. Included +in the beta simulators package. 3.27 SAGE -Beta. +Incomplete. Included in the beta simulators package. 3.28 SC1 Internal simulator for SiCortex supercomputer; intended as an example -of implementing an SMP system in the current SimH structure. +of implementing an SMP system in the current SimH structure. Included +in the beta simulators package. 4. Suggestions for Future Work diff --git a/ALTAIR/altair_dsk.c b/ALTAIR/altair_dsk.c index 64ef739c..1d1f092c 100644 --- a/ALTAIR/altair_dsk.c +++ b/ALTAIR/altair_dsk.c @@ -218,8 +218,8 @@ int32 dsk10(int32 io, int32 data) cur_disk = data & 0x0F; if (data & 0x80) { cur_flags[cur_disk] = 0; /* Disable drive */ - cur_sect[cur_disk = 0377]; - cur_byte[cur_disk = 0377]; + cur_sect[cur_disk] = 0377; + cur_byte[cur_disk] = 0377; return (0); } cur_flags[cur_disk] = 0x1A; /* Enable: head move true */ diff --git a/I1401/i1401_sys.c b/I1401/i1401_sys.c index bab227f3..94976277 100644 --- a/I1401/i1401_sys.c +++ b/I1401/i1401_sys.c @@ -402,7 +402,7 @@ if (op >= 64) /* successful? */ return SCPE_ARG; val[0] = op | WM; /* store opcode */ cptr = get_glyph (cptr, gbuf, 0); /* get addr or d */ -if (((op_table[op] && IO) && (get_io (gbuf, &val[1]) == SCPE_OK)) || +if (((op_table[op] & IO) && (get_io (gbuf, &val[1]) == SCPE_OK)) || (get_addr (gbuf, &val[1]) == SCPE_OK)) { cptr = get_glyph (cptr, gbuf, 0); /* get addr or d */ if (get_addr (gbuf, &val[4]) == SCPE_OK) { diff --git a/Ibm1130/ibm1130_sca.c b/Ibm1130/ibm1130_sca.c index 1e41d3c8..b0e8e293 100644 --- a/Ibm1130/ibm1130_sca.c +++ b/Ibm1130/ibm1130_sca.c @@ -217,7 +217,7 @@ REG sca_reg[] = { /* DEVICE STATE/SETTABLE PARAMETERS: */ { HRDATA (SCADSW, sca_dsw, 16) }, /* device status word */ { DRDATA (SICHAR, sichar, 8), PV_LEFT }, /* sync/idle character */ { DRDATA (RCVDCHAR, rcvd_char, 8), PV_LEFT }, /* most recently received character */ - { DRDATA (FRAME, sca_frame, 8), PV_LEFT }, /* frame bits (6, 7 or 8) + { DRDATA (FRAME, sca_frame, 8), PV_LEFT }, /* frame bits (6, 7 or 8) */ { DRDATA (SCASTATE, sca_state, 32), PV_LEFT }, /* current state */ { DRDATA (CTIME, sca_cwait, 32), PV_LEFT }, /* inter-character wait */ { DRDATA (ITIME, sca_iwait, 32), PV_LEFT }, /* idle wait (polling interval for socket connects) */ diff --git a/NOVA/nova_dkp.c b/NOVA/nova_dkp.c index a89edf6e..34e4269c 100644 --- a/NOVA/nova_dkp.c +++ b/NOVA/nova_dkp.c @@ -25,6 +25,7 @@ dkp moving head disk + 27-Apr-12 RMS Changed ??? string digraphs to ?, per C rules 04-Jul-04 BKR device name changed to DG's DKP from DEC's DP, DEV_SET/CLR/INTR macro use started, fixed 'P' pulse code and secret quirks, @@ -706,7 +707,7 @@ if ( DKP_TRACE(1) ) "write" : ((uptr->FUNC == FCCY_SEEK) ? "seek" - : "" + : "" ) ) ), @@ -871,7 +872,7 @@ do { "read" : ((uptr->FUNC == FCCY_WRITE) ? "write" - : "") + : "") ), (unsigned) (uptr->CYL), (unsigned) (GET_SURF(dkp_ussc, dtype)), diff --git a/PDP11/pdp11_cpu.c b/PDP11/pdp11_cpu.c index 0ee91143..1a11482f 100644 --- a/PDP11/pdp11_cpu.c +++ b/PDP11/pdp11_cpu.c @@ -25,6 +25,7 @@ cpu PDP-11 CPU + 29-Apr-12 RMS Fixed compiler warning (Mark Pizzolato) 19-Mar-12 RMS Fixed declaration of sim_switches (Mark Pizzolato) 29-Dec-08 RMS Fixed failure to clear cpu_bme on RESET (Walter Mueller) 22-Apr-08 RMS Fixed MMR0 treatment in RESET (Walter Mueller) @@ -1292,7 +1293,7 @@ while (reason == 0) { break; case 070: /* CSM */ - if (CPUT (HAS_CSM) && (MMR3 & MMR3_CSM) || (cm != MD_KER)) { + if ((CPUT (HAS_CSM) && (MMR3 & MMR3_CSM)) || (cm != MD_KER)) { dst = dstreg? R[dstspec]: ReadW (GeteaW (dstspec)); PSW = get_PSW () & ~PSW_CC; /* PSW, cc = 0 */ STACKFILE[cm] = SP; diff --git a/PDP11/pdp11_io.c b/PDP11/pdp11_io.c index e5909413..d768662d 100644 --- a/PDP11/pdp11_io.c +++ b/PDP11/pdp11_io.c @@ -23,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 27-Mar-12 RMS Fixed order of int_internal (Jordi Guillaumes i Pons) 19-Mar-12 RMS Fixed declaration of cpu_opt (Mark Pizzolato) 12-Dec-11 RMS Fixed Qbus interrupts to treat all IO devices as BR4 19-Nov-08 RMS Moved I/O support routines to I/O library @@ -83,8 +84,8 @@ static const int32 pirq_bit[7] = { }; static const int32 int_internal[IPL_HLVL] = { - INT_INTERNAL7, INT_INTERNAL6, INT_INTERNAL5, INT_INTERNAL4, - INT_INTERNAL3, INT_INTERNAL2, INT_INTERNAL1, 0 + 0, INT_INTERNAL1, INT_INTERNAL2, INT_INTERNAL3, + INT_INTERNAL4, INT_INTERNAL5, INT_INTERNAL6, INT_INTERNAL7 }; /* I/O page lookup and linkage routines diff --git a/PDP11/pdp11_sys.c b/PDP11/pdp11_sys.c index 16ca83b4..b0b358cf 100644 --- a/PDP11/pdp11_sys.c +++ b/PDP11/pdp11_sys.c @@ -1,6 +1,6 @@ /* pdp11_sys.c: PDP-11 simulator interface - Copyright (c) 1993-2008, Robert M Supnik + Copyright (c) 1993-2012, 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"), @@ -23,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 29-Apr-12 RMS Fixed compiler warning (Mark Pizzolato) 19-Nov-08 RMS Moved I/O support routines to I/O library 15-May-08 RMS Added KE11-A, DC11 support Renamed DL11 @@ -992,7 +993,7 @@ switch (j) { /* case on class */ disp = (disp - addr) & 0177777; else return SCPE_ARG; } - if ((disp & 1) || (disp > 0400) && (disp < 0177402)) + if ((disp & 1) || ((disp > 0400) && (disp < 0177402))) return SCPE_ARG; val[0] = val[0] | (((disp - 2) >> 1) & 0377); break; diff --git a/VAX/vax_syscm.c b/VAX/vax_syscm.c index 40cec63b..46225523 100644 --- a/VAX/vax_syscm.c +++ b/VAX/vax_syscm.c @@ -1,6 +1,6 @@ /* vax_syscm.c: PDP-11 compatibility mode symbolic decode and parse - Copyright (c) 1993-2010, Robert M Supnik + Copyright (c) 1993-2012, 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"), @@ -23,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 29-Apr-12 RMS Fixed compiler warning (Mark Pizzolato) 22-May-10 RMS Fixed t_addr printouts for 64b big-endian systems (Mark Pizzolato) 12-Nov-06 RMS Fixed operand order in EIS instructions (W.F.J. Mueller) @@ -610,7 +611,7 @@ switch (j) { /* case on class */ return SCPE_ARG; if ((pflag & A_REL) == 0) disp = (disp - ad32) & 0177777; - if ((disp & 1) || (disp > 0400) && (disp < 0177402)) + if ((disp & 1) || ((disp > 0400) && (disp < 0177402))) return SCPE_ARG; val[0] = val[0] | (((disp - 2) >> 1) & 0377); break; diff --git a/VAX/vax_sysdev.c b/VAX/vax_sysdev.c index 67741e3e..fc494d13 100644 --- a/VAX/vax_sysdev.c +++ b/VAX/vax_sysdev.c @@ -477,16 +477,17 @@ return ((val << 24) & 0xff000000) | (( val << 8) & 0xff0000) | ((val >> 8) & 0xff00) | ((val >> 24) & 0xff); } +volatile int32 rom_loopval = 0; + int32 rom_read_delay (int32 val) { uint32 i, l = rom_delay; -int32 loopval = 0; if (rom_unit.flags & UNIT_NODELAY) return val; /* Calibrate the loop delay factor when first used. - Do this 4 times to and use the largest value computed. */ + Do this 4 times and use the largest value computed. */ if (rom_delay == 0) { uint32 ts, te, c = 10000, samples = 0; @@ -499,15 +500,15 @@ if (rom_delay == 0) { away by a good compiler. loopval always is zero. To avoid smart compilers, the loopval variable is referenced in the function arguments so that the function expression is not loop invariant. It also must be referenced - by subsequent code or to avoid the whole computation being eliminated. */ + by subsequent code to avoid the whole computation being eliminated. */ for (i = 0; i < c; i++) - loopval |= (loopval + ts) ^ rom_swapb (rom_swapb (loopval + ts)); + rom_loopval |= (rom_loopval + ts) ^ rom_swapb (rom_swapb (rom_loopval + ts)); te = sim_os_msec (); if ((te - ts) < 50) /* sample big enough? */ continue; - if (rom_delay < (loopval + (c / (te - ts) / 1000) + 1)) - rom_delay = loopval + (c / (te - ts) / 1000) + 1; + if (rom_delay < (rom_loopval + (c / (te - ts) / 1000) + 1)) + rom_delay = rom_loopval + (c / (te - ts) / 1000) + 1; if (++samples >= 4) break; c = c / 2; @@ -517,8 +518,8 @@ if (rom_delay == 0) { } for (i = 0; i < l; i++) - loopval |= (loopval + val) ^ rom_swapb (rom_swapb (loopval + val)); -return val + loopval; + rom_loopval |= (rom_loopval + val) ^ rom_swapb (rom_swapb (rom_loopval + val)); +return val + rom_loopval; } int32 rom_rd (int32 pa) diff --git a/makefile_old b/makefile_old deleted file mode 100644 index a86716b4..00000000 --- a/makefile_old +++ /dev/null @@ -1,438 +0,0 @@ -# -# CC Command -# -ifeq ($(WIN32),) - #Unix Environments - ifneq (,$(findstring solaris,$(OSTYPE))) - OS_CCDEFS = -lm -lsocket -lnsl -lrt -lpthread -D_GNU_SOURCE - else - ifneq (,$(findstring darwin,$(OSTYPE))) - OS_CCDEFS = -D_GNU_SOURCE - else - ifeq (librt,$(shell if test -e /usr/lib/librt.a; then echo librt; fi)) - OS_CCDEFS = -lrt -lm -D_GNU_SOURCE - else - OS_CCDEFS = -lm -D_GNU_SOURCE - endif - endif - endif - ifeq (readline,$(shell if test -e /usr/lib/libreadline.a; then echo readline; fi)) - # Use Locally installed and available readline support - ifeq (ncurses,$(shell if test -e /usr/lib/libncurses.a; then echo ncurses; fi)) - READLINE_CCDEFS = -DHAVE_READLINE -lreadline -lncurses - else - READLINE_CCDEFS = -DHAVE_READLINE -lreadline - endif - endif - ifeq (pcap,$(shell if test -e /usr/lib/libpcap.a; then echo pcap; fi)) - # Use Locally installed and available pcap support - NETWORK_CCDEFS = -DUSE_NETWORK -lpcap - endif - ifeq (tuntap,$(shell if test -e /usr/include/linux/if_tun.h; then echo tuntap; fi)) - # Provide support for Tap networking on Linux - NETWORK_TAP_CCDEFS = -DUSE_TAP_NETWORK - endif - ifeq (bsdtuntap,$(shell if test -e /usr/include/net/if_tun.h; then echo bsdtuntap; fi)) - # Provide support for Tap networking - NETWORK_TAP_CCDEFS = -DUSE_TAP_NETWORK -DUSE_BSDTUNTAP - endif - CC = gcc -std=c99 -U__STRICT_ANSI__ -g $(OS_CCDEFS) -I . $(READLINE_CCDEFS) $(NETWORK_CCDEFS) $(NETWORK_TAP_CCDEFS) - ifneq ($(USE_NETWORK),) - # Assume built from tcpdump.org sources with default install target - NETWORK_OPT = -DUSE_NETWORK -isystem /usr/local/include /usr/local/lib/libpcap.a - endif -else - #Win32 Environments - LDFLAGS = -lm -lwsock32 -lwinmm - CC = gcc -std=c99 -U__STRICT_ANSI__ -O2 -fno-strict-overflow -I. - EXE = .exe - ifneq ($(USE_NETWORK),) - NETWORK_OPT = -DUSE_SHARED - endif -endif - -# -# Common Libraries -# -BIN = BIN/ -SIM = scp.c sim_console.c sim_fio.c sim_timer.c sim_sock.c \ - sim_tmxr.c sim_ether.c sim_tape.c - - -# -# Emulator source files and compile time options -# -PDP1D = PDP1 -PDP1 = ${PDP1D}/pdp1_lp.c ${PDP1D}/pdp1_cpu.c ${PDP1D}/pdp1_stddev.c \ - ${PDP1D}/pdp1_sys.c ${PDP1D}/pdp1_dt.c ${PDP1D}/pdp1_drm.c \ - ${PDP1D}/pdp1_clk.c ${PDP1D}/pdp1_dcs.c -PDP1_OPT = -I ${PDP1D} - - -NOVAD = NOVA -NOVA = ${NOVAD}/nova_sys.c ${NOVAD}/nova_cpu.c ${NOVAD}/nova_dkp.c \ - ${NOVAD}/nova_dsk.c ${NOVAD}/nova_lp.c ${NOVAD}/nova_mta.c \ - ${NOVAD}/nova_plt.c ${NOVAD}/nova_pt.c ${NOVAD}/nova_clk.c \ - ${NOVAD}/nova_tt.c ${NOVAD}/nova_tt1.c ${NOVAD}/nova_qty.c -NOVA_OPT = -I ${NOVAD} - - -ECLIPSE = ${NOVAD}/eclipse_cpu.c ${NOVAD}/eclipse_tt.c ${NOVAD}/nova_sys.c \ - ${NOVAD}/nova_dkp.c ${NOVAD}/nova_dsk.c ${NOVAD}/nova_lp.c \ - ${NOVAD}/nova_mta.c ${NOVAD}/nova_plt.c ${NOVAD}/nova_pt.c \ - ${NOVAD}/nova_clk.c ${NOVAD}/nova_tt1.c ${NOVAD}/nova_qty.c -ECLIPSE_OPT = -I ${NOVAD} -DECLIPSE - - -PDP18BD = PDP18B -PDP18B = ${PDP18BD}/pdp18b_dt.c ${PDP18BD}/pdp18b_drm.c ${PDP18BD}/pdp18b_cpu.c \ - ${PDP18BD}/pdp18b_lp.c ${PDP18BD}/pdp18b_mt.c ${PDP18BD}/pdp18b_rf.c \ - ${PDP18BD}/pdp18b_rp.c ${PDP18BD}/pdp18b_stddev.c ${PDP18BD}/pdp18b_sys.c \ - ${PDP18BD}/pdp18b_rb.c ${PDP18BD}/pdp18b_tt1.c ${PDP18BD}/pdp18b_fpp.c -PDP4_OPT = -DPDP4 -I ${PDP18BD} -PDP7_OPT = -DPDP7 -I ${PDP18BD} -PDP9_OPT = -DPDP9 -I ${PDP18BD} -PDP15_OPT = -DPDP15 -I ${PDP18BD} - - -PDP11D = PDP11 -PDP11 = ${PDP11D}/pdp11_fp.c ${PDP11D}/pdp11_cpu.c ${PDP11D}/pdp11_dz.c \ - ${PDP11D}/pdp11_cis.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_rk.c \ - ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_rx.c \ - ${PDP11D}/pdp11_stddev.c ${PDP11D}/pdp11_sys.c ${PDP11D}/pdp11_tc.c \ - ${PDP11D}/pdp11_tm.c ${PDP11D}/pdp11_ts.c ${PDP11D}/pdp11_io.c \ - ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_tq.c ${PDP11D}/pdp11_pclk.c \ - ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_pt.c ${PDP11D}/pdp11_hk.c \ - ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_vh.c \ - ${PDP11D}/pdp11_rh.c ${PDP11D}/pdp11_tu.c ${PDP11D}/pdp11_cpumod.c \ - ${PDP11D}/pdp11_cr.c ${PDP11D}/pdp11_rf.c ${PDP11D}/pdp11_dl.c \ - ${PDP11D}/pdp11_ta.c ${PDP11D}/pdp11_rc.c ${PDP11D}/pdp11_kg.c \ - ${PDP11D}/pdp11_ke.c ${PDP11D}/pdp11_dc.c ${PDP11D}/pdp11_io_lib.c -PDP11_OPT = -DVM_PDP11 -I ${PDP11D} ${NETWORK_OPT} - - -VAXD = VAX -VAX = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c ${VAXD}/vax_io.c \ - ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \ - ${VAXD}/vax_mmu.c ${VAXD}/vax_stddev.c ${VAXD}/vax_sysdev.c \ - ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c ${VAXD}/vax_syslist.c \ - ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \ - ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \ - ${PDP11D}/pdp11_xq.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_vh.c \ - ${PDP11D}/pdp11_cr.c ${PDP11D}/pdp11_io_lib.c -VAX_OPT = -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -I ${VAXD} -I ${PDP11D} ${NETWORK_OPT} - - -VAX780 = ${VAXD}/vax_cpu.c ${VAXD}/vax_cpu1.c ${VAXD}/vax_fpa.c \ - ${VAXD}/vax_cis.c ${VAXD}/vax_octa.c ${VAXD}/vax_cmode.c \ - ${VAXD}/vax_mmu.c ${VAXD}/vax_sys.c ${VAXD}/vax_syscm.c \ - ${VAXD}/vax780_stddev.c ${VAXD}/vax780_sbi.c \ - ${VAXD}/vax780_mem.c ${VAXD}/vax780_uba.c ${VAXD}/vax780_mba.c \ - ${VAXD}/vax780_fload.c ${VAXD}/vax780_syslist.c \ - ${PDP11D}/pdp11_rl.c ${PDP11D}/pdp11_rq.c ${PDP11D}/pdp11_ts.c \ - ${PDP11D}/pdp11_dz.c ${PDP11D}/pdp11_lp.c ${PDP11D}/pdp11_tq.c \ - ${PDP11D}/pdp11_xu.c ${PDP11D}/pdp11_ry.c ${PDP11D}/pdp11_cr.c \ - ${PDP11D}/pdp11_rp.c ${PDP11D}/pdp11_tu.c ${PDP11D}/pdp11_hk.c \ - ${PDP11D}/pdp11_io_lib.c -VAX780_OPT = -DVM_VAX -DVAX_780 -DUSE_INT64 -DUSE_ADDR64 -I VAX -I ${PDP11D} ${NETWORK_OPT} - - -PDP10D = PDP10 -PDP10 = ${PDP10D}/pdp10_fe.c ${PDP11D}/pdp11_dz.c ${PDP10D}/pdp10_cpu.c \ - ${PDP10D}/pdp10_ksio.c ${PDP10D}/pdp10_lp20.c ${PDP10D}/pdp10_mdfp.c \ - ${PDP10D}/pdp10_pag.c ${PDP10D}/pdp10_rp.c ${PDP10D}/pdp10_sys.c \ - ${PDP10D}/pdp10_tim.c ${PDP10D}/pdp10_tu.c ${PDP10D}/pdp10_xtnd.c \ - ${PDP11D}/pdp11_pt.c ${PDP11D}/pdp11_ry.c \ - ${PDP11D}/pdp11_cr.c -PDP10_OPT = -DVM_PDP10 -DUSE_INT64 -I ${PDP10D} -I ${PDP11D} - - - -PDP8D = PDP8 -PDP8 = ${PDP8D}/pdp8_cpu.c ${PDP8D}/pdp8_clk.c ${PDP8D}/pdp8_df.c \ - ${PDP8D}/pdp8_dt.c ${PDP8D}/pdp8_lp.c ${PDP8D}/pdp8_mt.c \ - ${PDP8D}/pdp8_pt.c ${PDP8D}/pdp8_rf.c ${PDP8D}/pdp8_rk.c \ - ${PDP8D}/pdp8_rx.c ${PDP8D}/pdp8_sys.c ${PDP8D}/pdp8_tt.c \ - ${PDP8D}/pdp8_ttx.c ${PDP8D}/pdp8_rl.c ${PDP8D}/pdp8_tsc.c \ - ${PDP8D}/pdp8_td.c ${PDP8D}/pdp8_ct.c ${PDP8D}/pdp8_fpp.c -PDP8_OPT = -I ${PDP8D} - - -H316D = h316 -H316 = ${H316D}/h316_stddev.c ${H316D}/h316_lp.c ${H316D}/h316_cpu.c \ - ${H316D}/h316_sys.c ${H316D}/h316_mt.c ${H316D}/h316_fhd.c \ - ${H316D}/h316_dp.c -H316_OPT = -I ${H316D} - - -HP2100D = HP2100 -HP2100 = ${HP2100D}/hp2100_stddev.c ${HP2100D}/hp2100_dp.c ${HP2100D}/hp2100_dq.c \ - ${HP2100D}/hp2100_dr.c ${HP2100D}/hp2100_lps.c ${HP2100D}/hp2100_ms.c \ - ${HP2100D}/hp2100_mt.c ${HP2100D}/hp2100_mux.c ${HP2100D}/hp2100_cpu.c \ - ${HP2100D}/hp2100_fp.c ${HP2100D}/hp2100_sys.c ${HP2100D}/hp2100_lpt.c \ - ${HP2100D}/hp2100_ipl.c ${HP2100D}/hp2100_ds.c ${HP2100D}/hp2100_cpu0.c \ - ${HP2100D}/hp2100_cpu1.c ${HP2100D}/hp2100_cpu2.c ${HP2100D}/hp2100_cpu3.c \ - ${HP2100D}/hp2100_cpu4.c ${HP2100D}/hp2100_cpu5.c ${HP2100D}/hp2100_cpu6.c \ - ${HP2100D}/hp2100_cpu7.c ${HP2100D}/hp2100_fp1.c ${HP2100D}/hp2100_baci.c \ - ${HP2100D}/hp2100_mpx.c ${HP2100D}/hp2100_pif.c ${HP2100D}/hp2100_di.c \ - ${HP2100D}/hp2100_di_da.c ${HP2100D}/hp_disclib.c -HP2100_OPT = -DHAVE_INT64 -I ${HP2100D} - - -I1401D = I1401 -I1401 = ${I1401D}/i1401_lp.c ${I1401D}/i1401_cpu.c ${I1401D}/i1401_iq.c \ - ${I1401D}/i1401_cd.c ${I1401D}/i1401_mt.c ${I1401D}/i1401_dp.c \ - ${I1401D}/i1401_sys.c -I1401_OPT = -I ${I1401D} - - -I1620D = I1620 -I1620 = ${I1620D}/i1620_cd.c ${I1620D}/i1620_dp.c ${I1620D}/i1620_pt.c \ - ${I1620D}/i1620_tty.c ${I1620D}/i1620_cpu.c ${I1620D}/i1620_lp.c \ - ${I1620D}/i1620_fp.c ${I1620D}/i1620_sys.c -I1620_OPT = -I ${I1620D} - - -I7094D = I7094 -I7094 = ${I7094D}/i7094_cpu.c ${I7094D}/i7094_cpu1.c ${I7094D}/i7094_io.c \ - ${I7094D}/i7094_cd.c ${I7094D}/i7094_clk.c ${I7094D}/i7094_com.c \ - ${I7094D}/i7094_drm.c ${I7094D}/i7094_dsk.c ${I7094D}/i7094_sys.c \ - ${I7094D}/i7094_lp.c ${I7094D}/i7094_mt.c ${I7094D}/i7094_binloader.c -I7094_OPT = -DUSE_INT64 -I ${I7094D} - - -IBM1130D = Ibm1130 -IBM1130 = ${IBM1130D}/ibm1130_cpu.c ${IBM1130D}/ibm1130_cr.c \ - ${IBM1130D}/ibm1130_disk.c ${IBM1130D}/ibm1130_stddev.c \ - ${IBM1130D}/ibm1130_sys.c ${IBM1130D}/ibm1130_gdu.c \ - ${IBM1130D}/ibm1130_gui.c ${IBM1130D}/ibm1130_prt.c \ - ${IBM1130D}/ibm1130_fmt.c ${IBM1130D}/ibm1130_ptrp.c \ - ${IBM1130D}/ibm1130_plot.c ${IBM1130D}/ibm1130_sca.c \ - ${IBM1130D}/ibm1130_t2741.c -IBM1130_OPT = -I ${IBM1130D} - - -ID16D = Interdata -ID16 = ${ID16D}/id16_cpu.c ${ID16D}/id16_sys.c ${ID16D}/id_dp.c \ - ${ID16D}/id_fd.c ${ID16D}/id_fp.c ${ID16D}/id_idc.c ${ID16D}/id_io.c \ - ${ID16D}/id_lp.c ${ID16D}/id_mt.c ${ID16D}/id_pas.c ${ID16D}/id_pt.c \ - ${ID16D}/id_tt.c ${ID16D}/id_uvc.c ${ID16D}/id16_dboot.c ${ID16D}/id_ttp.c -ID16_OPT = -I ${ID16D} - - -ID32D = Interdata -ID32 = ${ID32D}/id32_cpu.c ${ID32D}/id32_sys.c ${ID32D}/id_dp.c \ - ${ID32D}/id_fd.c ${ID32D}/id_fp.c ${ID32D}/id_idc.c ${ID32D}/id_io.c \ - ${ID32D}/id_lp.c ${ID32D}/id_mt.c ${ID32D}/id_pas.c ${ID32D}/id_pt.c \ - ${ID32D}/id_tt.c ${ID32D}/id_uvc.c ${ID32D}/id32_dboot.c ${ID32D}/id_ttp.c -ID32_OPT = -I ${ID32D} - - -S3D = S3 -S3 = ${S3D}/s3_cd.c ${S3D}/s3_cpu.c ${S3D}/s3_disk.c ${S3D}/s3_lp.c \ - ${S3D}/s3_pkb.c ${S3D}/s3_sys.c -S3_OPT = -I ${S3D} - - -ALTAIRD = ALTAIR -ALTAIR = ${ALTAIRD}/altair_sio.c ${ALTAIRD}/altair_cpu.c ${ALTAIRD}/altair_dsk.c \ - ${ALTAIRD}/altair_sys.c -ALTAIR_OPT = -I ${ALTAIRD} - - -ALTAIRZ80D = AltairZ80 -ALTAIRZ80 = ${ALTAIRZ80D}/altairz80_cpu.c ${ALTAIRZ80D}/altairz80_cpu_nommu.c \ - ${ALTAIRZ80D}/altairz80_dsk.c ${ALTAIRZ80D}/disasm.c \ - ${ALTAIRZ80D}/altairz80_sio.c ${ALTAIRZ80D}/altairz80_sys.c \ - ${ALTAIRZ80D}/altairz80_hdsk.c ${ALTAIRZ80D}/altairz80_net.c \ - ${ALTAIRZ80D}/flashwriter2.c ${ALTAIRZ80D}/i86_decode.c \ - ${ALTAIRZ80D}/i86_ops.c ${ALTAIRZ80D}/i86_prim_ops.c \ - ${ALTAIRZ80D}/i8272.c ${ALTAIRZ80D}/insnsd.c \ - ${ALTAIRZ80D}/mfdc.c ${ALTAIRZ80D}/n8vem.c ${ALTAIRZ80D}/vfdhd.c \ - ${ALTAIRZ80D}/s100_disk1a.c ${ALTAIRZ80D}/s100_disk2.c ${ALTAIRZ80D}/s100_disk3.c\ - ${ALTAIRZ80D}/s100_fif.c ${ALTAIRZ80D}/s100_mdriveh.c \ - ${ALTAIRZ80D}/s100_mdsad.c ${ALTAIRZ80D}/s100_selchan.c \ - ${ALTAIRZ80D}/s100_ss1.c ${ALTAIRZ80D}/s100_64fdc.c \ - ${ALTAIRZ80D}/s100_scp300f.c ${ALTAIRZ80D}/sim_imd.c \ - ${ALTAIRZ80D}/wd179x.c ${ALTAIRZ80D}/s100_hdc1001.c \ - ${ALTAIRZ80D}/s100_if3.c ${ALTAIRZ80D}/s100_adcs6.c -ALTAIRZ80_OPT = -I ${ALTAIRZ80D} - - -GRID = GRI -GRI = ${GRID}/gri_cpu.c ${GRID}/gri_stddev.c ${GRID}/gri_sys.c -GRI_OPT = -I ${GRID} - - -LGPD = LGP -LGP = ${LGPD}/lgp_cpu.c ${LGPD}/lgp_stddev.c ${LGPD}/lgp_sys.c -LGP_OPT = -I ${LGPD} - - -SDSD = SDS -SDS = ${SDSD}/sds_cpu.c ${SDSD}/sds_drm.c ${SDSD}/sds_dsk.c ${SDSD}/sds_io.c \ - ${SDSD}/sds_lp.c ${SDSD}/sds_mt.c ${SDSD}/sds_mux.c ${SDSD}/sds_rad.c \ - ${SDSD}/sds_stddev.c ${SDSD}/sds_sys.c -SDS_OPT = -I ${SDSD} - -SWTPD = swtp -SWTP = ${SWTPD}/swtp_cpu.c ${SWTPD}/swtp_dsk.c ${SWTPD}/swtp_sio.c \ - ${SWTPD}/swtp_sys.c -SWTP_OPT = -I ${SWTPD} - - -# -# Build everything -# -ALL = pdp1 pdp4 pdp7 pdp8 pdp9 pdp15 pdp11 pdp10 \ - vax vax780 nova eclipse hp2100 i1401 i1620 s3 \ - altair altairz80 gri i1620 i7094 ibm1130 id16 \ - id32 sds lgp h316 swtp - -all : ${ALL} - -clean : -ifeq ($(WIN32),) - ${RM} -r ${BIN} -else - if exist BIN\*.exe del /q BIN\*.exe - if exist BIN rmdir BIN -endif - -# -# Individual builds -# -pdp1 : ${BIN}pdp1${EXE} - -${BIN}pdp1${EXE} : ${PDP1} ${SIM} - ${CC} ${PDP1} ${SIM} ${PDP1_OPT} -o $@ ${LDFLAGS} - -pdp4 : ${BIN}pdp4${EXE} - -${BIN}pdp4${EXE} : ${PDP18B} ${SIM} - ${CC} ${PDP18B} ${SIM} ${PDP4_OPT} -o $@ ${LDFLAGS} - -pdp7 : ${BIN}pdp7${EXE} - -${BIN}pdp7${EXE} : ${PDP18B} ${SIM} - ${CC} ${PDP18B} ${SIM} ${PDP7_OPT} -o $@ ${LDFLAGS} - -pdp8 : ${BIN}pdp8${EXE} - -${BIN}pdp8${EXE} : ${PDP8} ${SIM} - ${CC} ${PDP8} ${SIM} ${PDP8_OPT} -o $@ ${LDFLAGS} - -pdp9 : ${BIN}pdp9${EXE} - -${BIN}pdp9${EXE} : ${PDP18B} ${SIM} - ${CC} ${PDP18B} ${SIM} ${PDP9_OPT} -o $@ ${LDFLAGS} - -pdp15 : ${BIN}pdp15${EXE} - -${BIN}pdp15${EXE} : ${PDP18B} ${SIM} - ${CC} ${PDP18B} ${SIM} ${PDP15_OPT} -o $@ ${LDFLAGS} - -pdp10 : ${BIN}pdp10${EXE} - -${BIN}pdp10${EXE} : ${PDP10} ${SIM} - ${CC} ${PDP10} ${SIM} ${PDP10_OPT} -o $@ ${LDFLAGS} - -pdp11 : ${BIN}pdp11${EXE} - -${BIN}pdp11${EXE} : ${PDP11} ${SIM} - ${CC} ${PDP11} ${SIM} ${PDP11_OPT} -o $@ ${LDFLAGS} - -vax : ${BIN}vax${EXE} - -${BIN}vax${EXE} : ${VAX} ${SIM} - ${CC} ${VAX} ${SIM} ${VAX_OPT} -o $@ ${LDFLAGS} - -vax780 : ${BIN}vax780${EXE} - -${BIN}vax780${EXE} : ${VAX780} ${SIM} - ${CC} ${VAX780} ${SIM} ${VAX780_OPT} -o $@ ${LDFLAGS} - -nova : ${BIN}nova${EXE} - -${BIN}nova${EXE} : ${NOVA} ${SIM} - ${CC} ${NOVA} ${SIM} ${NOVA_OPT} -o $@ ${LDFLAGS} - -eclipse : ${BIN}eclipse${EXE} - -${BIN}eclipse${EXE} : ${ECLIPSE} ${SIM} - ${CC} ${ECLIPSE} ${SIM} ${ECLIPSE_OPT} -o $@ ${LDFLAGS} - -h316 : ${BIN}h316${EXE} - -${BIN}h316${EXE} : ${H316} ${SIM} - ${CC} ${H316} ${SIM} ${H316_OPT} -o $@ ${LDFLAGS} - -hp2100 : ${BIN}hp2100${EXE} - -${BIN}hp2100${EXE} : ${HP2100} ${SIM} - ${CC} ${HP2100} ${SIM} ${HP2100_OPT} -o $@ ${LDFLAGS} - -i1401 : ${BIN}i1401${EXE} - -${BIN}i1401${EXE} : ${I1401} ${SIM} - ${CC} ${I1401} ${SIM} ${I1401_OPT} -o $@ ${LDFLAGS} - -i1620 : ${BIN}i1620${EXE} - -${BIN}i1620${EXE} : ${I1620} ${SIM} - ${CC} ${I1620} ${SIM} ${I1620_OPT} -o $@ ${LDFLAGS} - -i7094 : ${BIN}i7094${EXE} - -${BIN}i7094${EXE} : ${I7094} ${SIM} - ${CC} ${I7094} ${SIM} ${I7094_OPT} -o $@ ${LDFLAGS} - -ibm1130 : ${BIN}ibm1130${EXE} - -${BIN}ibm1130${EXE} : ${IBM1130} - ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} -o $@ ${LDFLAGS} - -s3 : ${BIN}s3${EXE} - -${BIN}s3${EXE} : ${S3} ${SIM} - ${CC} ${S3} ${SIM} ${S3_OPT} -o $@ ${LDFLAGS} - -altair : ${BIN}altair${EXE} - -${BIN}altair${EXE} : ${ALTAIR} ${SIM} - ${CC} ${ALTAIR} ${SIM} ${ALTAIR_OPT} -o $@ ${LDFLAGS} - -altairz80 : ${BIN}altairz80${EXE} - -${BIN}altairz80${EXE} : ${ALTAIRZ80} ${SIM} - ${CC} ${ALTAIRZ80} ${SIM} ${ALTAIRZ80_OPT} -o $@ ${LDFLAGS} - -gri : ${BIN}gri${EXE} - -${BIN}gri${EXE} : ${GRI} ${SIM} - ${CC} ${GRI} ${SIM} ${GRI_OPT} -o $@ ${LDFLAGS} - -lgp : ${BIN}lgp${EXE} - -${BIN}lgp${EXE} : ${LGP} ${SIM} - ${CC} ${LGP} ${SIM} ${LGP_OPT} -o $@ ${LDFLAGS} - -id16 : ${BIN}id16${EXE} - -${BIN}id16${EXE} : ${ID16} ${SIM} - ${CC} ${ID16} ${SIM} ${ID16_OPT} -o $@ ${LDFLAGS} - -id32 : ${BIN}id32${EXE} - -${BIN}id32${EXE} : ${ID32} ${SIM} - ${CC} ${ID32} ${SIM} ${ID32_OPT} -o $@ ${LDFLAGS} - -sds : ${BIN}sds${EXE} - -${BIN}sds${EXE} : ${SDS} ${SIM} - ${CC} ${SDS} ${SIM} ${SDS_OPT} -o $@ ${LDFLAGS} - -swtp : ${BIN}swtp${EXE} - -${BIN}swtp${EXE} : ${SWTP} ${SIM} - ${CC} ${SWTP} ${SIM} ${SWTP_OPT} -o $@ ${LDFLAGS} \ No newline at end of file diff --git a/sim_rev.h b/sim_rev.h index 93b173ca..1104d399 100644 --- a/sim_rev.h +++ b/sim_rev.h @@ -191,6 +191,9 @@ patch date module(s) and fix(es) - fixed backspace over tapemark not to set EOR (Van Snyder) - added no rewind option (Van Snyder) + i1401_sys.c: + - fixed misuse of & instead of && in decode (Peter Schorn) + pdp1_cpu.c: - fixed misuse of & instead of && in Ea_ch (Michael Bloom) @@ -204,7 +207,8 @@ patch date module(s) and fix(es) - fixed priority of PIRQ vs IO; added INT_INTERNALn pdp11_io.c: - - fixed Qbus interrupts to treat all IO devices as BR4 + - fixed Qbus interrupts to treat all IO devices (except clock) as BR4 + - fixed order of int_internal (Jordi Guillaumes i Pons) ppd11_rf.c - fixed bug in updating mem addr extension (Peter Schorn) @@ -319,7 +323,7 @@ patch date module(s) and fix(es) - fixed bug in scan function decode (Peter Schorn) vax_cpu.c: - - revised idle design Mark Pizzolato) + - revised idle design (Mark Pizzolato) - fixed bug in SET CPU IDLE - fixed failure to clear PSL in BPT, XFC diff --git a/swtp6800/common/bootrom.c b/swtp6800/common/bootrom.c index c3ecc6e8..608ecae0 100644 --- a/swtp6800/common/bootrom.c +++ b/swtp6800/common/bootrom.c @@ -144,7 +144,7 @@ t_stat BOOTROM_config (UNIT *uptr, int32 val, char *cptr, void *desc) if (val == UNIT_NONE) BOOTROM_unit.capac = 0; /* set EPROM size */ else - BOOTROM_unit.capac = 0x200 << ((val >> UNIT_V_MSIZE) - 1); /* set EPROM size */ + BOOTROM_unit.capac = 0x200 << (val >> UNIT_V_MSIZE) - 1; /* set EPROM size */ if (BOOTROM_unit.filebuf) { /* free buffer */ free (BOOTROM_unit.filebuf); BOOTROM_unit.filebuf = NULL; @@ -161,9 +161,9 @@ t_stat BOOTROM_config (UNIT *uptr, int32 val, char *cptr, void *desc) t_stat BOOTROM_reset (DEVICE *dptr) { - t_addr j; - int c; + int j, c; FILE *fp; + t_stat r; if (BOOTROM_dev.dctrl & DEBUG_flow) printf("BOOTROM_reset: \n"); @@ -195,7 +195,7 @@ t_stat BOOTROM_reset (DEVICE *dptr) j = 0; /* load EPROM file */ c = fgetc(fp); while (c != EOF) { - *((uint8 *)(BOOTROM_unit.filebuf) + j++) = c & 0xFF; + *(uint8 *)(BOOTROM_unit.filebuf + j++) = c & 0xFF; c = fgetc(fp); if (j > BOOTROM_unit.capac) { printf("\tImage is too large - Load truncated!!!\n"); @@ -222,7 +222,7 @@ int32 BOOTROM_get_mbyte(int32 offset) } if (BOOTROM_dev.dctrl & DEBUG_read) printf("BOOTROM_get_mbyte: offset=%04X\n", offset); - val = *((uint8 *)(BOOTROM_unit.filebuf) + offset) & 0xFF; + val = *(uint8 *)(BOOTROM_unit.filebuf + offset) & 0xFF; if (BOOTROM_dev.dctrl & DEBUG_read) printf("BOOTROM_get_mbyte: Normal val=%02X\n", val); return val; diff --git a/swtp6800/common/dc-4.c b/swtp6800/common/dc-4.c index 80cfd54d..d4379808 100644 --- a/swtp6800/common/dc-4.c +++ b/swtp6800/common/dc-4.c @@ -368,6 +368,7 @@ t_stat dsk_reset (DEVICE *dptr) int32 fdcdrv(int32 io, int32 data) { static long pos; + char buf[128]; if (io) { /* write to DC-4 drive register */ if (dsk_dev.dctrl & DEBUG_write) @@ -393,9 +394,9 @@ int32 fdcdrv(int32 io, int32 data) sim_fread(dsk_unit[cur_dsk].filebuf, SECSIZ, 1, dsk_unit[cur_dsk].fileref); /* read in buffer */ dsk_unit[cur_dsk].u3 |= BUSY | DRQ; /* set DRQ & BUSY */ dsk_unit[cur_dsk].pos = 0; /* clear counter */ - spt = *((uint8 *)(dsk_unit[cur_dsk].filebuf) + MAXSEC) & 0xFF; + spt = *(uint8 *)(dsk_unit[cur_dsk].filebuf + MAXSEC) & 0xFF; heds = 0; - cpd = *((uint8 *)(dsk_unit[cur_dsk].filebuf) + MAXCYL) & 0xFF; + cpd = *(uint8 *)(dsk_unit[cur_dsk].filebuf + MAXCYL) & 0xFF; trksiz = spt * SECSIZ; dsksiz = trksiz * cpd; if (dsk_dev.dctrl & DEBUG_read) @@ -537,7 +538,7 @@ int32 fdcdata(int32 io, int32 data) if (dsk_unit[cur_dsk].pos < SECSIZ) { /* copy bytes to buffer */ if (dsk_dev.dctrl & DEBUG_write) printf("\nfdcdata: Writing byte %d of %02X", dsk_unit[cur_dsk].pos, data); - *((uint8 *)(dsk_unit[cur_dsk].filebuf) + dsk_unit[cur_dsk].pos) = data; /* byte into buffer */ + *(uint8 *)(dsk_unit[cur_dsk].filebuf + dsk_unit[cur_dsk].pos) = data; /* byte into buffer */ dsk_unit[cur_dsk].pos++; /* step counter */ if (dsk_unit[cur_dsk].pos == SECSIZ) { dsk_unit[cur_dsk].u3 &= ~(BUSY | DRQ); @@ -554,7 +555,7 @@ int32 fdcdata(int32 io, int32 data) if (dsk_unit[cur_dsk].pos < SECSIZ) { /* copy bytes from buffer */ if (dsk_dev.dctrl & DEBUG_read) printf("\nfdcdata: Reading byte %d u3=%02X", dsk_unit[cur_dsk].pos, dsk_unit[cur_dsk].u3); - val = *((uint8 *)(dsk_unit[cur_dsk].filebuf) + dsk_unit[cur_dsk].pos) & 0xFF; + val = *(uint8 *)(dsk_unit[cur_dsk].filebuf + dsk_unit[cur_dsk].pos) & 0xFF; dsk_unit[cur_dsk].pos++; /* step counter */ if (dsk_unit[cur_dsk].pos == SECSIZ) { /* done? */ dsk_unit[cur_dsk].u3 &= ~(BUSY | DRQ); /* clear flags */ diff --git a/swtp6800/common/i2716.c b/swtp6800/common/i2716.c index fe827008..77d4f61e 100644 --- a/swtp6800/common/i2716.c +++ b/swtp6800/common/i2716.c @@ -121,7 +121,7 @@ t_stat i2716_attach (UNIT *uptr, char *cptr) printf("\tOpen file\n"); fp = fopen(uptr->filename, "rb"); /* open EPROM file */ if (fp == NULL) { - printf("i2716%d: Unable to open ROM file %s\n", (int)(uptr - i2716_dev.units), uptr->filename); + printf("i2716%d: Unable to open ROM file %s\n", uptr - i2716_dev.units, uptr->filename); printf("\tNo ROM image loaded!!!\n"); return SCPE_OK; } @@ -130,7 +130,7 @@ t_stat i2716_attach (UNIT *uptr, char *cptr) j = 0; /* load EPROM file */ c = fgetc(fp); while (c != EOF) { - *((uint8 *)(uptr->filebuf) + j++) = c & 0xFF; + *(uint8 *)(uptr->filebuf + j++) = c & 0xFF; c = fgetc(fp); if (j > 2048) { printf("\tImage is too large - Load truncated!!!\n"); @@ -150,7 +150,8 @@ t_stat i2716_attach (UNIT *uptr, char *cptr) t_stat i2716_reset (DEVICE *dptr) { - int32 i, base; + int32 i, j, c, base; + t_stat r; UNIT *uptr; if (i2716_dev.dctrl & DEBUG_flow) @@ -206,7 +207,7 @@ int32 i2716_get_mbyte(int32 offset) printf("i2716_get_mbyte: EPROM not configured\n"); return 0xFF; } else { - val = *((uint8 *)(uptr->filebuf) + (offset - org)); + val = *(uint8 *)(uptr->filebuf + (offset - org)); if (i2716_dev.dctrl & DEBUG_read) printf(" val=%04X\n", val); return (val & 0xFF); diff --git a/swtp6800/common/m6800.c b/swtp6800/common/m6800.c index c7f8bf02..b87617a8 100644 --- a/swtp6800/common/m6800.c +++ b/swtp6800/common/m6800.c @@ -120,7 +120,7 @@ int32 int_req = 0; /* Interrupt request */ int32 mem_fault = 0; /* memory fault flag */ extern int32 sim_int_char; -extern uint32 sim_brk_types, sim_brk_dflt, sim_brk_summ; /* breakpoint info */ +extern int32 sim_brk_types, sim_brk_dflt, sim_brk_summ; /* breakpoint info */ /* function prototypes */ @@ -1892,7 +1892,7 @@ void condevalVa(int32 op1, int32 op2) { if (get_flag(CF)) COND_SET_FLAG_V(((op1 & 0x80) && (op2 & 0x80)) || ( - ((op1 & 0x80) == 0) && ((op2 & 0x80) == 0))); + (op1 & 0x80 == 0) && (op2 & 0x80 == 0))); } /* test and set V for subtraction */ @@ -1900,8 +1900,8 @@ void condevalVa(int32 op1, int32 op2) void condevalVs(int32 op1, int32 op2) { if (get_flag(CF)) - COND_SET_FLAG_V(((op1 & 0x80) && ((op2 & 0x80) == 0)) || - (((op1 & 0x80) == 0) && (op2 & 0x80))); + COND_SET_FLAG_V(((op1 & 0x80) && (op2 & 0x80 == 0)) || + ((op1 & 0x80 == 0) && (op2 & 0x80))); } /* calls from the simulator */ diff --git a/swtp6800/common/m6810.c b/swtp6800/common/m6810.c index 3bb5660a..382b6794 100644 --- a/swtp6800/common/m6810.c +++ b/swtp6800/common/m6810.c @@ -111,12 +111,12 @@ t_stat m6810_reset (DEVICE *dptr) int32 m6810_get_mbyte(int32 offset) { - int32 val; + int32 val, org, len; if (m6810_dev.dctrl & DEBUG_read) printf("m6810_get_mbyte: offset=%04X\n", offset); - if (((t_addr)offset) < m6810_unit.capac) { - val = *((uint8 *)(m6810_unit.filebuf) + offset) & 0xFF; + if (offset < m6810_unit.capac) { + val = *(uint8 *)(m6810_unit.filebuf + offset) & 0xFF; if (m6810_dev.dctrl & DEBUG_read) printf("val=%04X\n", val); return val; @@ -133,8 +133,8 @@ void m6810_put_mbyte(int32 offset, int32 val) { if (m6810_dev.dctrl & DEBUG_write) printf("m6810_put_mbyte: offset=%04X, val=%02X\n", offset, val); - if ((t_addr)offset < m6810_unit.capac) { - *((uint8 *)(m6810_unit.filebuf) + offset) = val & 0xFF; + if (offset < m6810_unit.capac) { + *(uint8 *)(m6810_unit.filebuf + offset) = val & 0xFF; return; } else { if (m6810_dev.dctrl & DEBUG_write) diff --git a/swtp6800/common/mp-8m.c b/swtp6800/common/mp-8m.c index 9126b05a..8b6e9b9a 100644 --- a/swtp6800/common/mp-8m.c +++ b/swtp6800/common/mp-8m.c @@ -120,7 +120,7 @@ t_stat mp_8m_reset (DEVICE *dptr) } for (j=0; j<8192; j++) { /* fill pattern for testing */ val = (0xA0 | i); - *((uint8 *)(uptr->filebuf) + j) = val & 0xFF; + *(uint8 *)(uptr->filebuf + j) = val & 0xFF; } } if (mp_8m_dev.dctrl & DEBUG_flow) @@ -151,7 +151,7 @@ int32 mp_8m_get_mbyte(int32 addr) org = uptr->u3; len = uptr->capac - 1; if ((addr >= org) && (addr <= org + len)) { - val = *((uint8 *)(uptr->filebuf) + (addr - org)); + val = *(uint8 *)(uptr->filebuf + (addr - org)); if (mp_8m_dev.dctrl & DEBUG_read) printf(" val=%04X\n", val); return (val & 0xFF); @@ -177,7 +177,7 @@ int32 mp_8m_get_mword(int32 addr) void mp_8m_put_mbyte(int32 addr, int32 val) { - int32 org, len; + int32 org, len, type; int32 i; UNIT *uptr; @@ -188,7 +188,7 @@ void mp_8m_put_mbyte(int32 addr, int32 val) org = uptr->u3; len = uptr->capac - 1; if ((addr >= org) && (addr < org + len)) { - *((uint8 *)(uptr->filebuf) + (addr - org)) = val & 0xFF; + *(uint8 *)(uptr->filebuf + (addr - org)) = val & 0xFF; if (mp_8m_dev.dctrl & DEBUG_write) printf("\n"); return; diff --git a/swtp6800/swtp6800/swtp_defs.h b/swtp6800/swtp6800/swtp_defs.h index 6b286405..9a935403 100644 --- a/swtp6800/swtp6800/swtp_defs.h +++ b/swtp6800/swtp6800/swtp_defs.h @@ -25,7 +25,7 @@ Copyright (c) 2005-2012, William Beech */ #include -#include "sim_defs.h" // simulator defs +#include "../../sim_defs.h" // simulator defs /* Memory */