Commit graph

148 commits

Author SHA1 Message Date
Mark Pizzolato
6ffa4c8a41 IBM1130, PDP10, PDP11: Replaced assert() with ASSURE() for run time error checks 2018-08-11 14:44:15 -07:00
Mark Pizzolato
d356274d38 PDP10: Fix build warning when compiling DZ module 2018-04-10 10:24:49 -07:00
Mark Pizzolato
66a1f31dbd PDP10, PDP4, PDP7, PDP9, PDP15: CONST compatibility with 3.10 2018-03-10 00:18:27 -08:00
Bob Supnik
645ea28d35 PDP10: Read tape mark must set Massbus EXC (TRE) 2018-03-09 14:23:00 -08:00
Timothe Litt
34292312a8 PDP10: Fix attach pending expression test 2018-01-12 18:35:34 -08:00
Mark Pizzolato
3eadc405d0 PDP10: Ignore 0 value writes to the timer interval register
This avoids a divide by zero which is never right, but it is unclear
what the real hardware did.  It wouldn't be useful in any case.

As discussed in #486
2017-11-14 18:47:05 -08:00
Bob Supnik
5b5e0f9c35 H316, I7094, NOVA, PDP1, PDP10, PDP8, SDS: Coverity singleton errors
Most history routines defined a local sim_eval of the proper length, but the
erroneous ones were fixed length machines that defined an integer variable
instead of an integer array of length 1. The VAX used the global sim_eval.
The changes follow the VAX practice.
2017-09-07 09:59:04 -07:00
Bob Supnik
d60c56d18f PDP10: Add fall through comment to case (COVERITY) 2017-03-28 19:27:27 -07:00
Bob Supnik
5896b1c20d PDP10: Documented switch fall through case (COVERITY) 2017-03-28 14:32:10 -07:00
Bob Supnik
3eb4598456 SCP: Removed KBD_WAIT and friends 2017-03-20 22:33:38 -07:00
Bob Supnik
d1768d2771 PDP10, PDP11, PDP18B, PDP8: Annotate switch case fall through (COVERITY) 2017-03-13 10:59:06 -07:00
Bob Supnik
1e10080bc6 PDP10: Fixed word count test in EXE loader (COVERITY) 2017-03-09 20:09:59 -08:00
Bob Supnik
3530f0de7d PDP10: Added mask on EXE repeat count (COVERITY) 2017-03-09 19:50:01 -08:00
Bob Supnik
b41d10f189 PDP11, PDP10, VAX780: CR11 is BR6, CD11 is BR4 2017-03-07 09:42:37 -08:00
R. Voorhorst
f07987b7cd PDP10: Fixed SHOW IO: number of devices and vector ranges 2017-02-16 11:48:35 -08:00
Mark Pizzolato
7d432406b6 PDP11, PDP10, all VAX: General extern cleanup.
Remove explicit redundant extern declarations in source files that are
defined in processor include files.
2017-02-04 19:37:20 -08:00
Bob Supnik
370cb0edb7 PDP10: Fix RIM load loader count
As further discussed in #278
2017-02-01 08:06:25 -08:00
Bob Supnik
d980bcd7c1 PDP10: Fixed RIM loader to handle ITS and RIM10B formats
As discussed in #378

The fixes include:

1. Tightening up the "magic" code so that it can now tell EXE, SAV, and RIM
    formats apart.
2. Skipping the loader itself for both RIM10B and ITS RIM. (PDP10 Macro manual
    says that RIM10B always includes the loader.) 3. Distinguishing ITS RIM from
    RIM10B by the length of the loader block.
4. Adding the slight differences in processing between ITS RIM and RIM10B.

