Commit graph

449 commits

Author SHA1 Message Date
Tony Lawrence
a06ab20512 TIMER: Support 1ms timer resolution in Cygwin 2022-11-23 11:24:31 -05:00
Patrick Linstruth
e2d422c2d3 AltairZ80: Add support for Morrow Micro Decision
Moved MMD and MMDM devices under Morrow Devices comment.
2022-11-23 11:22:51 -05:00
Howard M. Harte
70c2038d5c AltairZ80: Add DJHDC to makefile. 2022-11-15 12:21:58 -05:00
Howard M. Harte
4d84c563c2 AltairZ80: Add Tarbell Double-Density controller to makefile. 2022-11-15 12:21:58 -05:00
Mark Pizzolato
39d33c4cc9 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-05 16:45:48 -04:00
Paul Koning
d1e9358a63 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-02 09:21:05 -04:00
Mark Pizzolato
9cfa212e60 makefile: Add OPTIMIZE= command option to change default from -O3 2022-10-30 17:12:05 -10:00
Mark Pizzolato
1792303a9e makefile: Make non debug builds with -O3 and LTO under gcc with -fwhole-program
- Add missing BUILD_ROMS dependency to pdp11 simulator.  ROMs don't change
  often so this usually didn't matter, but it should be a dependency.
2022-10-30 02:35:43 -10:00
Lars Brinkhoff
eb359b962f PDP11: Add MB11. 2022-10-29 14:15:41 -04:00
Lars Brinkhoff
6a384854cf PDP11: Add Logo TV raster display. 2022-10-29 14:15:41 -04:00
Mark Pizzolato
bf13a64d9e makefile: Add explicit option LTO=1 to enable Link Time Optimization builds
When building compiler optimized binaries with the gcc or clang compilers,
invoking GNU make with LTO=1 on the command line will cause the build
to use Link Time Optimization to maximally optimize the results.
Link Time Optimization can report errors which aren't otherwise detected
and will also take significantly longer to complete.
2022-10-28 15:15:59 -10:00
Mark Pizzolato
cfc59c517f 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-26 10:57:52 -04:00
Lars Brinkhoff
65410851d5 PDP11: DH11 device. 2022-10-18 07:28:28 +02:00
Howard M. Harte
1110802bb1 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
9fa55d0013 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
Paul Koning
110183e258 simh ui: replace "readline" by "editline".
This avoids infecting SIMH with the GPL license, since readline,
very surprisingly, is GPL rather than LGPL.

The replacement package is "editline", which has a useable license.
2022-10-01 16:38:55 -04:00
Mark Pizzolato
ca420668d7 makefile: Correct experimental/incomplete simulator list and add to CI build 2022-09-26 13:24:24 -10:00
Mark Pizzolato
060f55d23e makefile: Assure that besm6 simulator builds on recent macOS versions
Extend set of paths searched for font files since common fonts have
moved on macOS versions since besm6 simulator support was added.
2022-09-19 12:19:05 -07:00
B. Scott Michel
dc320a84da makefile: Adjust syntax of variable insertions for conversion to cmake 2022-09-19 12:18:30 -07:00
Seth Morabito
9b62da6567 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.

One final important change: ROM files are no longer included in the
source code. 3B2 ROM images must be obtained separately and loaded
into the simulator before boot.

Changes:

- The 3b2 target has been aliased to 3b2-400
- The formerly named 3b2-600 project has become 3b2-700
- SCSI QIC tape support has been added to sim_scsi.c
- Header files have been reworked to reduce complexity of includes
- Common code has been consolidated
- Timer code has been unified
2022-09-15 14:15:28 -07:00
Richard Cornwell
60d2eaf42b Updated Makefile and Visual Studio project to include extra devices on KL10. 2022-06-21 09:51:19 -04:00
Paul Koning
88ce8f7072 Merge remote-tracking branch 'origin/pr/5' 2022-06-11 15:30:52 -04:00
Lars Brinkhoff
2faf59733f Sample stub simulator. 2022-06-11 12:43:22 +02:00
Bill Beech
44428e53b6 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
910bbc2d7e 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.

This commit is explicitly released from any license restriction
mentioned in the LICENSE.txt of the github.com/simh/simh
master branch changes.
2022-06-05 13:06:04 -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