Commit graph

3109 commits

Author SHA1 Message Date
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
Mark Pizzolato
aa82b57d10 TIMER: Fix various inconsistent timing behaviors
- Support for arbitrary long wait intervals in sim_activate_after with
   precisely correct delays aligned with the calibrated clock once
   per second.
- Proper handling of calls to sim_cancel for calibrated timer units
- Properly allow stopping of calibrated clock by calling sim_rtcn_calb
   with a ticksper == 0
- Only schedule asynchronous timer activities for delays longer than
   the minimal OS sleep time
- Only wake asynchronous timer thread to queue new timer events
   that are shorter than the currently shortest scheduled event
2016-12-26 12:42:25 -08:00
Mark Pizzolato
257738a4e0 PDP11, all VAX: Extend debug options to track timing activities 2016-12-24 09:52:05 -08:00
Mark Pizzolato
7c2d20f26f SCP: Make sim_cancel more efficient by stopping search as soon as canceled 2016-12-24 09:49:32 -08:00
Mark Pizzolato
875926c271 CONSOLE: Add connection debugging option and debugging descriptions 2016-12-24 09:40:05 -08:00
David Gesswein
5ced037b4b PDP8: Add device codes for TTIX & TTOX devices to show command output 2016-12-19 04:55:43 -08:00
Mark Pizzolato
36276a79e1 SCP: Add device descriptions to internal devices visible in SHOW FEATURE -I 2016-12-18 13:33:11 -08:00
Mark Pizzolato
65cfd2a63d PDP11, PDP10: Add pseudo internal device to KDP for receive units
This allows the device to be identified when the event queue is examined
with SHOW QUEUE for KDP devices.
2016-12-18 13:31:44 -08:00
Mark Pizzolato
7964e2b72d PDP8: Fix SHOW TTIX SUMMARY
It was defined in lowercase and has now been made upper case for consistency.
The code which performs the match also has been change to do a case
insensitive compare.
2016-12-17 13:38:22 -08:00
Mark Pizzolato
372231dd3a VAX8600, VAX750: Pass correct delay to TTI device sim_clock_coschedule 2016-12-17 11:51:05 -08:00
Mark Pizzolato
48e0b47d51 SCP: Add a way to see the enabled SCP internal devices SHOW DEV -I 2016-12-17 10:35:56 -08:00
Mark Pizzolato
7dd1f0b89e SCP: Complete support for automatic detection of WRU (^E) for all simulators
commit ef6528bf32 added support for automatic WRU detection for simulators
that don't have a console port, but it was never documented and the addition of
that support potentially interfered with SAVE/RESTORE behavior.

The console connection state is now automatically saved and restored.
2016-12-17 03:50:10 -08:00