I think you might get better mileage by just trying to port 2.11BSD over to your Z8001 device, since it is a self contained system, no interface hacking will be needed, just porting. You will have to hack in the device drivers for your disks, ports etc, and create a bootstrap and do a little assembly hacking for the memory management, the context switches, exec() and system calls, BUT you have all this in your Sys3 source anyway. I think it would be easier and  cleaner to do this than try to transplant a lot of gory internals.

My own experience in this was I wanted TCP/IP running on a Z180 machine (1MB RAM but 64k address space with a very basic MMU), so I started with a primitive unix called UZI see http://www.dougbraun.com/oldstuff and hacked in sockets from NOS see http://www.qsl.net/ah6rh/am-radio/packet/jnos.html and honestly it took months, was incredibly tedious and bug-prone, very detailed interfacing work and restructuring to get things like socket timeouts to work, expose functionality via system calls and so on... I reached a point where I was medium satisfied but then my laptop got stolen and I had to revert to month-old backup and decided to throw it away and start again. I also did not finish the 2.11BSD port but I got as far as making 2.11BSD cross compile from a linux system, was going to drop in the Z180 cross toolchain as the next step, but for whatever reason put it aside. I am happy to pass on what I have.

Nick

On 08/11/2015 4:17 PM, "Derek Fawcus" <dfawcus+lists-tuhs@employees.org> wrote:
On Sat, Nov 07, 2015 at 11:13:38pm +0100, Oliver Lehmann wrote:
>
> It is basically a pcc as of 1981 with whatever Zilog hacked into it
> additionally. I once tried to get a current pcc onto the system but...
> yeah... I guess I lack skill ;)
> - the new PCC would need to create Z8001 ASM code.... something I lack skill.
> - an optimizer... haha...  no way I could  even optimize Z8001 ASM code by
>    hand ;)
> - if a new linker is needed - how to create Zilogs s.out format...
> - I guess I would need to recompile the whole kernel with this new compiler
>    to have every object work "together" - but I still lack some sources (most
> of them I "retranslated" from disassembled object files to C code - but 2 or
> 3 are just are too hard to retranslate)
> I also had a look at the C-Compiler which comes with Plexis SYSIII (which
> is available as source somewhere in the WWW) but this is a compiler capable
> of non-segmented executables (one 64K segment adressable) only but I need a
> Compiler creating segmented executables (128 64k segments accessable = 8MB
> address space)

Older versions of gcc (around 3.3/3.4) supported the z8000 family,  so you
could try using it to make things easier.  Have a look here:
  http://www.z80ne.com/m20/sections/download/z8kgcc/z8kgcc.html
which seems to be a version supporting segments - the '-mz8001' switch.

DF
_______________________________________________
TUHS mailing list
TUHS@minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs