Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

simh

> 编程语言
Open source

The Computer History Simulation Project

1.9K stars0 likes0 views
WebsiteGitHub

About

The Computer History Simulation Project

SIMH v4.0 - 19-01 Current

Table of Contents:

WHAT'S NEW since the Open SIMH fork
WHAT'S NEW since simh v3.9
. . New Simulators
. . Simulator Front Panel API
. . New Functionality
. . . . DDCMP Synchronous host physical device support - framer
. . . . Remote Console Facility
. . . . VAX/PDP11 Enhancements
. . . . PDP11 Specific Enhancements
. . . . PDP10 Enhancements
. . . . SDS 940 Enhancements
. . . . Terminal Multiplexer additions
. . . . Video Display Capabilities
. . . . Asynchronous I/O
. . . . Clock/Timer Enhancements
. . . . Ethernet Transport Enhancements
. . . . Disk Extensions
. . . . Embedded ROM support
. . . . Control Flow
. . . . Scriptable interactions with running simulators
. . . . Help
. . . . Generic SCP support Clock Coscheduling as opposed to per simulator implementations
. . . . New SCP Commands
. . . . Command Processing Enhancements
. . . . . . Environment variable insertion
. . . . . . Command aliases
. . . . . . Do command argument manipulation
. . Building and running a simulator
. . . . Use Prebuilt Windows Simulators
. . . . Building simulators yourself
. . . . . . Linux/OSX other *nix platforms
. . . . . . . . Build Dependencies
. . . . . . . . . . OS X - Dependencies
. . . . . . . . . . Linux - Dependencies
. . . . . . Windows
. . . . . . . . Required related files
. . . . . . . . Visual Studio (Standard or Express) 2008, 2010, 2012, 2013 or Visual Studio Community 2015, 2017, 2019
. . . . . . . . MinGW32
. . . . . . VMS
. . Problem Reports

WHAT'S NEW since the Open SIMH fork

All Simulator updates on Open SIMH will be present in this repository, and any changes to the master branch code in this repository authored by anyone except Mark Pizzolato may be posted as pull requests on the Open simh repo.

Simulator binaries for x86 Linus, x86 macOS, and Windows for all recent changes are available at https://github.com/simh/Development-Binaries

Mark Pizzolato's changes only present in the simh/simh repo and not present in the Open SIMH repo:

