Commit graph

182 commits

Author SHA1 Message Date
Mark Pizzolato
eea30cb7a5 PDP15: Add UC15 connect support from simh v3.10 2018-06-04 12:33:51 -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
Seth Morabito
392b8f26a4 3b2: Fix makefile and 3B2.vcproj 2018-05-21 16:33:29 -07:00
Seth Morabito
d76bd81491 3b2: Code cleanup
This commit fixes several issues with code hygine and eliminates
warnings in the Windows build.
2018-05-21 15:30:27 -07:00
Mark Pizzolato
b0ff29781b SCP: Add git commit time support for older git versions 2018-03-29 21:12:44 -07:00
Mark Pizzolato
9111a1a645 Visual Studio Projects: Fix git-commit-id.h version check 2018-03-25 12:33:13 -07:00
Roberto Sancho Villa
2eb49c13b7 i650: New IBM 650 Simulator 2018-03-25 10:17:35 -07:00
Mark Pizzolato
94727159e8 Visual Studio Projects: Cleanup Windows-Binaries procedure for new commit id
- New Commit-Id with Commit-Time
- Properly execute when the Win32-Development-Binaries needs to be cloned
- Properly limit parallel builds if the local system has more than 8 Threads
2018-03-20 22:29:02 -07:00
Mark Pizzolato
35fca60761 Visual Studio Projects: Update Windows-Binaries procedure for new commit id 2018-03-20 01:21:41 -07:00
Mark Pizzolato
dd382f1beb Visual Studio Projects: Assure commit id is correct when git hooks change
When the git hooks have changed and git isn't in the path, the correct git
commit id can't be determined and thus be available to be included in
the build.  This change announces that fact and stops a build.
2018-03-20 01:07:14 -07:00
Mark Pizzolato
07229ef10d Visual Studio Projects: Properly populate .git-commit-id after git clone
This only happens if git is installed locally and available in the current
path when Visual Studio executes.  Whether git is in the path is an
installation option when git for Windows is installed.

Otherwise, proper results should be available after subsequent
activity on the local repository.  Any build will install the git hooks
that properly populate .git-commit-id when any changes are made
to the local repo.
2018-03-19 19:49:42 -07:00
Mark Pizzolato
c8ca4161fa SCP: Add git commit time to commit id version information 2018-03-09 02:58:40 -08: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
Mark Pizzolato
74a80c34bd Visual Studio Projects: Fix typo in library version check (Roberto Sancho Villa) 2017-12-18 13:52:23 -08:00
John Forecast
a5feaf2815 CDC1700: Release 3
- Add 1752 Drum support. Allow shared subroutines across interrupt levels.
- Document and add sample scripts for customizing MSOS5.
2017-12-14 16:44:01 -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
921c012784 Visual Studio Projects: Correct windows-build dependencies for PDP11 simulator 2017-06-07 18:39:48 -07:00
Bill Beech
357910dfb9 imds-224, isys80xx: Rework attach routines to leverage SCP provided functionality 2017-04-27 11:20:12 -07:00
Matt Burke
c94edb6b2d VAXStations: Improvements and bug fixes to keyboard and mouse devices
Whilst working on a new video device I ran into a few problems with the
LKxxx keyboard and I noticed there are already some open issues against
the keyboard and mouse devices. These changes should resolve #320 and
may help with #272 (although I think that is an SDL issue). I've tested these
changes with VWS, UWS and DECwindows with both captured and
uncaptured input modes.
2017-04-23 10:40:00 -07:00
Bill Beech
2b30084a53 IBMPC, IBMPCXT, isys80xx: Restructure directories to eliminate redundant files 2017-04-10 10:32:43 -07:00
Mark Pizzolato
7c696dbbc7 Visual Studio Projects: Add projects for ibmpc and ibmpcxt 2017-03-18 17:47:52 -07:00
Mark Pizzolato
df1baf2528 CDC1700: Release 2
- Fix protect fault for 2-word instructions so that background tasks do not
   crash.
