1
0
mirror of https://github.com/simh/simh.git synced 2026-01-13 15:27:14 +00:00

18 Commits

Author SHA1 Message Date
Mark Pizzolato
e97675cc7a ECLIPSE: Fix build to define USE_INT64 2020-03-14 07:02:05 -07:00
Mark Pizzolato
538f9bcf8f Visual Studio Projects: Cleaned up for easy conversion by later Visual Studios 2020-03-06 08:37:30 -08:00
Bob Supnik
43360191c8 simh 3.11 2019-11-30 20:19:00 -08:00
Bob Supnik
10c0c36e01 HP2100, HP3000: HP2100 release 29, HP3000 release 8
See HP2100/hp2100_release.txt for HP2100 details

See HP3000/hp3000_release.txt for HP3000 details
2019-04-15 21:30:31 -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
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
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
f51b621f62 Visual Studio Projects: Add HP3000 project file 2017-06-13 17:55:36 -07:00
Mark Pizzolato
212a499c00 Visual Studio Projects: Update project documentation. 2017-06-04 09:39:19 -07:00
Mark Pizzolato
d3b6bb2dac alpha: Adding baseline experimental Alpha version
This is so Bob can change his alpha source and we can track changes
2017-03-14 18:15:34 -07:00
Mark Pizzolato
3124e5fe41 Visual Studio Projects: Add project for sigma simulator 2017-03-09 08:29:27 -08:00
Mark Pizzolato
95f27b2cfd Visual Studio Projects: Fix PDP10 build which had removed the XU device 2017-01-20 15:11:33 -08:00
Mark Pizzolato
48bf4fb114 PDP18B: Add RB disk to PDP7 and DRM drum to PDP9 and -u, -p examine/deposit switches in PDP7, PDP9 and PDP15 2016-03-01 06:55:40 -08:00
Mark Pizzolato
6339af2dc4 PDP11: Fix to correctly set PS value on CPU reset to reflect the model specific ways real hardware behaved. (from Bob Supnik)
Here's a PDP11 SIMH bug as old as the simulator itself: the reset_cpu routine sets the PS to 340 (interrupts disabled). This causes some versions of Lunar Lander not to work. In fact, the initial state of the PS is not architecturally standardized:

      04: cleared (from schematics)
      05: cleared (from manual)
      20: cleared (from schematics)
      34: cleared (from schematics), set to 340 on boot?
      40: cleared (from schematics)
      44: cleared on init, set to 340 on boot (from schematics, manual)
      45: cleared (from schematics)
      60: cleared (from schematics)
      70: cleared (from schematics)
      T11: set to 340 (from spec)
      LSI11, F11: 4 mode behavior (from memory on power recovery, cleared on GO, 340 on boot, mode 3 undefined)
      J11: 4 mode behavior (from memory on power recovery, cleared on GO, 340 on boot, 340 on jump to  custom PROM)

The story seems to be this. All non-VLSI PDP11s used TTL chips to implement the PS, either discrete flip-flops, or 4b registers, or both.
Starting with the first system, the 11/20, they were wired clear on the processor INIT signal (power-up or front panel START switch), so that all internal state started as 0. This worked fine, because START also reset the Unibus and cleared all interrupt enables. So even though the processor was as IPL = 0, no interrupts were possible. Then along came the LSI11...

The LSI11 implemented a line-time clock with NO INTERRUPT DISABLE. Thus, if IPL was left at 0 and a bootstrap routine from a slow device was started (e.g., a floppy drive), the clock would tick, and an interrupt would occur, before the bootstrap routine finished. Because no vectors were set up, the processor would crash. So the LSI11 started the practice, carried over to all later PDP11 VLSI chips, of setting the PS to 340 before jumping to a boot ROM.

The T11 did this in all modes of startup, because its only startup behavior was to jump to a "boot" routine. It did not have a console of any kind.

Accordingly, it appears that the cpu_reset routine needs to set the PS based on the processor model. Further, all boot routines need to set the PS to 0 or 340 based on the processor model. (It's probably safe for boot routines just to set the PS to 340, but it's not technically
accurate.)
2013-10-27 04:14:46 -07:00
Mark Pizzolato
eaa17ffce8 Fixed incorrect build target names for new swtp6800 projects 2012-04-24 14:21:30 -07:00
Mark Pizzolato
73bd8c36e7 Official simh-V3.9-0-rc3 Merge 2012-04-23 04:02:02 -07:00
Mark Pizzolato
fad0ed392a Add Projects and Solution definition for Microsoft Visual C++ IDE 2012-03-26 09:09:26 -07:00