Commit graph

306 commits

Author SHA1 Message Date
Patrick Linstruth
cf9fac614c AltairZ80: Adds SOL20 and VDM1 devices
This PR adds support for the Processor Technology VDM-1 display adapter and Sol-20 computer system. The VDM-1 was integrated into the Sol-20 but has been separated out into its own device.

This PR adds the following devices to the AltairZ80 simulator:

VDM1 - Processor Technology VDM-1 display adapter
SOL20 - Processor Technology SOL20 with SOLOS ROMs
SOL20K - SOL20 Keyboard (callback from VDM1)
SOL20T - SOL20 Tape (reads/writes cassette file images)
SOL20S - SOL20 Serial Port (TMXR capable)
SOL20P - SOL20 Printer Port (TMXR capable)
2023-03-19 16:47:38 -04:00
Timothe Litt
cf45e06f65 Include Windows build in CI and deploy
- Builds x86 and x64 regular snapshots.
   x64: Mon      Wed     Fri
   x86:      Tue     Thu     Sat
   ARM: Mon          Thu         Sun (ARM not enabled)

 - Builds x64 on closed pull request, Release

 - Manual trigger allows selection of ref, platform,
   architecture, config, disposition

 - Releases and daily snapshots are deployed automagically

 - VS Project 2022 files updated for ARM, but not setup for
   cross-builds (BuildROMs) or tested on ARM (no hardware)

 - Fix makefile tests for cygwin