Visible changes to SCP (the simulator framework or command execution environment)

  • Add descriptive messages for cases when NOPARAM status is returned.

  • Avoid excessive DO command context lines when commands produce multiple lines of output.

  • Support has been added to allow for optional per device unit tests to exist and to invoke them at simulator startup.

  • Add support for generic bit field packing and unpacking during buffer copying.

  • Display count of units when all units are disabled.

  • Support to display all SCP visible filenames via relative paths and use those in SAVEd state.

  • ZAP command can be aborted by a Control-C.

  • Display current NOAUTOSIZE status in SHOW VERSION output.

  • Extend logical name support to include optional unique names for units as well as devices.

  • Add extended register sanity checks including duplicate name detection. Fixed simulator devices with duplicate register names.

  • Simulators with video devices that may be enabled, no longer disable the screen saver until the video display is presented. Optionally enabling or disabling the OS screen saver by an environment variable.

  • More readable output of SHOW | with variable sized DEVICE and UNIT names.

  • Automatic Cryllic Font detection in BESM6 simulator at runtime rather than build time. More relevant for distribution binaries.

  • Built-in command history and tab file name completion previously done by GPL readline now done by BSD licensed library available on all platforms (especially Windows).

  • Robust register sanity checking for all register definition macros.

  • When building on windows, the windows-build dependency libraries are automatically downloaded even if git is not available.

  • Extended video component version information displayed in SHOW VERSION output.

  • Add a global SET AUTOZAP command or per drive SET AUTOZAP which removes metadata from disk containers at detach time if the container has metadata.

  • DISKINFO command displays disk container metadata (if present) and container size along with detected file system information if a known file system type is present.

  • makefile builds which have potentially useful dependencies not found will prompt to install these components prior to building. MacOS Brew dependencies can be directly done from within the makefile. Other platforms (or package management systems) which require root access to install will display the appropriate package management commands and and exit. Support for macOS (HomeBrew and MacPorts), Linux (Ubuntu/Debian, RedHat/Fedora, Chimera), NetBSD, FreeBSD, OpenBSD.

  • SHOW VERSION show the host system type that build the runing simulator when it is not the same as the current host system.

  • Support for building simulators without built-in boot or ROM code when building with DONT_USE_INTERNAL_ROM is defined, but to automatically and transparently fetch the needed ROM or other boot code when it is needed. This is possibly useful for systems which don't want to distribute simulators with build-in binary code which may have unknown copyright status.

  • Reasonable output produced for all simulators from HELP BOOT.

  • Fix occasional hang of IBM1130 simulator while building with Visual Studio.

  • Building with the simh makefile defaults to compiling each source file separately and store the compiled result. This approach lends itself to quicker building for folks who are developing new simulators or new simulator modules. This was requested and discussed in #697. Invoking make with BUILD_SEPARATE=0 on the make command line or as an exported environment variable will disable separate compiles.

  • Building with the simh makefile defaults to displaying a summary of what is happening in each build step. Invoking make with QUIET=0 on the make command line or as an exported environment variable will cause the display of the full compiler or linker command being performed instead of the summary commands.

  • TAPE and SCSI libraries have been extended to fully support partial record reads of fixed sized records which may contain multiple records in recorded data. Images of this type are common for QIC tape archives generally available on bitsavers and elsewhere. Attach time checking on simulated QIC tape devices reports possible problems that may occur.

  • Appveyor CI/CD builds of all simulators for Linux, macOS and Windows platforms.

  • All the available simulator defined environment variables are documented in the help and sim_doc document file.

  • SET CONSOLE TELNET=CONNECT will start a telnet session to the simulator console in a separate window on all supported host systems.

  • Support for building on systems with the gameoftrees.org (got) source control system.

  • Frontpanel API improvements, document clarifications and bug fixes.

  • Added a SET CLOCK NOCALIBRATE mode.
    NOCALIBRATE mode allows all activity of a simulator run to occur with precisely consistent event timing. In this mode, every clock tick takes precisely the same number of instructions/cycles. Likewise, the polling activities for MUX or other poll oriented devices occurs after precisely the same number of instructions/cycles executed. As a consequence of this mode, no effort to align simulated clock ticks (and simulated access to wall clock time) is made.

    This mode will often be useful for running diagnostics which expect a particular relationship between perceived wall clock and instruction times. It might also be useful for running test scripts which may want to compare output of previous executions to to current execution or to compare execution on arbitrarily different host computers. It will also be useful when running under a host system debugger which might produce confusing results when various wall clock pause times when stopping at breakpoints. Additionally, consistent logical timing exists when simulator debug or instruction history is being recorded which normally would impact wall clock times.

    In NOCALIBRATE mode, the operator gets to specify the pseudo execution rate along with the base wall clock time that access to pseudo wall clock accesses returns.

  • All removable devices get detached on a media unload without regard to data access format (SIMH, VHD or RAW).

  • Various failing bugs in tape detach logic are fixed.

  • Clean building on Android Termux.

  • Proper line editing and tab filename completion behavior on all Unix and Windows platforms.

  • Simulators with video displays have a working SCREENSHOT command.

  • VHD Support for Differencing Disks has been corrected.

  • Attach time disk container copy support between dissimilar storage formats (VHD<->SIMH). Previously container copy operations were only supported between identical format containers (SIMH<->SIMH, and VHD<->VHD).

  • DISKINFO command provides more useful metadata information and file system verification with full support for VHD Differencing Disks.

  • Simulators which have instruction history support can now have SHOW HISTORY output be aborted by SIGINT (Control-C).

  • Device REGister variables have been extended to support double precision data.

  • More complete host system information displayed in SHOW VERSION output.

  • Simulator THROTTLING can only be enabled once per simulator run. This avoids potential errant behaviors when arbitrarily switching throttling settings.

  • EXAMINE memory commands will now produce minimal output that summarizes multiple successive locations with the same contents and may be aborted by SIGINT (Control-C).

  • Ethernet enhancements on all platforms and and much simplified platform support on macOS.

  • Almost all existing simulators have useful SET CONSOLE SPEED=nnn behaviors in both the bare console session as well as TELNET console sessions.

  • Simh global/startup configuration commands can be contained in the first of simh.ini found in: 1) The current working directory, 2) The User login directory, 3) The directory containing the simulator executable, 4) The ~/Library/Preferences directory, 5) The /Library/Preferences directory, or 6) The /etc directory.

  • Enhanced Ethernet functionality on macOS which leverages the OS provided vmnet capabilities. This is available on all intel and Apple Silicon macOS systems starting with Catalina (10.15) which was released in 2019.

  • SCP IF command supports RegEx comparisons.

  • Windows builds are supported running all versions of Microsoft Visual Studio, including the most recent VS2026.

  • All simulators build with full functionality and extended/simplified network support on illumos Open Indiana and Omni OS.

All simulators build cleanly under OpenVMS on ia64 systems.

Changes to the PD

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言