Just sync my personal copy with the tuhs archive.
Looks like there are a lot of Mac preview files (that start with ._) mixed
in. Is that on purpose?
Warner
Dear all,
Apologies for this semi-spam message from a long-time appreciator of classic computers and nostalgic obsolete products, but I hope this will be of interest to at least a few people here.
So, yes, by way of context, I've been acquiring what I consider to be characterful and/or historically interesting computers for coming up to, maybe, 15 years now, with the intention of being able to curate multiple, interactive temporary exhibits on the history of computing, but since moving continents (amongst other things), my paths and passions have changed, so I am currently in the process of re-testing (and repairing) my machines, and will be trying to sell them off in the coming weeks and months. Under different circumstances, finding people (or groups) with similar interests and plans would have been an equal-first priority, but given my more recent 'life changes', sale price — and the ability to better pursue my new focuses — is now more of a factor.
(That said, if you are (or know) a developer of an open source machine emulator who could use one of these machines --- particularly one of the more obscure ones --- please do get in touch, as the prospect of people being able to keep older / rarer operating systems and software running once the physical machines are not longer available or working /is/ actually still kinda important to me, and I'd be open to a lower price and/or setting up some remote access with some kind of kludged-together iLO and vaguely 'dual-ported' disk access via, e.g., an SD2SCSI setup.)
But before I list them on eBay (and/or by way of a heads up), I wanted to let people here know, just in case I have something that someone here particularly wants / needs / could use. The current list of systems I will be parting with is accessible at https://docs.google.com/spreadsheets/d/1QqUrO11gnn4fwAPDxqO_phKDt1M0O15G7wJ… but some (hopefully) highlights include (*big breath*):
DEC: MicroPDP-11/53+; MicroVAX 2000; VAXstation 4000 VLC/60/90A/96; VAX 4000 100A, 105; DECstation 5000/240, 260 (MIPS-based); DEC 3000/300X; Personal Workstation 600au; AlphaServer 4100; AlphaServer DS20, DS25 systems; Letterwriter 100; VT 101, 220, 520 terminals
HP: HP rx2800 Integrity2; 9000 715/100 and Visualize C110 PA-RISC systems
SGI: Indy and O2 systems
SUN: ELC, SPARCstation Voyager (the portable one), 5 and 20; Ultra 1; Ultra 5; Netra T1-105; Enterprise T5240
Apple: IIc, IIe Platinums, IIgs; Mac 512ke, Mac Pluses; SE/30 and Quadra 700s (also for running A/UX); iMac G3s and a G4
Commodore: PET 3000 systems, PET 8032-SK; various C64 / C64C and 128D systems; SX-64; Music Maker keyboards (the big one, inc. SFX modules); Amiga 1000
Apologies again, please feel free to contact me with any queries or reasonable offers, or even if you'd just like to be kept in the loop as more machines become available, and all the best.
Thanks in advance,
Peter
P.S. In light of the responses I've received to posts I've made elsewhere, I've included a 'Default Reserve' price in the aforementioned spreadsheet. I've written more about this there, but the gist of it is that, given that very few of the more obscure / awesome machines have gone through eBay recently, it's kinda hard for me to gauge what a fair and reasonable (to me and the future buyers) price is for quite a few of my machines --- I've started to put in rough figures for /some/ of them based upon 'what feels right', but if there's nothing there, please don't ask me what I might want for them as I don't know yet (though do feel free to make me an offer). Thanks again!
As promised here is the diff & misc info on the build. I installed the Mt Xinu disks to create a build environment and uucp’d the sources from CD#4 of Kirks’ CSRG set (/local/MACH/386/sys).
Grepping the source reveals it to be MK35. Which makes sense from the release notes as this was an i386 only release:
------8<------8<------8<------8<
***** MK Version MK35 (rvb) *****
This is an I386 architecture release only. It has been tested
on an AT as well as the hypercube.
No New features:
--- --------
Except possibly that the if_pc586.c is not timing dependent
any more.
The big deal about this release is that all the files in the
i386at directory and the files in Mach2.5 I386q are identical --
that is all improvements in the mainline have been merged to
the 3.0 code and vice versa. NOTE: the 3.0 com driver has
not been tested cause I did not have any hardware. Also I
have lpr and if_par drivers that I did not even install for
the same reason. (I needed to install com.c for the mouse
support code.)
ALSO, this release has the Prime copyrights changed to something
less threatening, courtesy of Prime Computer Inc.
Bug fix:
The panic that rfr reported with the ram_to_ptr is no longer
possible.
------8<------8<------8<------8<
For people who like DMESG’s here it is:
------8<------8<------8<------8<
boot:
442336+46792+115216[+38940+39072]
Insert file system
Sÿ boot: memory from 0x1000 to 0x7d0000
Kernel virtual space from 0xc0000000 to 0xc25d0000.
Available physical space from 0xa000 to 0x7d0000
i386_init: virtual_avail = c07d0000, virtual_end = c25d0000
end c01938d8, sym c01938dc(981c) str = c019d0f8(98a4)
[ preserving 78016 bytes of symbol table ]
Mach/4.3 #5.1(I386x): Wed Jan 20 00:45:55 WET 1988; obj/STD+WS-afs-nfs (localhost)
physical memory = 7.81 megabytes. vm_page_free_count = 689
using 200 buffers containing 0.78 megabytes of memory
available memory = 5.55 megabytes. vm_page_free_count = 58e
fdc0: port = 3f2, spl = 5, pic = 6.
fd0: port = 3f2, spl = 5, pic = 6. (controller 0, slave 0)
fd1: port = 3f2, spl = 5, pic = 6. (controller 0, slave 1)
com0: port = 3f8, spl = 6, pic = 4. (DOS COM1)
lpr0: port = 378, spl = 6, pic = 7.
par0: port = 378, spl = 6, pic = 7.
root on `Âb
------8<------8<------8<------8<
The diff from the CD is as follows:
------8<------8<------8<------8<
jsteve@2006macpro:/mnt/c/temp/csrg$ diff -ruN sys mach25-i386
diff -ruN sys/Makeconf mach25-i386/Makeconf
--- sys/Makeconf 1970-01-01 08:00:00.000000000 +0800
+++ mach25-i386/Makeconf 2019-06-24 15:24:49.000000000 +0800
@@ -0,0 +1,102 @@
+#
+# Mach Operating System
+# Copyright (c) 1989 Carnegie-Mellon University
+# All rights reserved. The CMU software License Agreement specifies
+# the terms and conditions for use and redistribution.
+#
+#
+# HISTORY
+# $Log: Makeconf,v $
+# Revision 2.16 91/09/25 18:51:17 mja
+# Fix VAX_CONFIG so that processor number component is last (for
+# SUP wild-carding to work); make MMAX_CONFIG consistent with
+# other platforms as STD+ANY+EXP+64.
+# [91/09/25 18:41:59 mja]
+#
+# Revision 2.15 91/09/24 20:07:07 mja
+# Require new ${KERNEL_SERIES} macro in place of old ${RELEASE}
+# even to specify the "latest" series; add temporary
+# ${ENVIRON_BASE}; add silent include of Makeconf-local.
+# [91/09/22 03:16:36 mja]
+#
+# Add SITE; set SOURCEDIR to MASTERSOURCEDIR if present (for build).
+# [91/09/21 18:06:08 mja]
+#
+# Revision 2.14 91/08/30 09:37:19 berman
+# Set up default config for MMAX which is STD+MP (multiprocessor)
+# [91/07/30 12:19:40 ern]
+#
+# Revision 2.13 91/04/02 16:04:53 mbj
+# Added {I,AT}386_CONFIG=STD+WS+EXP lines.
+# Changed ${MACHINE} references to ${TARGET_MACHINE}.
+#
+# Revision 2.12 90/08/30 12:24:52 bohman
+# Changes for mac2.
+# [90/08/28 bohman]
+#
+# Revision 2.11 89/09/25 22:43:32 mja
+# Correct mis-merged OBJECTDIR.
+#
+# Revision 2.10 89/09/25 22:20:03 mja
+# Use SOURCEDIR instead of VPATH for shadowing. This means we
+# can do away with the SRCSUFFIX stuff which "make" does by
+# itself, and that Makefiles can use VPATH themselves. I also
+# "simplified" the definition of CONFIG and "release_...".
+# [89/07/06 bww]
+#
+# Revision 2.9 89/08/08 21:44:58 jsb
+# Defined PMAX_CONFIG.
+# [89/08/03 rvb]
+#
+# Revision 2.8 89/07/12 23:02:52 jjc
+# Defined SUN4_CONFIG.
+# [89/07/12 23:01:03 jjc]
+#
+# Revision 2.7 89/04/10 00:34:59 rpd
+# Changed OBJECTDIR name to correspond to new organization.
+# [89/04/06 mrt]
+#
+# Revision 2.6 89/02/25 14:12:18 gm0w
+# Changes for cleanup.
+#
+# Revision 2.5 89/02/25 14:08:30 gm0w
+# Changes for cleanup.
+#
+# Revision 2.4 88/11/14 15:04:01 gm0w
+# Changed the standard configurations to correspond
+# to the new names.
+# [88/11/02 15:45:44 mrt]
+#
+# Revision 2.3 88/09/07 15:44:43 rpd
+# Moved CONFIG macros here from Makefile, so that the user
+# can easily customize them by modifying Makeconf.
+# [88/09/07 01:52:32 rpd]
+#
+# Revision 2.2 88/07/15 15:11:46 mja
+# Created.
+#
+
+VAX_CONFIG = STD+ANY+EXP+16
+mac2_CONFIG = MACMACH-macos_emul
+I386_CONFIG = STD+WS+EXP
+AT386_CONFIG = STD+WS+EXP
+MMAX_CONFIG = STD+ANY+EXP+64
+
+#CONFIG = ${${TARGET_MACHINE}_CONFIG?${${TARGET_MACHINE}_CONFIG}:STD+ANY+EXP}
+#CONFIG = STD+WS+EXP-afs-nfs
+CONFIG = STD+WS-afs-nfs
+
+SITE = CMUCS
+
+SOURCEDIR = ${MASTERSOURCEDIR?${MASTERSOURCEDIR}:${SRCBASE}}
+
+#OBJECTDIR = ../../../obj/@sys/kernel/${KERNEL_SERIES}
+OBJECTDIR = ./obj
+
+# XXX until build is fixed to set these XXX
+ENVIRON_BASE = ${RELEASE_BASE}
+
+.EXPORT: ENVIRON_BASE
+
+# Provide for private customizations in a shadow directory
+-include Makeconf-local
diff -ruN sys/Makefile mach25-i386/Makefile
--- sys/Makefile 2016-08-08 14:37:11.000000000 +0800
+++ mach25-i386/Makefile 2019-06-24 15:24:49.000000000 +0800
@@ -206,6 +206,12 @@
at386_cpu=i386
sun4_cpu=sun4
cpu=$(${machine}_cpu)
+#echo "CPU IS $cpu"
+AT386_cpu=i386
+I386_cpu=i386
+cpu=${${TARGET_MACHINE}_cpu?${${TARGET_MACHINE}_cpu}:${target_machine}}
+#echo "CPU IS $cpu"
+
VAX_OUTPUT=Makefile
SUN_OUTPUT=Makefile
diff -ruN sys/conf/newvers.sh mach25-i386/conf/newvers.sh
--- sys/conf/newvers.sh 2016-08-08 14:37:11.000000000 +0800
+++ mach25-i386/conf/newvers.sh 2019-06-24 15:25:15.000000000 +0800
@@ -56,8 +56,17 @@
v="${major}.${minor}(${variant}${edit}${patch})" d=`pwd` h=`hostname` t=`date`
CONFIG=`cat vers.config`
if [ -z "$d" -o -z "$h" -o -z "$t" -o -z "${CONFIG}" ]; then
- exit 1
+# exit 1
+edit="386"
+major=5
+minor=1
+variant="I"
+patch="x"
+copyright="/copyright.txt"
+v="${major}.${minor}(${variant}${edit}${patch})" d=`pwd` h=`hostname` t=`date`
fi
+#
+
d=`expr "$d" : '.*/\([^/]*\)/[^/]*$'`/${CONFIG}
(
/bin/echo "int version_major = ${major};" ;
diff -ruN sys/i386/start.s mach25-i386/i386/start.s
--- sys/i386/start.s 2016-08-08 14:37:11.000000000 +0800
+++ mach25-i386/i386/start.s 2019-07-01 23:47:25.208021800 +0800
@@ -210,13 +210,14 @@
lgdt (%eax)
+ / flip cr3 before you flip cr0
+ mov %edx, %cr3
+
/ turn PG on
mov %cr0, %eax
or $PAGEBIT, %eax
mov %eax, %cr0
- mov %edx, %cr3
-
ljmp $KTSSSEL, $0x0
/ *********************************************************************
diff -ruN sys/standi386at/boot/disk.c mach25-i386/standi386at/boot/disk.c
--- sys/standi386at/boot/disk.c 2016-08-08 14:37:11.000000000 +0800
+++ mach25-i386/standi386at/boot/disk.c 2019-07-01 23:51:11.261850100 +0800
@@ -340,11 +340,11 @@
#ifndef FIND_PART
*rel_off = vp->part[part].p_start;
- if (vp->part[part].p_tag != V_ROOT)
+ if (vp->part[part].p_flag != V_ROOT)
printf("warning... partition %d not root\n", part);
#else
for (i = 0; i < vp->nparts; i++)
- if (vp->part[i].p_tag == V_ROOT)
+ if (vp->part[i].p_flag == V_ROOT)
break;
if (i == vp->nparts) {
------8<------8<------8<------8<
I finally got a chance to talk to someone who knows a hell of a lot about the i386 than I could ever hope to know. I gave him all the materials and I think he spent more time replying to my email than doing the debugging.
Basically the registers for entering protected mode with paging are backwards. This is kind of funny as the port was done by Intel of all people.
Anyway I reversed them and I now have the Mach kernel from 1988 booted under VMware.
I have to say that it's super cool to finally have chased this one down.
Does anyone know whether CMU’s local Mach sources have been preserved?
I’m not just talking about MK84.default.tar.Z and so on, I’m talking about all the bits of Mach that were used on cluster systems on campus, prior to the switch to vendor UNIX.
I know at least one person who had complete MacMach sources for the last version, but threw out the backup discs with the sources in the process of moving. So I know they exist.
If nothing else, CMU did provide other sites their UX source package (eg UX42), which was the BSD single server environment. So I know that has to be out there, somewhere.
— Chris
Sent from my iPhone
All, a while back Debbie Scherrer mailed me a copy of a
"Software Tools Users Group" archive, and I've been sitting on my
hands and forgetting to add it to the Unix Archive. It's now here:
https://www.tuhs.org/Archive/Applications/Software_Tools/STUG_Archive/
The mirrors should pick it up soon. I've gzipped most of it as I'm getting
a bit tight on space.
Thanks to Debbie for the copy and to her and Clem for reminding me to
pull my finger out :)
Cheers, Warren
It's interesting that this comment about ptrace was written
as early as 1980.
Ron Minnich's reference to Plan 9 /proc misses the mark, though.
By the time Plan 9 was written, System V already had /proc; see
https://www.usenix.org/sites/default/files/usenix_winter91_faulkner.pdf
And as the authors say, the idea actually dates back to Tom Killian's
/proc in Research UNIX. I don't know when Tom's code first went
live, but I first heard about it by seeing it in action on my first
visit to Bell Labs in early 1984, and it was described in public in
a talk at the Summer 1984 USENIX conference in Salt Lake City.
I cannot quickly find an online copy of the corresponding paper;
pointers appreciated. (Is there at least an online index of BTL
CSTRs? The big search engine run by the place that still has
some 1127 old-timers can't find that either.)
As for ptrace itself, I heartily agree that /proc made it obsolete.
So did everyone else in 1127 when I was there, but nobody wanted
to update adb and sdb, which were big messes inside. So I did,
attempting a substantial internal makeover of adb to ease making
versions for different systems and even cross-versions, but just
a quick hack for sdb.
Once I'd done that and shipped the new adb and sdb binaries to
all our machines, I removed the ptrace call from the kernel.
It happened that in the Eighth (or was it Ninth by then? I'd
have to dig out notes to find out) Edition manual, ptrace(2)
was on two facing pages. To celebrate, I glued said pages
together in the UNIX Room's copy of the manual.
Would it were so easy to take out the trash today.
Norman Wilson
Toronto ON