I have expanded memory to 128K based on Z8002’s N/S output. I can expand to more memory if I decode the instruction/data access, but it’s unclear to me how CP/M deals with that when loading program into instruction space.
Downloaded various files from suggested links. Sources in C are more difficult to hack without a M20 or simulator. CP/M8000 will be hard to implement, at least for me. I have this naive idea of putting CCP, BDOS in fixed memory locations, then overlaying evolving BIOS routines to get CP/M working incrementally. That probably won’t work. It is possible CCP, BDOS for Z8002 is different than Z8001, so I maybe in a catch-22 situation of needing Z8000 C compiler to build new cpmsys for new Z8002 hardware. So is there a M20 simulator?
Another thought, since I’m mostly a hardware guy, it may be possible to emulate M20 with Z8001 and programmable logic sufficiently so that the existing CP/M8000 for M20 can run on such emulator. Any work along that line of M20 emulation?
Bill
There is a L1M20 Emulator module for the MAME (Multiple Arcade Machine Emulator) and Olivetti hade a Z8001 Coprocessor card for certain models there IBM compatible PC line.
Another user on this form made his own L1M20 replacement board using the Z8001 and newer gate arrays, but that's about all. (See user tpaxia entries on this host if the are still active)
The trump card is another Z8001 based ISA bus co processor.
..
Ya the Z8002 is slightly difference : No segmentation pointers and no Segment/Bus error signal line. The program status memory map is a little different as well. So on the Onyx Z8002 model computers they use there
own MMU and segment bus error logic. (In a nut shell/in short).
In the past there where a couple of authors in Japan that did build a Z8002 based CP/M system, but who know if there website is still active and if the will help out ? They likely crossed compiler CP/M from another source with similar hardware that had a identical I/O and address map in order to get it to run in a only 64k memory space.
..
If you are using 256K drams without MMU you could still add a bit more memory by decoding the Stack and Data spaces into separate 64K blocks as well but the support for this will have to added to the OS to make good use of it.
The standard CP/M8000 OS needs 128K of memory for operation unless you want to cut of the compatibility to run existing programs and then you you are going to to patch and recompile code in order to run it on the system.
..
If that is the case I would try to find a complete documented Z80 CP/M system with the OS that perfectly match's your existing hardware. Addressing and register wise if one actually exist and then cross assemble all its applications and OS
to the new hardware.
..
By the way the way is another posting about using the MS-DOS version of the Zilog Z8000 Assembler under a newer version of MS Windows with a MS_DOS emulator module, if that will help any.
..
Well that is about all I can add, so hopefully it is of some help.