Commit graph

194 commits

Author SHA1 Message Date
Mark Pizzolato
329f42a1fc SCP: Rework newly added REG macro definitions to avoid problems with prior declarations
Fix #288
2016-03-16 20:33:41 -07:00
Mark Pizzolato
e0e58fce66 PDP15: Update pdp18b_rp from Bob Supnik.
1. Added RP03 support and supporting "SET" commands.
2. Fixed implementation of DPCF (it's a full reset and not blocked by BUSY).
3. Fixed handling of JOB DONE flag (not touched by NOP, SEEK, or RECAL).
2016-03-16 12:49:03 -07:00
Mark Pizzolato
6595ae52df PDP18B: Latest updates from Bob Supnik
- Added unix v0 terminal support
- Added 3-cycle databreak set/show entries
- Revised for dynamically allocated memory
- Added support for -u modifier (UC15 and Unix v0)

These changes are to support the Unix v0 bringup and to implement a
"Unix input" mode on the console terminal.  In Unix mode, CR and LF are
swapped (so that a modern terminal can use 'enter' instead of CTRK-J to
create the newline Unix expects), escape is mapped to altmode (175),
upper and lower case are enabled and the parity bit is forced to 1.  This
most closely matches the characteristics of the KSR-37, but there is no
definitive evidence of the terminal that was actually used.
2016-03-15 09:52:20 -07:00
Mark Pizzolato
37733cabee SCP: Add support REGister data in arrays of arbitrary structures. 2016-03-14 15:07:22 -07:00
Mark Pizzolato
3a4e879c07 HP3000: Initial release of the HP 3000 Series III simulator (from Dave Bryan) 2016-03-07 20:47:57 -08:00
Mark Pizzolato
53b6809e4a HP2100: Change hp_disclib filename to hp2100_disclib (from Dave Bryan) 2016-03-07 20:42:19 -08:00
Mark Pizzolato
51aad45cdc PDP18B: Add RB disk to PDP7 and DRM drum to PDP9 and -u, -p examine/deposit switches in PDP7, PDP9 and PDP15
This merges the latest PDP18B changes from Bob Supnik:
 - It adds the RB disk to the PDP-7 and the drum (DRM) to the PDP-9, per the
    discoveries in the 18b services listing.
-  It tweaks the switches for examine and deposit to support Unix v0 and
    (eventually) the Unichannel.
2016-03-01 08:33:28 -08:00
Mark Pizzolato
c8cd853102 VAX: Allow SET CPU IDLE command to not specify a stability value.
Report invalid stability values and explain why they're invalid.

Fixes #281
2016-02-26 02:17:31 -08:00
Mark Pizzolato
f3ca23c739 DOC: Correct parameter description in "Writing a Simulator for the SIMH system". 2016-02-25 05:14:49 -08:00
Mark Pizzolato
2e21baffa8 PDP11: Revised doc to include EXAMINE -B 2016-02-23 08:33:03 -08:00
Mark Pizzolato
cea1f1bb52 VAX: Add optional simulator time and logging to disk for instruction history.
simulator time allows instruction history to be precisely correlated with
debug output.  It also provides a way to reproduce and review simulation
activities by stopping at predetermined time values (via STEP) to
examine details of simulator state.

disk logging can be useful to compare activities performed in separate
simulator runs.
2016-02-23 08:31:57 -08:00
Mark Pizzolato
92fe35fb9c PDP10: Fix nested indirect address limit exceeded (from Bob Supnik)
If the nested indirect/execute limit (INDMAX, XCTMAX) is set to 0, the simulator will loop indefinitely in an indirect address or execute loop, testing for interrupts before each memory reference. Thus, on an infinite loop, the simulator will never complete the instruction, but the instruction is interruptible. So for example, under TOPS-10:

.r ddt
1/    0    jrstf @1
1$g
^C
^C
.

The JRSTF will never finish, but it can be interrupted by any device, and double ^C will return control to the command line.

If INDMAX or XCTMAX is non-zero, the previous behavior of limiting loops to a specific depth is retained. However, the default value is now 0.

This closes issue #218.

Conflicts:
	doc/pdp10_doc.doc
2016-02-19 12:28:56 -08:00
Mark Pizzolato
b804964514 PDP11, PDP1, TX-0: Added SDL based graphics support using sim_video.
Both VT11 and VS60 properly autoconfigure on the PDP11.
PDP11 now runs Lunar Lander on all SDL supported platforms.
Reworked refresh logic to not require internal delays in the display library
2016-01-29 10:16:30 -08:00
Mark Pizzolato
d8f2647f93 SCP: general const cleanups and const change to sim_vm_parse_addr. 2016-01-24 08:27:08 -08:00
Mark Pizzolato
6582aeead2 SCP. PDP11: Add ESC and ENQ to the default set of console output characters in 7P mode.
Revert change to add ESC and ENQ to printable characters for all simulators
and make that change only for the PDP11.
2016-01-02 05:07:18 -08:00
Mark Pizzolato
e162eb9418 DOC: Clarifications about behavior and requirements for EXAMINE -a and -c switches. From Dave Bryan 2015-11-19 09:06:19 -08:00
Mark Pizzolato
eff1ef12e7 DOC: Add NAT info 2015-10-21 02:54:58 -07:00
Mark Pizzolato
86d1e36f29 all VAX, PDP11: Add initial NAT based ethernet connectivity via SLiRP.
This should work on all byte addressable host systems using GCC/clang to build.

The QEMU slirp code has been pried out of QEMU and stubs have been created to solve where the current slirp is entangled with the QEMU code.  Ths slirp/simh directory contains all the necessary include and glue files to make this useful.  Everything in the slirp directory is unmodified QEMU code.
2015-10-15 12:59:32 -07:00
Paul Koning
35c321fe2e DOC: Corrections and cleanups.
Small corrections, including a number from Mark Pizzolato, in
description of unit timing, debug flags, among others.
2015-10-10 14:07:33 -04:00
Paul Koning
77bbfae817 DOC: Corrections and cleanups.
Update description of DEVICE, UNIT, and REG.  Correct a number of
typos and formatting glitches.  Add description of UNIT_IDLE,
REG_UNIT.  Add some missing details in fprint_sym and
sim_vm_is_subroutine_call.  Document command matching rule.
2015-09-25 12:52:07 -04:00
Mark Pizzolato
8652294fd6 DOC: Add descriptiong of missing unit structure fields 2015-09-22 06:55:23 -07:00
Mark Pizzolato
1ef6c3d6b9 SCP: Added REG_V_UF and REG_UFMASK to support user-defined register flags. From Dave Bryan
Altered the calling sequences to fprint_sym and parse_sym in ex_reg and dep_reg to merge user-defined register flags with the radix in the addr parameter.  This allows the print and parse routines to identify the register or determine how it is to be handled.  These are called in lieu of the standard print and parse routines if a register has REG_VMIO or at least one user-defined flag set.
2015-09-20 14:04:24 -07:00
Mark Pizzolato
e27e396c30 TAPES: Attempt to validate the record structure of TPC formatted tapes when they are attached.
Stubs to validate SIMH and E11 format tapes as well.
Once all validation routines are available, logic to auto detect tape format will be implemented.
2015-05-17 18:50:51 -07:00
Bill Beech
02bb97d71f swtp6800: Clean up documentation file 2015-05-05 14:06:14 -07:00
Mark Pizzolato
04142da99c SCP: Added simulator version checking while performing a RESTORE operation.
Added -Q switch to suppress version check messages
Added -D switch to disable the detach_all at the beginning of a restore and any actual attach operations during the restore
2015-04-17 14:43:52 -07:00
Mark Pizzolato
8204a203a1 DOC: Updated simh.doc to describe missing sim_tape APIs 2015-04-14 08:36:27 -07:00
Mark Pizzolato
ecc1956221 PDP11: Revised documentation to correct the default character modes on the TTI and TTO devices. 2015-04-12 13:10:28 -07:00
Mark Pizzolato
7c58a5038d I1401: Revised documentation from Bob Supnik 2015-04-04 16:38:16 -07:00
Mark Pizzolato
46d7bfc660 SCP: Fix sim_disk to avoid potential reference to uninitialized context structure. Fix #194 2015-03-19 13:52:33 -07:00
Mark Pizzolato
50d1407c97 DOC: Add paper by Bob Supnik "Simulators: Virtual Machines of the Past and Future" published in ACM Queue 2004 2015-03-16 16:06:23 -07:00
Mark Pizzolato
f8501c2ec2 DOC: Updated simh.doc and sim_magtape.doc to reflect recent revisions to tape support (from Dave Bryan) 2015-01-08 03:34:42 -08:00
Mark Pizzolato
d5f02124f1 DOC: Add missing "SIMH Magtape Representation and Handling" document 2014-12-20 16:02:41 -08:00
Mark Pizzolato
1d2742edff DOC: Cleanup PDP10 document 2014-11-21 08:34:52 -08:00
Mark Pizzolato
94486c1286 SCP: Updated documentation and help text 2014-10-31 05:13:55 -07:00
Mark Emmer
f597da0a98 SDS: Refine Next command for subroutine branch
1. Treat the SBRM SysPOP like the BRM opcode for calling a subroutine.
2. If the -a (atomic) switch is present with a BRM or SBRM instruction, place a breakpoint at EA+1 rather than EA, since the return link is placed at EA (BRM) or at *EA (SBRM) with subroutine execution commencing at EA+1.
2014-04-23 20:51:24 -05:00
Mark Emmer
6f9f387c39 SDS: Add more complex (but optional) Next behavior
Allow -f switch with Next to move forward in code.
Allow -a switch with Next for "atomic" behavior that excludes interrupts for all instructions.

Update sds_doc.doc to describe the new behavior.
2014-04-19 14:50:15 -05:00
Mark Emmer
2df2f33352 SDS: Add -f switch to Next command to force step-over mode
Add -f switch ("force") to the Next command to set the temporary breakpoints regardless of instruction type.  This is useful at
the bottom of loops or to avoid going off into unrelated code should an interrupt or memory paging trap occur.
2014-04-17 07:55:12 -05:00
Mark Emmer
c4438e15f4 SDS: Support simulator's new NEXT command to step over subroutine calls
Step over BRM, POP or SYSPOP by planting temporary (dynamic) breakpoints at P+1 and P+2.
2014-04-17 00:09:11 -05:00
Mark Pizzolato
8f3e6438a3 SCP: Added the NEXT command. This command provides the ability for a simulator to step over subroutine calls. 2014-04-14 14:22:18 -07:00
Mark Emmer
29bb19c99a SDS: Documentation change for new history and SYSPOP features. 2014-04-09 22:13:35 -05:00
Mark Emmer
d04e909d5f SDS: Further refinement to bootstrap from RAD, update SDS documentation
Instead of conditionally compiling in bootstrap support depending upon attached channel, determine dynamically based on RAD's current assignment to channel W or channel E.  This allows using "set rad channel=W" for purposes of bootstrapping, and then relocating the RAD with "set rad channel=E" for running a TSS monitor that expects to find the RAD on channel E.
2014-03-17 17:48:59 -06:00
Mark Pizzolato
0c56397289 Merge remote-tracking branch 'origin/master' 2014-03-03 08:10:31 -08:00
Mark Emmer
a98c9f92fa SDS: Minor additions to SDS documentation
Document new breakpoint types and display and input of packed SDS internal ASCII characters.  Add note describing memory map options for display and input discovered in code. Word change tracking enabled.
2014-03-02 22:58:08 -06:00
Mark Pizzolato
9320c56f3f PDP11, PDP10, AltairZ80: Fixed cases where assert() macro is called with an expression which has side effects and therefore wouldn't get executed if compiled with NDEBUG defined. 2014-03-02 14:50:43 +01:00
Mark Pizzolato
519f7f2c03 PDP8: Revised fix for Binary loader can't read multiple section tapes (#74) to make reading all sections optional based on the -A switch (from Dave Gesswein) 2014-02-11 18:58:19 -08:00
Mark Pizzolato
8c2de7c5a9 SWTP: Added missing SWTP documentation files 2014-01-28 15:21:25 -08:00
Mark Pizzolato
ae8bcecd29 I1620 : Changes from Bob Supnik re: Bob Armstrong has been running diagnostics and software, and these changes reflect fixes to bugs that were found.
We're not absolutely sure that all of the changes are correct - in particular the treatment of record marks in add/compare - but they do make the diagnostics pass, which they didn't before.

Bob asked for variable tab stops on the typewriter, and those are implemented as well. The routines were general enough that I put the SET/SHOW processors in sim_console.c, so I'm enclosing that and its header file.

Conflicts:
	I1620/i1620_cpu.c
	sim_console.c
	sim_console.h
2014-01-05 14:45:08 -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
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
01b3179d93 PDP11: Added help to KE, KG, RF, TA, TC and TM devices. Fixed DECtape documentation. 2013-09-09 05:36:17 -07:00