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

454 Commits

Author SHA1 Message Date
Seth Morabito
88916c7bf1 3B2-700 Initial Public Release
This commit introduces dozens of changes to make the 3B2-700 simulator
fully functional and ready for wider use. In addition to 3B2-700
availability, this commit includes a tremendous amount of refactoring
of the 3B2-400 and common code to make the project structure easier to
maintain and reason about.
2022-11-07 10:49:45 -10:00
Mark Pizzolato
bff443b9b0 makefile: Add alternate build option to compile source files separately
Invoking make with BUILD_SEPARATE=1 on the make command line or
defined as an exported environment variable will cause simulator source
files to be compiled separately.  This option avoids long simulator build
times when actively developing changes or new modules to a simulator.
2022-11-05 12:24:56 -10:00
Mark Pizzolato
b3a8eddd3c makefile: Add check for gcc on Debian/Ubuntu Linux environments for v3 simh 2022-11-02 15:30:54 -10:00
Mark Pizzolato
4e8b24cabc makefile: Add WARNINGS=ALLOWED make option and change default optimize to -O2
The CI build specifies OPTIMIZE=-O3 and runs with the default where warnings
are converted to errors.
2022-11-02 12:19:55 -10:00
Paul Koning
f55193afa6 makefile: don't use -fwhole-program
The GCC documentation explicitly says not to use that option
when -flto is used, and since that is the only place where
the makefile was using it, remove it to conform to the
documented rules.
2022-11-01 10:19:39 -04:00
Mark Pizzolato
2214804976 makefile: Clarify advice when libpcap is needed but not found. 2022-10-31 12:01:39 -10:00
Mark Pizzolato
26712597a1 makefile: Add OPTIMIZE= command option to change default from -O3 2022-10-30 17:22:03 -10:00
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