The Olivetti M20 was a Z8000 machine. I and mostly Chris Groessler ported the CP/M8000 to the Olivetti M20. I've had it running on one of my M20s but it has been several years since I had it up and running. I added a TRS80 controller and ST251 hard drive to it as well. Before connecting any random Z8000 to it one must also have the ability on the machine to split the data and instruction memory into two 64K ram banks, as it expects this. The Z8000 was really intended to run with a memory management chip but it had too many design issues and never made it to production. The M20 did the split with a memory ROM. This worked relatively well except one had to give up 1/2 of the Z8000's potential memory addressing. This was because to load data from the disk, the memory needed to be mapped to data memory and then remapped to instruction memory to execute it. This was done by the address decoder ROM with the various segment addresses. If it had been done with a memory management chip as originally intended, it could have been switched with a control register in that chips. To add to the complexity of the ROM, the video memory was dual ported into the main memory for the color. On top of this, there were mother boards with two banks of 16K DRAMs or two banks of 64K DRAMs. Because the expansion RAM slots were decoded on the memory board for easier control of the black/white or color options. This was all put into the memory control ROM. It was all quite complicated since the address one used by the CPU was only the address use by the RAM in the low 14 bits. Bits 14 and 15 were combined with the segment to determine, through the ROM, which physical memory would be used.
Anyway, the CP/M8000 that is out there expected the split instruction/data memory system. Not all Z8000 systems were setup that way.
Sorry for all the long winded description.
Dwight