Commit graph

3120 commits

Author SHA1 Message Date
Mark Pizzolato
1555056396 All VAX: Adjust sim_interval by reasonable amount for string instructions
Previously sim_interval was adjusted by 1 plus the total number of bytes
referenced in string instructions (SCANC, SPANC, LOCC, SKPC, CMPC3,
CMPC5, MOVC3, MOVC5).  Since the amount of data that a string
instruction can reference is arbitrarily large (32bit size), the adjustment
to sim_interval could be ridiculously excessive.  This can result in wild
variances in clock calibration when large string data are referenced.
2017-01-17 15:58:55 -08:00
Mark Pizzolato
d9688833f9 README: Minor formatting cleanup 2017-01-16 15:03:28 -08:00
Mark Pizzolato
d5a56e0ab4 SCP: Take care to only write to a socket a single time and when appropriate 2017-01-16 14:25:38 -08:00
Mark Pizzolato
11c0251059 SCP: Make sure that log and debug file I/O use a large (64K) buffer 2017-01-16 12:56:33 -08:00
Mark Pizzolato
5f6636c6d7 makefile: Add build target 'experimental' to build any experimental simulators
- Upgrade BESM6 from experimental to be included in the 'make all'
- Add imds-225 to make all
- The cdc1700 simulator is currently the only experimental simulator
2017-01-16 12:53:14 -08:00
Leo Broukhis
7d3ede9492 BESM6: Improved TTY I/O (responsiveness, variable rate, turbo/authentic). 2017-01-15 23:58:38 -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
861d9c8d9c makefile: Generalized git-id determination when simh is used as a submodule
This will support arbitrary location and naming of the simh submodule in the
parent repo's working directory.

It probably won't work for sub sub modules.  Suggestions welcome.
2017-01-14 12:09:00 -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
84e43a8c73 HP2100: HP 2100 release 25
See HP2100/hp2100_release.txt for details of the release
2017-01-12 06:41:19 -08:00
Bill Beech
38668a25f1 ISYS80XX, IMDS-225: Extended device functions and debug cleanup
a)  Added sim_debug statements, formatted console messages.
b) Removed old debugging statements and redundant byte/word mask operations.
c) Added more device commands.
d) Added zx-200a and changed nulldev to return 0 vice 0xff.
e) Added commands and corrected RTYPE and RBYTE behavior so ISIS-II would boot.
f) Corrected device calls in SBC_reset, corrected get_mbyte and put_mbyte to
   match control bits from ipc_cont.c.
2017-01-11 16:08:14 -07:00
Mark Pizzolato
9851a36dd8 SCP: Fix Async I/O primitives operations for hosts without Intrinsic CAS 2017-01-10 23:40:25 -08:00
Mark Pizzolato
629f0f0c07 HP3000: Fourth HP 3000 release
See HP3000/hp3000_release.txt for details of the release
2017-01-10 12:32:23 -08:00
Mark Pizzolato
bdb0597411 TIMER: Fixed Internal Timer Support (canceling and activation time)
Also:
- Fix sim_timer_activate_time_usecs value size limits for ASYNCH timers
2017-01-09 17:38:09 -08:00
Mark Pizzolato
5f8bdbc53d MicroVAX I, MicroVAX II: Add missing original ROM images
These files are patched by ka620_patch.com and ka630_patch.com.
2017-01-09 14:16:55 -08:00
Mark Pizzolato
b712b2a724 Visual Studio Projects: Add missing dependency on BuildROMs to newer simulators
This dependency is necessary for proper conversion of the simh solutiion and all
of the projects to Visual Studio Versions greater than VS2008.
2017-01-09 10:36:32 -08:00
Mark Pizzolato
e3f7a9b112 makefile: Add support for proper display of commit id when used as a submodule 2017-01-09 03:11:46 -08:00
Mark Pizzolato
0461008991 DISK: Always autosize disk to exactly the size of known file system data
Previously, disk capacity was increased if the drive was smaller than the
contained file system(s).  Now the drive capacity will be increased or
decreased to reflect the contained file system(s) size.
2017-01-08 15:28:17 -08:00
Leo Broukhis
c70a1ba3df BESM6: Fixed a bug in multiplication.
Multiplying a negative number by a zero value with a non-zero exponent produced wrong results.
2017-01-07 17:11:21 -08:00
Mark Pizzolato
5ab1fd6263 CONSOLE: Fix minor compiler warning. 2017-01-07 15:31:16 -08:00
Mark Pizzolato
39352914d0 Visual Studio Projects: Make sure ROM checks used most recent BuildROMs
The BuildROMs project now runs the BuildROMs program that was most
recently built (Debug or Release).  This will identify ROM data inconsistencies
that may exist at build time.