- Lay the ground work for supporting the enhanced instruction set.
- Fix disk layout bug (disks are no longer compatible with previous version).
- Add debugging support for displaying MSOS 5 system requests.
- Fix bugs found by Coverity.
2017-03-14 13:36:57 -07:00
Mark Pizzolato
f52b5346fa Visual Studio Projects: Add project for imds-225 simulator 2017-03-14 03:52:36 -07:00
Leo Broukhis
f46c048bb6 BESM6: Implemented punchcard output. 2017-02-06 23:04:40 -08:00
Mark Pizzolato
110ded6904 FRONTPANEL: sim_frontpanel API version 3 release
Adds:
1) Simulator side execution of register update activities at an interval
    specified in usecs.  Rates in excess of 1000Hz should be achievable
    for locally connected frontpanel applications.
2) New API for simulators to describe the register state available in
    the simulator.  If all of a the state which is potentially interesting
    to front panel applications is always present in the variables
    described by simh REG structures, then frontpanel API access to
    that data can be more efficiently provided.
2017-01-27 23:06:30 -08:00
Mark Pizzolato
629f0f0c07 HP3000: Fourth HP 3000 release
See HP3000/hp3000_release.txt for details of the release
2017-01-10 12:32:23 -08: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
Mark Pizzolato
39352914d0 Visual Studio Projects: Make sure ROM checks used most recent BuildROMs
The BuildROMs project now runs the BuildROMs program that was most
recently built (Debug or Release).  This will identify ROM data inconsistencies
that may exist at build time.

When building other projects which may depend on ROM data, the BuildROMs
is run as a sanity check and if it fails we make sure that we hadn't run an out
of date Release build version of the BuildROMs binary.
2017-01-07 06:36:00 -08:00
Mark Pizzolato
cf14061c64 Visual Studio Projects: Clean up builds with Visual Studio 2015 2016-12-05 15:47:52 -08:00
Bill Beech
c24a6a28b2 ISYS8024, ISYS8030: Add initial new simulators 2016-12-05 13:04:01 -07:00
Bill Beech
2947c39ffe ISYS8010, ISYS8020: Latest update 2016-12-05 12:54:15 -07:00
Mark Pizzolato
1845fcd53b Visual Studio Projects: Enable asynch I/O (and clocks) for PDP10 simulator 2016-11-22 22:14:37 -08:00
Mark Pizzolato
67213a53da Visual Studio Projeccts: PDP11 add configuration support for PNG screenshots 2016-11-04 11:15:23 -07:00
Mark Pizzolato
c9af9a70fa Visual Studio Projects: Update to require SDL2 version 2.0.5 2016-10-22 02:01:06 -07:00
Mark Pizzolato
7d029e72ab ISYS8010, ISYS8020: Fix incorrect file reference in Visual Studio Projects 2016-10-21 14:51:53 -07:00
Mark Pizzolato
3e4b0af18f makefile: Cleanup description of commit-id generation scripts 2016-09-21 11:55:14 -07:00
Mark Pizzolato
1897dfeb94 CDC1700: Initial import of new simulator from John Forecast 2016-07-20 21:05:02 -07:00
Mark Pizzolato
07f99bb8c3 HP3000, HP2100: Updated simulators from Dave Bryan
- This release of the HP 3000 simulator adds the following device simulation:

  - 30209A Line Printer Controller with One 2607/13/17/18 Line Printer

The simulation supports the use of custom VFU tape images, as well as the
built-in HP-standard VFU tape.  The simulated device name is "LP".  The full set
of configurable options is detailed in a new section of the HP 3000 Simulator
User's Guide.

In addition, the preconfigured MPE-V/R disc image has been updated to add the
following features:

  - The MPE cold load command files attach the line printer to the "lp.txt"
    output file and specify the "-n" option to clear the file before use.

  - Preinstalled User-Defined Commands (UDCs) provide access to the COBOL 74
    compiler with the MPE-V/E :COBOLII, :COBOLIIPREP, and :COBOLIIGO commands,
    and to the COBOL 85 compiler with :COBOLIIX, :COBOLIIXPREP, and :COBOLIIXGO.
    However, see the implementation note below.

