1
0
mirror of https://github.com/open-simh/simh.git synced 2026-01-13 07:20:12 +00:00

204 Commits

Author SHA1 Message Date
Bob Supnik
0b4ecef91c SCP: Coverity warning cleanup from Dave Bryan 2019-04-15 19:15:02 -07:00
Mark Pizzolato
d739fe435e PDP11, VAX, VAX780: Adjust project definitions for new pthreads 2.11.1 2018-10-21 09:52:06 -07:00
Bob Supnik
5ccef2e6f8 simh 3.10-RC2
3.10 is mostly an attempt to get aligned with the current head of the
GitHub 4.0 sources. While the core libraries and SCP have diverged too
far for real forward and backward compatibility, enough 4.0 workalikes
have been added to allow much closer convergence of the two streams.

3.10 will provide the basis for my future simulation work.
2018-07-21 10:39:14 -07:00
Mark Pizzolato
a2bc6a9508 UC15: Fix incorrect shared region size 2018-07-21 03:01:11 -07:00
Mark Pizzolato
beaae0b945 makefile: Allow building shared memory applications 2018-07-21 03:00:36 -07:00
Mark Pizzolato
a644a6e5ca SHMEM: Fix various Linux and Windows problems
- Windows did not validate that the a segment size was correct.
- Add shared memory object name to the management structure
- Linux shared memory object names must start with a /
- Linux umask setting to assign permissions
- Add textual explanations for failure cases
2018-07-21 02:59:00 -07:00
Bob Supnik
e5b8139f2a I1620: Fixed bug in select index A (COVERITY) 2018-06-05 13:38:17 -07:00
Bob Supnik
adc347c15f AltairZ80, IBM1130, SWTP6800: simh 3.10 removed simulators
These sources have moved on to the 4.0 base.
2018-06-04 08:02:34 -07:00
Bob Supnik
3fada8da5a simh 3.10-RC1a
3.10 is mostly an attempt to get aligned with the current head of the
GitHub 4.0 sources. While the core libraries and SCP have diverged too
far for real forward and backward compatibility, enough 4.0 workalikes
have been added to allow much closer convergence of the two streams.

3.10 will provide the basis for my future simulation work.
2018-06-04 07:59:42 -07:00
Mark Pizzolato
140ab5b350 various: Fixed nested comments 2018-06-03 18:44:55 -07:00
Bob Supnik
f6654c0549 sigma: New simulator from beta 2018-06-03 18:23:54 -07:00
Mark Pizzolato
8308664ccb alpha: Correct physical address masking and integer to floag sign detect
Also replaced remaining tabs with spaces
2018-06-03 18:20:52 -07:00
Mark Pizzolato
d6d188f5f1 HP2100: Release 28
See HP2100/hp2100_release.txt for details of the release.
2018-06-03 15:30:52 -07:00
Mark Pizzolato
839c5ac3ce HP3000: Release 7, update 1
See HP3000/hp3000_release.txt for details of the release.

