1
0
mirror of https://github.com/simh/simh.git synced 2026-01-13 15:27:14 +00:00

447 Commits

Author SHA1 Message Date
Mark Pizzolato
b4b18f02f9 makefile: Make non debug builds with -O3 and LTO under gcc with -fwhole-program 2022-10-29 18:03:33 -10:00
Lars Brinkhoff
64a9c021f3 PDP11: Add MB11. 2022-10-10 12:32:28 +02:00
Lars Brinkhoff
a43b39acf7 PDP11: Add Logo TV raster display. 2019-09-27 12:00:58 +02:00
Mark Pizzolato
aad6cb5fc0 makefile: Add explicit option LTO=1 to enable Link Time Optimization builds 2022-10-28 14:59:03 -10:00
Mark Pizzolato
1ca0b3159e makefile: Make sure missing pcap is added to the desired package list 2022-10-27 02:14:52 -10:00
Mark Pizzolato
f7112f626f makefile: Make gcc and clang warnings fail builds on compile warnings
This change allows CI builds to fail without detailed viewing of build output
for gcc and clang builds (all modern compilers).  Thus forcing PR submitters
to find these problems before PRs are merged.  This is done  by compiling
with -Werror for these compilers.

We don't know how to do this for other compilers which may be able to use
the makefile, so warnings there will still proceed to build successfully.
2022-10-25 16:41:54 -10:00
Mark Pizzolato
c9252d1e42 makefile, SCP: Ignore the presence of , in "uname -a" output
Fix #1164
2022-10-27 09:07:32 -10:00
Mark Pizzolato
c94b00529d makefile: Add missing BUILD_ROMS dependency for the pdp11 simulator 2022-10-27 08:31:09 -10:00
Lars Brinkhoff
06cae15d92 PDP11: DH11 device. 2022-10-15 17:53:47 +02:00
Howard M. Harte
7fec24dbde AltairZ80: M68K: Changes for SIMH.
Build: Compiled with VS 2022, Clang, gcc.
Test: Boot and run CP/M-68K from: https://schorn.ch/cpm/zip/cpm68k.zip
2022-10-08 00:25:04 -07:00
Howard M. Harte
f2a1e15d13 AltairZ80: M68K: Move Musashi to m68k directory.
The M68K CPU is from https://github.com/kstenerud/Musashi.  Move into
its own directory to facilitate easier synchronization with upstream
Musashi.
2022-10-08 00:24:49 -07:00
Mark Pizzolato
39260a353a makefile: Add package knowledge and prompting for FreeBSD and OpenBSD 2022-10-21 12:19:58 -10:00
Mark Pizzolato
2673530d3d SCP: makefile: Extend SHOW VERSION output to include build OS version
This is only displayed when the build OS version is different from the
running OS version.
2022-10-17 11:43:27 -10:00
Mark Pizzolato
3dbac4c4dd makefile: Simplify and correct the messaging about missing dependencies
- When dependencies needed for the specified build target(s) are not
  all available, display explicitly what is package(s) are missing for the
  current platform's package manager.  Ask if the build should proceed
  or if the missing pieces should be installed first.  If the user wants to
  install the missing package(s) first, then show them precicely what
  commands are needed for that package manager on that platform.
  If the platform is macOS and the package manager is HomeBrew, then
  automatically install missing packages and perform the initially desired
  build.  All other package managers require root access, so the commands
  the user needs to enter to install the missing packages and to restart the
  build are displayed the build exits.
- Explicit support provided for
   1) HomeBrew and MacPorts on macOS,
   2) apt AND yum on various Linux distributions
   3) pkgin on NetBSD
  for Debian and
2022-10-07 08:23:46 -10:00
Mark Pizzolato
183c9c5fc7 makefile: Remove makefile passing of SDL_MAIN_AVAILABLE
This is only based on the APPLE platform and is now specified in
sim_video.h
2022-09-27 13:58:50 -10:00
Mark Pizzolato
3ef47b31c1 SCP: Add support for compiled in readline and dlopen support on all platforms
Compiled in support is preferred over dlopen efforts with a fallback to
printf/fgets when neither is available at compile and runtime.

All platforms support file path expansion on command entry of tab characters
2022-09-27 09:07:02 -10:00
Mark Pizzolato
bf64a152d9 makefile: Correct experimental/incomplete simulator list and add to CI build 2022-09-26 13:42:30 -10:00
Mark Pizzolato
e599afcd68 BESM6: Cleanup makefile and Visual Studio build support
- Avoid explicit search for font file (which is now done at runtime
  activation of the display panel)
