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
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.
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)
- 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.
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.
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.
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.
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.