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
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.
Custom TTL design by Marvin Minsky. There are two displays: one
raster scan for bitmapped characters, and another random scan for
vector graphics. There is also a keyboard, and a UART for talking
to a host computer.
The computer is normally booted off a ROM which reads and starts a
secondary loader from the UART. The loader is responsible for reading
the payload, which comes in checksummed blocks. The LOAD command
accepts files in same format.
The I650 simulator depends on the sim_card library which had API chages that
the author agreed to before the changes were committed, but no update of the
I650 simulator code has come for the past 2 months.
These include simulators for the IBM 701, IBM 702, IBM 704, IBM 705,
IBM 705/3, IBM 709, IBM 1410/IBM 7010, IBM 7070, IBM 7080, IBM 7090
and IBM7094.
These basically were a collection of machines that shared a common
set it peripherals, Each group had its own instruction set, hence
different simulators.
IBM 701 -> i701
IBM 702/705/705/3/7080 -> i7080
IBM 7070/7074 -> i7070
IBM 1410/7010 -> i7010
IBM 704 -> i704
IBM 704/709/7090/7094 -> i7090
The i7090 can be set to simulate a IBM 704 however you end up
disabling almost everything, since the 704 did not have any channels.
A build option exists that allows this one to be built without all the
extra features.
The i7090 simulator’s implementation of the IBM 7094 is a more
complete implementation of the IBM 7094 which can run CTSS
while the existing simh I7094 can’t.