- Retain ability for FONTFILE to be explicitly specified on the make command
2022-09-10 08:42:23 -07:00
Mark Pizzolato
21f2aeb453 makefile: Update makefile sel32 definitions to use {} instead of ()
This makes this simulator identical in form to all others and simplifies
alternate parsing/transformation of the makefile to alternate forms (cmake).
2022-08-12 13:29:18 -10:00
Mark Pizzolato
e246888e99 makefile, README: Update MacOS required libraries to include pcre 2022-07-14 18:40:12 -10:00
Richard Cornwell
eae0123879 Updated Makefile and Visual Studio project to include extra devices on KL10. 2022-06-21 09:51:19 -04:00
Bill Beech
d21f04bc64 SWTP6800: Update to simulators
- General cleanup of codebase
- Fixed condition codes m6800.c  from Roberto Sancho Villa
- Add additional FDC lfd-400 from Roberto Sancho Villa
- Add additional OS's (FLEX 1.0, FDOS 1.0, DOS68, MiniDOS, and MiniDOS-MPX)
  to software support
- Add additional disk formats to software support dc-4.c  from Roberto
  Sancho Villa
- Add CPU history
- Fix LOAD/DUMP to support binary and hex
- Fix fprintf_sym to disassemble 6800 code correctly
- Add EXAMINE/DEPOSIT to CPU Memory
- Fixed disasm to space the register
- Add SET_FLAG(IF) to IRQ – fixed error in handling IRQ from
  Roberto Sancho Villa
2022-06-09 14:28:04 -07:00
Mark Pizzolato
ac73e7b4c7 Unibus and Qbus VAXen: Add DUP-11/DPV-11 device
These devices start disabled and will be that way in essentially all
working systems, but there apparently was a DECnet Phase V
support for this device, so it is added to all systems. The DPV
should now be readily testable.

As mentioned in #1152.  That PR will fix the DUP device.
2022-05-12 13:12:55 -07:00
Mark Pizzolato
87597ea7f4 makefile: Add imlac and tt2500 to the all target. 2022-03-05 04:34:46 -08:00
Mark Pizzolato
7aba63028c makefile: Remove include file from the SEL32 source file list 2022-03-04 09:06:23 -08:00
Mark Pizzolato
7c41688261 makefile: Report testing arguments at build startup 2022-03-03 17:41:54 -08:00
AZBevier
4991701ee6 SEL32: Add new SEL32 simulator. 2022-03-03 16:25:48 -07:00
Mark Pizzolato
7ad62c5ee6 makefile: simplify the selection of simulators that can use network components 2022-02-20 08:51:18 -08:00
Richard Cornwell
84c713b494 makefile: Add KS10 build support 2022-02-19 18:43:39 -08:00
Mark Pizzolato
f32fe6e8a9 makefile: Add decision logic to support simh v3.x and simh v4.x 2022-02-19 18:42:38 -08:00
Leo Broukhis
9f5e40e240 BESM6: Implemented formatted magnetic tapes.
At the moment formatting has to be done by means of SIMH rather than
using the standard OS mechanism.
2022-02-16 11:41:45 -08:00
Mark Pizzolato
b5052c81d6 makefile, SCP: Enrich support for compile time SIM_VERSION_MODE
- Pass make command line SIM_VERSION_MODE argument into the compiler.
- Tolerate quoted and unquoted SIM_VERSION_MODE values.
2022-01-15 10:01:49 -08:00
Mark Pizzolato
c5cd38afbf SCP, makefile: Rename build conditional HAVE_DLOPEN to SIM_HAVE_DLOPEN
Some dependent packages on some platforms may also define HAVE_DLOPEN
and that definition may have different syntax or semantics.  This change
avoids the potential symbol conflict.

As reported in #1098
2021-12-04 17:44:57 -08:00
Mark Pizzolato
0bc929222f makefile: Fix minor line ending inconsistencies 2021-10-24 21:06:52 -07:00
Mark Pizzolato
db401a4dbe makefile: Support both .so and .a link libraries on Linux
For some strange reason, Ubuntu 21.10 delivers various libraries as
either direct link libraries (".a") or  shared objects (".so") where
historically essentially everything was shared objects..
2021-10-24 18:41:08 -07:00
Seth Morabito
9d849283a4 3B2: Interrupt Refactor and DEMON ROM
- This change introduces a full refactor of the interrupt subsystem
  for the system board (SBD) and the I/O bus (CIO). Interrupt decode
  should now be significantly faster, and not require an expensive
  calculation on every step.

