This adds support for the "framer" device, which is a USB-connected
device built around a Raspberry Pico that connects to a synchronous
line, either RS-232 or DEC "integral modem" coax connection. It
implements the framing portion of DDCMP: clock recovery for the
integral modem case, byte sync, and DDCMP frame handling including
CRC. The actual DDCMP protocol state machine, with its handling of
sequencing, timeout and retransmit, etc. is left to the host
software. All the design files for the framer may be found at
https://github.com/pkoning2/ddcmp .
This commit adds code to drive the framer from the TMXR library,
allowing it to be used either from simulated DMC-11 or simulated
DUP-11 devices. Both have been tested, using RSTS/E, RSX-11/M+, and
TOPS-20.
Fixed the one-digit limit on eth<n> device names, the limit is now 2.
When performing floating point multiplication, the prior code overwrote
an additional word of the floating point fraction with zeros. This is
harmless with standard FP, as the floating variables always have space
for EP-length vars. When doing an EP multiply, this causes a word on
the stack to be zeroed. For the latest Raspbian release, this causes a
segfault as there's no padding past that var on the stack.
This fix, which has been tested against the original crashing code plus
validated using the FPP-8 diagnostics, avoids the overwrite.
The original solution provided in response to #957 needs to be adjusted
to reflect that errno is only guaranteed to be set by fwrite() if an error
occurred. otherwise a non zero value may have been set by some other
call elsewhere in the program. All other cases where errno is explicitly
check in simh, it is only done after receiving a return status from a
system call.
Fix problem reported in #1108
The CTC and PORTS pump code for System V Release 2.0.5 for the 3B2 is
different from the pump code used by SVR 3, leading to PORTS and CTC
diagnostics failing to pass when running SVR2. This change adds
support for the pump code used in SVR 2.
COM ports greater than COM9 on Windows can only be opened using
the DOS device UNC path \\.\.
Prefix the filename passed to CreateFile() with this prefix to
address this issue.
Containers without recognized file systems already won't autosize, but now
you can't attach a container which is larger than the current drive type
presuming there is useful data beyond the size of the current drive type.
Add optional enabling of broadcast address to hash based filter model.
LANCE based devices which use its AUTODIN II based hash generally
match the broadcast address independent of the contents of the
multicast hash.
This change to XQ mostly undoes the prior change to pdp11_xq and
brings the functionality into sim_ether so that it is generally available
for future ethernet devices.
Some dependent packages on some platforms may also define HAVE_DLOPEN
and that definition may have different syntax or semantics. This change
avoids the potential symbol conflict.
As reported in #1098
For some strange reason, Ubuntu 21.10 delivers various libraries as
either direct link libraries (".a") or shared objects (".so") where
historically essentially everything was shared objects..
At one point in the distant past, there was an unremembered
reason to prefer __libc_longjmp if it was available. It is no
longer needed, and has been removed from glibc in the most recent
versions.
Fixes#1088.
- removed a somwhat unlikely but possible division-by-zero
- in case the initial throttling calibration measures a slower cps rate than
the desired cps rate, check whether the measured rate is well below the
measured peak rate. If so, distrust the measured rate and instead use
half the peak rate as measured cps rate.
Otherwise (so measured cps is in the same ballpark as measured peak rate)
disable throttling
As initially reported in #815
The modem and host interface TX services should both be called from
the RTC device, but when the host interface was implemented the call
was not added.
This adds a new flag to the host interface UDP packages to indicate
the ready bit of the sender. The flag comes along all packets, but an
empty packet can be sent to change the ready status without
transmitting data.
The 1822 IMP-host interface carefully handshakes every bit
transferred. Thus the DMC facility can read messages piecewise. The
IMP uses this to read a 32-bit leader first, and process the rest or
the message in another round.
The IMP expects the 1822 end of message bit not to be set until after
the entire message has been read.
The host interface uses the UDP packet format from the modem
interface, with an additional flags word. Ensure the flags are
not included in the word count.
This is a trivial correction since if dependencies are missing at build
time what is missing is and how to fix it is properly described in
build time messages.
As reported in #1081
This commit fixes an issue that caused floppy diagnostics to fail if
the floppy drive unit was not attached. The 3B2 floppy controller has
a "force interrupt" command that should run whether or not the floppy
unit is attached to an image.