On 11/26/2021 1:43 AM, Christian Corti via cctalk wrote:
I've found the bug. Charles Lasner broke PDP-12
support (and probably
also older PDP-8 models like 8/I) with his additions to support the
DECmate family. The location is at 0206, labelled SETBAUD. This should
be a NOP on standard systems, but is overlayed by an IOT to set the baud
rate on a DECmate 1. This results in a 6413 instruction (because I have
assembled it for the second serial port on 40/41). This instruction
always skips (as the transmitter done flag is always set), thus jumping
into a 4411 that is the address of a CRLF to be printed but executed as
a JMS into nirvana.
It took a bit of puzzling to follow, but I think I see. There are three
possibilities; the the DMI should have a "NOP", and the DMII should have
"MSB". DM2LIS correctly has the MSB patch for DMII, and DM1LIS has a NOP
as it perhaps should.
The problem is that the default for "KL8" interface uses an "RSBIOT".
I
don't think that will work for anything but the KL8J/M8655, though it
should be harmless on the KL8E/M8650.
I'd argue that the correct thing would be to detect an 8/e/f/m/a and
patch in "RSBIOT". The default "family of eight" thing should be the
"NOP", same as the DM1.
If patching location 0206 to 7000 (NOP), K12MIT will
run on a PDP-12.
Yep.
Sending files works, but receiving seems to be broken.
Most of the
times, the sending Kermit aborts the transfer to the PDP-12 with a
out-of-window-NACK error (confirmed by looking at the protocol debug
log). K12MIT sends a NACK to a previous packet that it already ACK'ed
*after* receiving the next data packet.
Alas, I don't know enough about Kermit protocol to comment on that.
Vince