diff --git a/descrip.mms b/descrip.mms index a6ac0a01..43aafd57 100644 --- a/descrip.mms +++ b/descrip.mms @@ -38,7 +38,8 @@ # PDP15 Just Build The DEC PDP-15. # S3 Just Build The IBM System 3. # SDS Just Build The SDS 940. -# SWTP Just Build The SWTP. +# SWTP6800MP-A Just Build The SWTP6800MP-A. +# SWTP6800MP-A2 Just Build The SWTP6800MP-A2. # VAX Just Build The DEC VAX. # VAX780 Just Build The DEC VAX780. # CLEAN Will Clean Files Back To Base Kit. @@ -559,13 +560,28 @@ SDS_SOURCE = $(SDS_DIR)SDS_CPU.C,$(SDS_DIR)SDS_DRM.C,$(SDS_DIR)SDS_DSK.C,\ SDS_OPTIONS = /INCL=($(SIMH_DIR),$(SDS_DIR))/DEF=($(CC_DEFS)) # -# SWTP 6800 +# SWTP 6800MP A # -SWTP_DIR = SYS$DISK:[.SWTP] -SWTP_LIB = $(LIB_DIR)SWTP-$(ARCH).OLB -SWTP_SOURCE = $(SWTP_DIR)SWTP_CPU.C,$(SWTP_DIR)SWTP_DSK.C,$(SWTP_DIR)SWTP_SIO.C,\ - $(SWTP_DIR)SWTP_SYS.C -SWTP_OPTIONS = /INCL=($(SIMH_DIR),$(SWTP_DIR))/DEF=($(CC_DEFS)) +SWTP6800MP_A_DIR = SYS$DISK:[.SWTP6800.SWTP6800] +SWTP6800MP_A_COMMON = SYS$DISK:[.SWTP6800.COMMON] +SWTP6800MP_A_LIB = $(LIB_DIR)SWTP6800MP-A-$(ARCH).OLB +SWTP6800MP_A_SOURCE = $(SWTP6800MP_A_COMMON)mp-a.c,$(SWTP6800MP_A_COMMON)m6800.c,\ + $(SWTP6800MP_A_COMMON)m6810.c,$(SWTP6800MP_A_COMMON)bootrom.c,$(SWTP6800MP_A_COMMON)dc-4.c,\ + $(SWTP6800MP_A_COMMON)mp-s.c,$(SWTP6800MP_A_DIR)mp-a_sys.c,$(SWTP6800MP_A_COMMON)mp-b2.c,\ + $(SWTP6800MP_A_COMMON)mp-8m.c +SWTP6800MP_A_OPTIONS = /INCL=($(SIMH_DIR),$(SWTP6800MP_A_DIR))/DEF=($(CC_DEFS)) + +# +# SWTP 6800MP A2 +# +SWTP6800MP_A2_DIR = SYS$DISK:[.SWTP6800.SWTP6800] +SWTP6800MP_A2_COMMON = SYS$DISK:[.SWTP6800.COMMON] +SWTP6800MP_A2_LIB = $(LIB_DIR)SWTP6800MP-A2-$(ARCH).OLB +SWTP6800MP_A2_SOURCE = $(SWTP6800MP_A2_COMMON)mp-a2.c,$(SWTP6800MP_A2_COMMON)m6800.c,\ + $(SWTP6800MP_A2_COMMON)m6810.c,$(SWTP6800MP_A2_COMMON)bootrom.c,$(SWTP6800MP_A2_COMMON)dc-4.c,\ + $(SWTP6800MP_A2_COMMON)mp-s.c,$(SWTP6800MP_A2_DIR)mp-a2_sys.c,$(SWTP6800MP_A2_COMMON)mp-b2.c,\ + $(SWTP6800MP_A2_COMMON)mp-8m.c,$(SWTP6800MP_A2_COMMON)i2716.c +SWTP6800MP_A2_OPTIONS = /INCL=($(SIMH_DIR),$(SWTP6800MP_A2_DIR))/DEF=($(CC_DEFS)) # # Digital Equipment VAX Simulator Definitions. @@ -643,14 +659,15 @@ I7094_OPTIONS = /INCL=($(SIMH_DIR),$(I7094_DIR))/DEF=($(CC_DEFS)) .IFDEF ALPHA_OR_IA64 ALL : ALTAIR ALTAIRZ80 ECLIPSE GRI LGP H316 HP2100 I1401 I1620 IBM1130 ID16 \ ID32 NOVA PDP1 PDP4 PDP7 PDP8 PDP9 PDP10 PDP11 PDP15 S3 VAX VAX780 SDS \ - I7094 SWTP + I7094 SWTP6800MP-A SWTP6800MP-A2 $! No further actions necessary .ELSE # # Else We Are On VAX And Build Everything EXCEPT the 64b simulators # ALL : ALTAIR ALTAIRZ80 GRI H316 HP2100 I1401 I1620 IBM1130 ID16 ID32 \ - NOVA PDP1 PDP4 PDP7 PDP8 PDP9 PDP11 PDP15 S3 VAX VAX780 SDS SWTP + NOVA PDP1 PDP4 PDP7 PDP8 PDP9 PDP11 PDP15 S3 VAX VAX780 SDS SWTP6800MP-A \ + SWTP6800MP-A2 $! No further actions necessary .ENDIF @@ -1006,11 +1023,22 @@ $(SDS_LIB) : $(SDS_SOURCE) $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* -$(SWTP_LIB) : $(SWTP_SOURCE) +$(SWTP6800MP_A_LIB) : $(SWTP6800MP_A_SOURCE) $! $! Building The $(SWTP_LIB) Library. $! - $ $(CC)$(SWTP_OPTIONS) - + $ $(CC)$(SWTP6800MP_A_OPTIONS) - + /OBJ=$(BLD_DIR) $(MMS$CHANGED_LIST) + $ IF (F$SEARCH("$(MMS$TARGET)").EQS."") THEN - + LIBRARY/CREATE $(MMS$TARGET) + $ LIBRARY/REPLACE $(MMS$TARGET) $(BLD_DIR)*.OBJ + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + +$(SWTP6800MP_A2_LIB) : $(SWTP6800MP_A2_SOURCE) + $! + $! Building The $(SWTP_LIB) Library. + $! + $ $(CC)$(SWTP6800MP_A2_OPTIONS) - /OBJ=$(BLD_DIR) $(MMS$CHANGED_LIST) $ IF (F$SEARCH("$(MMS$TARGET)").EQS."") THEN - LIBRARY/CREATE $(MMS$TARGET) @@ -1403,16 +1431,28 @@ $(BIN_DIR)SDS-$(ARCH).EXE : $(SIMH_MAIN) $(SIMH_LIB) $(SDS_LIB) $(BLD_DIR)SCP.OBJ,$(SDS_LIB)/LIBRARY,$(SIMH_LIB)/LIBRARY $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* -SWTP : $(BIN_DIR)SWTP-$(ARCH).EXE - $! SWTP done +SWTP6800MP-A : $(BIN_DIR)SWTP6800MP-A-$(ARCH).EXE + $! SWTP6800MP-A done -$(BIN_DIR)SWTP-$(ARCH).EXE : $(SIMH_MAIN) $(SIMH_LIB) $(SWTP_LIB) +$(BIN_DIR)SWTP6800MP-A-$(ARCH).EXE : $(SIMH_MAIN) $(SIMH_LIB) $(SWTP6800MP_A_LIB) $! - $! Building The $(BIN_DIR)SWTP-$(ARCH).EXE Simulator. + $! Building The $(BIN_DIR)SWTP6800MP-A-$(ARCH).EXE Simulator. $! $ $(CC)$(SWTP_OPTIONS)/OBJ=$(BLD_DIR) SCP.C - $ LINK $(LINK_DEBUG)/EXE=$(BIN_DIR)SWTP-$(ARCH).EXE - - $(BLD_DIR)SCP.OBJ,$(SWTP_LIB)/LIBRARY,$(SIMH_LIB)/LIBRARY + $ LINK $(LINK_DEBUG)/EXE=$(BIN_DIR)SWTP6800MP-A-$(ARCH).EXE - + $(BLD_DIR)SCP.OBJ,$(SWTP6800MP_A_LIB)/LIBRARY,$(SIMH_LIB)/LIBRARY + $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* + +SWTP6800MP-A2 : $(BIN_DIR)SWTP6800MP-A2-$(ARCH).EXE + $! SWTP6800MP-A2 done + +$(BIN_DIR)SWTP6800MP-A2-$(ARCH).EXE : $(SIMH_MAIN) $(SIMH_LIB) $(SWTP6800MP_A2_LIB) + $! + $! Building The $(BIN_DIR)SWTP6800MP-A2-$(ARCH).EXE Simulator. + $! + $ $(CC)$(SWTP_OPTIONS)/OBJ=$(BLD_DIR) SCP.C + $ LINK $(LINK_DEBUG)/EXE=$(BIN_DIR)SWTP6800MP-A2-$(ARCH).EXE - + $(BLD_DIR)SCP.OBJ,$(SWTP6800MP_A2_LIB)/LIBRARY,$(SIMH_LIB)/LIBRARY $ DELETE/NOLOG/NOCONFIRM $(BLD_DIR)*.OBJ;* VAX : $(BIN_DIR)VAX-$(ARCH).EXE diff --git a/makefile b/makefile index d723a1df..3fad78ad 100644 --- a/makefile +++ b/makefile @@ -23,6 +23,10 @@ # If debugging is desired, then GNU make can be invoked with # DEBUG=1 on the command line. # +# For linting (or other code analyzers) make may be invoked similar to: +# +# make GCC=cppcheck CC_OUTSPEC= LDFLAGS= CFLAGS_G="--enable=all --template=gcc" CC_STD=--std=c99 +# # CC Command (and platform available options). (Poor man's autoconf) # # building the pdp11, or any vax simulator could use networking support @@ -76,6 +80,10 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin) ifeq (Darwin,$(OSTYPE)) OSNAME = OSX LIBEXT = dylib + # OSX's XCode gcc doesn't support LTO, but gcc built to explicitly enable it will work + ifeq (,$(shell $(GCC) -v /dev/null 2>&1 | grep '\-\-enable-lto')) + LTO_EXCLUDE_VERSIONS += $(GCC_VERSION) + endif else ifeq (Linux,$(OSTYPE)) LIBPATH := $(sort $(foreach lib,$(shell /sbin/ldconfig -p | grep ' => /' | sed 's/^.* => //'),$(dir $(lib)))) @@ -352,7 +360,9 @@ ifneq ($(DONT_USE_READER_THREAD),) NETWORK_OPT += -DDONT_USE_READER_THREAD endif -CC = $(GCC) -std=c99 -U__STRICT_ANSI__ $(CFLAGS_G) $(CFLAGS_O) -I . $(OS_CCDEFS) $(ROMS_OPT) +CC_STD = -std=c99 +CC_OUTSPEC = -o $@ +CC = $(GCC) $(CC_STD) -U__STRICT_ANSI__ $(CFLAGS_G) $(CFLAGS_O) -I . $(OS_CCDEFS) $(ROMS_OPT) LDFLAGS = $(OS_LDFLAGS) $(NETWORK_LDFLAGS) $(LDFLAGS_O) # @@ -615,166 +625,166 @@ pdp1 : ${BIN}pdp1${EXE} ${BIN}pdp1${EXE} : ${PDP1} ${SIM} ${MKDIRBIN} - ${CC} ${PDP1} ${SIM} ${PDP1_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP1} ${SIM} ${PDP1_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp4 : ${BIN}pdp4${EXE} ${BIN}pdp4${EXE} : ${PDP18B} ${SIM} ${MKDIRBIN} - ${CC} ${PDP18B} ${SIM} ${PDP4_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP18B} ${SIM} ${PDP4_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp7 : ${BIN}pdp7${EXE} ${BIN}pdp7${EXE} : ${PDP18B} ${SIM} ${MKDIRBIN} - ${CC} ${PDP18B} ${SIM} ${PDP7_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP18B} ${SIM} ${PDP7_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp8 : ${BIN}pdp8${EXE} ${BIN}pdp8${EXE} : ${PDP8} ${SIM} ${MKDIRBIN} - ${CC} ${PDP8} ${SIM} ${PDP8_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP8} ${SIM} ${PDP8_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp9 : ${BIN}pdp9${EXE} ${BIN}pdp9${EXE} : ${PDP18B} ${SIM} ${MKDIRBIN} - ${CC} ${PDP18B} ${SIM} ${PDP9_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP18B} ${SIM} ${PDP9_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp15 : ${BIN}pdp15${EXE} ${BIN}pdp15${EXE} : ${PDP18B} ${SIM} ${MKDIRBIN} - ${CC} ${PDP18B} ${SIM} ${PDP15_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP18B} ${SIM} ${PDP15_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp10 : ${BIN}pdp10${EXE} ${BIN}pdp10${EXE} : ${PDP10} ${SIM} ${MKDIRBIN} - ${CC} ${PDP10} ${SIM} ${PDP10_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP10} ${SIM} ${PDP10_OPT} $(CC_OUTSPEC) ${LDFLAGS} pdp11 : ${BIN}pdp11${EXE} ${BIN}pdp11${EXE} : ${PDP11} ${SIM} ${MKDIRBIN} - ${CC} ${PDP11} ${SIM} ${PDP11_OPT} -o $@ ${LDFLAGS} + ${CC} ${PDP11} ${SIM} ${PDP11_OPT} $(CC_OUTSPEC) ${LDFLAGS} vax : ${BIN}vax${EXE} ${BIN}vax${EXE} : ${VAX} ${SIM} ${MKDIRBIN} - ${CC} ${VAX} ${SIM} ${VAX_OPT} -o $@ ${LDFLAGS} + ${CC} ${VAX} ${SIM} ${VAX_OPT} $(CC_OUTSPEC) ${LDFLAGS} vax780 : ${BIN}vax780${EXE} ${BIN}vax780${EXE} : ${VAX780} ${SIM} ${MKDIRBIN} - ${CC} ${VAX780} ${SIM} ${VAX780_OPT} -o $@ ${LDFLAGS} + ${CC} ${VAX780} ${SIM} ${VAX780_OPT} $(CC_OUTSPEC) ${LDFLAGS} nova : ${BIN}nova${EXE} ${BIN}nova${EXE} : ${NOVA} ${SIM} ${MKDIRBIN} - ${CC} ${NOVA} ${SIM} ${NOVA_OPT} -o $@ ${LDFLAGS} + ${CC} ${NOVA} ${SIM} ${NOVA_OPT} $(CC_OUTSPEC) ${LDFLAGS} eclipse : ${BIN}eclipse${EXE} ${BIN}eclipse${EXE} : ${ECLIPSE} ${SIM} ${MKDIRBIN} - ${CC} ${ECLIPSE} ${SIM} ${ECLIPSE_OPT} -o $@ ${LDFLAGS} + ${CC} ${ECLIPSE} ${SIM} ${ECLIPSE_OPT} $(CC_OUTSPEC) ${LDFLAGS} h316 : ${BIN}h316${EXE} ${BIN}h316${EXE} : ${H316} ${SIM} ${MKDIRBIN} - ${CC} ${H316} ${SIM} ${H316_OPT} -o $@ ${LDFLAGS} + ${CC} ${H316} ${SIM} ${H316_OPT} $(CC_OUTSPEC) ${LDFLAGS} hp2100 : ${BIN}hp2100${EXE} ${BIN}hp2100${EXE} : ${HP2100} ${SIM} ${MKDIRBIN} - ${CC} ${HP2100} ${SIM} ${HP2100_OPT} -o $@ ${LDFLAGS} + ${CC} ${HP2100} ${SIM} ${HP2100_OPT} $(CC_OUTSPEC) ${LDFLAGS} i1401 : ${BIN}i1401${EXE} ${BIN}i1401${EXE} : ${I1401} ${SIM} ${MKDIRBIN} - ${CC} ${I1401} ${SIM} ${I1401_OPT} -o $@ ${LDFLAGS} + ${CC} ${I1401} ${SIM} ${I1401_OPT} $(CC_OUTSPEC) ${LDFLAGS} i1620 : ${BIN}i1620${EXE} ${BIN}i1620${EXE} : ${I1620} ${SIM} ${MKDIRBIN} - ${CC} ${I1620} ${SIM} ${I1620_OPT} -o $@ ${LDFLAGS} + ${CC} ${I1620} ${SIM} ${I1620_OPT} $(CC_OUTSPEC) ${LDFLAGS} i7094 : ${BIN}i7094${EXE} ${BIN}i7094${EXE} : ${I7094} ${SIM} ${MKDIRBIN} - ${CC} ${I7094} ${SIM} ${I7094_OPT} -o $@ ${LDFLAGS} + ${CC} ${I7094} ${SIM} ${I7094_OPT} $(CC_OUTSPEC) ${LDFLAGS} ibm1130 : ${BIN}ibm1130${EXE} ${BIN}ibm1130${EXE} : ${IBM1130} ${MKDIRBIN} - ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} -o $@ ${LDFLAGS} + ${CC} ${IBM1130} ${SIM} ${IBM1130_OPT} $(CC_OUTSPEC) ${LDFLAGS} s3 : ${BIN}s3${EXE} ${BIN}s3${EXE} : ${S3} ${SIM} ${MKDIRBIN} - ${CC} ${S3} ${SIM} ${S3_OPT} -o $@ ${LDFLAGS} + ${CC} ${S3} ${SIM} ${S3_OPT} $(CC_OUTSPEC) ${LDFLAGS} altair : ${BIN}altair${EXE} ${BIN}altair${EXE} : ${ALTAIR} ${SIM} ${MKDIRBIN} - ${CC} ${ALTAIR} ${SIM} ${ALTAIR_OPT} -o $@ ${LDFLAGS} + ${CC} ${ALTAIR} ${SIM} ${ALTAIR_OPT} $(CC_OUTSPEC) ${LDFLAGS} altairz80 : ${BIN}altairz80${EXE} ${BIN}altairz80${EXE} : ${ALTAIRZ80} ${SIM} ${MKDIRBIN} - ${CC} ${ALTAIRZ80} ${SIM} ${ALTAIRZ80_OPT} -o $@ ${LDFLAGS} + ${CC} ${ALTAIRZ80} ${SIM} ${ALTAIRZ80_OPT} $(CC_OUTSPEC) ${LDFLAGS} gri : ${BIN}gri${EXE} ${BIN}gri${EXE} : ${GRI} ${SIM} ${MKDIRBIN} - ${CC} ${GRI} ${SIM} ${GRI_OPT} -o $@ ${LDFLAGS} + ${CC} ${GRI} ${SIM} ${GRI_OPT} $(CC_OUTSPEC) ${LDFLAGS} lgp : ${BIN}lgp${EXE} ${BIN}lgp${EXE} : ${LGP} ${SIM} ${MKDIRBIN} - ${CC} ${LGP} ${SIM} ${LGP_OPT} -o $@ ${LDFLAGS} + ${CC} ${LGP} ${SIM} ${LGP_OPT} $(CC_OUTSPEC) ${LDFLAGS} id16 : ${BIN}id16${EXE} ${BIN}id16${EXE} : ${ID16} ${SIM} ${MKDIRBIN} - ${CC} ${ID16} ${SIM} ${ID16_OPT} -o $@ ${LDFLAGS} + ${CC} ${ID16} ${SIM} ${ID16_OPT} $(CC_OUTSPEC) ${LDFLAGS} id32 : ${BIN}id32${EXE} ${BIN}id32${EXE} : ${ID32} ${SIM} ${MKDIRBIN} - ${CC} ${ID32} ${SIM} ${ID32_OPT} -o $@ ${LDFLAGS} + ${CC} ${ID32} ${SIM} ${ID32_OPT} $(CC_OUTSPEC) ${LDFLAGS} sds : ${BIN}sds${EXE} ${BIN}sds${EXE} : ${SDS} ${SIM} ${MKDIRBIN} - ${CC} ${SDS} ${SIM} ${SDS_OPT} -o $@ ${LDFLAGS} + ${CC} ${SDS} ${SIM} ${SDS_OPT} $(CC_OUTSPEC) ${LDFLAGS} swtp6800mp-a : ${BIN}swtp6800mp-a${EXE} ${BIN}swtp6800mp-a${EXE} : ${SWTP6800MP-A} ${SIM} ${MKDIRBIN} - ${CC} ${SWTP6800MP-A} ${SIM} ${SWTP6800_OPT} -o $@ ${LDFLAGS} + ${CC} ${SWTP6800MP-A} ${SIM} ${SWTP6800_OPT} $(CC_OUTSPEC) ${LDFLAGS} swtp6800mp-a2 : ${BIN}swtp6800mp-a2${EXE} ${BIN}swtp6800mp-a2${EXE} : ${SWTP6800MP-A2} ${SIM} ${MKDIRBIN} - ${CC} ${SWTP6800MP-A2} ${SIM} ${SWTP6800_OPT} -o $@ ${LDFLAGS} + ${CC} ${SWTP6800MP-A2} ${SIM} ${SWTP6800_OPT} $(CC_OUTSPEC) ${LDFLAGS} diff --git a/swtp6800/common/bootrom.c b/swtp6800/common/bootrom.c index 608ecae0..c3ecc6e8 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) { - int j, c; + t_addr j; + int 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 d4379808..80cfd54d 100644 --- a/swtp6800/common/dc-4.c +++ b/swtp6800/common/dc-4.c @@ -368,7 +368,6 @@ 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) @@ -394,9 +393,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) @@ -538,7 +537,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); @@ -555,7 +554,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 77d4f61e..fe827008 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", uptr - i2716_dev.units, uptr->filename); + printf("i2716%d: Unable to open ROM file %s\n", (int)(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,8 +150,7 @@ t_stat i2716_attach (UNIT *uptr, char *cptr) t_stat i2716_reset (DEVICE *dptr) { - int32 i, j, c, base; - t_stat r; + int32 i, base; UNIT *uptr; if (i2716_dev.dctrl & DEBUG_flow) @@ -207,7 +206,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 b87617a8..c7f8bf02 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 int32 sim_brk_types, sim_brk_dflt, sim_brk_summ; /* breakpoint info */ +extern uint32 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 382b6794..3bb5660a 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, org, len; + int32 val; if (m6810_dev.dctrl & DEBUG_read) printf("m6810_get_mbyte: offset=%04X\n", offset); - if (offset < m6810_unit.capac) { - val = *(uint8 *)(m6810_unit.filebuf + offset) & 0xFF; + if (((t_addr)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 (offset < m6810_unit.capac) { - *(uint8 *)(m6810_unit.filebuf + offset) = val & 0xFF; + if ((t_addr)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 8b6e9b9a..9126b05a 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, type; + int32 org, len; 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 9a935403..6b286405 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 */