There is no documentation change. -R or the extension .RIM still invoke the
RIM loader, and the code tells ITS and RIM10B apart.
2017-01-20 15:26:22 -08:00
Mark Pizzolato
d8dbc7e6b5 SCP: Migrate all stdio writes to pass through SCP provided Fprintf() 2017-01-14 20:48:09 -08:00
Mark Pizzolato
b72ec739be PDP10: Fixed bugs in 1-proceed
As discussed in: PDP-10: single step in DDT crashes ITS (#373)
2017-01-14 08:37:20 -08:00
Mark Pizzolato
1c4b6644c1 PDP10: Change idling to generically use sim_idle() everywhere 2016-12-10 12:01:19 -08:00
Mark Pizzolato
f8147fca84 PDP10: Fix typo in sim_rtcn_tick_ack setup 2016-11-27 15:42:58 -08:00
Mark Pizzolato
8b73304322 PDP10: Add recording of clock tick acknowledgments. 2016-11-27 12:58:08 -08:00
Mark Pizzolato
d4082f383e PDP10: Added debug support to clock device (TIM) 2016-11-22 22:29:32 -08:00
Mark Pizzolato
0a12499a44 PDP10: Fix timing code to use ceil() since round() isn't always available 2016-11-21 15:51:36 -08:00
Mark Pizzolato
d28834fbbf PDP10: Fix 2% wallclock issue for 50 Hz systems (R. Voorhorst) 2016-11-20 14:08:58 -08:00
Mark Pizzolato
d68c021d1f PDP10: Fixed last digit error in CVTBDT instruction as discussed in #347 2016-11-05 12:38:15 -07:00
Mark Pizzolato
75ab9f513b PDP10: Fix printer idle flush logic to properly reference the LP20 unit structure 2016-07-21 05:45:30 -07:00
Mark Pizzolato
5531ccb175 ALL: Massive 'const' cleanup
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.

Most simulators can now also be compiled with a C++ compiler without
warnings.

Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
2016-05-15 15:25:33 -07:00
Mark Pizzolato
820d77ef69 GRI, I1401, PDP10, SDS: Fix compiler detected inconsistencies 2016-05-05 03:50:21 -07:00
Ray Jewhurst
5433561314 PDP-10: added register descriptions 2016-04-10 23:25:06 -07: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
de0d251c75 TIMER, SCP: Change the sim_activate_after APIs to pass the delay value as uint32.
Also change all sim_defs.h structure declarations and references of sim_
structures to use the typedef names everywhere.
2015-12-10 06:33:59 -08:00
Mark Pizzolato
ed57f061e2 All VAX: Always return the correct Qbus/Unibus interrupt vector bits for all devices. Fix #239
Vector values contained in device information blocks are the true bus relative vector values.  CPU specific biased vector values are produced by the respective vector fetching logic and vector values are limited to 9 bits with <1:0> = 0 as specified in both the Unibus and Qbus documents.
2015-10-08 04:43:21 -07:00
Mark Pizzolato
041c866d67 PDP10: Added DEUNA/DELUA support back since there exists software which actually supported it.
The code which used it provides some IP packet transport: ftp://ftp.stacken.kth.se/pub/pdp10/tops10/util/
2015-04-26 15:04:01 -07:00
Mark Pizzolato
41978eca80 All: Convert from C runtime library perror() to sim_perror so that all messages will arrive in the same place(s). 2015-04-03 19:56:37 -07:00
Mark Pizzolato
f081ddf9aa PDP10: Make file position settings consistently use sim_ftell() instead of ftell(). 2015-04-02 10:02:00 -07:00
Mark Pizzolato
66dba79418 ALPHA, ALTAIR, AltairZ80, I7094, NOVA, PDP1, PDP10, PDP11, PDP18B, PDP8, SAGE, sigma, swtp6800, TX-0, VAX: Change tabs to spaces which had crept in over time 2015-03-30 10:24:24 -07:00
Mark Pizzolato
e768629009 SCP: Added the capability for EXAMINE command output to be written directly to a socket. 2015-02-21 12:40:36 -08:00
Mark Pizzolato
ef9d1adce1 PDP10, PDP11, VAX: const cleanup 2015-02-13 06:18:24 -08:00
Mark Pizzolato
c548b34772 Compiler suggested cleanups. 2014-10-27 17:14:28 -07:00
Mark Pizzolato
2e1167d4a0 Compiler suggested cleanups - mostly const fixups 2014-10-26 17:06:24 -07:00
Mark Pizzolato
611a7e94f0 SCP: Added a Remote Console Master Mode.
This capability will allow a GDB RSB stub to be created to support dynamic debugging of code running in a simulator.

This capability will also allow a complete front panel emulation system to operate a simulator.

This capability is engaged in a simulator by:
     sim> set remote telnet=remoteconsoleport#
     sim> set console telnet=consoleport#
     sim> set remote master

Master mode will provide a TCP session which accepts SCP commands that allow full control of the simulator.
2014-10-26 15:15:31 -07:00
Mark Pizzolato
4dbac410da SCP: Added const declarations to various APIs to reflect the appropriate usage. Moved parameter values for run_cmd and exdep_cmd to scp.h 2014-10-26 14:52:22 -07:00
Mark Pizzolato
995ab8f1e2 More General cleanup migrate to using sim_printf vs separate calls to printf and fprintf(sim_log). 2014-10-24 14:37:37 -07:00
Mark Pizzolato
3256c10c77 General cleanup migrate to using sim_printf vs separate calls to printf and fprintf(sim_log). 2014-10-22 17:12:14 -07:00
Mark Pizzolato
3951ad2432 Cleanup of unneeded global extern declarations 2014-10-10 08:18:15 -07:00
Mark Pizzolato
04b3548920 Compiler suggested cleanup 2014-08-02 15:24:16 -07:00
Mark Pizzolato
3946eb710e VAX, PDP11, PDP10: Added a explanation of the capabilities and limitations of the NEXT command which is output the first time a NEXT command is entered.
Also added CHMK, CHME, CHMS and CHMU to the set of instructions which are considered subroutine call initiators in the VAX simulator.
2014-04-19 05:45:29 -07:00
Mark Pizzolato
3083933952 PDP10: Added support for the NEXT command to step over subroutine calls. 2014-04-17 13:07:59 -07:00