--------------------
Implementation Notes
--------------------

 - MPE requires a line printer, so it is recommended that the MPE startup
   simulator command file include an ATTACH LP <filename> command to load paper
   into the printer before cold loading.  If the printer is not attached, it
   will appear to MPE to be out of paper.

 - The line printer terminates each print line with an HP-standard CR/LF pair.
   If the output file is to be retained as a text file on a Unix system, removal
   of the carriage returns, e.g., via the "dos2unix" utility, may be desirable.

 - The simulator currently does not provide the HP 32234A COBOL II firmware
   instructions, so programs generated by the COBOLII compiler will abort at run
   time with an "ILLEGAL INSTRUCTION" error.  Programs generated by the COBOL
   compiler do not use these instructions and therefore are not affected.

----------
Bugs Fixed
----------

  1. PROBLEM:  The effective address of a byte pointer with a negative index is
     calculated incorrectly.

     VERSION:  Release 1

     OBSERVATION:  Defining a :WELCOME message in MPE appears to work, but when
     the next logon attempts to print the message, an infinite number of CRLFs
     are printed instead.

     CAUSE:  The welcome message is stored in an extra data segment.  The format
     for each message line is a line length stored in the lower byte of the word
     preceding the message string.  The code defines BYTE POINTER NEXTLINE and
     points NEXTLINE to the first message character.  The line length is set
     with NEXTLINE(-1) := IOCOUNT.  This generates a LOAD <IOCOUNT> ; LDXN 1 ;
     STB <NEXTLINE>,I,X sequence.

     In the "cpu_ea" routine, the indexing adds the X register value (-1) to the
     byte pointer (NEXTLINE).  This causes an overflow that is not masked to 16
     bits.  For a word access, this displacement is added to the base register
     and then masked to 16 bits, which gives the correct value.  However, for
     byte accesses, the displacement is divided by 2 and then added, and the sum
     is masked.  Dividing by 2 shifts the overflow bit into the MSB, causing the
     addition result to be off by 32K.  The STB goes to the wrong location, the
     original zero in the length byte location is retained, and when the welcome
     message is printed, a zero-length line is printed, and the byte pointer is
     incremented by zero, so the null line is printed forever.

     RESOLUTION:  Modify "cpu_ea" (hp3000_cpu.c) to mask indexed displacements
     to 16 bits after adding the X register value.

     STATUS:  Fixed in Release 2.

  2. PROBLEM:  An SMSK instruction may clear the interrupt mask flip-flop of a
     device that specifies that it is should be "always enabled."

     VERSION:  Release 1

     OBSERVATION:  If the TOS word is zero, an SMSK instruction will clear the
     interrupt mask flip-flop of a device whose mask jumper is set to "E"
     (always enabled).

     CAUSE:  In response to a DSETMASK signal, device interfaces set their
     interrupt mask flip-flops by "anding" the incoming data word with the
     interrupt mask jumper setting.  The jumper setting value for "always
     enabled" is %177777, which sets the mask flip-flop in all cases, except
     when the data word is zero.

     RESOLUTION:  Modify hp3000_atc.c, hp3000_ds.c, and hp3000_ms.c to set their
     mask flip-flops unconditionally if the jumper setting is "E".

     STATUS:  Fixed in Release 2.

  3. PROBLEM:  The "SET <dev> INTMASK=<n>" command sets the wrong bit in the
     device interface's interrupt mask jumper setting.

     VERSION:  Release 1

     OBSERVATION:  The interrupt mask jumper on a device interface is set by
     specifying the mask bit number in a "SET <dev> INTMASK=<n>" command.  This
     sets a bit in the device's interrupt mask jumper word corresponding to the
     bit number requested.  However, the bit numbering is incorrect; setting the
     jumper for bit 15, for example, sets bit 0 of the jumper word.  Therefore,
     the interface's mask flip-flop is not set as expected when an SMSK
     instruction is executed.

     CAUSE:  The bit numbers were counted from the wrong end of the word.

     RESOLUTION:  Modify "hp_set_dib" and "hp_show_dib" (hp3000_sys.c) to number
     the bits from the MSB instead of the LSB.

     STATUS:  Fixed in Release 2.

  4. PROBLEM:  The Multiplexer Channel is not generating the ACKSR signal
     correctly.

     VERSION:  Release 1

     OBSERVATION:  The line printer controller hangs when an SIO chained write
     is performed.  The first programmed write completes normally, but the
     second does not start.  The channel is waiting for a service request that
     does not occur.

     CAUSE:  The service request from the last write of the first block transfer
     is being cleared by an ACKSR generated by the Multiplexer Channel when it
     performs the IOCW fetch in State A for the second write request.  The
     channel should omit this ACKSR when the previous I/O order was a chained
     read or write.  However, the simulator is testing the order just fetched
     (Write) instead of the order that has just completed (Write Chained).

     RESOLUTION:  Modify "mpx_service" (hp3000_mpx.c) to test the correct I/O
     order in State A.

     STATUS:  Fixed in Release 2.
