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(a)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(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs