Commit graph

3129 commits

Author SHA1 Message Date
Mark Pizzolato
62e36241a4 PDP11, VAX: Support multiplexer input speeds greater than 9600bps for console, DZ, VH, DL and DC devices
Each of the speeds greater than 9600bps deliver a character in less than
1ms.  Computing inter-character delays in microseconds therefore can't
be precise enough to be well behaved.  Measuring the inter-character
delays in instructions (scalled by the calibrated clock) gets us the needed
precision.
2015-11-25 04:25:21 -08:00
Mark Pizzolato
44ef17f971 TIMER: Fix recently revised sim_idle_capable for hosts which aren't idle capable. 2015-11-23 15:45:46 -08:00
Mark Pizzolato
b3b038900c TIMER: Fix clock calibration after a host OS sleep/hibernate 2015-11-23 12:55:42 -08:00
Mark Pizzolato
668761a460 SCP: Add display of host OS clock resolution to SHOW VERSION 2015-11-23 07:30:28 -08:00
Mark Pizzolato
972b3fccbb PDP11, VAX: Fix DZ and VH devices to have input rate limiting align with the programmed port speed. 2015-11-23 07:21:32 -08:00
Mark Pizzolato
00a8b74b66 TAPE: Properly report a tape format error when a TPC format tape fails the record structure validation checks. 2015-11-22 21:52:42 -08:00
Mark Pizzolato
0f43551d8c TMXR: Minor typo in help text fixed. 2015-11-19 10:06:25 -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
833ba71c3b PDP11, VAX: Enhance VH, DZ, DL and DCI devices to provide input rate limiting. Fix #246
Data arriving on simulated serial ports can arrive faster than the OS running
on the simulated system can deliber it to user mode programs.  This happens
when chunks of data are delivered to the mux from a network connection.
This can be due to a file transfer program (kermit) running on the other end
of a network connection and the packet size being delivered exceeds the
simulated OS's type ahead buffer size OR from users who paste arbitrary
blocks of data into a telnet or console session.
2015-11-19 08:56:06 -08:00
Mark Pizzolato
9b45833687 VAX, PDP11: Add support to, by default, limit console input data to about 9600bps.
This is necessary to avoid kernel type ahead buffer overruns when a user
pastes a chunk of data into a console session as described in issue #246

Other console input speeds can be set with SET CONSOLE SPEED=nnn
2015-11-18 10:51:37 -08:00
Mark Pizzolato
53796ba961 TMXR, CONSOLE: Add optional ability to rate limit input data to approximate bps values
A SET CONSOLE SPEED=nnn, where legal values for nnn are common serial
port rates.  The speed value will attempt to limit the input data rates to a
simulator to approximately the specified bits per second.
2015-11-18 10:44:19 -08:00
Mark Pizzolato
099dd40657 SCP: Add sim_activate_after_abs API like sim_activate_abs only specifying a used time delay. 2015-11-18 09:41:16 -08:00
Mark Pizzolato
4a1cf3587f TIMER: Fix sim_timer_activate_after to avoid overflow
The conversion of time to instructions can overflow an int32 when the
current instructions per second is high and the delay interval is high.

We limit the instruction delay to the maximum value available in an int32,
which for essentially all cases won't matter since the resulting delay is used
for a drop dead timeout and doesn't need to be precise or it will be
canceled before it ever fires anyway.
2015-11-13 08:28:20 -08:00
Mark Pizzolato
636b8c9dec SOCKET: remove dependence on timerclear() 2015-11-02 03:56:20 -08:00
Mark Pizzolato
d95d32b6d7 TMXR: Return reasonable error status when disconnecting a line without specifying the line 2015-11-01 20:19:59 -08:00
Mark Pizzolato
1d0a3b4402 slirp: Describe NAT limitations in the attach help 2015-10-29 05:06:01 -07:00
Mark Pizzolato
7266304105 ALL: changed ASSURE macro to leverage sim_printf for log and debug output. 2015-10-27 21:07:03 -07:00
Sergey Svishchev
9ee290ac49 VAX: add support for input and output ports to 2681 DUART 2015-10-27 21:56:21 +03:00
Mark Pizzolato
480c71dea5 slirp: Fix g_array_free to correctly handle freeing an unallocateed GArray. Fix #243 2015-10-26 06:03:12 -07:00
Mark Pizzolato
7ad57d7fa8 slirp: cleanup for submission upstream back to qemu
Minimize the include file set and their contents to only provide the slirp
 referenced qemu includes and interfaces.