2023-02-26 22:22:01 -05:00
Jim Bevier
4e159a04ed SEL32: Add IPU device support using pthreads on Linux and Windows.
SEL32: Update makefile and SEL32.vsproj file to add IPU device.
SEL32: Update README.md file.
SEL32: Do a general code cleanup.
2023-02-07 20:30:54 -05:00
Patrick Linstruth
e2d422c2d3 AltairZ80: Add support for Morrow Micro Decision
Moved MMD and MMDM devices under Morrow Devices comment.
2022-11-23 11:22:51 -05:00
Howard M. Harte
256183232a AltairZ80: Add DJHDC to VS project. 2022-11-15 12:21:58 -05:00
Howard M. Harte
bc9dc13f7c AltairZ80: Add Tarbell Double-Density to Visual Studio Project. 2022-11-15 12:21:58 -05:00
Lars Brinkhoff
eb359b962f PDP11: Add MB11. 2022-10-29 14:15:41 -04:00
Lars Brinkhoff
6a384854cf PDP11: Add Logo TV raster display. 2022-10-29 14:15:41 -04:00
Bill Beech
f03e370c6f Intel-MDS: Update to the latest and fix inconsistent REGister declarations 2022-08-03 13:15:03 -07:00
Mark Pizzolato
5d12b9da4f Visual Studio Projects: Report warnings as errors so CI builds fail on warnings 2022-10-26 06:07:51 -10:00
Howard M. Harte
ef6667b05c
Fix AltairZ80 compilation with Visual Studio 2008 (#85)
* AltairZ80: SS1: Fix disable after reset.

The CompuPro System Support 1 could not be disabled after enabled and
used due to timers causing it to be busy.  Reset properly so that "set
ss1 disabled" works after reset.

* AltairZ80: wd179x: Properly reset 179x state.

* AltairZ80: M68K: Fix compile with VS2008.

* Musashi: Fix compilation with Visual Studio 2008.

* AltairZ80: M68K: Resolve warnings in softfloat.

* AltairZ80: Add headers to .vcproj
2022-10-24 17:15:51 -04:00
Lars Brinkhoff
65410851d5 PDP11: DH11 device. 2022-10-18 07:28:28 +02:00
Howard M. Harte
1110802bb1 AltairZ80: M68K: Changes for SIMH.
Build: Compiled with VS 2022, Clang, gcc.
Test: Boot and run CP/M-68K from: https://schorn.ch/cpm/zip/cpm68k.zip
2022-10-08 00:25:04 -07:00
Howard M. Harte
9fa55d0013 AltairZ80: M68K: Move Musashi to m68k directory.
The M68K CPU is from https://github.com/kstenerud/Musashi.  Move into
its own directory to facilitate easier synchronization with upstream
Musashi.
2022-10-08 00:24:49 -07:00
Seth Morabito
9b62da6567 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.

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
2022-09-15 14:15:28 -07:00
Richard Cornwell
38cd649a9f KA10: Removed duplicate file in Visual Studio build of KA10. 2022-06-21 13:50:46 -04:00
Richard Cornwell
60d2eaf42b Updated Makefile and Visual Studio project to include extra devices on KL10. 2022-06-21 09:51:19 -04:00
Bill Beech
44428e53b6 SWTP6800: Update to simulators
- General cleanup of codebase
- Fixed condition codes m6800.c  from Roberto Sancho Villa
- Add additional FDC lfd-400 from Roberto Sancho Villa
- Add additional OS's (FLEX 1.0, FDOS 1.0, DOS68, MiniDOS, and MiniDOS-MPX)
  to software support
- Add additional disk formats to software support dc-4.c  from Roberto
  Sancho Villa
- Add CPU history
- Fix LOAD/DUMP to support binary and hex
- Fix fprintf_sym to disassemble 6800 code correctly
- Add EXAMINE/DEPOSIT to CPU Memory
- Fixed disasm to space the register
- Add SET_FLAG(IF) to IRQ – fixed error in handling IRQ from
  Roberto Sancho Villa
2022-06-09 14:28:04 -07:00
Mark Pizzolato
910bbc2d7e Unibus and Qbus VAXen: Add DUP-11/DPV-11 device
These devices start disabled and will be that way in essentially all
working systems, but there apparently was a DECnet Phase V
support for this device, so it is added to all systems. The DPV
should now be readily testable.

As mentioned in #1152.  That PR will fix the DUP device.

This commit is explicitly released from any license restriction
mentioned in the LICENSE.txt of the github.com/simh/simh
master branch changes.
2022-06-05 13:06:04 -07: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
Leo Broukhis
9f5e40e240 BESM6: Implemented formatted magnetic tapes.
At the moment formatting has to be done by means of SIMH rather than
using the standard OS mechanism.
2022-02-16 11:41:45 -08:00
Mark Pizzolato
5015d6ae14 DISK: Cleanup attach behaviors add better support for containers with meta data
At this time:
- The ZAP command exists to remove meta data from containers that
   have it.  Container files processed by the ZAP command will generally
   be restored to the size it was before the addition of the meta data
   and the file time stamps will be unchanged.
- Newly created containers get meta data.
- At attach time, containers that don't have meta data, but have
   recognized file systems that fit within the drive it is being
   attached to get meta data added without changing the file timestamps.
- Containers that don't have meta data and don't have a recognized
   file system that is <= the drive size are attached without comment
   and without adding meta data as long as the drive is NOT set to
   autosize (controllers that support multiple drive types all default to
   autosize, which can explicitly be disabled on a drive by drive basis).
- Containers that don't have meta data which are > the drive size can
   only be attached read only.
- Containers with meta data can not be attached to a different
   controller at all if the container size is smaller than the drive on the
   other controller.
- Containers that have meta data can be freely be attached to the
   controller that they were attached to when they got the meta data.
   If a file system is detected, it will be reported.  Otherwise if no
   recognized file system is found, the attach will be silent.  File
   system detection reporting can be suppressed with -Q on the attach
   command.
- Containers with meta data can only be attached read only to a different
   controller if the container is larger than the drive it is being
   attached to.
In the future:
- In general, containers with meta data (or recognized file systems)
   will be attachable to MSCP and SCSI controllers, as long as reasonable
   sector sizes and file system not requiring interleaving have been found.
- Containers without meta data will only be attachable if autosize
   is disabled and the container is <= the size of the drive.
- Explicitly setting a drive type on a unit will implicitly disable
   autosizing.  If a user wants to set the default drive for a unit
   and still allow autosizing they must explicitly set the unit to
   autosize after setting the drive type.

Relevant to: #1065, #1059, #1094, #1100, #1118, #1117
2022-02-07 22:55:23 -08:00
Mark Pizzolato
f34670654c Visual Studio Projects: Update windows-build version dependency
Latest VS2022 support added along with SDL Version 2.0.20.
2022-01-19 12:25:48 -08:00
Mark Pizzolato
212943284d Visual Studio Projects: Add library Setupapi.lib for linking with newer SDL 2022-01-15 10:01:25 -08:00
Seth Morabito
9d849283a4 3B2: Interrupt Refactor and DEMON ROM
- 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
2021-08-24 06:35:49 -07: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
Seth Morabito
92ff16ca7b 3B2: Rename files in prep for Rev 3 support
This change lays the groundwork for adding support for Rev 3 3B2 models,
which includes the Model 500, Model 600, and Model 1000.

Rather than use the fixed strings "400" and "1000" in file names, the
strings "rev2" and "rev3" will be used, which allows greater flexibility
to implement various system configurations more easily.

Additionally, this change adds a copy of the Debug Monitor (DEMON) ROM
image for the Rev 2 board, to be used soon in a later checkin.
2021-05-12 10:56:39 -07:00
Mark Pizzolato
60a3c52e12 README.md: Clarify wording relating to building with MinGW32
As reported in #1039
2021-04-27 08:54:23 -07:00
Mark Pizzolato
4471e0525d Visual Studio Projects: Fix build of FrontPanelTest pthread component 2021-04-12 13:36:09 -07:00
Mark Pizzolato
c4ff4954be Visual Studio Projects: Clarify VS2008 installation instructions. 2021-04-12 10:17:47 -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
3c1c92dc30 TT2500: Call display library directly; use new display_line API. 2021-03-29 20:37:00 +02:00
Lars Brinkhoff
e9b083508b IMLAC: Call display library directly; use new display_line API. 2021-03-29 20:36:59 +02:00
Mark Pizzolato
6323acd5ea Visual Studio Projects: Produce proper commit id with uncommitted changes 2021-03-08 16:25:14 -08:00
Mark Pizzolato
b2a63a5678 IMD: Remove need for -DUSE_SIM_IMD in preparation for wider use of sim_imd 2021-01-18 10:44:33 -08:00
Peter Schorn
2911b3a440 AltairZ80: Added Morrow Disk Jockey disk controller 2021-01-03 14:24:30 +01:00
Leo Broukhis
5e539dc0b2 BESM6: Implemented punched card input and punched tape output 2021-01-02 02:50:08 -08:00
Ken Rector
268827d75c SDS: Add Card Reader and Card Punch devices 2020-12-18 23:47:36 -08:00
Mark Pizzolato
1f9552cbe2 Visual Studio Projects: Cleanup tt2500 project definition 2020-12-04 04:18:36 -08: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
Peter Schorn
5211c1134a AltairZ80: New iCOM device, PTP port command, code cleanup 2020-11-28 14:02:01 +01:00
Peter Schorn
f64a32d0e8 AltairZ80: Added Hayes modem and minor bug fix 2020-08-16 09:31:19 +02:00
Bill Beech
4810b950d2 Visual Studio Projects, makefile: Add new simulators isdk80 and ids880 2020-08-02 14:22:25 -07:00
Bill Beech
964cb721ed Intel-Systems: Reorganize for clean builds with Release targets. 2020-08-02 14:19:52 -07:00
Richard Cornwell
5c72b0dc74 Makefile: Updated makefile for new PDP10-KA clock module. 2020-06-23 21:03:38 -04:00
Patrick Linstruth
54a102ca86 AltairZ80: adds "PMMI" MM-103 modem device
This commit adds a "PMMI" device to the AltairZ80 VM that emulates
the PMMI Communications MM-103 MODEM & Communications Adapter.

This device was added at the request of a Facebook user that is
attempting to preserve and document various relevant communications
programs for CP/M and allow users to experience communicating and
sharing information with other remote computers of the same time
period, all on modern hardware.

This device attempts to emulate the MC6860L digital modem chip in
such a way that communications software written for the PMMI MM-103 can
communicate over a serial port or socket without a phone line or
the ability to MOdulate/DEModulate data over a phone line.
2020-06-22 09:26:59 -07:00
Patrick Linstruth
482e6b2ff9 AltairZ80: adds MITS 88-2SIO "M2SIO0" and "M2SIO1" devices
This commit adds two new devices, "M2SIO0" and "M2SIO1", to the AltairZ80
VM. These two independent devices emulate "raw" 88-2SIO ports that can
be used instead of the "SIO" device for attaching socket and serial
ports using TMXR.
2020-06-22 09:08:34 -07:00
Lars Brinkhoff
629f138fea IMLAC: Add MIT bell device.
A hardware device particular to MIT with some kind of bell sound.
2020-06-15 12:44:41 +02:00
Lars Brinkhoff
f95ac7ddbd IMLAC: Simulator for Imlac PDS-1. 2020-06-12 16:05:50 +02:00