After a frantic week of file exchanges, here is RC2. A lot has changed.
1. HP2100 updates completed, with new features and peripherals.
2. Many, many small file updates for nits found by compilers and static checkers.
3. A few genuine bugs fixed.
4. New makefile and MMS file.
A note on the makefile. It has almost doubled in size and attempts to ferret out PCAP locales properly, as well as do serious optimizations if gcc is used. It needs to be tested in more environments. If you run into issues, please report them to Mark Pizzolato as well as me.
The old makefile, updated for the extra files in the HP2100, is included as makefile_old. You can use that if the new makefile causes problems in your environment.
I'm still targeting a May Day release, with a final RC around Tax Day (April 15). That leaves times for one more interim RC, if needed.
At this point, I regard the release as feature-complete. Bug fixes are still fine.
The actual release will have all incomplete and beta simulators in a separate zip file, including Alpha, Sigma, Sage (the microcomputers, not the 50s anti-aircraft computer), and SC1, the SiCortex MIPS simulator.
There will be new releases of all the simulation tools as well.
/Bob
The makefile now works for Linux and most Unix's. However, for Solaris
and MacOS, you must first export the OSTYPE environment variable:
> export OSTYPE
> make
Otherwise, you will get build errors.
1. New Features
1.1 3.9-0
1.1.1 SCP and libraries
- added *nix READLINE support (Mark Pizzolato)
- added "SHOW SHOW" and "SHOW <dev> SHOW" commands (Mark Pizzolato)
- added support for BREAK key on Windows (Mark Pizzolato)
1.1.2 PDP-8
- floating point processor is now enabled
2. Bugs Fixed
Please see the revision history on http://simh.trailing-edge.com or
in the source module sim_rev.h.
3. Status Report
This is the last release of SimH for which I will be sole editor. After this
release, the source is moving to a public repository:
under the general editorship of Dave Hittner and Mark Pizzolato. The status
of the individual simulators is as follows:
3.1 PDP-1
Stable and working; runs available software.
3.2 PDP-4/7/9/15
Stable and working; runs available software.
3.3 PDP-8
Stable and working; runs available software.
3.4 PDP-10 [KS-10 only]
Stable and working; runs available software.
3.5 PDP-11
Stable and working; runs available system software. The emulation of individual
models has numerous errors of detail, which prevents many diagnostics from
running correctly.
3.6 VAX-11/780
Stable and working; runs available software.
3.7 MicroVAX 3900 (VAX)
Stable and working; runs available software. Thanks to the kind generosity of
Camiel Vanderhoeven, this simulator has been verified with AXE, the VAX
architectural exerciser.
3.8 Nova
Stable and working; runs available software.
3.9 Eclipse
Stable and working, but not really supported. There is no Eclipse-specific
software available under a hobbyist license.
3.10 Interdata 16b
Stable and working, but no software for it has been found, other than
diagnostics.
3.11 Interdata 32b
Stable and working; runs 32b UNIX and diagnostics.
3.12 IBM 1401
Stable and working; runs available software.
3.13 IBM 1620
Hand debug only. No software for it has been found or tested.
3.14 IBM 7094
Stable and working as a stock system; runs IBSYS. The CTSS extensions
have not been debugged.
3.15 IBM S/3
Stable and working, but not really supported. Runs available software.
3.16 IBM 1130
Stable and working; runs available software. Supported and edited by
Brian Knittel.
3.17 HP 2100/1000
Stable and working; runs available software. Supported and edited by
Dave Bryan.
3.18 Honeywell 316/516
Stable and working; runs available software.
3.19 GRI-909/99
Hand debug only. No software for it has been found or tested.
3.20 SDS-940
Hand debug only, and a few diagnostics.
3.21 LGP-30
Unfinished; hand debug only. Does not run available software, probably
due to my misunderstanding of the LGP-30 operational procedures.
3.22 Altair (original 8080 version)
Stable and working, but not really supported. Runs available software.
3.23 AltairZ80 (Z80 version)
Stable and working; runs available software. Supported and edited by
Peter Schorn.
3.24 SWTP 6800
Stable and working; runs available software. Supported and edited by
Bill Beech
3.25 Sigma 32b
Incomplete; more work is needed on the peripherals for accuracy.
3.26 Alpha
Incomplete; essentially just an EV-5 (21164) chip emulator.
4. Suggestions for Future Work
4.1 General Structure
- Multi-threading, to allow true concurrency between SCP and the simulator
- Graphics device support, particularly for the PDP-1 and PDP-11
4.2 Current Simulators
- PDP-1 graphics, to run Space War
- PDP-11 GT40 graphics, to run Lunar Lander
- PDP-15 MUMPS-15
- Interdata native OS debug, both 16b and 32b
- SDS 940 timesharing operating system debug
- IBM 7094 CTSS feature debug and operating system debug
- IBM 1620 debug and software
- GRI-909 software
- Sigma 32b completion and debug
- LGP-30 debug
4.3 Possible Future Simulators
- Data General MV8000 (if a hobbyist license can be obtained for AOS)
- Alpha simulator
- HP 3000 (16b) simulator with MPE
The makefile now works for Linux and most Unix's. However, for Solaris
and MacOS, you must first export the OSTYPE environment variable:
> export OSTYPE
> make
Otherwise, you will get build errors.
1. New Features
1.1 3.8-0
1.1.1 SCP and Libraries
- BREAK, NOBREAK, and SHOW BREAK with no argument will set, clear, and
show (respectively) a breakpoint at the current PC.
1.1.2 GRI
- Added support for the GRI-99 processor.
1.1.3 HP2100
- Added support for the BACI terminal interface.
- Added support for RTE OS/VMA/EMA, SIGNAL, VIS firmware extensions.
1.1.4 Nova
- Added support for 64KW memory (implemented in third-party CPU's).
1.1.5 PDP-11
- Added support for DC11, RC11, KE11A, KG11A.
- Added modem control support for DL11.
- Added ASCII character support for all 8b devices.
1.2 3.8-1
1.2.1 SCP and libraries
- Added capability to set line connection order for terminal multiplexers.
1.2.2 HP2100
- Added support for 12620A/12936A privileged interrupt fence.
- Added support for 12792C eight-channel asynchronous multiplexer.
1.3 3.8-2
1.3.1 SCP and libraries
- Added line history capability for *nix hosts.
- Added "SHOW SHOW" and "SHOW <dev> SHOW" commands.
1.3.2 1401
- Added "no rewind" option to magtape boot.
1.3.3 PDP-11
- Added RD32 support to RQ
- Added debug support to RL
1.3.4 PDP-8
- Added FPP support (many thanks to Rick Murphy for debugging the code)
1.3.5 VAX-11/780
- Added AUTORESTART switch support, and VMS REBOOT command support
2. Bugs Fixed
Please see the revision history on http://simh.trailing-edge.com or
in the source module sim_rev.h.
The makefile now works for Linux and most Unix's. Howevr, for Solaris
and MacOS, you must first export the OSTYPE environment variable:
> export OSTYPE
> make
Otherwise, you will get build errors.
1. New Features
1.1 3.8-0
1.1.1 SCP and Libraries
- BREAK, NOBREAK, and SHOW BREAK with no argument will set, clear, and
show (respectively) a breakpoint at the current PC.
1.1.2 GRI
- Added support for the GRI-99 processor.
1.1.3 HP2100
- Added support for the BACI terminal interface.
- Added support for RTE OS/VMA/EMA, SIGNAL, VIS firmware extensions.
1.1.4 Nova
- Added support for 64KW memory (implemented in third-party CPU's).
1.1.5 PDP-11
- Added support for DC11, RC11, KE11A, KG11A.
- Added modem control support for DL11.
- Added ASCII character support for all 8b devices.
1.2 3.8-1
1.2.1 SCP and libraries
- Added capability to set line connection order for terminal multiplexers.
1.2.2 HP2100
- Added support for 12620A/12936A privileged interrupt fence.
- Added support for 12792C eight-channel asynchronous multiplexer.
2. Bugs Fixed
Please see the revision history on http://simh.trailing-edge.com or
in the source module sim_rev.h.
The save/restore format has been updated to improve its reliability.
As a result, save files prior to release 3.0 are no longer supported.
The text documentation files are obsolete and are no longer included
with the distribution. Up-to-date PDF documentation files are
available on the SimH web site.
1. New Features
1.1 3.6-0
1.1.1 Most magnetic tapes
- Added support for limiting tape capacity to a particular size in MB
1.1.2 IBM 7090/7094
- First release
1.1.3 VAX-11/780
- Added FLOAD command, loads system file from console floppy disk
1.1.4 VAX, VAX-11/780, and PDP-11
- Added card reader support (from John Dundas)
1.1.5 PDP-11
- Added instruction history
2. Bugs Fixed
Please see the revision history on http://simh.trailing-edge.com or
in the source module sim_rev.h.
The source set has been extensively overhauled. For correct
viewing, set Visual C++ or Emacs to have tab stops every 4
characters.
1. New Features
1.1 3.5-0
1.1.1 All Ethernet devices
- Added Windows user-defined adapter names (from Timothe Litt)
1.1.2 Interdata, SDS, HP, PDP-8, PDP-18b terminal multiplexors
- Added support for SET <unit>n DISCONNECT
1.1.3 VAX
- Added latent QDSS support
- Revised autoconfigure to handle QDSS
1.1.4 PDP-11
- Revised autoconfigure to handle more casees
2. Bugs Fixed
2.1 3.5-0
2.1.1 SCP and libraries
- Trim trailing spaces on all input (for example, attach file names)
- Fixed sim_sock spurious SIGPIPE error in Unix/Linux
- Fixed sim_tape misallocation of TPC map array for 64b simulators
2.1.2 1401
- Fixed bug, CPU reset was clearing SSB through SSG
2.1.3 PDP-11
- Fixed bug in VH vector display routine
- Fixed XU runt packet processing (found by Tim Chapman)
2.1.4 Interdata
- Fixed bug in SHOW PAS CONN/STATS
- Fixed potential integer overflow exception in divide
2.1.5 SDS
- Fixed bug in SHOW MUX CONN/STATS
2.1.6 HP
- Fixed bug in SHOW MUX CONN/STATS
2.1.7 PDP-8
- Fixed bug in SHOW TTIX CONN/STATS
- Fixed bug in SET/SHOW TTOXn LOG
2.1.8 PDP-18b
- Fixed bug in SHOW TTIX CONN/STATS
- Fixed bug in SET/SHOW TTOXn LOG
2.1.9 Nova, Eclipse
- Fixed potential integer overflow exception in divide
2.2 3.5-1
2.2.1 1401
- Changed character encodings to be compatible with Pierce 709X simulator
- Added mode for old/new character encodings
2.2.2 1620
- Changed character encodings to be compatible with Pierce 709X simulator
2.2.3 PDP-10
- Changed MOVNI to eliminate GCC warning
2.2.4 VAX
- Fixed bug in structure definitions with 32b compilation options
- Fixed bug in autoconfiguration table
2.2.5 PDP-11
- Fixed bug in autoconfiguration table
The source set has been extensively overhauled. For correct
viewing, set Visual C++ or Emacs to have tab stops every 4
characters.
1. New Features in 3.4-1
1.1 All Ethernet devices
- Added Windows user-defined adapter names (from Timothe Litt)
1.2 Interdata, SDS, HP, PDP-8, PDP-18b terminal multiplexors
- Added support for SET <unit>n DISCONNECT
1.3 VAX
- Added latent QDSS support
- Revised autoconfigure to handle QDSS
1.4 PDP-11
- Revised autoconfigure to handle more casees
2. Bugs Fixed in 3.4-1
2.1 SCP and libraries
- Trim trailing spaces on all input (for example, attach file names)
- Fixed sim_sock spurious SIGPIPE error in Unix/Linux
- Fixed sim_tape misallocation of TPC map array for 64b simulators
2.2 1401
- Fixed bug, CPU reset was clearing SSB through SSG
2.3 PDP-11
- Fixed bug in VH vector display routine
- Fixed XU runt packet processing (found by Tim Chapman)
2.4 Interdata
- Fixed bug in SHOW PAS CONN/STATS
- Fixed potential integer overflow exception in divide
2.5 SDS
- Fixed bug in SHOW MUX CONN/STATS
2.6 HP
- Fixed bug in SHOW MUX CONN/STATS
2.7 PDP-8
- Fixed bug in SHOW TTIX CONN/STATS
- Fixed bug in SET/SHOW TTOXn LOG
2.8 PDP-18b
- Fixed bug in SHOW TTIX CONN/STATS
- Fixed bug in SET/SHOW TTOXn LOG
2.9 Nova, Eclipse
- Fixed potential integer overflow exception in divide
1. New Features in 3.3-1
1.1 H316
TTY - implemented paper-tape reader and punch
- added ASCII file support
PTR,PTP - added ASCII file support
1.2 HP2100
CPU - added SET CPU 21MX-M, 21MX-E (from Dave Brian)
- disabled TIMER/EXECUTE/DIAG instructions for 21MX-M (from Dave Bryan)
- added post-processor to maintain T/M consistency (from Dave Bryan)
DS - released 13037 disk controller
1.3 Interdata
MT - added read-only file support
1.4 SDS
MT - added read-only file support
1.5 PDP-11
TM,TS - added read-only file support
2. Bugs Fixed in 3.3
2.1 H316
CPU - fixed bug in divide
LPT - fixed bug in DMA/DMC support
MT - fixed bug in DMA/DMC support
DP - fixed bug in skip on not seeking
TTY - fixed bugs in SKS '104, '504
2.2 HP2100
CPU - fixed DMA reset to clear alternate CTL flop (from Dave Bryan)
- fixed bug in JPY (from Dave Bryan)
- fixed bugs in CBS, SBS, TBS
- separate A/B from M[0/1] for DMA (found by Dave Bryan)
LPS - added restart when set online, etc. (from Dave Bryan)
- fixed col count for non-printing chars (from Dave Bryan)
LPT - added restart when set online, etc. (from Dave Bryan)
2.3 PDP-11
CPU - fixed WAIT to work in all modes (from John Dundas)
RESTRICTION: The PDP-15 FPP is only partially debugged. Do NOT
enable this feature for normal operations.
WARNING: The core simulator files (scp.c, sim_*.c) have been
reorganized. Unzip V3.2-0 to an empty directory before attempting
to compile the source.
IMPORTANT: If you are compiling for UNIX, please read the notes
for Ethernet very carefully. You may need to download a new
version of the pcap library, or make changes to the makefile,
to get Ethernet support to work.
1. New Features in 3.2-0
1.1 SCP and libraries
- Added SHOW <device> RADIX command.
- Added SHOW <device> MODIFIERS command.
- Added SHOW <device> NAMES command.
- Added SET/SHOW <device> DEBUG command.
- Added sim_vm_parse_addr and sim_vm_fprint_addr optional interfaces.
- Added REG_VMAD flag.
- Split SCP into separate libraries for easier modification.
- Added more room to the device and unit flag fields.
- Changed terminal multiplexor library to support unlimited.
number of async lines.
1.2 All DECtapes
- Added STOP_EOR flag to enable end-of-reel error stop
- Added device debug support.
1.3 Nova and Eclipse
- Added QTY and ALM multiplexors (Bruce Ray).
1.4 LGP-30
- Added LGP-30/LGP-21 simulator.
1.5 PDP-11
- Added format, address increment inhibit, transfer overrun
detection to RK.
- Added device debug support to HK, RP, TM, TQ, TS.
- Added DEUNA/DELUA (XU) support (Dave Hittner).
- Add DZ per-line logging.
1.6 18b PDP's
- Added support for 1-4 (PDP-9)/1-16 (PDP-15) additional
terminals.
1.7 PDP-10
- Added DEUNA/DELUA (XU) support (Dave Hittner).
1.8 VAX
- Added extended memory to 512MB (Mark Pizzolato).
- Added RXV21 support.
2. Bugs Fixed in 3.2-0
2.1 SCP
- Fixed double logging of SHOW BREAK (found by Mark Pizzolato).
- Fixed implementation of REG_VMIO.
2.2 Nova and Eclipse
- Fixed device enable/disable support (found by Bruce Ray).
2.3 PDP-1
- Fixed bug in LOAD (found by Mark Crispin).
2.4 PDP-10
- Fixed bug in floating point unpack.
- Fixed bug in FIXR (found by Phil Stone, fixed by Chris Smith).
2.6 PDP-11
- Fixed bug in RQ interrupt control (found by Tom Evans).
2.6 PDP-18B
- Fixed bug in PDP-15 XVM g_mode implementation.
- Fixed bug in PDP-15 indexed address calculation.
- Fixed bug in PDP-15 autoindexed address calculation.
- Fixed bugs in FPP-15 instruction decode.
- Fixed clock response to CAF.
- Fixed bug in hardware read-in mode bootstrap.
- Fixed PDP-15 XVM instruction decoding errors.
2.7 VAX
- Fixed PC read fault in EXTxV.
- Fixed PC write fault in INSV.