On 2019-Aug-08 07:33:47 +1000, Dave Horsfall <dave(a)horsfall.org> wrote:
I've always thought that Xenix was insane to start
with... Then again, my
first experience with it was on a 286... Now, when porting Unify, should
I use large memory model here or small memory model? Crazy.
Ah, yes. I remember it well. The large, small and various mixed modes
were a consequence of the braindeadedness of the 286 - reloading segment
registers (pretty much every memory reference in large mode) was abysmally
slow. I recall hacking mg (a cut-down emacs clone) so that buffers were
in "far" memory and everything else was "near".
Some of the Xenix features I recall were:
* occasionally fork() would return -1 in both the parent and child (or
something like that - it would both succeed and report failure)
* The contents of comments would affect the Pascal compiler's ability
to compile the program (this was "using uninitialised variables"
behaviour, rather than magic lint-style comments). It made software
development "interesting" because checking a program into SCCS might
stop it compiling.
* fork()ing a large process could panic the system.
* The C compiler barfed on parts of starchart (from comp.sources.???)
--
Peter Jeremy