Now to see if 'cc' works on an
'-11/40'
Yeah, the C compiler works fine on a /40; so the SOB bug (or perhaps some
_other_ one I haven't found yet) must have affected it too.
The thing that's odd about that bug is that SOB works _sometimes_ on an /05;
the 'rkmx' on the distro tape will boot (which if the SOB _never_ worked, it
wouldn't). So there must be a data dependency somehow. John Wilson says the
SOB is very optimized, so maybe there's a bug.
then back to the /03.
Well, I tried /03 version, and it doesn't work; /etc/init continually
restarts.
The thing is that _every_ file except mch.s is identical between the '05'
version (which runs fine on the /40; above), and the /03 version. So the bug
must be in mch.s - unless there's somehow an /03 dependency somewhere else I
missed. I looked through init.c, didn't see anything.
Here:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/Mini/mch.s
is the mch.s source, if anyone wants to look through it and see if they see
anything. It's conditionalized for the /03; there's a very simple header file
(here:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/Mini/03mch.s
for the 03 version) to set the flags (so one doesn't have to edit the main file
to change the flag settings).
I had a careful look at mch.s, before I started, checking all the added
conditionalized code; found one that could have been an issue (I was using a
temporary register, r0, that had needed data in it), but the rest all looked
OK. I have some ideas on how to proceed on working out what's going on, but
I'm done for today, gotta do other stuff.
Noel