资源说明:The Computer History Simulation Project
# SIMH v4.0 - 19-01 Current [![Coverity Scan Build Status](https://scan.coverity.com/projects/11982/badge.svg)](https://scan.coverity.com/projects/simh) [![Build Status](https://travis-ci.org/simh/simh.svg)](https://travis-ci.org/simh/simh) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/simh/simh)](https://ci.appveyor.com/project/simh/simh/history) ## Table of Contents: [WHAT'S NEW since simh v3.9](#whats-new-since-simh-v39) . . [New Simulators](#new-simulators) . . [Simulator Front Panel API](#simulator-front-panel-api) . . [New Functionality](#new-functionality) . . . . [DDCMP Synchronous host physical device support - framer](#ddcmp-synchronous-host-physical-device-support---framer) . . . . [Remote Console Facility](#remote-console-facility) . . . . [VAX/PDP11 Enhancements](#vaxpdp11-enhancements) . . . . [PDP11 Specific Enhancements](#pdp11-specific-enhancements) . . . . [PDP10 Enhancements](#pdp10-enhancements) . . . . [SDS 940 Enhancements](#sds-940-enhancements) . . . . [Terminal Multiplexer additions](#terminal-multiplexer-additions) . . . . [Video Display Capabilities](#video-display-capabilities) . . . . [Asynchronous I/O](#asynchronous-io) . . . . [Clock/Timer Enhancements](#clocktimer-enhancements) . . . . [Ethernet Transport Enhancements](#ethernet-transport-enhancements) . . . . [Disk Extensions](#disk-extensions) . . . . [Embedded ROM support](#embedded-rom-support) . . . . [Control Flow](#control-flow) . . . . [Scriptable interactions with running simulators](#scriptable-interactions-with-running-simulators) . . . . [Help](#help) . . . . [Generic SCP support Clock Coscheduling as opposed to per simulator implementations](#generic-scp-support-clock-coscheduling-as-opposed-to-per-simulator-implementations) . . . . [New SCP Commands](#new-scp-commands) . . . . [Command Processing Enhancements](#command-processing-enhancements) . . . . . . [Environment variable insertion](#environment-variable-insertion) . . . . . . [Command aliases](#command-aliases) . . . . . . [Do command argument manipulation](#do-command-argument-manipulation) . . [Building and running a simulator](#building-and-running-a-simulator) . . . . [Use Prebuilt Windows Simulators](#use-prebuilt-windows-simulators) . . . . [Building simulators yourself](#building-simulators-yourself) . . . . . . [Linux/OSX other *nix platforms](#linuxosx-other-nix-platforms) . . . . . . . . [Build Dependencies](#build-dependencies) . . . . . . . . . . [OS X - Dependencies](#os-x---dependencies) . . . . . . . . . . [Linux - Dependencies](#linux---dependencies) . . . . . . [Windows](#windows) . . . . . . . . [Required related files](#required-related-files) . . . . . . . . [Visual Studio (Standard or Express) 2008, 2010, 2012, 2013 or Visual Studio Community 2015, 2017, 2019](#visual-studio-standard-or-express-2008-2010-2012-2013-or-visual-studio-community-2015-2017-2019) . . . . . . . . [MinGW32](#mingw32) . . . . . . [VMS](#vms) . . [Problem Reports](#problem-reports) ## WHAT'S NEW since simh v3.9 ### New Simulators #### Seth Morabito has implemented a AT&T 3B2 simulator. #### Leonid Broukhis and Serge Vakulenko have implemented a simulator for the Soviet mainframe BESM-6 computer. #### Matt Burke has implemented new VAX model simulators: VAX-11/730 VAX-11/750 VAX 8200/8250 VAX 8600/8650 MicroVAX I & VAXstation I MicroVAX II & VAXstation II & VAXstation II/GPX rtVAX 1000 (or Industrial VAX 620) MicroVAX 2000 & VAXstation 2000 MicroVAX 3100 M10/M20 MicroVAX 3100 M10e/M20e InfoServer 100 InfoServer 150 VXT VAXstation 3100 M30 VAXstation 3100 M38 VAXstation 3100 M76 VAXstation 4000 VLC VAXstation 4000 M60 MicroVAX 3100 M80 InfoServer 1000 #### Howard Harte has implemented a Lincoln Labs TX-0 simulator. #### Gerardo Ospina has implemented a Manchester University SSEM (Small Scale Experimental Machine) simulator. #### Richard Cornwell has implemented a Burroughs B5500. #### Richard Cornwell has implemented the IBM 701, IBM 704, IBM 7010/1410, IBM 7070/7074, IBM 7080/702/705/7053 and IBM 7090/7094/709/704 simulators. #### Richard Cornwell has implemented the PDP6, PDP10-KA, PDP10-KI, PDP10-KL and PDP10-KS simulators. With the differences merely being some device name changes, the PDP10-KS should be compatible with Bob Supnik's original PDP10 simulator. #### Dave Bryan has implemented an HP-3000 Series III simulator. #### Updated AltairZ80 simulator from Peter Schorn. #### Updated HP2100 simulator from Dave Bryan. #### Sigma 5, 6 & 7 simulator from Bob Supnik #### Beta SAGE-II and PDQ-3 simulators from Holger Veit #### Intel Systems 8010 and 8020 simulators from Bill Beech #### CDC 1700 simulator from John Forecast #### Hans-Åke Lund has implemented an SCELBI (SCientic-ELectronics-BIology) simulator. #### IBM 650 simulator from Roberto Sancho Villa #### Jim Bevier has implemented a SEL32 simulator. ### New Host Platform support - HP-UX and AIX ### Simulator Front Panel API The sim_frontpanel API provides a programmatic interface to start and control any simulator without any special additions to the simulator code. ### New Functionality #### DDCMP Synchronous host physical device support - framer Paul Koning has implemented a USB hardware device which can interface transport DDCMP packets across a synchronous line to physical host systems with native synchronous devices or other simulators using framer devices. #### Remote Console Facility A new capability has been added which allows a TELNET Connection to a user designated port so that some out of band commands can be entered to manipulate and/or adjust a running simulator. The commands which enable and control this capability are SET REMOTE TELNET=port, SET REMOTE CONNECTIONS=n, SET REMOTE TIMEOUT=seconds, and SHOW REMOTE. The remote console facility has two modes of operation: 1) single command mode. and 2) multiple command mode. In single command mode you enter one command at a time and aren't concerned about what the simulated system is doing while you enter that command. The command is executed once you've hit return. In multiple command mode you initiate your activities by entering the WRU character (usually ^E). This will suspend the current simulator execution. You then enter commands as needed and when you are done you enter a CONTINUE command. While entering Multiple Command commands, if you fail to enter a complete command before the timeout (specified by "SET REMOTE TIMEOUT=seconds"), a CONTINUE command is automatically processed and simulation proceeds. A subset of normal simh commands are available for use in remote console sessions. The Single Command Mode commands are: ATTACH, DETACH, PWD, SHOW, DIR, LS, ECHO, HELP The Multiple Command Mode commands are: EXAMINE, IEXAMINE, DEPOSIT, EVALUATE, ATTACH, DETACH, ASSIGN, DEASSIGN, STEP, CONTINUE, PWD, SAVE, SET, SHOW, DIR, LS, ECHO, HELP A remote console session will close when an EOF character is entered (i.e. ^D or ^Z). #### VAX/PDP11 Enhancements RQ has new disk types: RC25, RCF25, RA80 RQ device has a settable controller type (RQDX3, UDA50, KLESI, RUX50) RQ disks default to Autosize without regard to disk type RQ disks on PDP11 can have RAUSER size beyond 2GB DMC11/DMR11 DDCMP DECnet device simulation. Up to 8 DMC devices are supported. Packet transport is via TCP or UDP connections. KDP11 on PDP11 for DECnet DUP11 on PDP11 for DECnet connectivity to talk to DMC, KDP or other DUP devices CH11 on PDP11 and VAX780 for Chaosnet (from Lars Brinkhoff) DZ on Unibus systems can have up to 256 ports (default of 32), on Qbus systems 128 port limit (default of 16). DZ devices optionally support full modem control (and port speed settings when connected to serial ports). TU58 device support for all PDP11 and VAX systems. DHU11 (device VH) on Unibus systems now has 16 ports per multiplexer. XQ devices (DEQNA, DELQA and DELQA-T) are bootable on Qbus PDP11 simulators XQ and XU devices (DEQNA, DELQA, DELQA-T, DEUNA and DELQA) devices can now directly communicate to a remote device via UDP (i.e. a built-in HECnet bridge). XQ and XU devices (DEQNA, DELQA, DELQA-T, DEUNA and DELQA) devices can now optionally throttle outgoing packets which is useful when communicating with legacy systems (real hardware) on a local LAN which can easily get over run when packets arrive too fast. MicroVAX 3900 has QVSS (VCB01) board available. MicroVAX 3900 and MicroVAX II have SET CPU AUTOBOOT option MicroVAX 3900 has a SET CPU MODEL=(MicroVAX|VAXserver|VAXstation) command to change between system types MicroVAX I has a SET CPU MODEL=(MicroVAX|VAXSTATION) command to change between system types MicroVAX II has a SET CPU MODEL=(MicroVAX|VAXSTATION) command to change between system types #### PDP11 Specific Enhancements ROM (from Lars Brinkhoff) I/O page ROM support NG (from Lars Brinkhoff) Knight vector display DAZ (from Lars Brinkhoff) Dazzle Dart Input device #### PDP10 Enhancements KDP11 (from Timothe Litt) for DECnet connectivity to simulators with DMC, DUP or KDP devices DMR11 for DECnet connectivity to simulators with DMC, DUP or KDP devices on TOPS10. CH11 (from Lars Brinkhoff) Chaosnet interface. #### SDS 940 Enhancements Support for SDS internal ASCII character encoding during display and data entry. Allow breakpoints to be qualified by normal, monitor or user mode. Fix CPU, RAD, MUX and I/O bugs that prevented SDS Time Share System Monitor and Executive from executing properly. #### Terminal Multiplexer additions Added support for TCP connections using IPv4 and/or IPv6. Logging - Traffic going out individual lines can be optionally logged to files Buffering - Traffic going to a multiplexor (or Console) line can optionally be buffered while a telnet session is not connected and the buffered contents will be sent out a newly connecting telnet session. This allows a user to review what may have happened before they connect to that session. Serial Port support based on work by J David Bryan and Holger Veit Serial Console Support Separate TCP listening ports per line Outgoing connections per line (virtual Null Modem cable). Packet sending and reception semantics for simulated network device support using either TCP or UDP transport. Input character rates reflect the natural character arrival time based on the line speed. #### Video Display Capabilities Added support for monochrome and color displays with optional keyboards and mice. The VAXstation QVSS device (VCB01) and QDSS device (VCB02) simulations use these capabilities. Host platforms which have libSDL2 available can leverage this functionality. #### Asynchronous I/O * Disk and Tape I/O can be asynchronous. Asynchronous support exists for pdp11_rq, pdp11_rp and pdp11_tq devices (used by VAX and PDP11 simulators). * Multiplexer I/O (Telnet and/or Serial) can be asynchronous. Asynchronous support exists for console I/O and most multiplexer devices. (Still experimental - not currently by default) #### Clock/Timer Enhancements * Asynchronous clocks ticks exist to better support modern processors that have variable clock speeds. The initial clock calibration model presumed a constant simulated instruction execution rate. Modern processors have variable processor speeds which breaks this key assumption. * Strategies to make up for missed clock ticks are now available (independent of asynchronous tick generation). These strategies generate catch-up clock ticks to keep the simulator passage of time consistent with wall clock time. Simulator time while idling or throttling is now consistent. Reasonable idling behavior is now possible without requiring that the host system clock tick be 10ms or less. * Simulator writers have access to timing services and explicit wall clock delays where appropriate. #### Ethernet Transport Enhancements * UDP packet transport. Direct simulator connections to HECnet can be made without running a local packet bridge program. * NAT packet transport. Simulators which only speak TCP/IP (No DECnet) and want to communicate with their host systems and/or directly to the Internet can use NAT packet transport. This also works for WiFi connected host systems. * Packet Transmission Throttling. When connected to a LAN which has legacy network adapters (DEQNA, DEUNA) on legacy systems, it is very easy for a simulated system to overrun the receiving capacity of the older systems. Throttling of simulated traffic delivered to the LAN can be used to mitigate this problem. * Reliable MAC address conflict detection. * Automatic unique default MAC address assignment. #### Disk Extensions RAW Disk Access (including CDROM) Virtual Disk Container files, including differencing disks File System type detection to accurately autosize disks. Recognized file systems are: DEC ODS1, DEC ODS2, DEC RT11, DEC RSTS, DEC RSX11, Ultrix Partitions, ISO 9660 #### Tape Extensions AWS format tape support TAR format tape support ANSI-VMS, ANSI-RSX11, ANSI-RSTS, ANSI-RT11 format tape support #### Embedded ROM support Simulators which have boot commands which load constant files as part of booting have those files imbedded into the simulator executable. The imbedded files are used if the normal boot file isn't found when the simulator boots. Specific examples are: VAX (MicroVAX 3900 - ka655x.bin) VAX8600 (VAX 8600 - vmb.exe) VAX780 (VAX 11/780 - vmb.exe) VAX750 (VAX 11/750 - vmb.exe, ka750_old.bin, ka750_new.bin), VAX730 (VAX 11/730 - vmb.exe) VAX610 (MicroVAX I - ka610.bin) VAX620 (rtVAX 1000 - ka620.bin) VAX630 (MicroVAX II - ka630.bin) #### Control Flow The following extensions to the SCP command language without affecting prior behavior: GOTO
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。