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

499 Commits

Author SHA1 Message Date
Mark Pizzolato
997952e712 ETHER: Add build support leveraging libpcap shared object without pcap.h
Some host systems come with the libpcap shared object installed.  If that
is the case, since the default build behavior is to dynamically load libpcap,
builds can now potentially avoid a forced install of the libpcap-devel package.
2024-04-17 11:12:42 -10:00
Mark Pizzolato
b22fb8eefa makefile: Add package install support for Linux systems that have dnf 2024-04-17 11:08:10 -10:00
Lars Brinkhoff
b1389741e5 VAX: Add UW device to 8600 and 8200.
The VAXstation 100 "unibus window" interface board should work with
any Unibus VAX.
2024-04-04 17:34:38 -10:00
Patrick Linstruth
d19d3f9b8d ALTAIRZ80: Adds JAIR devices to simulator
Josh's Altair/IMSAI Replacement (JAIR) is a single board computer
(SBC) for the S100 bus. I created this device to assist a friend
with getting IMP and CBBS working on his JAIR. Without having a
JAIR myself, AltairZ80 to the rescue!

The following devices are added:

JAIR   - The main JAIR board I/O and ROM
JAIRS0 - Serial Port 0 (COM1)
JAIRS1 - Serial Port 1 (COM2)
JAIRP  - Parallel Port

This was a bit challenging because the JAIR uses an on-board SD
card with FAT file system to hold its BIOS and CP/M disk images.
The ATTACH command is used to mount SD card images to the
simulator. The simulator emulates the SD card interface for
read/writing SD card sectors. These images are easily mounted on
a Mac making moving files around easy. I do not know about Windows.
These same images can be written to an SD card and used with real
JAIR hardware, which may be useful for JAIR owners.

The serial and parallel ports fully support TMXR. Host serial ports
and sockets may be attached to these devices.

I am working on a GitHub repository containing an SD card image and
init script that will boot CP/M 2.2 on the JAIR simulator.

Is this device one that should be added to AltairZ80?
2024-03-20 08:38:08 -10:00
Mark Pizzolato
6d7dea6200 makefile: Add AUTO_INSTALL_PACKAGES build option
If running as root on most platforms or running on macOS with Home
Brew package manager, any missing packages for maximal simulator
functionality can be automatically installed during the build.
2023-08-20 08:18:14 -10:00
Mark Pizzolato
6bf717976b makefile: Isolate pthreads and png dependencies to binaries that need them
- pthreads are needed for network capable systems and video capable simulators.
- png is only needed for video capable simulators.
2023-08-12 15:33:31 -10:00
Mark Pizzolato
1d8a141b73 makefile: Remove errant message display and standardize all build options
All options which are currently and previously described in the comments
as allowing {option-name}=1 to enable, are now enabled if {option-name}
is defined to be anything at all,
2023-08-08 01:45:51 -10:00
Mark Pizzolato
412385f978 makefile: Add option to automatically run brew for missing dependencies 2023-08-05 08:02:24 -10:00
Mark Pizzolato
f9dedad627 makefile: curl needs to be actively installed on some platforms
- Make missing curl or tar visible in simulator environment variables:
       SIM_CURL_CMD_AVAILABLE
and SIM_TAR_CMD_AVAILABLE
2023-07-29 08:09:48 -10:00
Mark Pizzolato
63028863e4 SCP: Default to dynamically loading LIBEDIT, LIBPCRE and LIBPNG 2023-07-27 06:28:53 -10:00
Mark Pizzolato
9932fd1610 makefile: Add support for building on OpenSUSE Linux 2023-07-27 06:19:48 -10:00
Mark Pizzolato
2dc0d099f2 makefile: Robustly find simulator test scripts
First look in the directory the first dependent file is located in, if
not found, then look in the first simulator specific include directory.
2023-07-20 14:47:25 -10:00
Mark Pizzolato
329a0f815b AppVeyor: Multi-Platform Parallel build with artifacts with no GitHub actions 2023-07-04 21:04:56 -10:00
Mark Pizzolato
37bc857bf1 makefile: Add current support to build on Android Termux environments 2023-06-17 06:15:25 -10:00
Mark Pizzolato
972cd95914 PDP11: Add extra RPB device as an additional Massbus device
Note: To avoid potential breakage of existing PDP11 configurations in
       the wild, which may expect RP on RHA, TU on RHB and RS on RHC,
       RPB is connected to RHD Massbus adapter.

- More robust recovery when Massbus configuration errors occur
- More complete RH{A,B,C,D} help
2023-05-22 11:36:52 -10:00
Mark Pizzolato
6e7cf79eb3 VAX750, VAX780, VAX8600: Add Extra Massbus for New RPB disks 2023-05-22 11:03:39 -10:00
Peter Allan
ef0f49204e VAX780: Add an additional Massbus to support RPB 2023-05-22 10:37:26 -10:00
Mark Pizzolato
d36d900968 makefile: Fix regression that skipped running per simulator specific tests 2023-05-22 07:46:51 -10:00
Mark Pizzolato
6045fea046 makefile: Remove dependency on which command 2023-05-22 03:23:23 -10:00
Lars Brinkhoff
d573965024 VAX: M7452 Unibus window module for VAXstation 100. 2023-05-09 07:07:39 -10:00
Mark Pizzolato
bc5dcedf1d MicroVAX1: Remove DMA devices which weren't supported on MicroVAX I
Removed TQ (TMSCP), TS (TSV11) and VH (DHV11) devices from this
simulator since these devices were never supported in release MicroVAX I
configurations.

