I just realized that the _first_ entry,
#'9', is actually #0 _in the
directory_; u_count counts _down_, whereas the code looks through dir
entries going _up_.
Fixed that (kept my own index of which entry it was working on, and
caculated the name location in the buffer, and got:
chk 0 15 2 '..'
chk 1 14 18 '.'
chk 2 13 34 'bin'
chk 3 12 50 'dev'
chk 4 11 66 'etc'
etc... and it blew right past the 'etc' entry, to the end of the
directory. WTF?
Still don't understand why I can't print the
dir entries out of the u
area, though.
Now that my brain has turned on, I'll bet that's not _my_ bug, I'll bet
it's
_the_ bug! If the directory entry in u.u_dent.u_name is all 0's, _of course_
the match is going to fail.
Just for grins, I set the CPU type in Ersatz-11 to "40 EIS NOMMU" and... it
booted up fine! I suspect there must be an issue with the -11/05 emulation in
Ersatz-11, since MiniUnix worked fine on _real_ -11/05's.
Now to see if 'cc' works on an '-11/40' - then back to the /03.
Noel