2015-10-22 09:55:05 -07:00
Mark Pizzolato
eff1ef12e7 DOC: Add NAT info 2015-10-21 02:54:58 -07:00
Mark Pizzolato
027b15fe0f ETHER: Tolerate whitespace after network transport designators (tap:, vde:, nat:, udp:) 2015-10-20 14:12:44 -07:00
Mark Pizzolato
3be5125d00 slirp: Add windows build support for MinGW 2015-10-17 10:50:30 -07:00
Mark Pizzolato
442e70328e slirp: Compiler suggested cleanups 2015-10-17 08:02:02 -07:00
Mark Pizzolato
42405a4463 slirp: Added support for BOOTFILE and DNSSEARCH settings 2015-10-17 08:01:41 -07:00
Mark Pizzolato
dabdcfd2bd slirp: Adjust code so it will build cleanly both in simh and QEMU 2015-10-16 15:06:17 -07:00
Mark Pizzolato
b7f26877ab Visual Studio Projects: Fix windows-build check when switching between Visual Studio Compilers in the same directories 2015-10-16 12:08:46 -07:00
Mark Pizzolato
007775a404 slirp: Compiler suggested cleanups 2015-10-16 11:38:27 -07:00
Mark Pizzolato
ed3e9a15b0 slirp, Visual Studio Projects: Adjust includes to allow building with Visual Studio Community 2015-10-16 11:37:30 -07:00
Mark Pizzolato
5c117caaed slirp: Fix slow/choppy data flow. 2015-10-16 05:10:30 -07:00
Mark Pizzolato
79f50fa6bb slirp: Integrate debugging support with simh debug output.
simh debug integration is only done during simh builds, the original QEMU debug functionality is preserved.  The slirp debug flags can be set by the environment variable SLIRP_DEBUG.  Mask values 1 - CALL, 2 - MISC, 3 - ERROR.
2015-10-16 03:43:27 -07:00
Mark Pizzolato
6da2be7d7b ALL: remove need for sim_debug calls to be enclosed in braces to avoid dangling else compiler warnings 2015-10-15 16:12:25 -07:00
Mark Pizzolato
de84430a8d slirp: avoid compiler warnings for tftp when building with Visual Studio 2015-10-15 16:04:33 -07:00
Mark Pizzolato
40a3e8b635 slirp: Enable slirp debugging using XQ DEBUG=ETH 2015-10-15 15:57:53 -07:00
Mark Pizzolato
ab8151cdcc Compiler suggested cleanup 2015-10-15 14:19:03 -07:00
Mark Pizzolato
1ab15eb45d slirp: Port base QEMU slirp code to build on Windows with Visual Studio 2015-10-15 14:17:42 -07:00
Mark Pizzolato
970644576e slirp: remove noisy debug output 2015-10-15 13:26:34 -07:00
Mark Pizzolato
73f633fa69 slirp: Add missing clock_gettime support for OS X. 2015-10-15 13:22:34 -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
Mark Pizzolato
e4cf98c4c0 slirp: Initial import of QEMU slirp
This version of slirp is a fork from QEMU Version 2.4.0.1 slirp implementation
Taken from commit id of 474590efc51f262fb5d81ca417d510cb7fb7a914
in the qemu repository git://repo.or.cz/qemu/ar7.git

Thanks to Fabrice Bellard.
2015-10-15 12:29:41 -07:00
Mark Pizzolato
6bf92de3db All VAX: Also return correct Unibus/Qbus vectors for devices with more than one vector. Fix #241 2015-10-14 13:12:51 -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
Mark Pizzolato
73d7aee71f SCP: Add printf style format argument validation for all functions which take printf arguments.
These include: sim_printf(), sim_messagef(), Fprint() and sim_debug().

Fix current use of these functions which had invalid arguments.
2015-10-09 04:12:25 -07: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
b05c7419f0 Visual Studio Projects: Added support for separate libpng libraries based on the available C runtime library for the compiler used to build. 2015-10-05 19:59:24 -07:00
Mark Pizzolato
c3a879da2d VAX: Change to load ROMs or other boot code directly from built in memory arrays.
Prior logic attempted to load the desired file from the current default directory and if that failed wrote the in memory boot code image to the desired file and then retried the desired load..

A user can still explicitly load a ROM image with a "LOAD -R romfile.bin" command prior to a BOOT attempt if they want to test or otherwise run with a different ROM.
2015-09-28 09:19:38 -07:00
Mark Pizzolato
4921d92650 VIDEO: Produce SCREENSHOT images in PNG format if libpng is available in the host build environment 2015-09-27 16:14:55 -07:00
Mark Pizzolato
0a2eb2997c SAGE: Add missing STEP command structure members from scp.c 2015-09-25 11:26:09 -07: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
Tony Nicholson
e229733850 makefile: cygwin build video support using SDL2 (preferred) or SDL
cygwin now includes development packages for the SDL2 and SDL video
libraries (libSDL2-devel and libSDL-devel). Adjust makefile to find the
libSDL2.dll.a or libSDL.dll.a library.
2015-09-25 17:34:11 +10:00