mirror of
https://github.com/simh/simh.git
synced 2026-05-02 22:22:48 +00:00
Notes For V3.1-0
RESTRICTION: The FP15 and XVM features of the PDP-15 are only partially debugged. Do NOT enable these features for normal operations. 1. New Features in 3.1-0 1.1 SCP and libraries - Added simulated Ethernet support for VMS, FreeBSD, Mac OS/X. - Added status return to tmxr_putc_ln. - Added sim_putchar_s to handle possible output stalls. 1.2 All DECtapes - Added "DECtape off reel" error stop. 1.3 All Asynchronous Consoles - Added support for output congestion stall if using a Telnet connection. 1.4 PDP-1 - Added Type 23 parallel drum support. 1.5 PDP-8 - Added instruction history. - Added TSC8-75 option support for ETOS. - Added TD8E DECtape support. 1.6 PDP-18b - Added instruction history. - Changed PDP-9, PDP-15 API default to enabled. 1.7 PDP-11 - Added support for 18b only Qbus devices. - Formalized bus and addressing definitions. - Added control to enable/disable autoconfiguration. - Added stub support for second Unibus Ethernet controller. 1.7 Interdata 32b - Added instruction history. 1.8 Eclipse - Added floating point support. - Added programmable interval timer support. 1.9 H316 - Added DMA/DMC support. - Added fixed head disk support. - Added moving head disk support. - Added magtape support. 1.10 IBM 1130 (Brian Knittel) - Added support for physical card reader, using the Cardread interface (www.ibm1130.org/sim/downloads). - Added support for physical printer (flushes output buffer after each line). 2. Bugs Fixed in 3.1-0 2.1 SCP and libraries - Fixed numerous bugs in Ethernet library. 2.2 All DECtapes - Fixed reverse checksum value in 'read all' mode. - Simplified (and sped up) timing. 2.3 PDP-8 - Fixed bug in RX28 read status (found by Charles Dickman). - Fixed RX28 double density write. 2.4 PDP-18b - Fixed autoincrement bug in PDP-4, PDP-7, PDP-9. 2.5 PDP-11/VAX - Revised RQ MB->LBN conversion for greater accuracy. - Fixed bug in IO configuration (found by David Hittner). - Fixed bug with multiple RQ RAUSER drives. - Fixed bug in second Qbus Ethernet controller interrupts. 2.6 Nova/Eclipse - Fixed bugs in DKP flag clear, map setup, map usage (Charles Owen). - Fixed bug in MT, reset completes despite I/O reset (Charles Owen). - Fixed bug in MT, space operations return word count (Charles Owen). 2.7 IBM 1130 (Brian Knittel) - Fixed bug in setting carry bit in subtract and subtract double. - Fixed timing problem in console printer simulation. 2.8 1620 - Fixed bug in branch digit (found by Dave Babcock). 3. New Features in 3.0 vs prior releases 3.1 SCP and Libraries - Added ASSIGN/DEASSIGN (logical name) commands. - Changed RESTORE to unconditionally detach files. - Added E11 and TPC format support to magtape library. - Fixed bug in SHOW CONNECTIONS. - Added USE_ADDR64 support. 3.2 All magtapes - Magtapes support SIMH format, E11 format, and TPC format (read only). - SET <tape_unit> FORMAT=format sets the specified tape unit's format. - SHOW <tape_unit> FORMAT displays the specified tape unit's format. - Tape format can also be set as part of the ATTACH command, using the -F switch. 3.3 VAX - VAX can be compiled without USE_INT64. - If compiled with USE_INT64 and USE_ADDR64, RQ and TQ controllers support files > 2GB. - VAX ROM has speed control (SET ROM DELAY/NODELAY). 3.4 PDP-1 - Added block loader format support to LOAD. - Changed BOOT PTR to allow loading of all of the first bank of memory. - The LOAD command takes an optional argument specifying the memory field to be loaded. - The PTR BOOT command takes its starting memory field from the TA (address switch) register. 3.5 PDP-18b Family - Added PDP-4 EAE support. - Added PDP-15 FP15 support. - Added PDP-15 XVM support. - Added PDP-15 "re-entrancy ECO". - Added PDP-7, PDP-9, PDP-15 hardware RIM loader support in BOOT PTR. 4. Bugs Fixed in 3.0 vs prior releases 4.1 SCP and Libraries - Fixed end of file problem in dep, idep. - Fixed handling of trailing spaces in dep, idep. 4.2 VAX - Fixed CVTfi bug: integer overflow not set if exponent out of range - Fixed EMODx bugs: o First and second operands reversed o Separated fraction received wrong exponent o Overflow calculation on separated integer incorrect o Fraction not set to zero if exponent out of range - Fixed interval timer and ROM access to pass power-up self-test even on very fast host processors (fixes from Mark Pizzolato). - Fixed bug in user disk size (found by Chaskiel M Grundman). 4.3 1401 - Fixed mnemonic, instruction lengths, and reverse scan length check bug for MCS. - Fixed MCE bug, BS off by 1 if zero suppress. - Fixed chaining bug, D lost if return to SCP. - Fixed H branch, branch occurs after continue. - Added check for invalid 8 character MCW, LCA. - Fixed magtape load-mode end of record response. - Revised fetch to model hardware more closely. - Fixed tape read end-of-record handling based on real 1401. - Added diagnostic read (space forward). 4.4 Nova - Fixed DSK variable size interaction with restore. - Fixed bug in DSK set size routine. 4.5 PDP-1 - Fixed DT variable size interaction with restore. - Updated CPU, line printer, standard devices to detect indefinite I/O wait. - Fixed incorrect logical, missing activate, break in drum simulator. - Fixed bugs in instruction decoding, overprinting for line printer. - Fixed system hang if continue after PTR error. - Fixed PTR to start/stop on successive rpa instructions. 4.6 PDP-11 - Fixed DT variable size interaction with restore. - Fixed bug in MMR1 update (found by Tim Stark). - Added XQ features and fixed bugs: o Corrected XQ interrupts on IE state transition (code by Tom Evans). o Added XQ interrupt clear on soft reset. o Removed XQ interrupt when setting XL or RL (multiple people). o Added SET/SHOW XQ STATS. o Added SHOW XQ FILTERS. o Added ability to split received packet into multiple buffers. o Added explicit runt and giant packet processing. - Fixed bug in user disk size (found by Chaskiel M Grundman). 4.7 PDP-18B - Fixed DT, RF variable size interaction with restore. - Fixed MT bug in MTTR. - Fixed bug in PDP-4 line printer overprinting. - Fixed bug in PDP-15 memory protect/skip interaction. - Fixed bug in RF set size routine. - Increased PTP TIME for PDP-15 operating systems. - Fixed priorities in PDP-15 API (differs from PDP-9). - Fixed sign handling in PDP-15 EAE unsigned mul/div (differs from PDP-9). - Fixed bug in CAF, clears API subsystem. 4.8 PDP-8 - Fixed DT, DF, RF, RX variable size interaction with restore. - Fixed MT bug in SKTR. - Fixed bug in DF, RF set size routine. 4.9 HP2100 - Fixed bug in DP (13210A controller only), DQ read status. - Fixed bug in DP, DQ seek complete. - Fixed DR drum sizes. - Fixed DR variable capacity interaction with SAVE/RESTORE. 4.10 GRI - Fixed bug in SC queue pointer management. 4.11 PDP-10 - Fixed bug in RP read header. 4.12 Ibm1130 - Fixed bugs found by APL 1130. 4.13 Altairz80 - Fixed bug in real-time clock on Windows host. 4.14 1620 - Fixed bug in immediate index add (found by Michael Short).
This commit is contained in:
committed by
Mark Pizzolato
parent
b2101ecdd4
commit
1da2d9452d
@@ -8,7 +8,7 @@ DELQA (M7516) and DEQNA (M7504) Q-bus ethernet cards for the SIMH emulator.
|
||||
The XQ emulator uses the Sim_Ether module to execute host-specific ethernet
|
||||
packet reads and writes, since all operating systems talk to real ethernet
|
||||
cards/controllers differently. The host-dependant Sim_Ether module currently
|
||||
supports Windows, Linux, NetBSD, and OpenBSD.
|
||||
supports Windows, Linux, NetBSD, OpenBSD, FreeBSD, OS/X, and Alpha VMS.
|
||||
|
||||
Currently, the Sim_Ether module sets the selected ethernet card into
|
||||
promiscuous mode to gather all packets, then filters out the packets that it
|
||||
@@ -20,53 +20,138 @@ should not cause much of a problem, since the switch will still filter out
|
||||
most of the undesirable traffic. You will only see "excessive" traffic if you
|
||||
are on a direct or hub(repeater) segment.
|
||||
|
||||
Using the libpcap/WinPcap interface, the simulated computer cannot "talk" to
|
||||
the host computer via the selected interface, since the packets are not
|
||||
reflected back to the host. The workaround for this is to use a second NIC in
|
||||
the host and connect them both into the same network; then the host and the
|
||||
simulator can communicate over the physical LAN.
|
||||
|
||||
Universal TUN/TAP support provides another solution for the above dual-NIC
|
||||
problem for systems that support Universal TUN/TAP. Since the TUN/TAP interface
|
||||
is at a different network level, the host can create a TAP device for the
|
||||
simulator and then bridge or route packets between the TAP device and the real
|
||||
network interface. Note that the TAP device and any bridging or routing must be
|
||||
established before running the simulator; SIMH does not create, bridge, or
|
||||
route TAP devices for you.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Windows notes:
|
||||
1. The Windows-specific code uses the WinPCAP 3.0 package from
|
||||
http://winpcap.polito.it. This package for windows simulates the libpcap
|
||||
package that is freely available for unix systems.
|
||||
package that is freely available for un*x systems.
|
||||
|
||||
2. You must *install* the WinPCAP runtime package.
|
||||
|
||||
3. The first time the WinPCAP driver is used, it will be dynamically loaded,
|
||||
and the user must be an Administrator on the machine to do so. If you need
|
||||
to run as an unprivileged user, you must set the service to autostart. See
|
||||
the WinPCAP documentation for details on the static load workaround.
|
||||
4. WinPCAP loops packet writes back into the read queue. This causes problems
|
||||
since the XQ controller is not expecting to read it's own packet. A fix
|
||||
to the packet read filter was added to reject packets from the current MAC,
|
||||
but this defeats DECNET's duplicate node number detection scheme. A more
|
||||
correct fix for WinPCAP will be explored as time allows.
|
||||
the WinPCAP documentation for details on the static loading workaround.
|
||||
|
||||
4. If you want to use TAP devices, they must be created before running SIMH.
|
||||
(TAP component from the OpenVPN project; http://openvpn.sourceforge.net)
|
||||
|
||||
5. Compaq PATHWORKS 32 v7.2 also enabled bridging for the ethernet adapters
|
||||
when the DECNET and LAT drivers were installed; TAP was not needed.
|
||||
|
||||
|
||||
Building on Windows:
|
||||
1. Install WinPCAP 3.0.
|
||||
1. Install WinPCAP 3.0 runtime and the WinPCAP Developer's kit.
|
||||
|
||||
2. Put the required .h files (bittypes,devioctl,ip6_misc,packet32,pcap,
|
||||
pcap-stdinc).h from the WinPCAP 3.0 developer's kit in the compiler's path
|
||||
|
||||
3. Put the required .lib files (packet,wpcap).lib from the WinPCAP 3.0
|
||||
developer's kit in the linker's path
|
||||
|
||||
4. If you're using Borland C++, use COFF2OMF to convert the .lib files into
|
||||
a format that can be used by the compiler.
|
||||
|
||||
5. Define USE_NETWORK if you want the network functionality.
|
||||
|
||||
6. Build it!
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Linux, NetBSD, and OpenBSD notes:
|
||||
Linux, {Free|Net|Open}BSD, OS/X, and Un*x notes:
|
||||
1. You must run SIMH(scp) as root so that the ethernet card can be set into
|
||||
promiscuous mode by the driver. Alternative methods for avoiding the
|
||||
'run as root' requirement will be welcomed.
|
||||
|
||||
Building on Linux, NetBSD, and OpenBSD:
|
||||
1. Get/install the libpcap package for your unix version. http://rpmfind.net
|
||||
might be a useful site for finding the linux variants.
|
||||
2. Use Make USE_NETWORK=1 if you want the network functionality.
|
||||
2. If you want to use TAP devices, they must be created before running SIMH.
|
||||
|
||||
Linux, {Free|Net|Open}BSD, OS/X, Un*x notes:
|
||||
1. Get/make/install the libpcap package for your operating system. Sources:
|
||||
Linux : search for your variant on http://rpmfind.net
|
||||
OS/X : Apple Developer's site?
|
||||
Others : http://sourceforge.net/projects/libpcap/
|
||||
|
||||
2. Use 'make USE_NETWORK=1' if you want the network functionality.
|
||||
|
||||
3. Build it!
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
OpenVMS Alpha notes:
|
||||
1. Ethernet support will only work on Alpha VMS 7.3-1 or later, which is
|
||||
when required VCI promiscuous mode support was added. Hobbyists can
|
||||
get the required version of VMS from the OpenVMS Alpha Hobbyist Kit 3.0.
|
||||
|
||||
Running a simulator built with ethernet support on a version of VMS prior
|
||||
to 7.3-1 will behave as if there is no ethernet support built in due to
|
||||
the inability of the software to set the PCAPVCM into promiscuous mode.
|
||||
|
||||
An example display of fully functional ethernet support:
|
||||
sim> SHOW XQ ETH
|
||||
ETH devices:
|
||||
0 we0 (VMS Device: _EWA0:)
|
||||
1 we1 (VMS Device: _EWB0:)
|
||||
|
||||
An example display when the simulator was built without ethernet support
|
||||
or is not running the required version of VMS:
|
||||
sim> SHOW XQ ETH
|
||||
ETH devices:
|
||||
no network devices are available
|
||||
|
||||
2. You must place the PCAPVCM.EXE execlet in SYS$LOADABLE_IMAGES before
|
||||
running a simulator with ethernet support.
|
||||
|
||||
3. You must have CMKRNL privilege to SHOW or ATTACH an ethernet device;
|
||||
alternatively, you can INSTALL the simulator with CMKRNL privilege.
|
||||
|
||||
4. If you use a second adapter to communicate to the host, SOME protocol
|
||||
that creates an I/O structure (SCS, DECNET, TCP) must be running on the
|
||||
adapter prior trying to connect with SIMH, or the host may crash.
|
||||
The execlet is not written to create an I/O structure for the device.
|
||||
|
||||
Building on OpenVMS Alpha:
|
||||
1. Build the PCAP library and execlet. They are in the [.PCAP-VMS]
|
||||
directory in the simh source distribution. The following builds
|
||||
both the pcap library and the pcap execlet:
|
||||
$ set def [.pcap-vms]
|
||||
$ @build_all
|
||||
Building VCI version of pcap...
|
||||
Building the PCAP VCM execlet...
|
||||
In order to use it, place PCAPVCM.EXE in the
|
||||
SYS$LOADABLE_IMAGES directory.
|
||||
%DCL-I-SUPERSEDE, previous value of PCAPVCM$OBJ has been superseded
|
||||
|
||||
To use the PCAPVCM.EXE execlet you must copy it to
|
||||
the SYS$LOADABLE_IMAGES directory.
|
||||
|
||||
Build done...
|
||||
|
||||
2. To build the simulators with ethernet support, you
|
||||
need to build them with MMS or MMK as follows:
|
||||
$ MMx/MACRO=("__ALPHA__=1", "__PCAP__=1")
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
VAX simulator support:
|
||||
|
||||
An OpenVMS VAX v7.2 system with DECNET Phase IV, MultiNet 4.4a, and LAT 5.3 has
|
||||
been successfully run. Other testers have reported success booting NetBSD also.
|
||||
been successfully run. Other testers have reported success booting NetBSD and
|
||||
OpenVMS VAX 5.5-2 also.
|
||||
|
||||
|
||||
PDP11 simulator support:
|
||||
@@ -88,15 +173,14 @@ Things planned for future releases:
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Things which I need help with:
|
||||
1. Porting Sim_Ether packet driver to other host platforms, especially VMS.
|
||||
2. Information about Remote MOP processing
|
||||
3. VAX/PDP-11 hardware diagnotics image files and docs, to test XQ thoroughly.
|
||||
4. Feedback on operation with other VAX/PDP-11 OS's.
|
||||
1. Information about Remote MOP processing
|
||||
2. VAX/PDP-11 hardware diagnotics image files and docs, to test XQ thoroughly.
|
||||
3. Feedback on operation with other VAX/PDP-11 OS's.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Please send all patches, questions, feedback, clarifications, and help to:
|
||||
dhittner AT northropgrumman DOT com
|
||||
david DOT hittner AT ngc DOT com
|
||||
|
||||
Thanks, and Enjoy!!
|
||||
Dave
|
||||
@@ -106,33 +190,46 @@ Dave
|
||||
Change Log
|
||||
===============================================================================
|
||||
|
||||
26-Nov-03 Release:
|
||||
1. Added VMS support to Sim_Ether; created pcap-vms port (Anders Ahgren)
|
||||
2. Added DECNET duplicate detection for Windows (Mark Pizzolato)
|
||||
3. Added BPF filtering to increase efficiency (Mark Pizzolato)
|
||||
4. Corrected XQ Runt processing (Mark Pizzolato)
|
||||
5. Corrected XQ Software Reset (Mark Pizzolato)
|
||||
6. Corrected XQ Multicast/Promiscuous mode setting/resetting (Mark Pizzolato)
|
||||
7. Added Universal TUN/TAP support (Mark Pizzolato)
|
||||
8. Added FreeBSD support (Edward Brocklesby)
|
||||
9. Corrected interrupts on XQB device (David Hittner)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
05-Jun-03 Release:
|
||||
1. Added SET/SHOW XQ STATS
|
||||
2. Added SHOW XQ FILTERS
|
||||
3. Added ability to split received packet into multiple buffers
|
||||
4. Added explicit runt & giant packet processing
|
||||
1. Added SET/SHOW XQ STATS (David Hittner)
|
||||
2. Added SHOW XQ FILTERS (David Hittner)
|
||||
3. Added ability to split rcv packets into multiple buffers (David Hittner)
|
||||
4. Added explicit runt & giant packet processing (David Hittner)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
30-May-03 Release:
|
||||
1. Corrected bug in xq_setmac introduced in v3.0 (multiple people)
|
||||
2. Made XQ receive buffer allocation dynamic to reduce scp executable size
|
||||
3. Optimized some structs, removed legacy variables (Mark Pizzolato)
|
||||
4. Changed #ifdef WIN32 to _WIN32 for consistancy
|
||||
1. Corrected bug in xq_setmac introduced in v3.0 (multiple people)
|
||||
2. Made XQ rcv buffer allocation dynamic to reduce scp size (David Hittner)
|
||||
3. Optimized some structs, removed legacy variables (Mark Pizzolato)
|
||||
4. Changed #ifdef WIN32 to _WIN32 for consistancy (Mark Pizzolato)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
06-May-03 Release:
|
||||
1. Added second XQ controller
|
||||
2. Added SIMH v3.0 compatibility
|
||||
3. Removed SET ADDRESS functionality
|
||||
1. Added second XQ controller (David Hittner)
|
||||
2. Added SIMH v3.0 compatibility (David Hittner)
|
||||
3. Removed SET ADDRESS functionality (David Hittner)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
10-Apr-03 Release:
|
||||
1. Added preliminary support for RSTS/E
|
||||
2. Added PDP-11 bootrom load via CSR flags
|
||||
3. Support for SPARC linux (thanks to Mark Pizzolato)
|
||||
1. Added preliminary support for RSTS/E (David Hittner)
|
||||
2. Added PDP-11 bootrom load via CSR flags (David Hittner)
|
||||
3. Support for SPARC linux (Mark Pizzolato)
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user