- Allow 3 MB RAM configuration (previously only 1MB, 2MB, and 4MB
configurations were allowed)
- Allow SCSI CIO card to be used under 3B2/400 emulation (previously
it could only be used under 3B2/700 emulation)
- Improved CTC, PORTS, and SCSI diagnostic checks
- Fixed a bug in IDISK device that allowed impossible disk
configurations
The last update is a breaking change that disables the HD161 disk
type by default, since real 3B2 hardware does not support it. The
disk type will still allowed in backward compatibility mode through
use of the "SET IDISK LARGE" command.
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 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
- Formerly, the floppy controller buffered an entire diskette image
in memory using the unit buffer, and flushed it out on detach or
shutdown. This worked well enough, but it's better to have the
device use the SIMH disk sector read and write routines and
behave like a true disk.
- Read Only (Write Protect) logic has also been enabled in the
floppy controller, allowing users to mount images that do not
have write permissions.
- The IF (Integrated Floppy) and ID (Integrated Disk)
device names were poorly chosen. They conflict with built-in
scp commands and mess up the help system. This commit
changes them to IFLOPPY and IDISK, respectively.
NOTE!! THIS IS A BREAKING CONFIG CHANGE!!