Commit graph

75 commits

Author SHA1 Message Date
Mark Pizzolato
defe5f07d9 AltairZ80: Promote sim_imd.c to a top level simh library to be used as needed by various simulators 2014-09-16 11:29:19 -07:00
Mark Pizzolato
bfcbabcb12 VMSBUILD: Fix minor issue building the ssem simulator on VMS host platforms 2014-08-29 07:44:45 -07:00
Peter Schorn
589aca19f4 AltairZ80: Added Motorola 68000 CPU support for CP/M-68K, support for Altair mini-disk format, added descriptions for all device registers 2014-05-27 20:01:30 +02:00
Peter Schorn
49d38187dd Updated AltairZ80 documentation and incorporated altairz80_mhdsk.c in build process 2014-03-29 15:12:53 +01:00
Mark Pizzolato
d0d3742504 SWTP6800: Added build support for internally contained swtbug.bin as a built-in ROM image 2014-02-24 18:13:12 -08:00
Mark Pizzolato
5800e5b403 Compiler indicated cleanup 2014-01-06 14:13:30 -08:00
Mark Pizzolato
76fc90f405 VMS: Update descrip.mms for recently added video and network device support 2014-01-06 13:13:18 -08:00
Mark Pizzolato
7b3e508627 ETHER: Added capability to build working networking support without pcap packet transport (i.e. only using one of the other available packet transports: VDE, TAP, UDP, etc.) 2013-12-19 09:45:51 -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
1e3586ec91 DISPLAY: Latest version of display code from Phil Budne and Doug Gwyn including initial pdp1_dpy and pdp11_vt 2013-10-16 01:02:12 -07:00
Mark Pizzolato
1141339e5b PDP11: Addition of the RS03/RS04 disk devices from Bob Supnik
Note that this is not the fully general Massbus implementation people were dreaming of. MB#1 is for RP/RM, MB#2 is for TU, and MB#3 is for RS.
I know that there were requests for four Massbus channels and multiple RP/RP subcontrollers, but if people want more disks, they can use the RQ.
2013-09-05 07:59:11 -07:00
Mark Pizzolato
3b8784b2c3 Added makefile support for the DUP11 device 2013-05-27 16:55:12 -07:00
Mark Pizzolato
6c42556d30 Added build support for the new SSEM simulator and fixed minor compiler suggested cleanups 2013-05-13 15:31:00 -07:00
Mark Pizzolato
4052738dae Fixed target name for VMS build of the VAX8600 simulator 2013-02-18 09:29:30 -08:00
Mark Pizzolato
a3072fe1ee Cleanup of build on VMS 2013-02-18 08:40:14 -08:00
Mark Pizzolato
0344d6f22b Finished returning the pdp11_cr.c to the VAX qbus simulators 2013-02-04 18:21:24 -08:00
Mark Pizzolato
0b2d790678 Renamed the VAX Qbus simulator executables to reflect the VAX model names they actually simulate 2013-02-03 12:46:19 -08:00
Mark Pizzolato
8640cd6537 - Removed pdp11_cr and pdp11_ry from the Qbus VAX simulators since these devices can't address the full Q22 address range.
- Added validation checks in auto_config to reject enabled devices which aren't Q22 capable on Q22 platforms.
- Changed pdp11_cr device to be default disabled in the PDP11 simulator
2013-02-03 11:29:12 -08:00
Mark Pizzolato
7290474d4b Removed pdp11_dmc from the Qbus VAX systems since the DMC11 is only a Unibus device 2013-02-03 06:43:29 -08:00
Mark Pizzolato
6dcf5ba7d9 Renamed the VAX860 simulator to VAX8600, and used the VAX system model names for all simulators 2013-01-26 13:24:28 -08:00
Mark Pizzolato
fae991d592 More compiler identified cleanups 2013-01-10 16:10:39 -08:00
Mark Pizzolato
448d9e52fc Added VAX860 to the descrip.mms and cleaned up the VMS compiler identified issues 2013-01-10 15:14:51 -08:00
Mark Pizzolato
30ae79eb18 pdp11_dmc cleanup and addition of DMC11 device to the PDP11 simulator 2012-12-23 07:11:54 -08:00
Mark Pizzolato
3346f4a32c Fix build on VMS (IA64) 2012-12-19 12:45:03 -08:00
Mark Pizzolato
2c14136473 Added DMC to VAX730, VAX750, VAX620 and VAX630 and VH to VAX730, and VAX750. 2012-12-19 11:33:39 -08:00
Mark Pizzolato
50cf91d441 Merge branch 'SerialMux' and compiler suggested cleanup 2012-12-18 09:52:14 -08:00
Mark Pizzolato
78b8d62942 Added DMC11 to PDP11 simulator (from Rob Jarratt) 2012-12-17 14:18:28 -08:00
Mark Pizzolato
ecbbcc7228 Added DMC11 Device to the VAX simulator 2012-11-07 14:50:32 -08:00
Mark Pizzolato
22eda8f959 descrip.mms - Fixed VMS build of VAX610 2012-10-26 15:31:57 -07:00
Mark Pizzolato
76612265ca Addition of MicroVAX I (VAX610) processor simulator from Matt Burke 2012-10-25 11:58:10 -07:00
Mark Pizzolato
9cd3a07ff6 Merge remote-tracking branch 'origin/master' into Extra-VAXen
Merged related functionality into new VAX 750 modules