2016-07-05 22:09:21 -07:00
Mark Pizzolato
64450a778c windows-build: Update required version to include libSDL2 _allshr fix
SDL's static build support provides some primitive x64 functions used
with x64 values when compiling under x86.
2016-05-26 17:36:11 -07:00
Bill Beech
cbdcaec162 ISYS8010, ISYS8020: Cleanup Build issues for gcc and clang and g++ and clang++
Corrected declaration sizes to match for consistency across different modules.
2016-05-23 14:28:19 -07:00
Mark Pizzolato
3d7c4dc510 Visual Studio Projects: Avoid compiler warnings when building pthreads
The project migration process from VS2008 to VS2015 doesn't bring in
project/solution wide migration compile defines that are introduced in
Visual Studio Community's migration which adds _USING_V110_SDK71.
This affects source modules which explicitly don't inherit project wide
defines.  The compile of pthread.c (in various projects) is such a case.
2016-05-22 11:36:39 -07:00
Mark Pizzolato
0c2bc4c617 Visual Studio Projects: Allow building network capable simulators with C++ 2016-05-17 23:01:05 -07:00
Mark Pizzolato
03445f5f94 B5500: Promote sim_card to a top level simh library
Rich Cornwell's sim_card module is about to be used by another new simulator
so it is being promoted.
2016-05-15 18:01:38 -07:00
Mark Pizzolato
2b155ba29d VAX780, VAX750, VAX730, VAX8600: Add TC11/TU56 (DECtape) device to Unibus VAX simulators
VMS Driver and support files for the TC11 should be available at
http://bitsavers.org/bits/DEC/vax/vms/dkdriver_vms.zip
2016-03-27 12:28:02 -07:00
Mark Pizzolato
72c328e771 PDP7: Fix Visual Studio and VMS build for new GRAPHICS-2 device 2016-03-27 04:43:35 -07:00
Mark Pizzolato
bfe87ed1c5 VAX780, VAX750, VAX730, VAX8600: Add TC11/TU56 (DECtape) device to Unibus VAX simulators 2016-03-25 04:01:44 -07:00
Mark Pizzolato
80321577f9 PDP10: Adjust build to include network support 2016-03-18 09:29:45 -07:00
Mark Pizzolato
f17c3535da VAX750, VAX730, PDP11: Fix crash during startup of Release build binary on Windows.
Need to compile Win32 pthreads library without whole program optimization to
avoid removal of some TLS state.  This change was made previously for all other
simulators built with pthreads (asynchronous) support, but the VAX750, VAX730
and the PDP11 were missed.
2016-03-14 23:38:53 -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