hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
Z80 特徴
Z80には「ある処理を行う際に、特定の命令の組み合わせを用いると、普通に命令を書いた場合よりも実行にかかるクロック数や命令の総バイト数を少なくできる」というテクニックが多数存在し、これらは「最適化」「クロック削り」などと呼ばれた。例えば、Z80にて追加されたブロック転送命令やインデックスレジスタ命令は、一連の処理に必要なプログラムサイズを節約できる反面、他の命令を組み合わせて同等の処理を行うよりも所要クロック数が増大するといったデメリットもあり、命令のメモリ空間上の占有量と処理速度とのトレードオフの関係にあった。
またZ80は、同時期に新規に開発された他社製の8ビットCPUと比較すると、相対ジャンプは可能であるもののジャンプ先の範囲が現在位置より-128から+127と狭く、PC相対アドレッシングが無いなどリロケータブルな構成をとりづらく、バイナリ化したコードをリロケータブルに配置して動作させるドライバやデバッガ、オペレーティングシステム等の環境を作るには不向きとされた。リロケータブルでない一般的なバイナリは、配置アドレスを変更する度に再コンパイルや再リンクが必要となった。またアドレス参照時のオフセットも汎用レジスタ使用時には指定できず、インデックスレジスタ使用のオフセット指定も-128〜0〜127の範囲で制限されるため、C言語のポインタとの相性がよくない面があった。
アドレッシングモードが少ないこともあり、オペコードおよび命令フォーマットを暗記して、直接機械語を記述することも、さほど難しいものでもなかった。特に、オペコードを8進数で表現すると、命令フォーマットの区切りに適合した。
Z80 レジスタ
A,B,C,D,E,H,Lは8080の同名レジスタと同じ機能を持つ。
Fは8080上位互換のフラグレジスタである。
これらの8ビット汎用レジスタとアキュムレータ、フラグレジスタはZ80では切り替えて使える裏レジスタが用意された。
但し、裏表どちらのレジスタであるかを判断する命令はない。
Rはリフレッシュカウンタで、オリジナルのZ80では下位7ビットが変化し、最上位ビットは初期値不定で、値を書き込むとその最上位ビットが保持される。周辺LSI統合CPU・上位互換CPUでは、リフレッシュカウンタを8ビットに拡張し、最上位ビットが保存されないものもあるほか、リフレッシュ機構をCPUから完全に切り離してRレジスタが変化せず書き込んだ値が保存されるものもある。
フラグレジスタのビット位置（*は8080から拡張されたビット）
b7:S　符号
b6:Z　ゼロ
b5:未使用 （0に固定）
b4:H　AUXキャリー（パックBCD演算用）
b3:未使用 （0に固定）
b2:P/V *　パリティ・オーバーフロー（8080ではP パリティ）
b1:N *　減算（ADD命令で0、SUB命令で1になる。8080では未使用、0に固定）
b0:C　キャリー
Z80 命令セット
8080に存在する命令についてはパリティフラグを除く挙動とバイナリは同一となり、基本的には上位互換であるため非互換部分に留意すれば同一のバイナリを動作させる事も可能である。8080用のOSであるCP/Mや、そのアプリケーションもそのまま動作した。
Intelによる8080の上位互換プロセッサであるIntel 8085とは拡張部分の命令セットや挙動が違うため非互換である。
Z80 命令セット
アセンブラでプログラムを記述する際には、ザイログ社が定義したZ80のニモニックならびにオペランドの記述は、インテルのi8080やi8085のものと異なる。ザイログ社のものは記述の容易さが勘案され、より整理されたものとなった。例えば、レジスタ間での値の移動、即値をレジスタに入れる、レジスタペアで示されるメモリとレジスタの間の転送命令のニモニックはすべて "LD" であり、アドレッシングモードを意識する必要がなく初心者にも判りやすい。反面、存在しない組み合わせの "LD" 文を記載してエラーとなるなど、i8080やi8085のニモニックと比較して、アドレッシングモードや実際の命令がはっきりせず、使えない組み合わせのオペランドの区別がしにくいなどの状況が発生している。オペランドの順番は、ディスティネーションが前でソースが後である。また、オペコードの仕様上、HLレジスタとインデックスレジスタ間での処理は組み合わせに制限がある。
ここではZ80で追加された命令のみ示す。8080からある命令についてはIntel 8080#命令セットを参照。また、IXとIYについては同等の命令が存在するが、ここではIXのみを示す。
LD r,(IX+d)
LD (IX+d),r
インデックスレジスタを用いたメモリとレジスタの転送。rに(HL)は指定できない。
LD (IX+d),n
メモリに即値をストアする。
Z80 命令セット
LD IX,nn
インデックスレジスタに即値をロードする。
LD IX,(nn)
指定アドレスのメモリの内容をインデックスレジスタにロードする。
LD (nn),IX
インデックスレジスタの内容を指定アドレスのメモリにストアする。
LD BC,(nn)
LD DE,(nn)
LD SP,(nn)
指定アドレスのメモリの内容を16ビットレジスタにロードする。8080ではHLレジスタでしかできなかった。
LD (nn),BC
LD (nn),DE
LD (nn),SP
16ビットレジスタの内容を指定アドレスのメモリにストアする。8080ではHLレジスタでしかできなかった。
LD SP,IX
インデックスレジスタの内容をSPレジスタに転送する。
EX AF,AF'
AFレジスタとAF'レジスタを交換する。
EXX
BC,DE,HLレジスタとBC',DE',HL'レジスタを交換する。
LD A,I
LD I,A
Z80 命令セット
割り込みベクタレジスタとAレジスタの転送。LD A,Iを使用するとき、特にNMOS品ではこの命令を実行中に割り込みがかかった場合、元の割り込み状態に関わらず割り込み禁止になる場合がある。このバグ（エラッタ）はNMOS品は全般にある。CMOS品でも、東芝TMPZ84Cxx・日立HD64180 R0マスク・他にはこのバグがある。ザイログのものは修正されている。HD64180はR1マスクおよびZバージョンで修正済み。シャープLH5080も修正済みの模様。NEC μPD70008は不明。
LD A,R
LD R,A
リフレッシュレジスタとAレジスタの転送。オリジナルのZ80においてRの下位7ビットは常に変動しているため、LD A,Rは簡易な乱数発生器としてよく使われる。互換CPUでは、8ビット全てが変動したり、変動しないものもある。
LD A,Rについては、チップのバージョンにより前述のLD A,Iと同様の割り込み禁止となる問題が発生する場合がある。
ADD IX,rx
16ビットレジスタの内容をインデックスレジスタに加算する。
ADC HL,rr
16ビットレジスタの内容とCフラグをHLレジスタに加算する。ADD命令は8080から存在した。
SBC HL,rr
Z80 命令セット
16ビットレジスタの内容とCフラグをHLレジスタから減算する。なお16ビットのSUB命令はない。そのため8ビットの算術演算命令のうちSUB命令だけAを表記しない。
INC IX
インデックスレジスタの内容をインクリメントする。
DEC IX
インデックスレジスタの内容をデクリメントする。
NEG
Aレジスタの2の補数をとる。
RLC r
RLC (IX+d)
レジスタまたはメモリの内容とCフラグを連結して左ローテートする。RLC Aと8080からあるRLCAとではフラグの変化が異なる。
RRC r
RRC (IX+d)
レジスタまたはメモリの内容とCフラグを連結して右ローテートする。RRC Aと8080からあるRRCAとではフラグの変化が異なる。
RL r
RL (IX+d)
レジスタまたはメモリの内容を左ローテートする。RL Aと8080からあるRLAとではフラグの変化が異なる。
RR r
RR (IX+d)
レジスタまたはメモリの内容を右ローテートする。RR Aと8080からあるRRAとではフラグの変化が異なる。
RLD
RRD
Aレジスタの下位4ビットとHLを連結して4ビット単位でローテートする。BCD用の命令。
SLA r
SLA (IX+d)
レジスタまたはメモリの内容を左に算術シフトする。
SRA r
SRA (IX+d)
Z80 命令セット
レジスタまたはメモリの内容を右に算術シフトする。
SRL r
SRL (IX+d)
レジスタまたはメモリの内容を右に論理シフトする。
BIT b,r
BIT b,(IX+d)
レジスタまたはメモリの特定のビットをテストする。
SET b,r
SET b,(IX+d)
レジスタまたはメモリの特定のビットをセットする。
RES b,r
RES b,(IX+d)
レジスタまたはメモリの特定のビットをリセットする。
JR e
無条件相対ジャンプ。
JR NZ,e
JR Z,e
JR NC,e
JR C,e
条件付相対ジャンプ。
DJNZ e
Bレジスタをデクリメントして0でなければ相対ジャンプする(Decrement and Jump if Non Zero)。ループに使う。
JP (IX)
インデックスレジスタの内容をPCに転送する。
RETI
割り込みからのリターン。
RETN
NMIからのリターン。
PUSH IX
インデックスレジスタの内容をスタックにプッシュする。
POP IX
スタックトップの内容をインデックスレジスタにポップする。
EX (SP),IX
インデックスレジスタとスタックトップの内容を交換する。
IN r,(C)
OUT (C),r
CレジスタまたはBCレジスタによる間接指定の入出力。rに(HL)は指定できない。
IM x
割り込みモードを設定する。xの値は0〜2。
8086のストリング命令、80186/V30のI/Oストリング命令に相当する。LDIRが最もよく使われる。
LDI/LDD/LDIR/LDDR
ブロック転送。HLレジスタの指すメモリの内容をDEレジスタの指すメモリへ転送することを、DE,HLレジスタをインクリメント/デクリメントしながらBCレジスタの回数だけ繰り返す。LDIRとLDDRは転送元と転送先の領域が重なる場合に使い分ける。
CPI/CPD/CPIR/CPDR
ブロックサーチ。AレジスタとHLレジスタの指すメモリの内容を比較することを、HLレジスタをインクリメント/デクリメントしながらBCレジスタの回数だけ、あるいは比較結果が一致するまで繰り返す。
INI/IND/INIR/INDR
ブロック入力。Cレジスタの指すI/OポートからHLレジスタの指すメモリに入力することを、HLレジスタをインクリメント/デクリメントしながらBレジスタの回数だけ繰り返す。
OUTI/OUTD/OTIR/OTDR
ブロック出力。HLレジスタの指すメモリからCレジスタの指すI/Oポートに出力することを、HLレジスタをインクリメント/デクリメントしながらBレジスタの回数だけ繰り返す。
Z80 I/Oポート
i8080ではアドレスバス下位8ビットと同じ値が上位8ビットにも同時に出力され0からFF(255)までだったI/Oアドレス空間は、BCレジスタを間接指定した場合に限り16bitのアドレス空間を指定できるようになった。但し、直接I/O、BCレジスタ以外の間接I/O命令は上位アドレスにアキュムレータの値が出力されてしまうため、デバイスを16bitのアドレス空間として配置した場合に実質的に実用にならない命令が発生する。
i8080との互換や、レジスタペアがアドレスとして扱われるのではなく、Cレジスタを間接指定した場合のみの挙動であることによる命令セットの制限、ザイログ形式のニーモニックが8bitの空間であるような指定、関連書籍での積極的な記述が少ないないしは前提が下位8bitのようなものになっていること、そういった設計になっている製品の少なさなどから、隠し機能や仕様外の仕様と考えられていることもあるが、発売当時のTechnical Manualでも前述の仕様は明記されており、互換プロセッサの動作も多くがこの仕様を踏襲したものとなっている。
Z80 I/Oポート
この仕様を利用し大きなアドレス空間を必要とするVRAMをここに割り当てることで、メインメモリの自由度を向上させる実装が見られた。そのような構成をとった日本製パソコンには、シャープのX1、ソニーのSMC-777、BUBCOM80などがある。シャープMZ-1500ではオプションのRAMファイル（MZ-1R18、容量64KiB）のアクセスにこの仕様を使用している。
前述のとおり16ビットアドレスのI/Oポート空間をそのままデコードするハードウェアを構成してしまうと、アドレス指定にBCレジスタを指定しないI/O命令の時にアドレスバス上位8ビットにはAレジスタの内容が出力されてしまうため、アドレス指定にBCレジスタを指定しないOUT命令は実質的に使用できなくなってしまう。そこで、SONYのSMC-70では、I/Oアドレスの上位8ビットを下位に、下位8ビットを上位にアドレスデコードした。こうして、多くのI/Oアドレスの割り付けが必要なところでは上位8ビット・下位8ビット両方をデコードしてBCレジスタアドレシングのOUT命令でアクセス、他のI/Oアドレスでは元の下位アドレスのみをデコードしてデバイスに割り付けることにより、通常のOUT命令を使用できるようにした。
Z80 I/Oポート
なお、ブロック入出力命令の場合はBレジスタをデクリメントするため、16ビットアドレスとしては使用しにくい。逆にこれを利用することにより残り回数を周辺デバイスなどが知ることができる。ただし、出力の場合は処理の順番はアドレス出力よりもBレジスタのデクリメントが先のため、アドレスの上位8ビットを利用する場合は1小さい値が出力されることに留意する必要がある。なお、入力の場合はアドレス出力が先である。
Z80 歴史
フェアチャイルドセミコンダクターおよびその後のインテルにおいて、物理学者であり技術者でもあったフェデリコ・ファジンは、基本的なトランジスタおよび半導体製造技術の開発に従事していた。また彼は、インテルにおけるメモリおよびマイクロプロセッサ設計の基本的な手法を構築し、Intel 4004、Intel 8080のほか、いくつかのIC開発も主導した。嶋正利は、4004および8080の主要な論理設計およびトランジスタレベルの設計者であり、その際の監督はファジンで、一方、カスタム集積回路設計の責任者はラルフ・アンガーマン（en:Ralph Ungermann）であった。
Z80 歴史
1974年初頭、インテルはマイクロプロセッサを単体で販売する製品というよりも、主力製品であるスタティックRAMおよびROMの販売促進手段として位置付けていた。組織再編により、以前は独立していた部門の一部がレス・ヴァダス（en:Leslie L. Vadász）の指揮下に置かれたことで、マイクロプロセッサの社内での位置づけがさらに弱まった。この年、1973年から1975年にかけての不況(en:1973–1975 recession）が最悪の状況に達し、インテルは数名の従業員を解雇した。このような状況に置かれた結果、ファジンは不満を募らせ、アンガーマンを誘って酒を飲みに行き、独立して会社を起こすことに興味があるか尋ねた。アンガーマンは即座に同意し、当時インテルでの業務が減っていたこともあり、1974年8月または9月に退職した。ファジンもそれに続き、彼のインテルでの最終出勤日は1974年のハロウィンであった。嶋正利はその話を聞いて新会社への参加を申し出たが、当時はまだ製品設計も資金もなかったため、しばらく待つように伝えられた。
Z80 歴史
設立されつつあったがまだ社名もないこの会社は、まずシングルチップ・マイクロコントローラ（名称は2001）の設計に着手した。彼らはSynertek社(英語版)と会合を持ち、その製造ラインでの生産について協議したが、ファジンがコスト構造を把握するにつれ、自社製造ラインを持つインテルのような企業の製品との競争では、2001のような低価格製品では勝負にならないと明らかとなった。そこで彼らは、より複雑なマイクロプロセッサ（当初の名は "Super 80"）の設計に方向転換し、新設計に取り掛かった。この設計の主な特徴は、8080のような従来の−5V、+5V、12Vではなく、+5Vバスのみを使用することであった。この新設計は8080との互換性を持たせつつ、Motorola 6800のいくつかの機能、たとえばインデックスレジスタや改良された割り込み処理機能などを追加することを意図していた。
Z80 歴史
まだ会社設立の途中だったのに、業界誌 Electronic News （英語版）が このカンパニー（まだ、"人の集まり"にすぎない状態）の存在を聞きつけ、その物語を記事にした。これがエクソンのハイテク投資部門であるExxon Enterprisesの目に留まった。当時、不況の影響でベンチャーキャピタルは非常に限られており、1975年全体で業界全体への投資総額は1,000万ドルに過ぎなかった。エクソンの何者かが、まだ社名すらつけられていなかったこのカンパニーに連絡を取り、会合が設けられた。その結果、1975年6月に初期投資として50万ドルが提供された。
出資交渉と設計作業が進む中、嶋正利は1975年2月にこの新会社に加わった。嶋はすぐに高水準な設計に取り掛かり、自身のアイデアも多数取り入れた。特にNECのミニコンピュータでの経験を活かし、2セットのレジスタを設けて割り込みに即応できるようにするという概念を導入した。アンガーマンは、この設計を補完する一連のコントローラおよび周辺ICの開発に着手した。
Z80 歴史
この時期に嶋正利は、論理設計をリアルタイムで物理設計に落とし込む能力を持つ人物、という伝説的な評判で知られるようになった。新機能について議論している最中に、彼がその実装に必要なチップ上の面積を即座に割り出し、設計が大きすぎると判断すれば即座に却下することもあった。設計の初稿は1975年4月までに完成し、嶋は5月初頭には論理レイアウトを完了させた。論理設計の第2版は8月7日に発行され、バスの詳細設計は9月16日までに完成した。テープアウトは11月に完了し、テープから製造用マスクへの変換にはさらに2か月を要した。
ファジンはこの時点ですでに製造パートナーを探し始めていた。SynertekおよびMostekの両社は、設計に対応可能なデプレッションモードの製造ラインを整備していた。以前から接触のあったSynertekにまず交渉を持ちかけたが、同社の社長は「セカンドソースライセンス」、すなわち設計を自社製品として販売する権利を要求してきた。ファジンは、これでは自社で製造ラインを整備しても競争にならないと考え、この交渉は決裂した。次に彼はMostekと交渉し、Zilogが自社ラインを整備するまでの間の独占製造契約を締結し、その後セカンドソースライセンスを供与することで合意した。
Z80 歴史
新会社の名称についてさまざまな候補が検討されたが、いずれも翌日に思い出すこともできないくらい、記憶に残らないものばかりであった。ある日、ファジンとアンガーマンが integrated logic（集積ロジック）という用語をもとにした名称案を考えていたとき、アンガーマンが「Zilogはどうか？」と提案した。ファジンは即座に同意し、その名なら「集積ロジックの最終到達点」という意味になりうる、と述べた。翌日再び会った際、両者ともその名前を即座に思い出したことから、正式に「Zilog」という社名が決定した。
Mostekからの最初のサンプルは1976年3月9日に納品された。同月末には、アセンブラベースの開発システムも完成していた。この時点でZ80の周辺ICの一部が開発中であり、翌年にかけていくつかの製品が市場に投入された。これには、Z80 CTC（カウンタ／タイマ）、Z80 DMA（ダイレクトメモリアクセス）、Z80 DART（デュアル非同期受信送信器）、Z80 SIO（同期通信コントローラ）、Z80 PIO（パラレル入出力）が含まれる。
Z80は1976年7月に正式に発表された。当時、半導体業界では外国メーカーによるチップ設計の無許可複製に対する懸念があった。Zilogの設計チームはリバースエンジニアリングを妨害するため、見た目とは異なる動作をする6つの "トラップ" トランジスタを設計に組み込んだ。嶋正利によれば、NECの技術者は、このトラップにより解析が6か月遅れた、と述べたという。NECはその後、Zilogとの特許侵害訴訟で和解し、Z80およびその他のチップの正規ライセンスを取得した。
Z80の成功を受けて、ファジンとアンガーマンは半導体製造工場の設立に向けてエクソンに追加出資を求めた。エクソンはこれに同意し、Zilogは自社製造ラインを確立した。これにより、ZilogはZ80の総市場の60～70パーセントを獲得することに成功したと推定される。一方、Mostekは正式なライセンスのもと、Z80の互換製品MK3880の製造を許可され、顧客にとってのセカンドソースとなった。インテルとは異なり、当時のスタートアップ企業にとっては、事業継続や供給保証の観点からセカンドソース契約が不可欠と考えられていた。
Z80 様々なZ80
Z80は一番古い2MHzのZ80に始まりクロックアップされた物や機能追加された物がザイログより発売されている。それらザイログのZ80の主な物のメーカーの型番と機能を記載する。
DIP-40(600mil)、NMOS 4MHz
Z80CPU 6MHz
Z80 Z80の互換CPU
セカンド・ソース契約に基づいてピンコンパチブルな互換製品が他社で生産された。こうした製品には、シャープの「LH0080」モステックの「MK3880」などがある。一方、日本電気(NEC)がライセンスを得ず独自に互換性のある「μPD780」を出荷したことに対し、ザイログはこれを著作権侵害として訴訟を起こしたが、最終的には両者は和解して製造販売が継続された。
オリジナルのZ-80はNMOSプロセスで製造されたが、一部のセカンド・ソースの製造者からは、NECのZ80A互換「μPD70008AC-4」Z80H互換「μPD70008AC-8」、シャープ「LH5080」、東芝「TMPZ84C00」など、独自にCMOSプロセス化し消費電力の低減を図った製品も出荷されている。
また、2002年にシャープがシステム液晶のデモンストレーションとしてガラス基板上にZ80を形成し、MZ-80CのCPUと交換し動作させた。
この他にも東欧諸国で、例えば東ドイツのU880、ルーマニアのMMN80CPUや、ソ連のT34など、ライセンスによらないクローン製品があった。
Z80 派生品
ナショナル・セミコンダクターからは、CMOS化とともに、Intel 8085のようにアドレスバスの下位とデータバスとをマルチプレックスさせ、Z80とソフトウェアの互換性を持つ「NSC800」が製造された。ただし8085とはピン配置が異なり、置き換えることはできない。
2003年現在でも制御、組込用として、メモリおよび周辺機器の制御用回路を単一のパッケージに集積したLSIが製造されており、ASICのIPコアとしてZ80の互換プロセッサを用意するデバイスメーカーも多い。Z80 IPコアは、本家の「ALUが4ビットのため、多くの演算で複数クロックを必要とする」「レジスタがダイナミック動作をするため、クロックを停止できない」「LDx、LDxRのような繰り返し実行する命令やインデックスレジスタを使う命令等、組み込み用途では不要な複雑な命令がある」といった欠点を解消した物も提供されている。
Z80 他社によるZ80上位互換CPU
以下にZ80互換のCPUのうち、ザイログ以外の会社で開発された上位互換性を持つものを示す。高速化を図ったものや、周辺デバイスを集積したものである。
TLCS-Z80シリーズ
東芝のZ80ファミリーのセカンドソースやそれらを集積した1チップマイクロコントローラ。1983年から発売開始。主に以下の物がある。
TMPZ84C00AP-6
動作クロック6MHz。
TMPZ84C00AP-8
動作クロック8MHz。
TMPZ84C00AM-6
動作クロック6MHz。
TMPZ84C00AM-8
動作クロック8MHz。
TMPZ84C011
東芝 CMOS版Z80CPU、Z80CTC、Z80PIO非互換パラレルI/Oを集積したチップ。
TMPZ84C013
東芝 CMOS版Z80CPU、Z80CTC、Z80SIO等を集積したチップ。
TMPZ84C015
東芝 CMOS版Z80CPU、Z80CTC、Z80PIO、Z80SIO、CGC、ウォッチドッグタイマー等）を集積したチップ。また、本家にあたるザイログからも同等のZ84C15が販売されている。ただし、ピン機能の一部が異なる。東芝TMPZ84C015は製造中止。
TMPZ84C112
東芝 CMOS版Z80CPU、Z80PIO非互換パラレルI/O、タイマー、256バイトRAM等を集積したチップ。
Z80 他社によるZ80上位互換CPU
TMPZ84C20AP-6
東芝 TLCS-Z80 PIO : PARALLEL INPUT / OUTPUT CONTROLLER
TMPZ84C710
東芝 CMOS版Z80CPU、ISDN基本インターフェイス、Z80SIO等を集積したチップ。
TMPZ84C711
東芝 CMOS版Z80CPU、ISDN基本インターフェイス、Z80SIO等を集積したチップ。Z84C710上位互換。
TMPZ84C810
東芝 CMOS版Z80CPU、Z80CTC、Z80SIO、パラレルI/O、DMA、MMU、DRAMリフレッシュコントローラ、ウォッチドッグタイマー等を集積したチップ。
HD64180
Z80 他社によるZ80上位互換CPU
日立製作所（現ルネサス エレクトロニクス）が開発。1984年に登場。高速化されたZ80バイナリレベル互換命令とMMUを集積し、アドレス空間を512KB〜1MBにしたもの。乗算、TST命令などを追加している。IX/IYレジスタを8ビットに分割して使用することはできず、未定義命令トラップがかかる。尚、発売当初はZ80上位互換ではなく、CP/M-80互換CPUと説明した。68系周辺デバイスのバスサイクル（同期バス）に合わせたHD64180R1と、Z80用周辺デバイスのバスサイクル（非同期バス）を直接接続できるHD64180Zがある。ザイログからは、HD64180Zのセカンドソース品としてZ80180と派生製品が出荷され、2022年現在現行製品である。
MSX-ENGINE
MSX 向けのカスタムCPU。MSXで使用する周辺LSIを取り込んで製品化されたもの。SANYO から1985年に発売された MPC-1 というMSX1に搭載されたT7775が初である。他にも、T7937、T9763、T9769(MSX-ENGINE2)がある。
μPD9002
Z80 他社によるZ80上位互換CPU
NEC Vシリーズのひとつで、1987年3月4日発売のPC-88VAが使用。V30が8086の上位互換であるのと同時に8080互換モードを持つように、この石は8086の上位互換であるのと同時にZ80互換モードを持つ。型番が示すとおりVシリーズの通常のラインナップ（μPD70〜）ではなく、カスタムモデルである。チップそのものはV30をベースに周辺回路を統合したV50を基本としているため、Intel 8086とのソケット互換性はないが、PC-88VA2/3においては、V30モード時に8087-1コプロセッサが稼動する数値演算プロセッサソケットが用意されていた。
R800
アスキーが開発した、内部16ビットの高速版Z80互換CPU。1990年4月に発表。乗算命令を拡張しているが、使用するレジスタの組み合わせで計算結果が不正になる不具合があるため、実質使用できるレジスタが制限されていた。また隠し命令のうち、IX/IYレジスタの8ビットアクセスを主とするいくつかの命令が正式命令としてサポートされる。Rレジスタが8ビット幅になっている。MSXturboRに搭載された。CPU機能を停止しメモリコントローラとして動作するモードも持ち、同機で使用された。MMUやDMAを集積しているが、仕様がMSXのものとは異なるため使用されなかった。
KC80, KC82
川崎マイクロエレクトロニクスのZ80互換の高速版CPU。KC80の改良版KC82をコアにMMUなどを追加した組み込み用ICとしてKL5C8012、KL5C8016、KL5C8020が販売されていた。なお、KC80 CPU単体の KL5C8400 も販売されていた。また、16ビット版で上位互換のKC160も販売されていた。1994年に発売開始、2009年7月1日に一連の汎用マイコンの生産終了が発表された。
Z80 後継CPU
ザイログ自身の開発による上位互換CPUを以下に示す。
Z180
日立が開発したHD64180ZについてザイログがセカンドソーサとなったZ64180の改良品。HD64180Z/Z64180とは仕様が微妙に異なる。Z80180やZ8S180がある。
Z800
Z80を16ビットCPUとして大幅に拡張するとともに周辺チップを集積したもの。命令体系拡張として、乗除算命令の追加、16ビットオペランド命令の増強、PC相対アドレッシングモードやSP相対アドレッシングモードの拡充などを行い、また従来隠し命令となっていたIX、IYレジスタを分割操作する命令などが公式にサポートされる。システムとしてはユーザーモード・スーパーパイザーモードの区別を持ち、内蔵MMUによるメモリ保護機能が提供される。256byteのRAMを内蔵し、ローカルメモリとして使用する他に、キャッシュとして使用することも可能である。外部バスは従来のZ80と互換性の高い8ビット幅のZ80-BUSと、16ビット幅のZ-BUSを選択することが可能で、またMMUの機能により512KBアドレス空間と16MBアドレス空間が選べる。このバスの種別とサポートするアドレス空間の種別により4つの製品 (Z8108,Z8116,Z8208,Z8216) が計画された。のちにC-MOS化されたZ280に引き継がれた。
Z80 後継CPU
Z280
あまり採用される事無く、消え去った。ほとんど生産されなかったZ800をCMOS化したもの。Z800のZ-BUSインターフェース・16MBアドレス空間サポート版であるZ8216の仕様をおおよそ引き継ぎ、起動時にコンフィギュレーションで他のバージョンの仕様もサポートする。
Z380
1993年2月5日に発表されたZ80互換の32ビットCPU。レジスタは従来の汎用レジスタに加えて16ビット追加部分を含めたグループが4バンク存在する。4GBのアドレス空間をリニアにアクセス可能。DRAMリフレッシュコントローラやINT0 - 3の割込みが追加されている。Z8000との互換性はない。
eZ80
3ステージ命令パイプラインを導入し、同一クロックのZ80に対して約3倍のパフォーマンスを持つ。最大クロックスピードは50MHz、アドレスレジスタを24ビットに拡張しており、16MByteアドレッシング可能。Rabbit 2000/3000/4000/5000と同じく現行商品である。
Z80 Z80に類似のアーキテクチャー
Z80のアーキテクチャー（プログラミングモデル・レジスタ構成等）を参考に、拡張を行ったアーキテクチャ等として、東芝のTLCS-90シリーズ、TLCS-900シリーズ、Rabbit2000シリーズがあるが、これらはZ80とのバイナリ互換性はない。
また、Z80より一部の機能や命令を削除したものとしてSHARPのLR35902がある。
これらZ80の技術が流用できるCPUを開発年順に記す。
LR35902
Z80のセカンドソースメーカーであるシャープがゲームボーイ用に開発したZ80のカスタムCPUである。1989年4月21日に発売されたゲームボーイに採用されたCPUのクロック数は4.19MHz、ゲームボーイカラーは8.39MHzと高速である。厳密には Intel 8080 に、Z80の機能や命令の一部を追加した、両者の中間の様な仕様になっているが、 Custom Z80 とか GB Z80 といわれている。
TLCS-90シリーズ。
TMPZ84Cxxx系列の後に開発された Z80CPU の流れを汲むプロセッサー。但しバイナリコードは非互換になっている。IX, IYレジスタ幅が20bitに拡張されている、SP相対アドレッシングがある、ゼロページアドレッシングがある、PC相対分岐で64KBをカバーする、などの拡張が行われている。
Z80 Z80に類似のアーキテクチャー
TLCS-870 シリーズ
基本的なアーキテクチャーはZ80と全く同一といってよく、設計にはある種の影響を受けている。レジスタセットはZ80そのままであり、命令もほぼ同一である。
TLCS-900シリーズ。
TLCS-90の長所を引き出して16/32ビット化したアップコンパチのCPU。TLCS-90の上位互換性および使いやすさから，主に組み込みに使用されているCPU。TLCS-90に対してインデックスレジスタIZの追加、FレジスタをAレジスタとのペアから外して独立させ、代わりにWレジスタとペアにして16ビット幅のWAレジスタとするなどの変更を行っている。
Rabbit2000
Z80 Z80に類似のアーキテクチャー
Rabbit 2000は一部の命令の追加と削除をして高速化したZ80である。米国ラビット・セミコンダクターが開発・販売している。Rabbit2000、Rabbit3000、Rabbit4000、Rabbit5000のバージョンがあり、初期のRabbit2000はビットマイクロプロッセッサであるが、上位モデルのRabbit4000/5000では32ビットとして動作する32ビットアーキテクチャーとなっている。 Rabbit2000/3000/4000/5000はHD64180/Z180のアーキテクチャーを基にしているが完全なバイナリ互換ではない（en:Zilog Z80#DerivativesのPartly compatibleを参照）。eZ80と同じく現行商品である。
RL78
国産ルネサスの8ビット/16ビットCPU。業界最高レベルの低消費電力を実現している。RL78のマシン語は、ほぼZ80である。
Z80 主な開発環境
Z80は、8080とバイナリレベルで互換性があり、そのDOSであるCP/M、及びCP/M上で動作する各種のソフトウェアが利用可能である。以下はCP/M上の動作を前提に供給されたものの一部である。
OS-9
OS-9（オーエスナイン）は、マイクロウェアシステムによってモトローラの8ビットMPUである6809のために開発されたリアルタイムオペレーティングシステム（以下、RTOS）である。
当時、マイクロウェアシステムはモトローラの依頼でプログラミング言語BASIC09を共同開発しており、この言語の開発・実行環境としてOS-9が作られた。
その後、OS-9は680x0に移植され、さらにx86、PowerPC、SH、ARMなど、幅広いCPUに対応した。
2001年にラディシス社によってマイクロウェアシステムが買収され、一部門となり、2013年に販売会社グループに売却されてマイクロウェアLP社として独立した。
OS-9 特徴
OS-9は、プリエンプティブ・マルチタスクをおこなうRTOSである。
多くの組み込み用RTOSでは、全ての実行コードを単一のロードイメージにリンクしてメモリに展開・実行するので、並行実行されるタスクはスレッドモデルであることが一般的だが、OS-9では各タスクは独立したプログラムイメージ（プログラムテキストは複数タスクで共有可）を実行するプロセスモデルである。
プロセスモデルでは各タスクは論理的に独立しているのでタスク間のデータの共有や通信にコストがかかりがちだが、OS-9では「データモジュール」と呼ばれる一種の共有メモリ機能で高速なプロセス間通信を提供している。ただし、タスク間通信に不可欠なセマフォが提供されたのはかなり後のことである。また後のバージョンではPOSIXに準拠したプロセス内の複数スレッドをサポートする。
OS-9/6809レベル2ではMMUを使った仮想アドレス空間をサポートしたが、その他のバージョンでは単一のアドレス空間しか持たないフラットメモリモデルである。OS-9/6809レベル2及びOS-9/68030以降のバージョンではハードウェアによるプロセス間のメモリ保護機能がある。
OS-9 特徴
OS-9での新プロセス作成はUNIX流の現在のプロセスのコピーではなく、（仮想アドレス空間を持つOS-9/6809レベル2でさえ）実行プログラムを指定するWindowsの「spawn」に近いモデルである。これは、ベース（セグメント）レジスタを持たないCPUアーキテクチャでフラットメモリモデルを採用する限りある程度必然であり、UNIXでも多くの場合せっかくコピーした子プロセスの元の実行イメージは捨てられてexecで新しい実行イメージに置き換えられることを考えれば効率的でもある（マイクロウェアはこれを逆手にとって「OS-9のforkはUNIXよりX倍速い」と喧伝していた）。
OS-9を構成するすべての部分は、モジュールと呼ばれる統一された構造を持っており、必要な機能だけを選択して使用することができ、自由度の高い構造になっている。これにより、OS-9は以下の特徴を有する。
移植性が高い
移植に必要なモジュールだけを新たに作成すればよい。個々のモジュールも容易に作成可能。
アップグレードが簡単
対象モジュールのみ交換可能。再起動を必ずしも必要としない。
外部プログラムを主記憶に常駐させる事が簡単
OS-9 特徴
主記憶 (ROM/RAM) 上のモジュールはモジュールディレクトリと呼ばれるファイルシステムのディレクトリに似た構造で管理される。外部記憶上のプログラムも予めロードする事によりROM化されたモジュールと同様に主記憶上に常駐した状態にすることが可能。
セキュリティに強い
各モジュールにCRCがあり、モジュールをモジュールディレクトリへ登録する際にチェックされるため、正当なモジュールのみメモリにロード可能。
デバッグが簡単
OS自体が構造化されているため、問題点の切り分けが行いやすい。
リビジョン/エディション
モジュールにはリビジョン番号とエディション番号があり、同一名のモジュールがメモリ中に複数ある場合、最新のモジュールのみ有効となる。ROM化されたシステムをアップグレードする場合、古いモジュールを削除することなく、新しいモジュールのROMを追加するだけでよい(あるいは外部記憶上の新しいモジュールをRAMへロードするだけでも良い)。
ROM化可能
すべてのモジュールがリロケータブル（かつリエントラント）であることからROM化特有のアドレスを意識しないでプログラミングしたものを、そのままROM化できる。各モジュール（プログラム）は、すべて主記憶空間内のROM上で直接実行が可能である。
OS-9 特徴
プログラムが使用する変数・スタック領域はカーネルによって実行時に動的に割り当てられる。
再入可能（リエントラント）
プログラムがリエントラントであることはOS-9において必須の条件であり、リエントラントでないコードは利用できない。プログラムは自身を実行中に書き換えてはならない（自己書き換えコードはリエントラントではない）。
メモリ使用効率が高い
プログラムがリエントラントであるため、コード領域を各プロセスで共有することが可能になり、メモリの利用効率が高くなる。また、OS自身がモジュールの集合であるので、必要なモジュールのみをロード（あるいはROM化）すればよい。
遅い
汎用性は高いが、専用に設計されたモノリシックOSに比べるとオーバヘッドが生じる。例えばデバイスドライバはそれぞれ固有のスタティックストレージと呼ばれる大域変数領域を持つため、カーネルの機能を利用する際には単純な関数呼び出しではなく原則としてソフトウェア割り込みを伴うシステムコールを用いる必要がある。
OS-9 特徴
ファイルマネージャモジュール
RBF - Random Block File Manager （磁気ディスク装置、ディスクドライブなど）
SCF - Sequential Character File Manager （コンソールなど）
SBF - Sequential Block File Manager （テープ）
PipeMan - Pipe File Manager （パイプ）
IBF - IEEE 488 Interface Bus File Manager （エーアールケーコーポレーション製）
PCF - PC-DOS equivalent File Manager（PC-DOSファイルの操作）
NVFM - non-volatile File Manager（CD-iのデータ保存のための、ディレクトリを持たず、バッファリングしないファイルシステム）
CDFM - Compact Disc File Manager
NRF - Non-Volatile RAM File Manager
UCM - User Communication File Manager
DSM - Display Support Manager
GFM - Graphics File Manager
MFM - MAUI File Manager
OS-9 特徴
NFM - Network File Manager
SOCKMAN - Socket File Manager（OS-9/ISP - Internet Support Package に含まれている）
IFMAN - 通信インターフェース・ファイル・マネージャ
PKMAN - 仮想キーボード・ファイル・マネージャ
SPF - Stacked Protocol File Manager（LANComm/SoftStax ネットワーク・サブシステム）
共有ライブラリモジュール（サブルーチンモジュール）
runb - MW-BASIC/Basic09ランタイムライブラリ
cio - Microware C Compiler 用入出力ライブラリ・サブルーチン・モジュール
csl - C language shared library
psl - presentation support library（CD-i用）
OS-9 特徴
システム・モジュール
cache - メモリ・キャッシュの効率的使用
ssm - System Security Module - MMU等を利用したメモリ保護機能
fpu - 浮動小数点コプロセッサの利用（または演算ライブラリ）
vector - ハードウェア割り込み管理 (OS-9000)
ティッカ・ドライバ - 定周期割り込み
RTCドライバ - 時刻の取得・設定
align - アライメントエラーに相当するメモリアクセスの支援
カーネル以外の多くのモジュールが、システムの稼動中、任意の時点で追加、削除、更新が可能である。例えばデバイスドライバは任意の時点でメモリにリンク（ロード）/アンリンク（アンロード）が可能であるため、デバッグ中もカーネルを壊さない限りシステムの再起動を必ずしも必要としない。
またモジュールをメモリにリンク（ロード）するときにリンクカウントがインクリメントされるほか、モジュールを利用（オープン）する度にリンクカウントがインクリメントされ、プロセスでモジュールの利用が終わるとリンクカウントがデクリメントされる仕組みがある。よってモジュールを利用しているプロセスがある間は、故意にアンリンクしようとしてもアンリンク（アンロード）されない。またリンクカウントがゼロになるとモジュールがメモリからアンリンク（アンロード）される。
OS-9 特徴
ハードウェアがMMUを持つ場合、メモリ保護機能が有効となる。システム空間とユーザ空間が分離され、また、各ユーザプロセス間も分離される。デバッグ中のユーザープロセスが他のプロセスやシステムを破壊することがない。OS-9/6809では特にLevel2と呼び、最大2MBのメモリを管理できる。
組み込み用途だけではなく、一般のコンピュータとして使用可能であり、UNIXと同様のマルチユーザの機能を備えたTSSの環境がある。ユーザ、グループ別にファイルやプロセスのアクセス権がある。なお、PC用のOSとして見た場合、8bitや16bit時代の一般的なユーザには、マルチタスク・マルチユーザのメリットが理解されなかった。
以上のようなRTOSの上で、UNIXライクな開発環境が構築されている。簡易なものであるがシェルも実装されており、ファイルシステムも階層構造を始めとしてUNIXに近い機能を実現している（ユニファイドI/O）。
OS-9には独自のLANとしてOS-9LANがある。LAN上の他のコンピュータの資源に対して、透過的にアクセスが可能な優れたものである。フルパスリストの先頭にコンピュータ名を追加するだけで、そのコンピュータのファイルやデバイスにアクセス可能で、例えばシェルからリダイレクトして、LAN上の他のコンピュータに接続されたプリンタに出力可能である。
なお、開発は当初星光電子により、OS-9/6809と富士通FM-11+ARCNetという構成でおこなわれた。
X68000用のOS-9LANは、マイクロボードより販売されていた。
OS-9/680x0には以下のようなウィンドウシステムが発売された。
OS-9 OS-9/680x0
OS-9は、モトローラの16ビットCPU68000に移植された。以後、6809用はOS-9/6809、68000用はOS-9/68000と呼称されるようになった。その後、68000が68020、68030とシリーズ展開されるようになると、それらに最適化したOS-9/68020、OS-9/68030が開発された。
これらOS-9/680x0は、産業用RTOSとして高いシェアを占めていた。これは、20世紀末には、産業用システムのMPU (CPU) に680x0が広く採用されていたこと、ハードウェア資源を効率的に扱う多くの特徴を持っていること、OS-9自体の移植（ポーティング）が容易なことから必然的にそうなったのである。
例えば、ドライバ・モジュールのサンプルコードが多数提供されたことで、個別のハードウェアに対するドライバ・モジュールの移植が容易であり、ドライバモジュールの中であれば割り込み処理を通常のサブルーチンまたは関数として記述できるなど制約が少なく、安全で柔軟なシステム設計ができた。
OS-9 OS-9/680x0
また、アプリケーションをセルフで開発できることも評価されていた。ある程度規模の大きな産業用システムではVMEバスベースのシステムが採用されることが多かったが、これら自体によるセルフ開発が可能である。OS-9は数少ない、ターゲット上でセルフ開発が出来るRTOSであった（ただし、登場時のUNIXと同程度のCUIを利用する必要があった。その後、クロス開発環境が一般的になるにつれ、CodeWarriorが採用された時期もあった。現在ではWindowsで動作するGUIのクロス開発環境 Microware Hawk もしくはEclipse によるクロス開発のみ）。
様々な機能の追加による肥大化もあって、多機能版カーネル（デバッグ機能つき）と小型版カーネル（アトミックカーネル）の2種類に分化した。
（68000版を除いて）Ver.3からはセマフォ、マルチスレッド機能も追加され、必要な場合はPOSIXスレッドを使用することも可能となった。
OS-9 OS-9000（マルチプラットフォーム化）
その後、OS-9は全体がC言語で書き直され、OS-9000としてIntel 80386、MIPS、SPARC、PowerPC、ARM、日立 SH-3、SH-4、SH-5等に移植された。アメリカではCで書き直されたOS-9000/68000も発売されたが、市場からは全く相手にされず短期間で販売を終了した。
現在商標は統一され、OS-9のみとなっている。6809用、680x0用OS-9の実体は従来のアセンブリ言語で書かれたOS-9、その他CPU用OS-9の実体はOS-9000である。
OS-9 OS-9の稼動する汎用のコンピュータ
日本では、OS-9/6809が富士通FM-7/8シリーズ、FM-11シリーズに移植され富士通から発売、日立製作所のベーシックマスターレベル3シリーズやMB-S1にも移植された（開発はどちらも星光電子）。ベーシックマスターレベル3シリーズのうちMB-6890用OS-9 Level 1 Version 1.0は日立化成商事から発売され、画面分割型マルチウィンドウ採用、カナ文字サポート、コンカレント"BASIC09"が含まれていた。また、シャープのX68000シリーズには、独自のウインドウシステム (Personal Window) を装備したOS-9/680x0 Ver.2.4が、OS-9/X68000としてシャープから販売された（開発はマイクロウェアジャパン）。その後継製品として、マイクロウェアから、X68030用のOS-9/X68030 Ver.2.4.3も発売された。
他に、フォークスから、FM-11やFM-16β、PC-9801に68000ボードを搭載してOS-9/68000を稼動させる製品、FM-Rに68020ボードを搭載してOS-9/68020を稼動させる製品が発売されていた。
OS-9 OS-9の稼動する汎用のコンピュータ
初期のOS-9/68000の開発環境として著名なものが、星光電子を始めとした国内のデベロッパーが広く使用していたマイクロボード（マイクロウェアジャパンの親会社）の製品である。同社のVMEバスボードを筐体に収めてセット販売したもので、いわば純正品(?)である。同社からはVMEバスの各種カードが産業用として発売されたが、それ以外にも、PC/ATマザーボードと同規格の基板に68030を載せたPCスタイルの製品も発売された。
また、マイクロボード以外にも多くのメーカーのVMEバス(VXIバス)、マルチバス、PCI/CompactPCIバスのボードがOS-9に対応していた（いる）。例えば、モトローラ（代理店：丸文）、アドバネット、アバールデータ、オムロン、シャープ、橘テクトロン、タンバック、電産、東京エレクトロン デバイス、フォークス、フォース・コンピュータ（代理店：インターニックス）、マイクロクラフトなどの製品である。（五十音順）
米国では、Apple II用の6809カード (The Mill) がOS-9/6809を標準OSとしていた他、タンディカラーコンピュータ (CoCo)、MM/1等、また、PC/ATに68020カード（アルプス電気製）を搭載してOS-9/68020を稼動させる製品が発売されていた。また、Macintosh用OS-9/68000も発売されていた。これは、すべてがスーパバイザモードで動作する当時のMacintosh OSをうまく利用し、TOOLBOXを利用可能としていた。
OS-9 評価と現状
もともとオペレーティングシステムではなくマルチメディア関連のミドルウェアが目当てでマイクロウェアを2001年に買収したRadisysのウェブサイトでOS-9は[Microware OS-9]として紹介され、ライセンスの販売（そしておそらくはサポートも）は古くからOS-9を手がけてきたシステムビルダ3社による代理販売となっていたが、Radisysは最終的に2013年3月にOS-9とMicrowareに関わるブランドを含む全権利をこの3社による共同事業体 (Microware LP) に譲渡した。
誕生から30余年を経たOS-9は2015年現在も開発が続けられており、OS-9 v6.0のリリースが予定されている。
MZ (コンピュータ)
MZ（エムゼット）は、1970年代から1980年代にかけてシャープが販売していたパソコンのシリーズ名。当時、シャープはパソコン御三家といわれていた。
MZ (コンピュータ) 設計とシステム構成
MZシリーズの始まりは、1978年5月に発売されたマイコン博士MZ-40Kという4ビットマイコンのトレーニングキットである。MZ-40Kの名前の由来は風呂ブザー用に用意してあった登録コードを流用したものであった。
製品を発案した事業部は部品を販売する部署であり、計算機などを扱う部署との摩擦を防ぐ意味合いもあって、MZ-40Kに続いて技術者用のトレーニングキットという名目でMZ-80Kを半完成キットの形で発売した。これらとは別に、MZ-80Tというワンボードトレーニングマイコンも用意されていた。
シリーズとして以下のような特徴を持っている。
MZ (コンピュータ) 設計とシステム構成
MZ-80Kも試作機では、BASICもROMで搭載されたコンピューターであったが、シャープがROMを外部調達する都合上、ROMに納めたプログラムにバグが発覚すればその原価から多大な損害が発生する。このリスクを回避するため実際に商品化された製品で採られた苦肉の策が、システム全体をROMとして持つのではなく、最低限の処理を収めたモニターのみを本体にROMで搭載し、基本プログラムはカセットテープなどのメディアで供給するという、後に「クリーンコンピューター」とうたわれるシステムであった。現実にはそれほど致命的なバグが露見することはなかったが、逆にマニアからすれば自分で自由にソフト開発ができる環境となっており、ハドソンソフトやキャリーラボをはじめとしてシャープ以外のさまざまなソフトハウスから言語、オペレーティングシステム等が発売されると共に、各種言語やシステムのリリースが行われたり、シャープ自身もハイスピードBASICなどのソフトウェア的なアップグレードを実施した。これらの状況から、苦肉の策の設計であったクリーンコンピューターは、ソフトウェア的にフレキシブルなシステムであることを、以降のMZシリーズの特徴的な設計として広告文句にも利用するようになった。この実装では、システムそのものを本体に持たないため、当時の標準環境であったBASICが利用可能になるまで、標準内蔵デバイスであるデータレコーダーからの起動で数分を要するという欠点もあったが、FDDの利用で10秒前後に短縮できるほか、MZ-80B以降のIPL (Initial Program Loader) では、MZ-1R12等のメモリーボードに予め起動するシステムを書き込むことでも改善することが出来た。同様にクリーン設計を採用したX1では、CZ-8RB01として予め拡張ボードに書き込まれたBASICも発売されていた。これらのSRAM若しくはROMボード上からの起動でも、それらは直接メモリー空間にマッピングされているわけではなく、IPLにより、メインメモリーに「転送」されて起動する。
MZ (コンピュータ) 設計とシステム構成
MZ-80Kではコマンド自体が6種しか実装されていないものの、実際にROMで実装されているモニタは現在のBIOSに相当し、文字表示や内蔵デバイスへの入出力、音の出力などのローレベルな処理が書き込まれており、最低限の物しか存在していないわけではない。MZ-80Bでは、本体基板にはIPLのみをROMで実装し、モニタも含むシステムプログラムは、全てRAMに展開されるようさらにその設計を推し進めたものになり、同社X1では更にアドレスデコードの工夫によって、IPL自身が直接読み込むことが可能な容量が増えている。これら、ソフトウェアを固定しないかたちで進められたその思想は、X1turboやMZ-2500では再度、複雑化したハードウェアをサポートするためのBIOS(IOCS)が本体に実装されるようになり、結果として先祖返りするかたちになっている。また、他の機種であっても、起動時にディスク対応のモジュールの読み込みを行ったり、ROM部分のバンク切り替えによるRAM化が可能になるなど、実質的には実装の差は、互換性を維持するために搭載されるBASIC-ROMの有無のみになっていった。
MZ (コンピュータ) 設計とシステム構成
初期の同シリーズは、本体・ディスプレイ・キーボード・データレコーダーを一体とし、本体のみでシステムが最低限完結するように設計されていた。機種によって構造やパーツは異なるものの、筐体は底面のビスを外すことで背面の蝶番を支点として、車のボンネットカバーのように持ち上げることが可能になっており、内部に用意された支柱によって固定し、内部をメンテナンスできるようになっている。PCシリーズを祖とするMZ-3500、MZ-5500シリーズを除けば、MZ-2000やMZ-1200の世代まで受け継がれる外観にも現れる特徴的な設計となっていたが、ディスプレイのカラー化などの流れとコストのバランスの都合から、MZ-700以降は見られなくなった。