CP/M-8000
CP/M-8000はCP/M-68Kと同様、既存のCP/Mシステムに比べ6つの新しい機能の追加が行われている。
ディスクの空き領域参照
プログラムチェイン
バッファはき出し
例外ベクタ設定
スーパバイザ状態の設定
TPA境界の参照/設定参照
メモリ管理システム用としてシステムコール SC#1が用意され、論理アドレスから物理アドレスへの変換、物理メモリのブロックコピー、主にDDTでデバッグ中のプログラム制御を渡す機能がある。
Cコンパイラ、アセンブラ、リンカーは、CP/M-68K同様に標準で提供されている。
M20にはZ8001 4MHz CPUに128KBのメモリを実装し、オプションメモリボードにより160KB(本体128KB+メモリボード32KB×1) からメモリボード128KBを3枚実装し合計512KBにすることが出来る。8色カラーを使用するためにはオプションメモリボート2枚が必要であり、CP/M-8000を使用する場合512KBが推奨である。
320KBの5インチドライブ(640KBドライブはオプション)を搭載しており11.8MBのウィンチェスターもオプションで使用可能である。
MMUは実装されていないが16KB単位でアドレス変換用のBPROMを実装している。M20用のシステムOSのPCOSを搭載し、オプションのAPB 8086カードを挿すとMS-DOS、CP/M-86を走らすことが出来た。
CP/M-8000のシステムを動かすには少なくとも、最小で128KB(システム用に64KB、ユーザのコードとデータ用に64KB)必要である。
Cコンパイラ等を使用するにはユーザ用に128KB、システム用に64KB、DDT用に64KB、合計256KBのメモリ搭載が必要である。
開発当初は4MHzであり、 8086の5MHzとの比較を意識して開発が進められた。Z8001はマイクロコードを使用していないため少ないクロック数で動作する。
CP/M-8000では、拡張命令を実行するため初期のStep Z、Y、Wでは動作せず1980年夏以降のStep VのZ8001が必要である。
10MHzのCPUが提供されているが、当時外部メモリが遅かったためクロックドライバZ8581を使用し1クロック分遅くすることが出来た。
Z8003は、Z8001に仮想メモリ機能を追加している。Z8001用に設計されたシステムでZ8003のCPUを使用する場合には、マルチCPU構成のためにST3-0の割り当てがZ8001に対し拡張されているため、ST3-0のデコードを変更するかOSにパッチをあてるとともに、Z8003のAbortピンをプルアップする必要がある。Z8003は東芝からも発売された。
CMOS化されたZ16C01は個々に検証は必要ではあるがZ8001に差し替えて使用することが出来る。
特にWAITピンのタイミングについては、注意が必要である。