This is a discussion on Porting of UZI80 to z80pack - CP/M ; I get this questions frequently, so here an answer: Yes I have looked through the sources of UZI80. Released were the sources of the kernel only, because other material used was taken from AT&T sources and could not be re-distributed. ...
I get this questions frequently, so here an answer:
Yes I have looked through the sources of UZI80. Released were the
sources of the kernel only, because other material used was taken from
AT&T sources and could not be re-distributed. The kernel could be ported
to other systems, but just with a UNIX kernel one can't do anything.
First one needs some tools to create a UNIX filesystem image on the host
system. Then to be able to do anything one also needs a shell at
minimum. So quit some work to do, to get something that can be booted on
If you study the UZI80 sources, or documentation, you will find that
this implementation supports 64BK memory only. If one starts any program
the shell gets swapped out to make room for the new program and so forth.
With MP/M DRI showed how to build a usable multi-user system for Z80
So instead of porting UZI80 one should get the UNIX V7 sources, which
are Open Source nowadays and start from that. Same work, but one would
get a system that supports more than one memory segment to run
concurrent processes, and starts swapping if there is no memory segment
anymore. Also one could design the kernel call interface carefully
enough, to allow it to map CP/M BDOS calls to appropriate UNIX kernel
calls without to much overhead. This would allow to run well behaving
CP/M programs on this UNIX implementation, essential if one doesn't want
to rewrite all and any CP/M software.
So no, I will not port UZI80 to z80pack, waste of time which can be
spend better otherwise.
The real fun is building it and then using it...