Lacking a scatter/gather map, DMA devices needed to be written to
perform DMA into contigous buffers in low memory and then copy data
to user space buffers.  The MSCP protocol devices had specific support to
do scatter/gather transfers as part of the protocol.  The RL01/RL02 device
driver was modified to perform the appropriate buffer moves most likely
to prove the customer option to adjust their drivers actually worked.  In
any case, boot support for RL01/RL02 disks does not exist.
2023-04-30 14:54:04 -10:00
Howard M. Harte
525a409a60 AltairZ80: Add IBC Super Cadet / Middi Cadet support. 2023-04-26 10:02:35 -10:00
Anders Magnusson
7e18863e03 ND100: Initial support for Nord-100, implements the base instruction set.
Passes the test program INSTRUCTION-B.
2023-04-02 13:09:59 -10:00
Patrick Linstruth
796a3e1abc AltairZ80: Adds SOL20 and VDM1 devices
This PR adds support for the Processor Technology VDM-1 display adapter and Sol-20 computer system. The VDM-1 was integrated into the Sol-20 but has been separated out into its own device.

This PR adds the following devices to the AltairZ80 simulator:

VDM1 - Processor Technology VDM-1 display adapter
SOL20 - Processor Technology SOL20 with SOLOS ROMs
SOL20K - SOL20 Keyboard (callback from VDM1)
SOL20T - SOL20 Tape (reads/writes cassette file images)
SOL20S - SOL20 Serial Port (TMXR capable)
SOL20P - SOL20 Printer Port (TMXR capable)
2023-03-29 14:19:51 -10:00
Mark Pizzolato
c7d01273df SCP: Add CheckSourceCode facility to validate simh project standards 2023-03-04 17:51:49 -10:00
Mark Pizzolato
a27f4be593 makefile: Added capability for extended per simulator link options (LNK_OPTS) 2023-01-29 15:50:06 -10:00
Mark Pizzolato
cd40bb2820 makefile: avoid using the file function to read the Make.Info file. 2023-01-27 09:02:16 -10:00
Mark Pizzolato
2c9eb951ad makefile: avoid using an intermediate file to get a newline in a variable 2023-01-25 15:58:26 -10:00
Mark Pizzolato
db5a0dc4d3 makefile: make it obvious when git commit id was extracted from an archive 2023-01-25 15:28:51 -10:00
Mark Pizzolato
a9fb4a653e makefile: Properly report archive git commit info when building from an archive 2023-01-25 10:14:15 -10:00
Mark Pizzolato
ac8e5d23b8 README: Update current features
Revise windows-build dependency version
2023-01-09 15:45:08 -10:00
Mark Pizzolato
52cfa2bba8 makefile: Add support for operating with the gameoftrees (got) source control
got leverages git under the covers with a different file layout.  Changes merely
allow detection of proper git commit-id.
2023-01-02 15:18:19 -10:00
Mark Pizzolato
5ba0ef0c67 FrontPanelTest: Cleanup test setup and build dependencies
- Test simulator is always VAX and always in the same directory as
  FrontPanelTest
- makefile and Projects will always build the dependent simulator
2022-12-28 11:10:59 -10:00
Mark Pizzolato
47582da35f makefile: Cleanup make version check and parameter passing after updates 2022-12-20 16:00:24 -10:00
Mark Pizzolato
7e78f2fce1 makefile: Reliably rebuild scp.c when git commit id changes 2022-12-18 17:39:38 -10:00
Mark Pizzolato
def174a5fe makefile: Assure that only BUILD_SEPARATE=1 will cause separate compiles
- BUILD_SEPARATE may be either defined and exported from the
  environment or via the make command line.
- Add a command line (or environment variable) option QUIET=1 to
  suppress full compile and link commands and only output a summary
  of what is happening.
- Update dependency list to include gmake where needed.
2022-12-13 16:37:34 -10:00
Patrick Linstruth
1af13f228b AltairZ80: Add support for Morrow Micro Decision
Moved MMD and MMDM devices under Morrow Devices comment.
2022-11-19 17:10:12 -08:00
Bob Supnik
527cad6703 ID16: Define IFP_IN_MEM at build time to signify floating point regs in memory 2022-12-06 09:55:03 -10:00
Mark Pizzolato
091f1964df makefile: Add gmake as a dependency for macOS
Xcode's command line tools only include GNU Make version 3.81 and
version 4 or greater is needed when compiling project files separately.
2022-12-03 15:09:34 -10:00
Mark Pizzolato
19cbe2d557 makefile: Fix tx-0 definition 2022-11-30 18:50:27 -10:00
Mark Pizzolato
7c9c4ed34c makefile: Fix prior rewrite to properly reference actual targets 2022-11-30 16:24:10 -10:00
Mark Pizzolato
0155f60232 makefile: Adjust setup logic to properly detect simh version for MinGW32
The setup logic at the top of this makefile is common with that for the v3
makefile since some components are shared.
2022-11-29 08:55:45 -10:00
Howard M. Harte
3371617aff AltairZ80: Add DJHDC to makefile. 2022-11-13 09:38:28 -08:00
Howard M. Harte
9662321f08 AltairZ80: Add Tarbell Double-Density controller to makefile. 2022-11-13 09:38:22 -08:00
Mark Pizzolato
af1bffa1b5 makefile: simplify the required info to build a simulator.
Removed the need to specify source directories which are already
included in the specified options and dependent files.
2022-11-10 10:15:07 -10:00
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