Cleaned up compiler complaints from the clang compiler
2012-10-22 06:32:38 -07:00
Mark Pizzolato
f8e34b103b Added new VAX750 simulator from Matt Burke 2012-10-22 05:09:10 -07:00
Mark Pizzolato
178f4a743d Merge branch 'master' into SerialMux 2012-04-23 13:03:26 -07:00
Mark Pizzolato
db9bf32112 Merge of Bob's simh-v3.9-0-rc3 2012-04-23 11:50:43 -07:00
Mark Pizzolato
bc36e9dde5 Adds serial port support to the multiplexer library.
It also modifies the HP 2100 and PDP11 multiplexers to add serial support as demonstrations of the capability that, one day, might be extended to all simulators.  I have tested the HP support, but I relied on Holger Veit to test the DEC stuff, so I can't guarantee that it works.  I also relied on Holger to test under Linux, so the same caveat applies.

    The changes needed in the device simulators are relatively small.  For example, if you look at the patches for "hp2100_baci.c", you'll note that most of them are documentation changes.  The only things of note are:

 - an expansion of the TMXR initializer

 - additional code in the "attach" routine to try attaching a serial port
   if attaching a socket fails

 - additional code in the "detach" routine for the same reasons

The HP MPX device (hp2100_mpx.c) needs a tiny bit of additional support from the ATTACH and DETACH commands.  Specifically, SCP was modified to set a flag ("sim_unit_ref") to indicate whether ATTACH MPX or ATTACH MPX0 was done, i.e., to differentiate between a device and a unit attach (recall that SCP treats these as both referring to unit 0).  This is needed because the socket attaches (logically) to the device, whereas a serial port attaches to a line.  Without this flag, the attach routine cannot differentiate between ATTACH MPX and ATTACH MPX0, as the distinction is lost by the time the VM's attach routine is called.  This support isn't needed for the HP MUX device because the socket attaches to a different device than the lines do.

    MPX also requires a bit more work due to the capability to mix serial and Telnet lines on the same multiplexer (BACI is a single-line terminal device).

    The attached PDF contains revisions to the "Writing a Simulator for the SIMH System" publication that documents the additions and changes to the multiplexer library for serial port support.  User documentation for serial port support currently exists only in the initial comments in "sim_tmxr.c"; I will add the appropriate text to the "SIMH User's Guide" if we decide to add this to the release version.
2012-04-19 19:18:15 -07:00
Mark Pizzolato
ab3af3062d - Changed asynch queue insertion and removal to use a lock free algorithm based only on InterlockedCompareExchangePointer. We can now use this lock free approach on IA64 host systems as well.
- Removed flawed logic which assumed that sim_interval was meaningful when referenced by an asynchronous thread.
- Adjust the event_time of events removed from the asynch queue to account for the average time spent on the queue before the event was noticed by the instruction execution thread.
- Added a sim_activate_notbefore function which specifies an rtime which is the earliest time the event should fire.
- Changed the 'wakeup from idle' logic to force an immediate asynch queue check if the wakeup was not due to a timeout (i.e. it was due to an asynch queue insertion).
- Fixed the descrip.mms to build asynchronous support on AXP and IA64 VMS with kernel threads enabled
2012-04-04 11:05:24 -07:00
Mark Pizzolato
6e6fdd02ae Fixed VMS Build of DEBUG simulators 2012-03-31 14:43:59 -07:00
Mark Pizzolato
38bbdd2de9 Added VH to the VAX780 build (makefile and descrip.mms) 2012-03-29 04:05:39 -07:00
Mark Pizzolato
027c921cfc More robust and correct readline support and fix to VMS build for HP2100 2012-03-25 15:55:36 -07:00
Mark Pizzolato
380625e404 Fixed vax build issue when building on a vax. 2012-03-23 13:05:36 -07:00
Mark Pizzolato
2fcb0aad62 Made VMS build more robust and the failure case when VMS-PCAP is missing provide guidance. 2012-03-22 14:37:01 -07:00
Mark Pizzolato
5284f8f1e6 VMS Build cleanup 2012-03-21 14:45:59 -07:00
Mark Pizzolato
45246a3339 Updated HP2100 from Dave Bryan 2012-03-21 06:14:01 -07:00
Mark Pizzolato
cf280ad8f7 Completing merge of v3.9-0-rc1 compile cleanups 2012-03-20 18:55:45 -07:00
Mark Pizzolato
3e10dfbd95 Merge branch 'master' into Extra-VAXen
Conflicts:
	makefile
2011-11-10 09:04:42 -08:00
Mark Pizzolato
4167c4cab9 Cleanup comments 2011-10-31 10:25:52 -07:00
Mark Pizzolato
0705a6b468 Fixed typo in VAX730 build 2011-09-24 06:26:25 -07:00
Mark Pizzolato
a6b8d63f10 Merge of VAX 11/730 Simulator from Matt Burke 2011-09-23 16:21:03 -07:00
Mark Pizzolato
cb35f6c97b Added support for embedded ROM images in simulators.
This allows a single simulator executable to be a completely useful component (for those simulators which dynamically load ROM or other boot code).
Meanwhile, we continues to allow the explicit use of a user's preferred ROM or other boot code as well.
A build option is provided in the makefile to not build with the included ROM functionality if desired.
2011-09-23 13:28:38 -07:00
Mark Pizzolato
724cdfcfb1 Fixed DESCRIP.MMS for clean building on IA64 platforms. 2011-06-12 16:23:01 -07:00