This commit adds a "PMMI" device to the AltairZ80 VM that emulates
the PMMI Communications MM-103 MODEM & Communications Adapter.
This device was added at the request of a Facebook user that is
attempting to preserve and document various relevant communications
programs for CP/M and allow users to experience communicating and
sharing information with other remote computers of the same time
period, all on modern hardware.
This device attempts to emulate the MC6860L digital modem chip in
such a way that communications software written for the PMMI MM-103 can
communicate over a serial port or socket without a phone line or
the ability to MOdulate/DEModulate data over a phone line.
This commit adds two new devices, "M2SIO0" and "M2SIO1", to the AltairZ80
VM. These two independent devices emulate "raw" 88-2SIO ports that can
be used instead of the "SIO" device for attaching socket and serial
ports using TMXR.
All interesting simh host platforms have long supported libSDL2
functionality which wasn't the case when sim_video was initially
implemented. The mixed API set significantly complicates maintaining
and extending sim_video, hence this explicit effort to remove
the vestiges of the old libSDL API.
Refactor in preparation for the addition of a Rev 3 simulator for the
3B2/1000 system.
This change also includes a full cleanup of the rat's-nest of includes
and externs that plagued the 3B2 simulator and made it difficult to
understand and maintain. Headers are now required in the following
order:
compilation unit -> "3b2_defs.h" -> {... dependencies ...}
Finally, HELP has been added to the CPU device.
These were possibly useful options when asynch support was being
added long ago. Async simulator I/O is quite stable and should always
be leveraged whenever pthreads is available.
make vax the primary build target and microvax3900 the copied result.
The microvax3900 binary name was added when all the different VAX
simulator models were add to simh and each was appropriately named
based on the system model name of each respective simulator.
The vax simulator name was the earliest vax implemented so a binary
of that name is produced for upward compatibility for existing users.
Producing the vax simulator and then copying it to microvax3900
produces equivalent results, but is easier to auto convert to cmake
build configuration files which then will generate a vax project
file when cmake is generating those.
If libpcreposix isn't available, we can't fall back to the local
regex.h since the default C runtime on Linux and OS/X implementations
of the regex functionality doesn't ever match regular expressions
with imbedded newlines.
Added BASE option to auxcpu to move memory region.
Fix errors in Card Reader/Card Punch translation and operation.
Fixed problems with ITS quantum timer.
Added support for System Concepts DC10 disk controller (Lars).
Fixed errors in Line Printer control codes.
Added support for Lines per page to LP10.
Fixed issues with 7 track tapes on TM10.
Updated user guides
This change adds support for the WE32106 Math Acceleration Unit (MAU).
The WE32106 is an IEEE-754 1985 compatible floating point math
acceleration unit that was an optional component on the 3B2/310 and
3B2/400.
The MAU is implemented using software floating point routines. As
always, there may be bugs, but the MAU currently passes extensive
floating point tests with exactly the same results as a real 3B2/400
equipped with a physical MAU, so I hope these are few.