The 3000 release is a minor update that avoids a name clash when building
3.10 on Unixes.
2018-06-01 16:59:24 -07:00
Mark Pizzolato
34b4354666 alpha: Fix build under GCC 2018-05-23 15:55:48 -07:00
Bob Supnik
59067579dd SDS: Simplify MT operation check.
The SDS tape unit can't do write reverse (no magtape tape can, afaik).
So instead of testing for a particular write subop, the code just tests
that the write was done in BCD mode.
This is closer to how the hardware works.
2018-05-23 15:49:25 -07:00
Bob Supnik
a429739622 PDP10: Read tape mark must set Massbus EXC (TRE) 2018-03-09 14:14:38 -08:00
Bob Supnik
bf82092493 GRI, PDP11, PDP8, VAX: Misc formatting and typo cleanups 2018-03-09 14:03:13 -08:00
Mark Pizzolato
0df520de7f HP2100: Remove old files and cleanup build
Removal suggested by Dave Bryan.  Build cleanup after testing
2018-02-03 06:58:47 -08:00
Mark Pizzolato
5f94c22f00 HP3000: HP 3000 release 7
See HP3000/hp3000_release.txt for details of the release
2018-01-12 15:06:04 -08:00
Bob Supnik
0dc94bf3ec PDP11, VAX780: Fix TM03 Read tape mark must set Massbus EXC 2017-12-28 16:00:43 -08:00
Bob Supnik
b55914b15e alpha: Fixed reversed definitions of FTOIS, FTOIT (Maurice Marks) 2017-10-05 18:53:57 -07:00
Bob Supnik
3f8533d957 H316, I7094, NOVA, PDP1, PDP10, PDP8, SDS: Coverity singleton errors
Most history routines defined a local sim_eval of the proper length, but the
erroneous ones were fixed length machines that defined an integer variable
instead of an integer array of length 1. The VAX used the global sim_eval.
The changes follow the VAX practice.
2017-09-07 09:52:00 -07:00
Mark Pizzolato
f51b621f62 Visual Studio Projects: Add HP3000 project file 2017-06-13 17:55:36 -07:00
Bob Supnik
6461443b61 I1620: Fixed typo in PTP unit (Dave Wise) 2017-06-11 03:56:28 -07:00
Bob Supnik
884a744fb5 PDP11, VAX: Change ERROR in CR device translation tables to avoid conflicts 2017-06-04 09:54:13 -07:00
Mark Pizzolato
212a499c00 Visual Studio Projects: Update project documentation. 2017-06-04 09:39:19 -07:00
Bob Supnik
3824537271 IBM1130: Assure consistency of 1DIG/2DIG setting 2017-06-03 12:04:36 -07:00
Mark Pizzolato
e25a45ffe3 HP2000, HP3000: Add missing/updated documentation files 2017-05-31 12:44:24 -07:00
Bob Supnik
ea7a03b9ea I1620: Add deferred IO mode for slow devices
The major change is the implementation of deferred IO - a more
accurate implementation of the 1620's "stop in its tracks" IO model.
When a device uses deferred IO, instruction execution is suspended
until the IO completes successfully. Operator interruptions, errors,
and so on do not return to instruction execution; this only occurs if
the IO completes successfully or the command SET CPU RELEASE is given
(equivalent of pressing the RELEASE button). Otherwise, the current IO
operation continues to execute.

Only the console typewriter and paper tape reader/punch currently
implement deferred IO; there are operational issues with those devices
that require more accurate modeling. The card reader/punch, line
printer, and disk still execute IO "instantaneously". It's not all
that hard to convert an instantaneous device to deferred operation,
but there's no point in doing so (and possibly introducing new bugs)
unless there's an actual operational issue. The 1620 doesn't have
overlapped IO, so programs can't tell the difference, by and large.

A number of other issues have been addressed as well, including the
bizarre "treat RM as 0 in the Q field" required by MI-015; the
treatment of non-existent indicators as always off; and various other
tweaks.

I've run CU01 (again), which at least gives typewriter and paper-tape
IO a basic workout; and it works. I leave more detailed testing to
people who know the machine better than I do.

