From cebbacd309a7d076fbc568991ebf935e1332f8c8 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 3 Jul 2019 18:53:01 -0700 Subject: [PATCH 1/2] IBM360, ICL1900, PDP10-KA, PDP10-KI, PDP6: Windows build support Build video directly (when available) on KA10, KI10, and PDP6 --- Visual Studio Projects/IBM360.vcproj | 358 ++++++++++++++++++++ Visual Studio Projects/IBM360_32.vcproj | 358 ++++++++++++++++++++ Visual Studio Projects/ICL1900.vcproj | 366 +++++++++++++++++++++ Visual Studio Projects/PDP10-KA.vcproj | 211 +++++++----- Visual Studio Projects/PDP10-KI.vcproj | 111 +++++-- Visual Studio Projects/PDP6.vcproj | 418 ++++++++++++++++++++++++ Visual Studio Projects/Simh.sln | 36 ++ makefile | 55 ++-- 8 files changed, 1780 insertions(+), 133 deletions(-) create mode 100644 Visual Studio Projects/IBM360.vcproj create mode 100644 Visual Studio Projects/IBM360_32.vcproj create mode 100644 Visual Studio Projects/ICL1900.vcproj create mode 100644 Visual Studio Projects/PDP6.vcproj diff --git a/Visual Studio Projects/IBM360.vcproj b/Visual Studio Projects/IBM360.vcproj new file mode 100644 index 0000000..e781ac4 --- /dev/null +++ b/Visual Studio Projects/IBM360.vcproj @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Visual Studio Projects/IBM360_32.vcproj b/Visual Studio Projects/IBM360_32.vcproj new file mode 100644 index 0000000..46ae8d5 --- /dev/null +++ b/Visual Studio Projects/IBM360_32.vcproj @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Visual Studio Projects/ICL1900.vcproj b/Visual Studio Projects/ICL1900.vcproj new file mode 100644 index 0000000..4d4dca5 --- /dev/null +++ b/Visual Studio Projects/ICL1900.vcproj @@ -0,0 +1,366 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Visual Studio Projects/PDP10-KA.vcproj b/Visual Studio Projects/PDP10-KA.vcproj index 1aac09b..0a7d76f 100644 --- a/Visual Studio Projects/PDP10-KA.vcproj +++ b/Visual Studio Projects/PDP10-KA.vcproj @@ -26,7 +26,7 @@ - @@ -44,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="../PDP10/;../PDP11/;../VAX/;../../windows-build/libSDL/SDL2-2.0.5/include;./;../;../slirp;../slirp_glue;../slirp_glue/qemu;../slirp_glue/qemu/win32/include;../../windows-build/winpcap/Wpdpack/Include;../../windows-build/PCRE/include/;../../windows-build/pthreads;../../windows-build/libSDL/SDL2-2.0.8/include;../../windows-build/libpng-1.6.18" - PreprocessorDefinitions="USE_INT64;USE_SIM_CARD;KA=1;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;SIM_NEED_GIT_COMMIT_ID;HAVE_PCREPOSIX_H;PCRE_STATIC;USE_SHARED;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO" + PreprocessorDefinitions="USE_INT64;USE_SIM_CARD;KA=1;USE_DISPLAY;USE_SIM_VIDEO;HAVE_LIBSDL;USE_SHARED;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;SIM_NEED_GIT_COMMIT_ID;HAVE_PCREPOSIX_H;PCRE_STATIC;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO" KeepComments="false" MinimalRebuild="true" BasicRuntimeChecks="0" @@ -66,9 +63,10 @@ /> - @@ -132,7 +127,7 @@ OmitFramePointers="true" WholeProgramOptimization="true" AdditionalIncludeDirectories="../PDP10/;../PDP11/;../VAX/;../../windows-build/libSDL/SDL2-2.0.5/include;./;../;../slirp;../slirp_glue;../slirp_glue/qemu;../slirp_glue/qemu/win32/include;../../windows-build/winpcap/Wpdpack/Include;../../windows-build/PCRE/include/;../../windows-build/pthreads;../../windows-build/libSDL/SDL2-2.0.8/include;../../windows-build/libpng-1.6.18" - PreprocessorDefinitions="USE_INT64;USE_SIM_CARD;KA=1;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;SIM_NEED_GIT_COMMIT_ID;HAVE_PCREPOSIX_H;PCRE_STATIC;USE_SHARED;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO" + PreprocessorDefinitions="USE_INT64;USE_SIM_CARD;KA=1;USE_DISPLAY;USE_SIM_VIDEO;HAVE_LIBSDL;USE_SHARED;_CRT_NONSTDC_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;SIM_NEED_GIT_COMMIT_ID;HAVE_PCREPOSIX_H;PCRE_STATIC;PTW32_STATIC_LIB;USE_READER_THREAD;SIM_ASYNCH_IO" StringPooling="true" RuntimeLibrary="0" EnableFunctionLevelLinking="true" @@ -152,15 +147,17 @@ /> - - - - - - - - - - - - - - - - - - - - @@ -262,23 +219,15 @@ > - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - diff --git a/Visual Studio Projects/PDP10-KI.vcproj b/Visual Studio Projects/PDP10-KI.vcproj index 7098946..0e287b6 100644 --- a/Visual Studio Projects/PDP10-KI.vcproj +++ b/Visual Studio Projects/PDP10-KI.vcproj @@ -26,7 +26,7 @@ + + + + + + + + + + + + @@ -306,13 +341,37 @@ RelativePath="..\sim_video.c" > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Visual Studio Projects/Simh.sln b/Visual Studio Projects/Simh.sln index ab8bea5..c467359 100644 --- a/Visual Studio Projects/Simh.sln +++ b/Visual Studio Projects/Simh.sln @@ -313,6 +313,26 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PDP10-KI", "PDP10-KI.vcproj {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PDP6", "PDP6.vcproj", "{E1360A12-C173-4AD0-889C-5114B893EA6F}" + ProjectSection(ProjectDependencies) = postProject + {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IBM360", "IBM360.vcproj", "{F0A00C2C-16BB-4580-B6F1-C68C7D173D76}" + ProjectSection(ProjectDependencies) = postProject + {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ICL1900", "ICL1900.vcproj", "{4E47E442-0E1C-40CD-8398-5D59C123AC53}" + ProjectSection(ProjectDependencies) = postProject + {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IBM360_32", "IBM360_32.vcproj", "{2C6C00AA-F794-42D9-A79A-75778627BA56}" + ProjectSection(ProjectDependencies) = postProject + {D40F3AF1-EEE7-4432-9807-2AD287B490F8} = {D40F3AF1-EEE7-4432-9807-2AD287B490F8} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -571,6 +591,22 @@ Global {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Debug|Win32.Build.0 = Debug|Win32 {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Release|Win32.ActiveCfg = Release|Win32 {0BA63EC5-BD4F-44FB-AE89-7DD2C84CB1D9}.Release|Win32.Build.0 = Release|Win32 + {E1360A12-C173-4AD0-889C-5114B893EA6F}.Debug|Win32.ActiveCfg = Debug|Win32 + {E1360A12-C173-4AD0-889C-5114B893EA6F}.Debug|Win32.Build.0 = Debug|Win32 + {E1360A12-C173-4AD0-889C-5114B893EA6F}.Release|Win32.ActiveCfg = Release|Win32 + {E1360A12-C173-4AD0-889C-5114B893EA6F}.Release|Win32.Build.0 = Release|Win32 + {F0A00C2C-16BB-4580-B6F1-C68C7D173D76}.Debug|Win32.ActiveCfg = Debug|Win32 + {F0A00C2C-16BB-4580-B6F1-C68C7D173D76}.Debug|Win32.Build.0 = Debug|Win32 + {F0A00C2C-16BB-4580-B6F1-C68C7D173D76}.Release|Win32.ActiveCfg = Release|Win32 + {F0A00C2C-16BB-4580-B6F1-C68C7D173D76}.Release|Win32.Build.0 = Release|Win32 + {4E47E442-0E1C-40CD-8398-5D59C123AC53}.Debug|Win32.ActiveCfg = Debug|Win32 + {4E47E442-0E1C-40CD-8398-5D59C123AC53}.Debug|Win32.Build.0 = Debug|Win32 + {4E47E442-0E1C-40CD-8398-5D59C123AC53}.Release|Win32.ActiveCfg = Release|Win32 + {4E47E442-0E1C-40CD-8398-5D59C123AC53}.Release|Win32.Build.0 = Release|Win32 + {2C6C00AA-F794-42D9-A79A-75778627BA56}.Debug|Win32.ActiveCfg = Debug|Win32 + {2C6C00AA-F794-42D9-A79A-75778627BA56}.Debug|Win32.Build.0 = Debug|Win32 + {2C6C00AA-F794-42D9-A79A-75778627BA56}.Release|Win32.ActiveCfg = Release|Win32 + {2C6C00AA-F794-42D9-A79A-75778627BA56}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/makefile b/makefile index 0d8247a..a7b0616 100644 --- a/makefile +++ b/makefile @@ -588,6 +588,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin) VIDEO_FEATURES = - video capabilities provided by libSDL2 (Simple Directmedia Layer) DISPLAYL = ${DISPLAYD}/display.c $(DISPLAYD)/sim_ws.c DISPLAYVT = ${DISPLAYD}/vt11.c + DISPLAY340 = ${DISPLAYD}/type340.c DISPLAY_OPT += -DUSE_DISPLAY $(VIDEO_CCDEFS) $(VIDEO_LDFLAGS) $(info using libSDL2: $(call find_include,SDL2/SDL)) ifeq (Darwin,$(OSTYPE)) @@ -611,6 +612,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin) VIDEO_FEATURES = - video capabilities provided by libSDL (Simple Directmedia Layer) DISPLAYL = ${DISPLAYD}/display.c $(DISPLAYD)/sim_ws.c DISPLAYVT = ${DISPLAYD}/vt11.c + DISPLAY340 = ${DISPLAYD}/type340.c DISPLAY_OPT += -DUSE_DISPLAY $(VIDEO_CCDEFS) $(VIDEO_LDFLAGS) $(info using libSDL: $(call find_include,SDL/SDL)) ifeq (Darwin,$(OSTYPE)) @@ -1199,20 +1201,20 @@ IBM360_OPT = -I $(IBM360D) -DIBM360 -DUSE_64BIT -DUSE_SIM_CARD IBM360_OPT32 = -I $(IBM360D) -DIBM360 -DUSE_SIM_CARD PDP6D = PDP10 +ifneq (,$(DISPLAY_OPT)) + PDP6_DISPLAY_OPT = +endif PDP6 = ${PDP6D}/kx10_cpu.c ${PDP6D}/kx10_sys.c ${PDP6D}/kx10_cty.c \ ${PDP6D}/kx10_lp.c ${PDP6D}/kx10_pt.c ${PDP6D}/kx10_cr.c \ ${PDP6D}/kx10_cp.c ${PDP6D}/pdp6_dct.c ${PDP6D}/pdp6_dtc.c \ - ${PDP6D}/pdp6_mtc.c ${PDP6D}/pdp6_dsk.c ${PDP6D}/pdp6_dcs.c -PDP6_OPT = -DPDP6=1 -DUSE_INT64 -I $(PDP6D) -DUSE_SIM_CARD -ifneq ($(TYPE340),) -# ONLY tested on Ubuntu 16.04, using X11 display support: -PDP6_DPY=-DUSE_DISPLAY -DHAVE_LIBSDL -DUSE_SIM_VIDEO `$(SDLX_CONFIG) --cflags` \ - ${PDP6D}/kx10_dpy.c display/type340.c display/display.c \ - display/sim_ws.c -PDP6_DPY_LDFLAGS =-lm -lX11 -lXt `$(SDLX_CONFIG) --libs` -endif + ${PDP6D}/pdp6_mtc.c ${PDP6D}/pdp6_dsk.c ${PDP6D}/pdp6_dcs.c \ + ${KI10D}/kx10_dpy.c ${DISPLAYL} $(DISPLAY340) +PDP6_OPT = -DPDP6=1 -DUSE_INT64 -I $(PDP6D) -DUSE_SIM_CARD $(DISPLAY_OPT) $(PDP6_DISPLAY_OPT) KA10D = PDP10 +ifneq (,$(DISPLAY_OPT)) + KA10_DISPLAY_OPT = +endif KA10 = ${KA10D}/kx10_cpu.c ${KA10D}/kx10_sys.c ${KA10D}/kx10_df.c \ ${KA10D}/kx10_dp.c ${KA10D}/kx10_mt.c ${KA10D}/kx10_cty.c \ ${KA10D}/kx10_lp.c ${KA10D}/kx10_pt.c ${KA10D}/kx10_dc.c \ @@ -1223,16 +1225,9 @@ KA10 = ${KA10D}/kx10_cpu.c ${KA10D}/kx10_sys.c ${KA10D}/kx10_df.c \ ${KA10D}/ka10_imx.c ${KA10D}/ka10_ch10.c ${KA10D}/ka10_stk.c \ ${KA10D}/ka10_ten11.c ${KA10D}/ka10_auxcpu.c $(KA10D)/ka10_pmp.c \ ${PDP10D}/ka10_dkb.c ${PDP6D}/pdp6_dct.c ${PDP6D}/pdp6_dtc.c \ - ${PDP6D}/pdp6_mtc.c ${PDP6D}/pdp6_dsk.c ${PDP6D}/pdp6_dcs.c -KA10_OPT = -DKA=1 -DUSE_INT64 -I $(KA10D) -DUSE_SIM_CARD ${NETWORK_OPT} - -ifneq ($(TYPE340),) -# ONLY tested on Ubuntu 16.04, using X11 display support: -KA10_DPY=-DUSE_DISPLAY -DHAVE_LIBSDL -DUSE_SIM_VIDEO `$(SDLX_CONFIG) --cflags` \ - ${KA10D}/kx10_dpy.c display/type340.c display/display.c \ - display/sim_ws.c -KA10_DPY_LDFLAGS =-lm -lX11 -lXt `$(SDLX_CONFIG) --libs` -endif + ${PDP6D}/pdp6_mtc.c ${PDP6D}/pdp6_dsk.c ${PDP6D}/pdp6_dcs.c \ + ${KI10D}/kx10_dpy.c ${DISPLAYL} $(DISPLAY340) +KA10_OPT = -DKA=1 -DUSE_INT64 -I $(KA10D) -DUSE_SIM_CARD ${NETWORK_OPT} $(DISPLAY_OPT) $(KA10_DISPLAY_OPT) ifneq ($(PANDA_LIGHTS),) # ONLY for Panda display. KA10_OPT += -DPANDA_LIGHTS @@ -1241,27 +1236,23 @@ KA10_LDFLAGS += -lusb-1.0 endif KI10D = PDP10 +ifneq (,$(DISPLAY_OPT)) +KI10_DISPLAY_OPT = +endif KI10 = ${KI10D}/kx10_cpu.c ${KI10D}/kx10_sys.c ${KI10D}/kx10_df.c \ ${KI10D}/kx10_dp.c ${KI10D}/kx10_mt.c ${KI10D}/kx10_cty.c \ ${KI10D}/kx10_lp.c ${KI10D}/kx10_pt.c ${KI10D}/kx10_dc.c \ ${KI10D}/kx10_rp.c ${KI10D}/kx10_rc.c ${KI10D}/kx10_dt.c \ ${KI10D}/kx10_dk.c ${KI10D}/kx10_cr.c ${KI10D}/kx10_cp.c \ - ${KI10D}/kx10_tu.c ${KI10D}/kx10_rs.c ${KI10D}/kx10_imp.c -KI10_OPT = -DKI=1 -DUSE_INT64 -I $(KA10D) -DUSE_SIM_CARD ${NETWORK_OPT} + ${KI10D}/kx10_tu.c ${KI10D}/kx10_rs.c ${KI10D}/kx10_imp.c \ + ${KI10D}/kx10_dpy.c ${DISPLAYL} $(DISPLAY340) +KI10_OPT = -DKI=1 -DUSE_INT64 -I $(KI10D) -DUSE_SIM_CARD ${NETWORK_OPT} $(DISPLAY_OPT) $(KI10_DISPLAY_OPT) ifneq ($(PANDA_LIGHTS),) # ONLY for Panda display. KI10_OPT += -DPANDA_LIGHTS KI10 += ${KA10D}/ka10_lights.c KI10_LDFLAGS = -lusb-1.0 endif -ifneq ($(TYPE340),) -# ONLY tested on Ubuntu 16.04, using X11 display support: -KI10_DPY=-DUSE_DISPLAY -DHAVE_LIBSDL -DUSE_SIM_VIDEO `$(SDLX_CONFIG) --cflags` \ - ${KI10D}/kx10_dpy.c display/type340.c display/display.c \ - display/sim_ws.c -KI10_DPY_LDFLAGS =-lm -lX11 -lXt `$(SDLX_CONFIG) --libs` -endif - PDP1D = PDP1 ifneq (,$(DISPLAY_OPT)) @@ -1987,7 +1978,7 @@ pdp6 : ${BIN}pdp6${EXE} ${BIN}pdp6${EXE} : ${PDP6} ${SIM} ${MKDIRBIN} - ${CC} ${PDP6} ${PDP6_DPY} ${SIM} ${PDP6_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${PDP6_LDFLAGS} ${PDP6_DPY_LDFLAGS} + ${CC} ${PDP6} ${PDP6_DPY} ${SIM} ${PDP6_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${PDP6_LDFLAGS} ifneq (,$(call find_test,${PDP10D},pdp6)) $@ $(call find_test,${PDP10D},pdp6) $(TEST_ARG) endif @@ -1996,7 +1987,7 @@ pdp10-ka : ${BIN}pdp10-ka${EXE} ${BIN}pdp10-ka${EXE} : ${KA10} ${SIM} ${MKDIRBIN} - ${CC} ${KA10} ${KA10_DPY} ${SIM} ${KA10_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${KA10_LDFLAGS} ${KA10_DPY_LDFLAGS} + ${CC} ${KA10} ${KA10_DPY} ${SIM} ${KA10_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${KA10_LDFLAGS} ifneq (,$(call find_test,${PDP10D},ka10)) $@ $(call find_test,${PDP10D},ka10) $(TEST_ARG) endif @@ -2005,7 +1996,7 @@ pdp10-ki : ${BIN}pdp10-ki${EXE} ${BIN}pdp10-ki${EXE} : ${KI10} ${SIM} ${MKDIRBIN} - ${CC} ${KI10} ${KI10_DPY} ${SIM} ${KI10_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${KI10_LDFLAGS} ${KI10_DPY_LDFLAGS} + ${CC} ${KI10} ${KI10_DPY} ${SIM} ${KI10_OPT} $(CC_OUTSPEC) ${LDFLAGS} ${KI10_LDFLAGS} ifneq (,$(call find_test,${PDP10D},ki10)) $@ $(call find_test,${PDP10D},ki10) $(TEST_ARG) endif From 271549f7cc30f8ac71d5dff99a1448c9629392c0 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 3 Jul 2019 18:53:40 -0700 Subject: [PATCH 2/2] KA10, KI10, IBM360: Windows build minor cleanup for compiles --- IBM360/ibm360_cpu.c | 4 ++-- PDP10/ka10_auxcpu.c | 4 ++-- PDP10/ka10_ten11.c | 16 ++++++++-------- PDP10/kx10_cpu.c | 3 +-- PDP10/kx10_dpy.c | 1 - 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/IBM360/ibm360_cpu.c b/IBM360/ibm360_cpu.c index b789ece..75daba8 100644 --- a/IBM360/ibm360_cpu.c +++ b/IBM360/ibm360_cpu.c @@ -4181,7 +4181,7 @@ lpsw: * return 1 if error. * return 0 if ok. */ -int dec_load(uint8 *data, uint32 addr, uint len, int *sign) +int dec_load(uint8 *data, uint32 addr, int len, int *sign) { uint32 temp; int i, j; @@ -4224,7 +4224,7 @@ int dec_load(uint8 *data, uint32 addr, uint len, int *sign) * return 1 if error. * return 0 if ok. */ -int dec_store(uint8 *data, uint32 addr, uint len, int sign) +int dec_store(uint8 *data, uint32 addr, int len, int sign) { uint32 temp; int i, j; diff --git a/PDP10/ka10_auxcpu.c b/PDP10/ka10_auxcpu.c index 109fec4..a14c263 100644 --- a/PDP10/ka10_auxcpu.c +++ b/PDP10/ka10_auxcpu.c @@ -157,10 +157,10 @@ static t_stat auxcpu_detach (UNIT *uptr) return r; } -static void build (unsigned char *request, unsigned char octet) +static void build (unsigned char *request, t_uint64 octet) { request[0]++; - request[request[0]] = octet; + request[request[0]] = octet & 0377; } static t_stat auxcpu_svc (UNIT *uptr) diff --git a/PDP10/ka10_ten11.c b/PDP10/ka10_ten11.c index 67f894a..0fef493 100644 --- a/PDP10/ka10_ten11.c +++ b/PDP10/ka10_ten11.c @@ -329,7 +329,7 @@ int ten11_read (int addr, uint64 *data) return 0; } -static int write_word (int addr, int data) +static int write_word (int addr, uint16 data) { unsigned char request[8]; unsigned char response[8]; @@ -342,11 +342,11 @@ static int write_word (int addr, int data) memset (request, 0, sizeof request); build (request, DATO); - build (request, addr >> 16); - build (request, addr >> 8); - build (request, addr); - build (request, data >> 8); - build (request, data); + build (request, (addr >> 16) & 0377); + build (request, (addr >> 8) & 0377); + build (request, addr & 0377); + build (request, (data >> 8) & 0377); + build (request, data & 0377); transaction (request, response); @@ -408,9 +408,9 @@ int ten11_write (int addr, uint64 data) unibus, uaddr, data); if ((data & 010) == 0) - write_word (uaddr, data >> 20); + write_word (uaddr, (data >> 20) & 0177777); if ((data & 004) == 0) - write_word (uaddr + 2, data >> 4); + write_word (uaddr + 2, (data >> 4) & 0177777); } return 0; } diff --git a/PDP10/kx10_cpu.c b/PDP10/kx10_cpu.c index ffb20dd..9030ed5 100644 --- a/PDP10/kx10_cpu.c +++ b/PDP10/kx10_cpu.c @@ -817,7 +817,7 @@ set_quantum() if ((qua_time & RSIGN) == 0) { double us; us = (double)(RSIGN - qua_time); - (void)sim_activate_after(&cpu_unit[1], us); + (void)sim_activate_after_d(&cpu_unit[1], us); } } @@ -5972,7 +5972,6 @@ rtc_srv(UNIT * uptr) t_stat qua_srv(UNIT * uptr) { - int32 t; if ((fault_data & 1) == 0 && pi_enable && !pi_pending && (FLAGS & USER) != 0) { mem_prot = 1; fault_data |= 1; diff --git a/PDP10/kx10_dpy.c b/PDP10/kx10_dpy.c index 2afbbec..e8b3822 100644 --- a/PDP10/kx10_dpy.c +++ b/PDP10/kx10_dpy.c @@ -211,7 +211,6 @@ int dpy_update_status (UNIT *uptr, ty340word status, int done) t_stat dpy_devio(uint32 dev, uint64 *data) { int unit = (dev - DPY_DEVNUM) >> 2; UNIT *uptr; - int32 t; int32 inst; if (unit < 0 || unit >= NUM_DEVS_DPY)