1
0
mirror of https://github.com/simh/simh.git synced 2026-01-11 23:52:58 +00:00

59 Commits

Author SHA1 Message Date
Patrick Linstruth
aad5351080 Altair8800: New Simulator
This is the initial release of the Altair8800 simulator.

Why another Altair simulator? AltairZ80 has been described as a
“software simulator”, where the intent is to run software designed
specifically for executing under a simulator. Altair8800 is intended
to accurately simulate the Altair hardware and execute software
that will run unchanged on real hardware. Software and disk images
can be moved between the Altair8800 simulator and real Altair and
other S-100 hardware without any changes. The Altair8800 simulator
is a tool that can assist with the restoration of vintage Altair
and other S-100 hardware and software along with the development
of new hardware and software. The accomplish this, the following
are major differences between AltairZ80 and Altair8800.

* The monolithic design where devices access other devices directly
through external variables and functions is no longer supported.
All devices exchange data through a new BUS device. Memory and I/O
address decoding and transfers are now handled by the BUS device.
All interrupt requests are handled by the BUS device.

* System RAM was moved from the CPU device to a new RAM device and
managed by the BUS device.

* Banked RAM was moved from the CPU device to a new BRAM device.

* Banked RAM can only be accessed through the BUS device. Memory in
banks that are not currently selected cannot be accessed. The AZ80
“banked” RAM was removed.

* ROMs were moved from the CPU and DSK devices to the new ROM device.
Mike Douglas’ Altmon Monitor is also available through the ROM
device. The custom AltairZ80 ALTAIRROM, which is not compatible
with original Altair disk images, is also available.

* The custom ALTAIRROM boot loader was replaced with the original
MITS Disk Boot Loader as the default ROM.

* The monolithic Multiple-CPU/RAM/ROM/IO/BankedRAM CPU device has
been replaced with a generic CPU device that provides an abstraction
layer between SIMH and the supported CPU architectures (currently
8080 and Z80). All IO is handled through the BUS device. RAM, Banked
RAM, and ROM are each handled by their own independent devices.

* The AltairZ80 SIO device was replaced with the M2SIO0 and M2SIO1
devices. The M2SIO devices fully support TMXR.

* A new SIO device was added to provide generic, programmable, Serial
IO. TMXR is not supported on this device.

* The Altair 8800 did not have PTR or PTP hardware devices. They have
been removed and replaced with the M2SIO1 device. PTR and PTP devices
are defined by software executing on the simulator.

* Contention between multiple enabled serial devices checking the
single host keyboard for input is now handled by the BUS device.
Port 0xFF sense switches was moved to a new SSW device and IMSAI
programmed output was moved to a new PO device.

* The SIMH pseudo device no longer uses the removed PTR and PTP
devices. The SIMH device has its own IO system. To avoid conflicts
with other devices and remain compatible with the R and W utilities
written for AltairZ80, SIMH “borrows” I/O ports 12H and 13H during
file transfers. Only SIMH commands needed to support R and W file
transfers are supported. All other SIMH commands were removed.

* AltairZ80-specific versions of CP/M are not supported by Altair8800.

* PC queue was removed from CPU device and replaced with CPU HISTORY.

* The Altair8800 simulator only supports 16-bit address and 8-bit
data buses. 8086 and 68K CPU architectures were removed.

* All CPU timing (clockFrequency) and “sleeps” (SIO SLEEP) have been
removed. SIMH THROTTLE is fully supported and is the recommended
way to manage simulator speed and host CPU utilization. Executing
“SET THROTTLE 100K/1”, for example, should provide ample speed
without tasking the host CPU.

* HEXLOAD and HEXSAVE commands were added. The LOAD “-h” option has
been removed. Intel Hex and sRecord (coming soon) formats are
supported.

* The WD179X device was converted to an API.

* A new DSK API was added to provide a consistent way to manage soft
sector raw disk images.

* Support for the proprietary IMD disk image format was removed. Only
RAW disk images are supported.

The following devices are supported by this initial release:

BUS - Altair (S-100) Bus
CPU - Intel 8080 / Zilog Z80
RAM - 64K RAM
ROM - ROMs
BRAM - Banked RAM
DSK - MITS 88-DCDD Floppy Disk Controller
M2SIO0 - MITS 88-2SIO Port 0
M2SIO1 - MITS 88-2SIO Port 1
SSW - Sense Switches
PO - Programmed Output
SIO - Generic Serial I/O
SBC200 - SD Systems SBC-200
TARBELL - Tarbell SD and DD Floppy Disk Controller
VFII - SD Systems VersaFloppy II
SIMH - SIMH Pseudo Device
2025-11-21 17:01:40 -05:00
Mark Pizzolato
3e3fc123c7 Visual Studio Projects: Enable Debug build with windows_build support missing
Change storage of solution and project files to be text rather than binary.
2025-11-17 20:36:24 -10:00
Mark Pizzolato
d5ccdd843f LINC: Add Visual Studio project files. 2025-10-12 18:37:37 -10:00
Anders Magnusson
7e18863e03 ND100: Initial support for Nord-100, implements the base instruction set.
Passes the test program INSTRUCTION-B.
2023-04-02 13:09:59 -10:00
Seth Morabito
88916c7bf1 3B2-700 Initial Public Release
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.
2022-11-07 10:49:45 -10:00
AZBevier
4991701ee6 SEL32: Add new SEL32 simulator. 2022-03-03 16:25:48 -07:00
Mark Pizzolato
2768e5861d Visual Studio Projects: Add new PDP10-KS project and updated PDP10-KA and PDP6 2022-02-19 18:40:10 -08:00
Seth Morabito
c0beba5498 3B2: Rev 3 Development Base
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.
2021-08-09 11:08:35 -07:00
Bill Beech
96c32fcb80 Intel-Systems: Merge MDS, SDK, OEM simulators into Intel-MDS simulator
14 separate simulators now internal to a general purpose simulator
2021-04-11 14:37:34 -07:00
Lars Brinkhoff
44cc9f3f6d TT2500: Turtle Terminal 2500, from General Turtle Inc.
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.
2020-12-02 08:17:47 +01:00
Bill Beech
4810b950d2 Visual Studio Projects, makefile: Add new simulators isdk80 and ids880 2020-08-02 14:22:25 -07:00
Lars Brinkhoff
f95ac7ddbd IMLAC: Simulator for Imlac PDS-1. 2020-06-12 16:05:50 +02:00
Roberto Sancho Villa
08027162ca I650: Update IBM 650 simulator to Release 4
- Integration with updated sim_card API
- Addition of MT (Mag Tape) device
- Addition of DSK (Disk) device
- Build time simulator test
2020-05-15 05:57:01 -07:00
Mark Pizzolato
17a3219d0a Visual Studio Projects: Update project dependencies PDP10-KL 2020-03-22 09:35:23 -07:00
Author: Richard Cornwell
c686f75894 KA10: Added support for KL10A/B. 2020-03-09 23:07:47 -07:00
Mark Pizzolato
0de9b62850 Visual Studio Projects: Correct build dependencies 2019-10-18 23:18:39 -07:00
Bill Beech
6af0958209 Intel-Systems: Update and cleanup components 2019-10-16 13:41:27 -07:00
Mark Pizzolato
ef00a62e66 Visual Studio Projects: Add PDP6, PDP10-KA and PDP10-KI to the solution 2019-07-09 21:03:56 -07:00
Mark Pizzolato
ab3e07a401 Visual Studio Projects: Correct project dependencies 2019-05-01 22:56:54 -07:00
Matt Burke
7eee73770d makefile: Add missing SDL support for VAXstation simulators.
- Minor naming corrections to VAX simulators
2019-04-23 18:21:16 -07:00
Matt Burke
f028802bff VAX: Added many different model VAX simulators
- 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
2019-04-21 16:29:45 -07:00
Matt Burke
1d15966191 VAX: New simulator for VAX 8200 2019-04-21 09:09:32 -07:00
Mark Pizzolato
aabb689763 Visual Studio Projects: Remove I650 from build for lack of attention from author
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.
2018-10-02 15:42:45 -07:00
Mark Pizzolato
4304b8d3cd Visual Studio Projects: Correct project build dependency order for all projects 2018-07-05 05:06:31 -07:00
Mark Pizzolato
6b361a9faf PDP11, PDP15, UC15: Merge simh v3.10 functionality from Supnik-Current branch 2018-06-04 10:43:00 -07:00
Roberto Sancho Villa
2eb49c13b7 i650: New IBM 650 Simulator 2018-03-25 10:17:35 -07:00
Richard Cornwell
b5ea9ec38e I7000: Initial release of a set of simulators for IBM 7000 series mainframes.
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.
2017-12-28 05:05:25 -08:00
Seth Morabito
804ea8e322 3b2: Initial release of an AT&T 3B2 model 400 emulator.
For information on usage, please see the file 3B2/README.md
2017-11-20 18:21:49 -08:00
Mark Pizzolato
202e49cfdf scelbi: New SCELBI (SCientic-ELectronics-BIology) Simulator from Hans-Åke Lund 2017-09-13 05:59:25 -07:00
Mark Pizzolato
7c696dbbc7 Visual Studio Projects: Add projects for ibmpc and ibmpcxt 2017-03-18 17:47:52 -07:00
Mark Pizzolato
f52b5346fa Visual Studio Projects: Add project for imds-225 simulator 2017-03-14 03:52:36 -07:00
Mark Pizzolato
b712b2a724 Visual Studio Projects: Add missing dependency on BuildROMs to newer simulators
This dependency is necessary for proper conversion of the simh solutiion and all
of the projects to Visual Studio Versions greater than VS2008.
2017-01-09 10:36:32 -08:00
Bill Beech
c24a6a28b2 ISYS8024, ISYS8030: Add initial new simulators 2016-12-05 13:04:01 -07:00
Mark Pizzolato
1897dfeb94 CDC1700: Initial import of new simulator from John Forecast 2016-07-20 21:05:02 -07:00
Mark Pizzolato
3a4e879c07 HP3000: Initial release of the HP 3000 Series III simulator (from Dave Bryan) 2016-03-07 20:47:57 -08:00
Mark Pizzolato
1cd8925894 B5500: Add build (Makefile, Visual Studio Project, descrip.mms) support 2016-02-06 14:39:03 -08:00
Mark Pizzolato
ab510885c0 Visual Studio Projects: Forced serialization of Visual Studio Project fixes by making all simulators dependent on BuildROMs project. 2015-09-04 11:36:24 -07:00
Mark Pizzolato
8d9f08f3e7 ISYS8020: Add Visual Studio Project for isys8020 simulator 2015-05-08 17:15:10 -07:00
Bill Beech
4210c7cbc5 ISYS8010: Add Visual Studio Project (from Mark Pizzolato) 2015-05-05 14:06:12 -07:00
Mark Pizzolato
54ec99f95e Visual Studio Projects: Added BESM6 project 2014-12-30 13:43:27 -08:00
Mark Pizzolato
501c5ac69d VisualStudioProjects: Cleaned up and made consistent project settings. 2014-10-05 16:06:19 -07:00
Mark Pizzolato
e2524e7feb Beta Simulators (PDQ-3 and SAGE) from Holger Veit 2014-09-17 17:31:40 -07:00
Mark Pizzolato
c1c5535d0b sigma: Fix shutdown/detach issue with tape devices.
Also add makefile and Visual Studio Project definitions to build the incomplete/unsupported sigma and alpha simulators.
2014-07-10 14:57:18 -07:00
Mark Pizzolato
d0d3742504 SWTP6800: Added build support for internally contained swtbug.bin as a built-in ROM image 2014-02-24 18:13:12 -08:00
Mark Pizzolato
5fba42a08f Renamed Visual Studio Projects VAX610, VAX620 and VAX630 to be consistent with the target names produced by those project builds.
This allows the projects to be migrated into Visual Studio 2010 and Visual Studio 2012 and produce consistent behavior.
2013-06-14 16:20:30 -07:00
Mark Pizzolato
6c42556d30 Added build support for the new SSEM simulator and fixed minor compiler suggested cleanups 2013-05-13 15:31:00 -07:00
Mark Pizzolato
6dcf5ba7d9 Renamed the VAX860 simulator to VAX8600, and used the VAX system model names for all simulators 2013-01-26 13:24:28 -08:00
Mark Pizzolato
c5e41ad6cc Addition of VAX 8600 to Visual Studio Solution file
Avoid warning when compiling with MinGW on Windows XP
2012-12-27 07:11:48 -08:00
Mark Pizzolato
762aacf7ad Merge branch 'Extra-VAXen' 2012-12-17 03:19:07 -08:00
Mark Pizzolato
b01fa8fbb0 Addition of MicroVAX II (VAX630) and rtVAX 1000 (or Industrial VAX 620) processor simulators from Matt Burke
Generalized the Boot Code loading support to use common code which has been added to vax_cpu.c
2012-11-09 12:18:15 -08:00