When building other projects which may depend on ROM data, the BuildROMs
is run as a sanity check and if it fails we make sure that we hadn't run an out
of date Release build version of the BuildROMs binary.
2017-01-07 06:36:00 -08:00
Mark Pizzolato
ae25c72a8e PDP11, VAX730, VAX750, VAX780, VAX8600: Moved CR11/CD11 from BR4 to BR6 2017-01-07 04:56:52 -08:00
Mark Pizzolato
0db0236bed PDP11: Add more debug info to PCLK device 2017-01-05 13:30:57 -08:00
Mark Pizzolato
f698a215b4 TIMER: Fix sim_timer_is_active for internal timer unit 2017-01-05 10:44:49 -08:00
Mark Pizzolato
b935a173e5 PDP11, All VAX: Fix TU58 device (TDC) failure when not ATTACHED 2017-01-05 09:36:17 -08:00
Mark Pizzolato
8661cf1a06 PDP11, All VAX: Add bitfield decode for VH registers 2017-01-05 08:26:47 -08:00
Mark Pizzolato
e450edd6ce SCP: Display most recent instruction execution rate in SHOW QUEUE output 2017-01-05 06:24:25 -08:00
Mark Pizzolato
6e31112469 VAX, MicroVAX2: Update ROM memory access to use common code 2017-01-05 05:53:00 -08:00
Mark Pizzolato
b800587f34 TIMER: Add calibrated ROM memory access support 2017-01-05 05:50:46 -08:00
Mark Pizzolato
9c89b0e08b TIMER: Fix sim_timer_activate_time_usecs for clock units 2017-01-05 04:42:40 -08:00
Mark Pizzolato
fb8a01dad9 DOC: Correct SET LOG and SET DEBUG command descriptions 2017-01-04 20:04:06 -08:00
Mark Pizzolato
01e114c37f PDP11, All VAX: Fix SET ADDRESS alignment value to 010 from 020 2017-01-03 14:46:42 -08:00
Mark Pizzolato
3d159936c6 PDP11, All VAX: Added extended debugging options to the VH device 2017-01-03 12:57:12 -08:00
Mark Pizzolato
2df1433d71 All VAX: Defer taking any HALT action until pending events have fired 2017-01-03 12:01:53 -08:00
Mark Pizzolato
316565c45b CONSOLE: Really support Windows 'ANSI' escape sequences in console sessions
The console mode needs to be set to properly interpret and generate ANSI
escape sequences.  It is not 100% VT100 compatible, but this is MUCH better
than without any support.
2017-01-02 16:45:46 -08:00
Mark Pizzolato
d77e3e196e VAX: Re-enable the boot ROM interval timer diagnostic tests 2017-01-02 14:03:39 -08:00
Mark Pizzolato
bcac7d0973 VAX: Change interval timers to pass boot ROM diagnostics.
Various boot ROM activities, including testing the Interval Timers, presume
that ROM based code execute instructions at 1 instruction per usec.
To accommodate this, we not only throttle memory accesses to ROM space,
but we also use instruction based delays when the interval timers are
programmed from the ROM for short duration delays.
2017-01-02 13:48:23 -08:00
Mark Pizzolato
77312ec8ca CONSOLE: Add debug support for data to/from the console port
Previously console traffic to/from a Telnet connection could be visible
in debug output.
2017-01-01 16:11:49 -08:00
Mark Pizzolato
6eb13f0259 PDP11: Add debug support to PCLK device 2016-12-31 11:01:02 -08:00
Mark Pizzolato
711f6167fb TIMER: Make sure remnant usecs are always explicitly removed 2016-12-30 15:38:40 -08:00
Mark Pizzolato
dbed84c370 PDP11: Fix PCLK device to properly behave with a 0 value interval (65536)
Also migrate to usecs remaining API to simplify producing the remaining
interval value.
2016-12-30 14:43:12 -08:00
Mark Pizzolato
d456bac8fc All VAX: Simplify interval timers to leverage new usec timing APIs 2016-12-30 10:34:29 -08:00
Mark Pizzolato
c9276407e6 TIMER: Timing corrections and enhancements
- Add support to query remaining usecs on pending events.
- Generalized the sim_interval adjustment in sim_idle to allow more than
   a single decrement.
- More overhead reduction when idling.
- Carry usec values as double through out to fully support long wall clock
   delays.
2016-12-30 10:26:59 -08:00
Mark Pizzolato
e52ac6d57f SCP: Add help for NOEXPECT and spelling cleanups 2016-12-29 13:52:06 -08:00
Mark Pizzolato
0275ef05e8 All VAX: Lower overhead when idling.
The original idling model called sim_idle() within the context of a scheduled
event running on the CPU unit.  The overhead of scheduling and the related
dispatch serve no specific purpose.
Meanwhile, the 'work' involved in determing if idling is possible is about
equivalent to the work of executing an additional instruction.  Therefore
sim_idle is invoked with an argument which causes the sim_interval to be
adjusted by 1 on each call that doesn't actually perform an idle sleep.  This
adjustment keeps the calibrated instruction execution rate consistent with
other purely non-idle instruction mixes.
2016-12-29 09:47:09 -08:00
Mark Pizzolato
8102e13d47 SCP: Add usecs_remaining information to SHOW QUEUE output 2016-12-29 07:12:12 -08:00
Mark Pizzolato
75901333e5 VAX780, VAX730, VAX750, VAX8600: Moved the TPS register to the TMR device
Clock ticks for these simulatrs are performed by programmatic setup of the
interval timer device (TMR) and have nothing to do with the TODR which
increments at 100Hz, but doesn't generate ticks to the simulated system.
2016-12-29 06:05:53 -08:00
Mark Pizzolato
af6026b25e SCP: Add extended usecs wait time to SAVE/RESTORE file format. 2016-12-28 17:01:16 -08:00
Mark Pizzolato
6ebeb345fd CONSOLE: Support output of ANSI escape sequences to console on Windows hosts
Windows 10 finally supports ANSI escape sequences in console applications.
Simulators may output appropriate sequences and get useful results, however,
timing of the bytes in the output stream to the console device matters.
This change buffers the data in escape sequences for up to 8ms or until another
escape sequence is presented for output.  Once the 8ms elapses, then all output
characters are presented to the windows console subsystem together so they
can be properly interpreted.
2016-12-28 15:26:31 -08:00
Mark Pizzolato
7ec2ea836e TIMER: Properly transition internal timer after rebooting
- General cleanup of debug formatting and show device/features output
2016-12-28 13:25:11 -08:00