February 16, 2018 UPDATE

Today, after some heavy searching, I've found sources to a number of
utilities customized by CMU. In particular, I've found the CMU-modified
sources for the version of csh(1) in MACH 2.5. This is important, because
there is at least one bug ("cd ../.." at root will crash csh). I've found
the problem, fixed it, and rebuilt csh. The problem is resolved now.
Additionally, the binary sizes are so close that it gives me confidence that
the found csh source code really is that which was used in Mach 2.5:

root@mod43:/ 5 # ls -l /usr/build/obj/usr/cs/bin/csh/csh /bin/csh
-rwxr-xr-x 1 mtxinu 122904 Jan 27 1991 /bin/csh
-rwxr-xr-x 1 root 122912 Feb 16 16:56 /usr/build/obj/usr/cs/bin/csh/csh
root@mod43:/ 6 # size /usr/build/obj/usr/cs/bin/csh/csh /bin/csh
text data bss dec hex
118752 4128 15692 138572 21d4c /usr/build/obj/usr/cs/bin/csh/csh
118752 4120 15752 138624 21d80 /bin/csh

Work continues with the distribution-generation utility for sysload(8).

LATE update:

Suddenly, after many weeks of working on Mach386 using my lone ISA-based
computer, the system suddenly became unstable and generally wouldn't boot
or even begin the BIOS POST test.

Examination of the motherboard revealed why: Almost every one of the electrolytic
capacitors on the motherboard had suddenly swelled, with many having almost popped
the can off. There was no physical leakage onto the motherboard, however. All of
this literally occurred within a 12-hour period; I specifically examine them periodically.

While I have a spare motherboard and CPU, it only has one ISA slot. I need
at least two ISA slots to accommodate the Adaptec SCSI and the SMC 80x3 ether
boards being used for Mach386.

I've ordered new capacitors from Amazon at a very good price, and they're
expected by tomorrow evening--free next day shipping with my Amazon Prime.

February 14, 2018 UPDATE

I've completed a sysload(8) replacement that facilitates extracting the contents
of Mt Xinu's Mach386 media on a FreeBSD machine. It functionally duplicates all of the sysload(8)
options and operations, with the exception of the -u (update from a remote server)
functions. I have no information on the protocol or operation of such a server.
The replacement sysload(8) fully duplicates the Text-base User Interface presented
by the Mach386 utility.

I will next be writing a utility to generate the distribution images. This will
allow creating new floppy images with the latest available binaries for installing
Mach386 onto a machine with all updates available.

February 13, 2018 UPDATE

I've discovered (realized, really) an NFS issue. However this is not
specific to Mach386.

Because I am mounting mammoth-sized NFS filesystems currently, while I
look for and recover additional Mach386 data from my old media, I began
encountering segfaults and other strange behaviour in some programs.
I just realized that this is due to the filesystem itself. Many
programs simply aren't able to work with the filesystem, particularly
when creating temporary files... Like ex/vi does.

Lesson re-learned.

February 12, 2018 UPDATE

I've fixed the SCSI Tape End-Of-File read problems.
The st.c driver has some very bizarre code interpreting the SCSI status blocks.

With that said, I found two issues:

1. When a short-record was read, it was not setting bp->b_resid
to the correct shorter length in certain cirumstances; and

2. When a tapemark was read, bp->b_resid was not being set to
indicate no bytes read.

I've tested the my changes extensively and I'm satisfied that SCSI Tape
functionality is working as it should now.

Current device probe configurations (in order):

Device Type CSR/Port IRQ/PIC Memory
hd Hard Disk 0x1f0 14  
  HD Drive 0 0x104 14  
  HD Drive 1 0x1f0 14  
fd Floppy 0x3f2 6  
sd SCSI Controller 0x330 11  
pc586 PC Network   9 0xd0000
  Alternate 1   5 0xc0000
  Alternate 2   12 0xf0000
wd SMC 80x3 Ethernet 0x280 3 0xd0000
  Alternate 1 0x2a0 5 0xd0000
  Alternate 2 0x2e0 10 0xd0000
  Alternate 3 0x300 10 0xcc000
3c501 3Com #C501 Ethernet 0x300 9  
Mouse Mouse Driver 0x23c 4  
com Serial Port 1 0x3f8 4  
  Serial Port 2 0x2f8 3  
  Serial Port 3 0x3e8 5  
  Serial Port 4 0x2e8 10  
lpr Parallel Port 0x378 7  
wt Wangtek Tape 0x300 5  
  Alternate 1 0x288 5  
  Alternate 2 0x338 5