The documentation has been updated to include Tom's detailed breakdown
of IO handling for all IO operations on the typewriter, paper-tape
reader/punch, card reader/punch, and line printer.
2017-05-29 13:24:41 -07:00
Bob Supnik
e12d500486 alpha: Fixed reversed definitions in opcode 12 (shifts)
It turns out that the two reversed opcodes Maurice identified were not the
only problems in opcode 12 (shifts). All of the INS/EXT pairs at function
codes .57 and above were reversed. In addition, the mnemonics in the
opcode table in alpha_sys.c are wrong as well as reversed.
2017-05-27 14:19:05 -07:00
Mark Pizzolato
bbbe526f8c HP2100, HP3000: HP2100 release 26 and HP3000 release 5 (Dave Bryan)
master branch code is identical
2017-05-24 09:15:16 -07:00
Mark Pizzolato
cbef6aa64b TAPE: Add support for erasing tape marks and Coverity Fixes (Dave Bryan) 2017-05-24 09:01:59 -07:00
Mark Pizzolato
2f7af39d0b SCP: Add minor extensions for better compatibility with 4.x (Dave Bryan) 2017-05-24 09:00:23 -07:00
Bob Supnik
f03e1fe9b0 I1620: Update doc to reflect recent changes 2017-05-22 10:09:42 -07:00
Bob Supnik
982bd50d0a I1620: Update various CPU issues
- Changed to commit PC on certain stops
- Added SET CPU RELEASE command
- Undefined indicators don't throw an error (Dave Wise)
- Added Model I mode to allow record marks in adds (Dave Wise)
- Allowed undocumented indicator 8 (Dave Wise)
- Added option for Model I diagnostic mode (Dave Wise)
2017-05-21 21:32:53 -07:00
Bob Supnik
4f8481786a I1620: Input processing cleanup - backspace, tabs, WRU
- Fixed keyboard interrupt problem for Linux
- Added input backspace for Model II
- Revised tab calculation algorithm
2017-05-21 18:15:19 -07:00
Bob Supnik
8aa965b293 I1620: Changed fprint_val to handle undefined opcodes on stops 2017-05-20 14:53:03 -07:00
Bob Supnik
d60fd322c3 I1620: Separated EOF error from other IO errors (Dave Wise) 2017-05-20 12:54:37 -07:00
Bob Supnik
4d52ce023b VAX, VAX780: Added model-specific AST validation test
From page 6-6 of DEC STD 032 (the VAX architecture spec):
"Execution of MTPR src, #PR$_ASTLVL with src<31:0> GEQU 5 results in
UNDEFINED behavior. The preferred implementation is to cause a reserved
operand fault." MicroVAX II, CVAX, and Rigel all conform to the preferred
behavior, as does the current simulator, which was written from the CVAX
microcode. NVAX masks to 3b and does not take an exception on a value
GEQU 5.

The 1982 Architecture Handbook describes ASTLVL as a 3b register, with
src<31:3> ignored/read as zero, and exceptions taken on values GEQU 5.
The780 microcode masks the input value to 3b before doing the GEQU 5 test.

The ASTLVL test needs to be model specific.

I suspect the behavior became undefined when MicroVAX II simplified the
original test to save a microword. I do not see how the code fragment Matt
references could work on a MicroVAX II, which was supported under 4.5.
Perhaps the device Matt mentions couldn't exist on a MicroVAX II?

For those who wants the gory details... uVAX, CVAX, and Rigel do an
unsigned compare on the unmasked src and the constant 5. Carry out
means reserved operand. Overflow is ignored. So an input of 0x80000002 -
0x00000005 (done in the data path as 0x80000002 + 0xFFFFFFFB) generates overflow (ignored) and carry out.
2017-05-18 12:23:56 -07:00
Bob Supnik
f6023f7039 alpha: Fixed function field widths (Maurice Marks)
Maurice Marks, at VMS Software Inc, is using the Alpha instruction emulator
from SimH as a backup to an Alpha binary translator! He found a bug in the
instructions definitions: function fields, both integer and floating, are 7b not
6b.
2017-04-17 10:08:53 -07:00
Bob Supnik
d0298bd817 I7094: Fix typo in accessing unit array (COVERITY) 2017-04-07 11:04:33 -07:00
Bob Supnik
6052e650db All VAX: Fixed uninitialized variable on FPD path (COVERITY) 2017-03-31 14:59:46 -07:00
Bob Supnik
ea61cebf75 PDP10: Documented switch fall through case (COVERITY) 2017-03-28 13:43:01 -07:00
Bob Supnik
14e6aeac91 SCP: Removed KBD_WAIT and friends 2017-03-20 22:04:27 -07:00
Bob Supnik
58d914c129 TAPE: Added sim_tape_errecf, sim_tape_errecr functions
Also Fixed bug in sim_tape_rdlntf if gap buffer read ends at EOM
2017-03-20 21:58:41 -07:00
Bob Supnik
df1f07f89d TIMER: Fixed calibration lost path to reinitialize timer 2017-03-20 21:56:13 -07:00
Bob Supnik
5ca66f59fe SCP: Fixed "noise" bugs (COVERITY) 2017-03-20 21:55:10 -07:00
Mark Pizzolato
c6399f7e40 PDP11: Change DC and TTI device to be 7B instead of 7P
7P interfered with the ability to determine the ID of a remote Telnet based
terminal session.
2017-03-20 07:34:49 -07:00
Bob Supnik
dcc5e098d0 PDP10, PDP18B, VAX: Better cosheduling behavior 2017-03-20 07:33:04 -07:00