Commit graph

2614 commits

Author SHA1 Message Date
Mark Pizzolato
25a62c2837 PDP11,VAX: Added Unibus KRU50 controller type (from Bob Armstrong) 2013-12-10 11:11:41 -08:00
Mark Pizzolato
2daa41ecb3 PDP11: Fixed bug in CSM (John Dundas)
John Dundas said:

Bob and all,

I ran across what I believe to be a bug in the CSM code:

         case 070:                                       /* CSM */
             if (CPUT (HAS_CSM) && (MMR3 & MMR3_CSM) || (cm != MD_KER)) {

According to the Architecture Handbook, CSM may be executed only if the MMR3 bit is set AND the mode is not Kernel.  Changing the code to:

         case 070:                                       /* CSM */
             if (CPUT (HAS_CSM) && (MMR3 & MMR3_CSM) && (cm != MD_KER)) {

also has the effect of making the ZKDKB0 diagnostic much happier.

Thanks,

John
--
John A. Dundas III
2013-12-06 10:54:56 -08:00
Mark Pizzolato
17574ba699 Merge branch 'master' of github.com:simh/simh 2013-12-05 11:59:27 -08:00
Mark Pizzolato
834e986eaf ETHER,VAX,PDP11: Added UDP as a link type for Ethernet packet connectivity.
This will allow a single simulator to directly connect to HECnet systems without needing an external bridge program.
2013-12-05 11:58:58 -08:00
Mark Pizzolato
7ebc991b5d PDP11,VAX: Corrected the KRQ50 controller id code (from Bob Armstrong) 2013-12-04 09:55:28 -08:00
Mark Pizzolato
577f921014 PDP11/VAX: Additonal RQ drive types (RA70 and RA73) along with the ability to set additional controller types (from Bob Armstrong) 2013-12-03 12:48:29 -08:00
Mark Pizzolato
c1aa85d944 H316: Updated H316 and IMP documentation and addition of IMP modem loopback functionality and testing (from Bob Armstrong) 2013-12-03 06:56:38 -08:00
Mark Pizzolato
8810571d7e H316: Improve IMP error recovery when a remote host is restarted. 2013-12-02 12:00:48 -08:00
Mark Pizzolato
33248778cf TMXR: Correct const attributes for packet reading APIs. 2013-12-02 10:29:04 -08:00
Mark Pizzolato
f0ca4de993 H316: Move the SMK/OTK to h316_cpu (where it belongs!) and Allow the CLK device to be disabled (from Bob Armstrong) 2013-12-01 15:15:07 -08:00
Mark Pizzolato
118ef33f19 H316: Added "SET dev LOCALLOOP" and "SET dev NOLOCALLOOP" commands to the IMP modem device so that loopback mode can be changed by commands instead of just programatically. 2013-12-01 07:29:32 -08:00
Mark Pizzolato
a22c5c35b0 MAKEFILE: Give more clear information when issuing missing libSDL library to enable video capabilities #90 2013-11-30 00:38:49 -08:00
Mark Pizzolato
0e7311704d H316: Fix compiler warning 2013-11-30 00:36:51 -08:00
Mark Pizzolato
9bd573d967 H316: Added support for proper max data packet size transmission and reception in h316_udp.c 2013-11-29 23:42:38 -08:00
Mark Pizzolato
0f01e08a13 TMXR: Added loopback support for datagram configured lines to pass full packets in loopback mode. 2013-11-29 23:41:28 -08:00
Mark Pizzolato
54b92b878e TMXR: Support loopback when using packet APIs even if a connection is not active 2013-11-26 15:25:00 -08:00
Mark Pizzolato
c9f73eac90 H316: Rewrote h316_udp to use TMXR lines for UDP transport of data. Changed h316_mi to leverage built-in loopback mode in TMXR.
This gives UDP transport on all simh host platforms.
2013-11-26 13:30:11 -08:00
Mark Pizzolato
378e3e03a3 TMXR: Tolerate situations where independent devices are bound to different lines of a multi-line MUX. 2013-11-26 11:09:14 -08:00
Mark Pizzolato
beac643acb SCP/SOCKET: Apply default host more reasonably when parsing host:port strings 2013-11-26 11:07:21 -08:00
Mark Pizzolato
55c5d20517 PDP10,PDP11,VAX: Addition of inter operable DUP11, DMC11 and KDP11 devices
This is the results of external KDP development activities.  The KDP side done by Timothe Litt and DMC and DUP by Mark Pizzolato

Additionally, other PDP10 updates from Timothe Litt
2013-11-25 07:00:17 -08:00
Mark Pizzolato
a7c2d7bf35 Merge branch 'master' of github.com:simh/simh 2013-11-25 05:01:32 -08:00
Mark Pizzolato
4259b3c83a TMXR: Added option to use UDP transport for packet transport 2013-11-25 04:36:21 -08:00
Mark Pizzolato
25ded050ed H316: Added IMP Listing file (from Bob Armstrong) 2013-11-23 16:02:38 -08:00
Mark Pizzolato
65402fbaa1 H316: Resurrecting the ARPAnet IMP (from Bob Armstrong)
This summer a group of us worked together to resurrect the original ARPAnet IMP software, and I’m now happy to say that the IMP lives again in simulation.    It’s possible to run the original IMP software on a modified version of the H316 simh and to set up a virtual network of simulated IMPs talking to each other.   IMP to IMP connections, which would have originally been carried over leased telephone lines, are tunneled over IP.  As far as we can tell, everything works pretty much as it did in the early 1970s.  IMPs are able to exchange routing information, console to console communications, network statistics, and they would carry host traffic if there were hosts on the network.  The hooks are in there to allow simh to support the IMP side of the 1822 host interface, and the next step would be to recover the OS for an ARPAnet era host and then extend the corresponding simulator to talk to the IMP simulation.
2013-11-23 08:40:26 -08:00
Mark Pizzolato
0251c08d12 PDP11/VAX: Detect vector conflicts, SHOW IOSPACE and SHOW DEVICE improvements
From Timothe Litt:
  - Detect vector conflicts, SHOW IOSPACE
  - Detect conflicting vector assignments.
  - Correct show iospace display of high vector for multi-unit devices
  - Display vectors in DEV_RDX in show iospace
  - Ignore disabled devices when searching for conflict.
  - Improve device conflict reporting, Report both devices when address conflict is detected.

From Mark Pizzolato:
  - Added optional alternate radix output display for device address and vector values
    displayed by SHOW DEVICE.
    -H and -O switches select hex or octal output in addition to the default radix displayed
    by the normal simulator.
2013-11-22 07:03:15 -08:00
Mark Pizzolato
00afa58bc4 SCP: Added hierarchical help capability (from Timothe Litt) 2013-11-22 06:08:03 -08:00
Mark Pizzolato
e65aa904e7 SCP: Fix various missing log output 2013-11-20 15:09:43 -08:00
Mark Pizzolato
00b77c8533 TMXR: Packet, Loopback and Half-Duplex enhancements
- Added halfduplex mode for network connections and corrected modem signal DSR to reflect connection status (vs original attach status), and DCD follows DSR (except in halfduplex mode where it follows CTS).

- Enhance tmxr_set_get_modem_bits to also return the modem DTR and RTS state.

- Separate RTS from DTR when manipulating modem state bits

- Minor fixes to loopback functionality after direct testing with the first loopback client device (DMC11).

- Fix clearing of break input buffer now that input buffers are dynamically allocated

- Changed Modem bit logic to have CTS reflect RTS as expected by devices which may expect this.

- Changed receive buffers to be dynamically allocated and the same size as transmit buffers when transmit buffers are non-default sized.

- Added TMXR line attach in loopback mode.  Fixed loopback buffer management

- Added loopback support to TMXR lines

- Added functioning connect poll capability to revised DMC

- Added connection destination display to connection status even when a connection has not yet been established.

- Added extended packet sending and receiving semantics to TMXR allowing for an optional frame byte to exist between length prefixed data packets
2013-11-20 12:18:02 -08:00
Mark Pizzolato
2e85e74699 SCP: Various cleanups.
- Avoid assignments of void * values.  Cast all memory allocation return values to appropriate types.
- Add output to sim_log where missing in various places.
- Fixed issue with lost file positions after a restore for devices which leverage the UNIT_SEQ flag.
2013-11-20 09:13:27 -08:00
Mark Pizzolato
3519c6c74b PDP11: Added support for PC values to be displayed in debug output.
This required a simulator specific implementation since the PDP11 PC register isn't stored in a normal memory location.  It is loaded from a temporary location upon simulator instruction execution startup (and saved to that location when instuction execution stops).  In order to reference the PC value while executing instructions (for debug output), this extended access model is required.
2013-11-17 08:55:29 -08:00
Mark Pizzolato
864f0e0d37 SCP: Show device options can be more flexibly formatted and optionally not display anything. 2013-11-16 18:14:09 -08:00
Mark Pizzolato
f3626690b7 PDP11: XQ Device is now bootable on a Qbus PDP11 simulator. The ROM based Citizenship tests now pass.
Separate boot ROMs are available for each of the DEQNA, DELQA and DELQA-T devices being simulated.
DEQNA-Lock mode has been added to the DELQA and DELQA-T simulations.
2013-11-16 18:13:09 -08:00
Mark Pizzolato
600d6f5962 SCP: Added a mechanism to allow debugging output to display PC values for simulators which don't have a simple register which contains the PC value. 2013-11-14 10:41:49 -08:00
Mark Pizzolato
949aa30bef ETHER: Fix bpf filter generation to not generate an invalid filter if only multicast addresses were provided 2013-11-14 10:39:17 -08:00
Mark Pizzolato
f59d86d7c0 VAX: Fix for unaligned longword access to Qbus space from Matt Burke for issue #88
When the conversational boot is waiting for input it uses a BLBC instruction to read the DUART status register and test the RXR bit. This generates an unaligned longword read in Qbus I/O space (Yuk!). I realised that the code to read unaligned data in vax_mmu is broken. It attempts to read the aligned longwords that the data spans, but there was no code to convert the unaligned pa passed in to it's aligned form, thus the wrong bytes are returned and the BLBC never sees the RXR bit.
2013-11-10 13:04:28 -08:00
Mark Pizzolato
24b64b517b PDP11: Added missing pdp11_rk boot setup from Bob Supnik 2013-11-10 09:19:01 -08:00
Mark Pizzolato
b57201b88b QVSS/VIDEO: Fix for mouse tracking on Ultrix from Mike Burke for issue #88 2013-11-08 17:15:02 -08:00
Mark Pizzolato
30cd103a14 VIDEO: When using libSDL2, make sure we use the key scan code to index the vid_key_state array. Also, make sure we stick to getting bare key events instead of TextInput events. 2013-11-07 14:04:36 -08:00
Mark Pizzolato
593c7f45c2 QVSS: Changed prior VSYNC fix to only interrupt quickly immediately after interrupts are enabled to avoid idling issues with the prior fix. From Matt Burke
Also fixed Qbus memory reference issues to properly generate a machine check if the QVSS device is disabled and the frame buffer is referenced.
2013-11-07 08:05:52 -08:00
Mark Pizzolato
304ad39a2b VAX: Avoid potential VAX simulator hangs when code may poll for console input without being interrupted 2013-11-07 08:02:00 -08:00
Mark Pizzolato
5bce9da97c QVSS: Fix to get the VSYNC interrupts to be more reasonable. Addresses Issue #88. From Mike Burke
The vertical sync interrupt generated in vc_svc() was too slow for Ultrix. The driver enables interrupts and then calls DELAY(20000), which I guess is 20ms. This translates to about 10000 simulated instructions, but tmxr_poll works out at ~75000 instructions.  I've added a new unit to simulate just the vsync interrupts activating every 8000 instructions.

This approach will completely disable the ability to idle while the QVSS device is enabled.
2013-11-06 17:00:36 -08:00
Mark Pizzolato
b4b274c446 More compiler warnings 2013-11-05 16:55:30 -08:00
Mark Pizzolato
fdb33ce135 Compiler warning cleanup 2013-11-05 16:42:17 -08:00
Mark Pizzolato
b85af46402 SCP: Fixed 'rest of line' argument substitution %* 2013-11-05 10:35:37 -08:00
Mark Pizzolato
f5cfa392d7 SCP: Allow bare % not followed by a digit or a alpha character to be kept while substituting arguments and environment variables in simulator commands. 2013-11-05 10:06:46 -08:00
Mark Pizzolato
32b8f06362 PDP11/VAX: Properly display the device interrupt BR level for Qbus and Unibus devices in SHOW IOSPACE output 2013-11-04 12:55:08 -08:00
Mark Pizzolato
65edda68ad SERIAL: For writes to serial ports, accept both EAGAIN and EWOULDBLOCK as non-error conditions for all *nix hosts 2013-11-04 12:15:26 -08:00
Mark Pizzolato
53690b3a15 VStudio: Avoid generating debug information for Visual Studio Release builds 2013-11-04 12:11:21 -08:00
Mark Pizzolato
43f85d1f3a SCP/TMXR: Fix to socket writes to return 0 bytes written as an expected condition when the output socket is full (EAGAIN or EWOULDBLOCK). 2013-11-04 05:21:58 -08:00
Mark Pizzolato
796cbd2796 Merge branch 'master' of github.com:simh/simh 2013-11-03 13:10:16 -08:00