- The TIMER device has been split into Rev 2 and Rev 3
  implementations.

- The optional 3B2/400 Debug Monitor ROMs can now be booted by passing
  the "DEMON" argument to the 3B2/400 simulator BOOT command. Any
  of the following will cause the Debug Monitor ROM to be booted
  instead of the standard 3B2/400 ROM:

     sim> BOOT DEMON
     sim> BOOT CPU DEMON
     sim> BOOT DEMON CPU
2021-08-24 06:35:49 -07:00
Seth Morabito
c0beba5498 3B2: Rev 3 Development Base
This change introduces initial support for the AT&T 3B2 Rev 3 platform, based
around the WE32200 CPU with up to 64MB of RAM and SCSI disk and tape support.

This simulator is experimental and not yet supported. It will not be built by
default, but can be built with:

     make 3b2-600

Or by using the 3B2-600 Windows Visual Studio project.
2021-08-09 11:08:35 -07:00
Mark Pizzolato
f1a2c81cef makefile: Change messages to avoid the use of single quotes (can not vs can't) 2021-07-26 17:50:48 -07:00
Mark Pizzolato
492819380f makefile: Generalize HomeBrew dependency checking for MacOS M1 systems
As discussed in #1050
2021-06-22 03:48:23 -07:00
Mark Pizzolato
1a0024aabe makefile: add support on MacOS for alternate location of HomeBrew components
As discussed in #1048
2021-06-07 12:27:49 -07:00
Seth Morabito
92ff16ca7b 3B2: Rename files in prep for Rev 3 support
This change lays the groundwork for adding support for Rev 3 3B2 models,
which includes the Model 500, Model 600, and Model 1000.

Rather than use the fixed strings "400" and "1000" in file names, the
strings "rev2" and "rev3" will be used, which allows greater flexibility
to implement various system configurations more easily.

Additionally, this change adds a copy of the Debug Monitor (DEMON) ROM
image for the Rev 2 board, to be used soon in a later checkin.
2021-05-12 10:56:39 -07:00
Bill Beech
96c32fcb80 Intel-Systems: Merge MDS, SDK, OEM simulators into Intel-MDS simulator
14 separate simulators now internal to a general purpose simulator
2021-04-11 14:37:34 -07:00
Mark Pizzolato
e9025a189f makefile: Explicitly add /lib and /usr/lib to the library search path
Some compiler & linkers on some platforms don't dynamically provide
a way to determine the library search path, so if /lib and /usr/lib exist
as directories they are added to the end of the library search path.

As reported in #1026
2021-04-05 15:15:33 -07:00
Lars Brinkhoff
3c1c92dc30 TT2500: Call display library directly; use new display_line API. 2021-03-29 20:37:00 +02:00
Lars Brinkhoff
e9b083508b IMLAC: Call display library directly; use new display_line API. 2021-03-29 20:36:59 +02:00
Mark Pizzolato
f424080742 makefile: Remove explicit references to X11 includes and libraries
Any graphics done within any simulator is done via explicit SDL APIs.
If a host has SDL available, the natural mechanisms used to reference
SDL pieces will automatically create the proper references to the
available SDL components.
2021-03-22 21:33:19 -07:00
Mark Pizzolato
73be1953ee makefile: Properly detect building with uncommitted changes 2021-03-08 16:03:11 -08:00
Mark Pizzolato
0507aa15fc makefile: precisely determine submodule name to avoid similar name matches
As discussed in #1000
2021-01-20 09:14:21 -08:00
Mark Pizzolato
b2a63a5678 IMD: Remove need for -DUSE_SIM_IMD in preparation for wider use of sim_imd 2021-01-18 10:44:33 -08:00
Anders
21117a2cb1 makefile: allow .git to be a file or directory to handle submodules
Change test for -e (exists) instead of -d (directory) so that the .git
entry is detected correctly and git version stamp logic runs as in any
other git repo. The .git entry is a file when the repo is a submodules
and possibly other obscure cases like multiple worktrees.

fixes #988
2021-01-05 09:47:25 -08:00