MZ-80A
MZ-1200

 ついに兄弟機が揃う…大物はもう狙わないと誓ったはずなのに(3度目)…。

左:MZ-80A 右:MZ-1200

 外観だけならキーボードが違うだけ、本体だけならモニタROMとハードウェアスクロールが違うだけ…それならばMZ-1200があればいいじゃないか…と静観してきたのですが、拡張I/OポートとFD I/Fがセットで入手できるなら話は別です。長いことeBayをチェックして、ようやく入手に成功しました。
 一方MZ-1200の方は、この一連のページをご覧になってくださった方から譲っていただいたものです。ソフト的にはMZ-80Cがあればほとんど問題ないとはいえ、画面の白黒反転・ROMとRAMの入れ替え・VRAMウェイトとささやかながらハード的改良が施されたマシンですから、入手できるチャンスを逃す手はありません。

 さて、これだけ似ているMZ-80AとMZ-1200…まぁ事実上同じ機種というか、MZ-80Aを日本国内向けに仕立て直したものがMZ-1200なので似てて当然なのですが、細かいところに差異があったりするわけです。MZ-80K/Cシリーズからの拡張ポイントに注目してその差異をざっと並べてみると…。

  MZ-80A MZ-1200 MZ-80C
メモリスワップ
($0000〜$0FFFと
$C000〜$CFFFを
交換する)
画面白黒反転
ハードウェア
スクロール
キーボード MZ-80Bに準拠 MZ-80Cに準拠
I/O拡張 MZ-80AEU
(本体に装着)
MZ-80I/O
(ケーブルで接続)
MZ-80I/O
(ケーブルで接続)
モニタ SA-1510 SP-1002 SP-1002
ユーザーROM
($E800〜$EFFF)

(自動起動可)
BASIC SA-5510 SP-5030 V1.0 SP-5020/5030
VRAM 2KB 2KB
(前半の1KBのみ有効)
1KB

結構ありますね…MZ-80Kベースなだけに基本的な互換性があるとはいうものの、当然ハードウェアスクロールやSA-1510の内部ルーチンを使ったり、キー配列に依存したりするとそれでしか動かないわけで…。よく考えたらこの拡張された機能ってMZ-700には引き継がれてなかったものも多々ありますし、むしろ異端さを主張しているかのようでもあります。

キーボード

 上の写真で最も違いがわかるのがキーボード。MZ-1200の黄色いキーに見慣れてしまうと、MZ-80Aのキーは(本体の色と相まって)のっぺりとしてるように見えてしまいますが…。

 MZ-1200のキーボード。雰囲気が違うのでなかなかピンとはきませんが、この配列はMZ-80Cのものを下敷きにしています。右にあった青いグラフィック文字キーが黄色くなっただけではなくて、80Cでは5列×5行並んでいたものを1列だけフルキーのところに移動させているのです。
 こちらはMZ-80Aのキーボード。00キーとかENTキーとか、まるまるMZ-2000と同じです。というか配列はMZ-80B由来ですよね。

 カナ・英数キーがない代わりにGRAPHキーがあって、BREAKキーがBREAK・CTRLキーになってます。お、そういえばこれMZシリーズで初めて刻印としてCTRLキーが搭載されたマシンってことになるんじゃないですか?

 それと少し面白いのが、カーソル上下移動キーの機能の、その上下が入れ替わっているということです。左右移動キーは入れ替わってないのに…。輸出用のMZ-80Kでも入れ替わってないんですよね…なんで変えちゃったんでしょうね?

I/O拡張

 さてさて、キーボードぐらいしか違いが見つからない前面と違って、大きな違いがあるのが背面。もちろんどちらもオプションですが、I/O拡張方法の違いがここまで大きく外観を変えているのです…!

左:MZ-80A+MZ-80AEU 右:MZ-1200+MZ-80I/O

 完全にこれはMZ-2000の雰囲気ですね。というか背面から取り付けられているMZ-80AEUMZ-1U01と形状・大きさが全く同じなので、そりゃ本体の色が違うだけのそっくりさんになるというものです。もちろんスロットの中身もMZ-80B以来の拡張ボードのサイズですから、そこだけ見ると本当にMZ-2000の仲間になったのかのようです。

…いや、そうなってしまうと過去製品との互換性が…MZ-80AはMZ-80I/Oを接続できないのですよ、しかもですね、FDDの容量が2Dに増量されたのですが、専用I/FであるMZ-80AFIは2D専用で、2Sフロッピーを読み書きできないので、過去のシステムを起動したり、プログラムやデータを直接コンバートすることもできないのです…。まぁテープを介せばある程度は可能でしょうけどね…。

 しかしこの、箱が付くのとケーブルが付くのではえらい違いがあると思うのですが、どうなっているのでしょうか?

MZ-80A MZ-1200

 むしろMZ-1200の方を注目してからMZ-80Aについて見るのがわかりやすいでしょうか。MZ-1200では奥から突き出すように何か構造物が生えてます。これが拡張用I/Oコネクタですね。このコネクタはメインボードに実装されているもので、メインボードがここの部分だけびよーんと延びているのです。MZ-80Aはそうではなくてカードエッジコネクタがあるだけです。MZ-80AEUの方を見てもらえば、対応するカードエッジ用コネクタがあるのがわかると思います。

 もちろんMZ-80Aに装着されるI/Oユニットは電源内蔵型ですから、本体内部に接続口(AC)があります。一方MZ-1200の方は空しく穴が開いてるだけですね。

MZ-80A MZ-1200

 背面に戻って、大きい開口部の両脇にあるネジ穴のところとか、開口部の底の部分とかに白っぽい箇所がありますが、これはI/Oユニットのフレームと接触することで電気的に結合されるよう配慮されたものです。全く同じ部品(というのは筐体の底の部品なのですが)を使っているので、必要のないMZ-1200にも同じ箇所があるというわけですね。

 ところで、背面のパネル…

MZ-80A MZ-1200

MZ-1200では拡張用のI/Oコネクタを出すために穴が空いているわけですが、資料や海外のMZ-80Aオーナーの写真を確認してみると、どうも背面パネル自体はMZ-80Aにも同じものが使われていて、開けておく必要のない穴は専用のフタ部品で塞がれています。他の部分の設計からするとMZ-80Aを変更してMZ-1200ができたとしか思えないのですが、後に登場したものに対して配慮されている部品があるということは、同時に製造がスタートしてるということなのでしょうか…? それこそ細かい話なのですが、製造を同時スタートできるほどに並行して設計していたのならMZ-80Aに合わせたために不便になってるところをもう少し改良できたんじゃないかとも思われるのですが…そこはコスト優先ですか?

 それと、I/Oと言えばプリンタもありましたね。MZ-80Aの背面から見て左下のスロットに入っているのがプリンタのI/Fです。MZ-80BやMZ-2000と同じ場所ですが、使われているボードもMZ-8BP5Iですし、つまり回路も何もかも同じだということですね。
 MZ-80A用としてMZ-80P5の専用バージョンであるMZ-80P5Aというプリンタが発売されたのですが、それ以前の80K用プリンタ向けに交換用のROMが提供されていました(微妙にキャラクタが変更されている)。MZ-80Kで使っていたプリンタをそのまま使うために異なるコネクタ形状を変換できるアダプタも存在したようです。

画面表示いろいろ

 MZ-80K系で初めて、画面の白黒反転(リバースモード)ができるようになりました。表示内容が変わらなくとも、リバースすると雰囲気が一変するんですよね。PC-8001では当たり前に使えた機能だったので羨ましかったものです…比較的簡単な改造で実現できるので雑誌にも投稿記事が掲載されたりしました。やっぱりみんな羨ましかったんですね。

 反転して暗い部分が明るくなる…といっても上下左右のブランキング期間は範囲外で、文字の表示エリアだけが反転します。これはMZ-80Bの画面反転と同じですね。

 画面反転を制御するポートはメモリマップドI/Oになっていまして、

アドレス リード ライト
0xE014 ノーマル画面 なし
0xE015 反転画面 なし

と割り当てられております。MZ-80AのBASIC・SA-5510ではコントロールコードに機能が割り当てられているのですが、MZ-1200に付属するのはこんな機能のない時代に作られたSP-5030ですから、PEEK関数で読み出すしかありません。

 MZ-80Aにはさらに、ハードウェアスクロール機能があります。実際の機能としては8文字単位で表示開始位置をずらすことができるというもので、これを40字分(8×5)ずらせば1行スクロールしているように見えるというわけです。

アドレス リード ライト
0xE200
〜0xE2FF
表示開始位置指定
(アドレス下位×8文字目)
なし

 MZ-80Kの時代に比べてVRAMの大きさが倍になっていますから、二画面分(50行)の表示領域があることになります。そして、物理的なVRAMの最下行の下には最上行が続くようになっていて、ハードとして完全に筒型の画面が存在している状態なのです。

 モニタ・SA-1510は表示状態やカーソルの位置など完全に管理していて、実質的に50行の画面の25行分をウィンドウ表示しているかのような見た目で使用することができます。MZ-700のS-BASICでも同じことができるのですが、あちらはブロック転送で実現しているのに対して、こちらは表示位置をずらしているだけなのでクロック2MHzでも超高速です。

 もうひとつ、MZ-80AとMZ-1200に共通する改良点として、画面にノイズが出なくなったことが挙げられます。これは表示中(非水平ブランキング期間)にVRAMをアクセスするとウェイトがかかるというもので、水平ブランキング期間にアクセスさせるようにすることでアクセス時にバスに乗るデータが表示回路に取り込まれることを防ぎ、画面には余計なデータ(=ノイズ)が現れなくなるのです。

 MZ-80K2Eまでは画面表示とVRAMアクセスはどちらもお構いなしに実行されましたから、ノイズを出さないようにするには垂直ブランキング期間まで待って(というモニタサブルーチンがある)表示するという、ソフトによる配慮が必要でした。でもこれをやるとプログラムの実行が遅くなるんですよね…特にBASICだと全部のPRINT文の直前にブランキング待ちを入れちゃったりなんかして、それこそ1行表示するたびにブランキング待ちしてしまうわけですから…。

 でもMZ-80A/1200ならそんなことしなくても自動的に避けてくれますので、余計な工夫は必要ありません。垂直ブランキング期間待ちをしまくるよりずっと高速にプログラムが走ると思います。ただこれも問題がないわけではなくて…今まで通り垂直ブランキング期間に表示を集中させたいと思っても、その垂直ブランキング期間の中の水平ブランキング期間にしかウェイトなしでのVRAMアクセスができないのです。そしてもちろんノイズ出まくりで構わないから高速にアクセスしたいという希望も叶えられません。このあたりは後のMZ-700と変わりませんね。

メモリスワップ

 0x0000番地にあるモニタROMと、0xC000番地にあるRAMを入れ替えることができます。何のため? そりゃCP/Mのために決まってるじゃないですか!

…であればよかったんですが、純正のCP/Mは発売されず画面も40桁固定では本当にCP/Mのためだったのかどうか、定かではありません。CP/Mの動作要件として「0番地からのRAM」という、8080系用なのになんて8080系には相性悪いOSなんだと思ってしまう要件を満たすためにはぴったりの機能なんですが…。サードパーティーからは倍速ボードがCP/M対応として同様のメモリスワップ機能を備えていたりとかしましたから、やっぱりそういうことじゃないかと思うんですよね…。

 後述しますがMZ-80Aには80桁表示を可能にする改造パーツと対応CP/Mがサードパーティー製品として発売されたのでこの機能は活かされることになりましたけど、MZ-1200では本当に使い途がないままになってしまいましたね。ROMを差し換えることなくオリジナルのモニタ(NEW MONITORとか)を使う方法に応用できたとは思いますが、4KBほどRAMが減っちゃいますし…。

アドレス リード ライト
0xE00C メモリスワップ なし
0xE010 元の状態に戻す なし

 そういやこのあたりの拡張された制御ポートはどれもリードで反応するようにできてますね。なんでかな…PCGと共存できるようにしたかったのかな…(0xE010番地はPCGも書き込み専用として使用している)。

マニュアルとテープ

 MZ-1200のマニュアルはMZ-80Bを踏襲してOWNER'S MANUALとBASIC MANUALの二冊構成なのに対して、MZ-80Aでは一冊にまとまっています。

MZ-80A MZ-1200

 表紙の雰囲気が以前とはすっかり変わっているのですが、MZ-1200のマニュアルの内容はほとんどMZ-80K2E以前と変わりなく、一方MZ-80Aの方のオーナーズマニュアル部分は80Bの雰囲気そのままで、BASICマニュアル部分は欧州版80K用マニュアルの大部分と補足的な説明で構成されています。さらに加えて、両方とも回路図とモニタのアセンブルリストが掲載されているのはこの時期のMZの特徴ですね。

 付属するテープは、上の写真ではBASICとアプリケーションだけなんですが、MZ-80Aではさらに4本のソフトテープがオマケでついてきます。それぞれ

とタイトルされています。いわゆる「買ってすぐ使える」というやつですね。このオマケテープというのはMZ-700の代でも添付されました。

 一方、MZ-1200の方はもちろんオマケテープなんてありませんが、MZ-80K2Eと同様にスタートレックゲームがアプリケーションテープに収録されています。そういえば、テープのラベルのデザインが新しくなってますね。フロッピーも含めてここからデザインが切り替わったんですね。

ROMモニタ

 MZ-80Aで採用されたモニタは、SA-1510という型番が付いています。なんとなくというかそのものというか、MZ-80B時代にモニタとしてつけられていた型番…SB-1510(海外仕様のモニタ。国内用がSB-1520)とそっくりですね。Bの次がAとか、時期やら順番やらどっちが先なのか惑わされてしまいますが、恐らく本体の型番であるMZ-80Aの「A」にちなんで、MZ-80Bシリーズ用では「B」の文字が入っているところがAに置き換えられているのでしょう。

 名前は変わりましたが、SA-1510のできることはSP-1002とほとんど変わりません。従来から公開されていたサービスルーチンのアドレスも同じです。でもやっぱり少し違うところがあるんですね…例えばモニタコマンド。

SA-1510
(MZ-80A)
SP-1002
(MZ-1200)
ロード L LOAD
ジャンプ J GOTO$
キー入力ベル B SG
SS
FDDブート F FD

 入力可能なコマンドは同じですが、一文字になりました。ここに挙げてある分はMZ-700と同じですね(MとかPとかはない)。それに、キーがリピート入力できます。さらには、起動時に「ピッ」と音がします(鳴らすのが早すぎるのか電源スイッチONでは聞こえないかも。リセットボタンを押せば確実に聞こえる)。

 なんだか雰囲気がMZ-700用モニタ・1Z-009Aと似てる…と思ってSA-1510のソースリストを見つつ、SP-1002と1Z-009Aをそれぞれ比較してみたのですが、なるほどSA-1510はちょうどSP-1002と1Z-009Aの中間のようなソースになっていますね。SP-1002を改造してSA-1510を、SA-1510を改造して1Z-009Aを作ったように見えます。

 SP-1002→SA-1510という観点では、

という差異があります(日本版のSP-1002と比較しているため、輸出版との比較ではもう少し差異が少ないかもしれない)。

 またSA-1510→1Z-009Aだと

という差異があるのですが、どちらのパターンでも改造元のソースの雰囲気がどこかに残っていて、決して過去を捨てて新たに作るなんてことにはなってないことがわかります。

 残っていると言えば…。

カナが必要ない輸出仕様なのに、ワークエリアには「KANA FLAG」なんてのがあるんですよね。実際にはGRAPHモードのフラグとして使われているようなのですが、これはそもそも日本版のSP-1002から出発して引き継がれてきたという証拠。最初に見た時は「すわ、SA-1510の日本国内仕様(さしずめSA-1520だろうか)があり得たってこと?」とワクワクしたんですが、そうとは限らないようですね。

 日本版でのカナモードが欧州版のGRAPHモード…と言えば、MZ-80AではインジケータLEDがなくなってしまったんですよね。ではGRAPHモードをどう表現するのかというと、カーソル記号が変化するわけです。MZ-2000での入力モード表示と同じですね…というかMZ-2000がこれを踏襲したんですね(記号はMZ-700のGRAPHモードと同じ)。80Aでは切り替え先のモードがひとつしかないのでこれでいいんですが、カナとGRAPHとシフトLOCKの3つがある2000で何も工夫しなかったのはやっぱりいただけませんでしたよね…。
 1200でモニタをSP-1002に戻したのにLEDを省略したままにしちゃったもんだから、入力モードがわからないという困ったことが起こったのです…このあたりちゃんとしてほしかったな…。

 もう一つ、MZ-80AではCTRLキーが初めて採用されたということで、モニタのレベルで次のようなキーアクションができるようになりました。

キー操作 アクション ASCIIコード
CTRL+A シフトロック -
CTRL+E 画面の下スクロール 5
CTRL+D 画面の上スクロール 4
CTRL+Z '→'の入力
(FDOSやPASCALなどでデリミタを意味する)
-
CTRL+@ 画面の白黒反転
(トグル動作)
0
CTRL+[ VRAMを80Kモードとする -
CTRL+] VRAMを80Aモードとする -

Microsoft系とは違う、いかにもCTRLキー文化がなかったところに初めて採用しました…という感じの機能ですね。もっともCTRLキー文化だって何かの端末で使われていたとかのデファクトスタンダードでしかないのでしょうが…。

 ASCIIコードの割り当てられているアクションは、CHR$関数で表示させるとその効果が得られるものです。コントロール操作の対応するアルファベットがASCIIコードと対応するってのはよくある実装だと思うのですが、効果がないのか割り当てられてないのか、試しても思った通りにはならないようです。マニュアル見ればわかりそうなものですが書いてないような…?

 VRAMの80Kモードと80Aモードというのは、2画面分使ってバックスクロールなどを使用するかどうかという話です。80Kモードではハードウェアスクロール機能を使わず、スクロールで画面の上から消えたものはもう帰ってきません。その代わり見た目の表示位置とVRAMのアドレスが固定されますので、PRINT文での表示とVRAM直接アクセスの併用が楽になります。古いソフトを動かすための互換性確保が狙いなんでしょう。

ユーザーROM

 上記の表中にあるユーザーROMとは、$E800〜$EFFFの2KBにマッピングされるROMまたはRAMのことで、メインボードにはモニタROMの隣にそのためのソケットまたは実装パターンが用意されています。

MZ-80A MZ-1200

 もちろんMZ-1200ではただ単に「そこにある」メモリですけど、SA-1510では

  1. $E800番地が0x00で
  2. かつROMであったなら

自動的に$E800番地にジャンプするようになっています。「ROMであったなら」というのは、ここにはRAMも実装可能になっているという意味ですね。
 この仕組みはMZ-700にあるものとほぼ同じで、その原形と考えて良いでしょう。MZ-700ではMZ-1R12の読み書きやQDなんかのブートROMの起動に使われていますね。モニタROMにこの仕組みが備わっているので、ソケットが用意されているのでしょう。マニュアルにはそんなこと書いてないんですけどね。

 当然SP-1002にはそんな機構はありませんから、MZ-1200の拡張モニタROMソケットは装着されていないのでしょう。でも回路としては生きてますから、ソケットを実装してオリジナルのプログラムを"GOTO$E800"で起動させて便利に使う人もいました。Oh!MZ誌でも「MZ-1200が1200でなくなる真面目なお話」というタイトルでユーティリティを搭載する記事が掲載されたことがありました。エリアとしては昔からすっぽり空いていましたから、MZ-80K/C時代から同じようなことをしていた人もいたんじゃないかと思います。

 おっとそう言えば、このROMってMZ-80Aのマニュアルにある回路図ではソケットがあるにもかかわらず存在が消されていて、サービスマニュアルでようやく確認できたものらしいです。一方MZ-1200のマニュアルではソケットがないくせに回路図中に記載されています。なんかそれ逆とちゃうの…。

BASIC

 MZ-80Aに付属するBASIC・SA-5510は、機能的にはほぼSP-5030と同じと言えます。海外仕様という意味では前モデルのMZ-80KがバージョンアップしてもSP-5025(SP-5020の海外版)までだったので、それよりも機能アップしているという見方もできます。
 起動時のタイトル表示は、MZ-80Bに準じたものになりました。それまでの「ワンボードマイコンを拡張して使用できるようになったBASIC」みたいな雰囲気というか、無味乾燥なタイトルと比べるととても派手な印象を受けます。

SA-5510 SP-5030(旧バージョン)

 SP-5030との違いは、カーソルの位置を記憶しているCSRH(X軸)とCSRV(Y軸)というシステム変数が追加されているのと、モニタに戻るコマンドとしてBYEでもBOOTでもなくMONが使えるようになっています(ただし、モニタコマンドモードになる命令ではなくてソフト的にリセットされるだけ)。あとエラーメッセージがSB-5520などと同じく無味乾燥なもの…「*Error 1」などと数字で出るようになってしまいました。

 それと、シャープ製BASICでは珍しくバックアップテープの作成方法がマニュアルに記述されています。日本では雑誌とかシャープシステムエンジニアリングなんかの情報ペーパーなんかで広まった情報ですが、80Aのマニュアルにはそれとは違う方法が書かれています。そして、SA-5510には簡易なプロテクトが仕込まれていてマニュアルの方法では孫コピーが作れないようになっているんです。まぁちょっと解析すればどういう仕組みなのかすぐわかるんですけどね…。

 MZ-1200でのBASICは従来と同じSP-5030が付属しているのですが、通称「SP-5030 V1.0A」と呼ばれてMZ-80K2Eまでに付属したSP-5030と区別されています。というのも、SP-5030でありながらSA-5510と同じく派手な起動画面に変わっているのです。しかも、ちょっと現れ方が違う。

 なんですかこの、シンプルながら凝った画面は。当時これを初めて見た私は、「おおお〜」と感動しながら何度もリセットして表示させてました。それでいて型番はSP-5030ですからね。なんと過ぎたるタイトル画面よ…と笑ったものです。

 V1.0AというならそれまでのSP-5030のバージョンはなんだったのよとか思ってしまうV1.0A版ですが、機能的には全く差異はないもののなぜかテープアクセスルーチンがBASIC内にあって、モニタのサブルーチンは使われないようになっているんです。結局今日まで理由は不明です…ボーレートを変更可能にしておきかたったんでしょうかね…?

幻のカラー画面

 ところで、MZ-1200(とMZ-80A)にはカラーCRTモニタを接続してカラー画面が楽しめたかもしれない…という噂をご存じでしょうか。いやまぁ最近流れてるかもしれない噂は私が発信してるのがほとんどと思いますが、当時だって背面にある変な穴を見て「これはいったい何だろう?」と思った人もいただろうと想像します。

 だいたい、マニュアルだってこうなってるんですよ。

MZ-80A MZ-1200

 MZ-80Aの方、わかります? 二つの丸い穴が黒くなってて、薄く線が右上、そして右に…。この丸い穴の大きさは明らかに標準DINコネクタのものですし、黒いってことはそこに何かあったんですよね(製品ではMZ-1200のものと同様、筐体と同色の板で塞がれてて黒くは見えない)。線は右の方に何らかの説明をつけるための指示だったものを、とにかく消したとしか見えません(MZ-80Aの写真は試作みたいですけどね…放熱用の穴の数が違いますし構造も違ってそうです。さらに斜めになってる側面の角度がやや緩やかになっているようにも見えます)。

 また日本の場合はMZ-2000がありますから、その背面にあるRGBコネクタを見て「まさか1200にカラーなのか?!」と連想する人もいたんじゃないでしょうか。

 そして本体を開けて穴のところを見てみると、何やら意味ありげな突起やら基板パターンやらがあるわけですよ。

MZ-80A MZ-1200

 突起に基板の穴を合わせて、手前のツメの上から基板を押し込めば、ネジいらずで固定できそうな、そんな構造です。よく見るとツメのある張り出しの下にコネクタ(or コネクタがつきそうな穴)があります。その端子配列がこちら。

D0 D1 D2 D3 D4 D5 D6 D7 LOAD VIDEO *V.HBLNK SYNCH *HBLNK GND +12V GND +5V
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 *WE *GT *CS *RD GND +5V
 
信号名 機能
LOAD キャラクタをCGROMから取り出して表示出力用のシフトレジスタに取り込むタイミングを示す。
VIDEO ブランキング信号等によって非表示部分をマスクしたあとの、モノクロモニタに送り出す映像信号そのもの。
*V.HBLNK 垂直と水平のブランキング信号の合成。
SYNCH 垂直と水平の同期信号を合成したもの(複合同期信号)
*HBLNK 水平ブランキング信号
*GT アトリビュートVRAMアクセス用データバスのゲート信号。
*CS アトリビュートVRAMアクセス用チップセレクト信号($D800〜$DFFF)
A10〜A0 純粋なZ80のアドレスバスではなく、それと表示するVRAMのアドレスをMUXしたもの。
つまりアトリビュートVRAMに書き込む時はそのアドレス、その他の場合は表示中のVRAMを表す。
D7〜D0 Z80のデータバス

 そう、MZ-700のアトリビュートVRAMと同じアドレスをアクセスできる信号がここに用意されているのです。第2CGはないのでMZ-700と全く同じではないのでしょうが、文字色だけじゃなくて、文字の背景色も指定できたんじゃないかと想像しています。この構成がほぼそのままMZ-700に採用されたのではないでしょうか。

 MZ-80Aの方の写真ではコネクタがついていますが、海外のオーナーの写真を見てもついているようですので、多分標準的に実装されていたのでしょう。CN1と部品番号も振られてますし(MZ-1200では信号の穴はあれども部品番号はない)、モニタSA-1510では初期化時にこの領域を0xCFという値で埋めてますので、オプション設定する予定だった可能性もあります。

 ちなみにこの部分、Aレジスタに0x16を入れてPRNTを呼んでるのはテキスト画面のクリアで、その次から#CLR8を呼び出すまでがアトリビュートVRAMの初期化。途中の「JR +5」は次の「JP 1035H」をスキップするためのもので、「JP 1035H」はNMI処理(0x0066番地)をソフトで使えるようにするためのフックです。

 カラーコードの設計値がどんなものなのか想像するしかないのですが、初期値として書き込む0xCFはMZ-700だと背景:白色・文字:緑色であまりにも見にくく、いくら輸出用だからってちょっと信じられません。輸出専用のMZ-800だって背景:青色・文字:白色なのですから、これも同様だとすれば…といろいろ考えて、おそらくこの並びではないかと思うのです。

無効 背景 文字
G R B G R B
7 6 5 4 3 2 1 0

 ここまでお膳立てされてるのなら、ちょっとした回路でカラー表示できるようになるのでは? もちろんモニタが初期化してくれる以外のソフトサポートなどありませんが(意外なことに海外のユーザークラブの情報を当たっても作ったとかいう話に行き当たらない)、作ったって何か従来の物がオミットされるわけでもありませんからね。

 というわけでやや試行錯誤して作ってみたのがこちら。

 よくよく考えたらCN1から出てる同期信号って複合同期なんですよね。シャープ純正のパソコン用CRTモニタの中には複合同期式のものもありますので、MZ-80A用CRTモニタがもしあったら複合同期式だったかもしれませんけど、手持ちのモニタはほとんどセパレート同期入力なのでなんとかして分離する必要があります。

 最初は定番のビデオシンクセパレータ・LM1881Nを使ったのですが、想定してない信号なのか全く出力されなくて、この回路図の方式に変更しました。水平ブランキング信号を引き延ばしたものを使って複合同期信号から水平同期信号成分をカットするようフィルタすることで垂直同期信号を再生できて、さらに元の複合同期信号とXORすればちゃんとした水平同期信号が得られるという具合です。

 もちろんカラー表示ボードのために用意された場所に取り付けられるよう基板を加工して、コネクタの場所もちゃんと合わせました…というかこれ当時汎用のユニバーサル基板使って試作したよね? 固定用の突起の位置がぴったり蛇の目の穴に合ってるんだけど…。

カラー表示ボードの外観 MZ-80Aに取り付けたところ

 期待通りに、青地に白の画面が現れました。

画面をリバースモードにすると、当然色も入れ替わるわけで…これはMZ-700にはありませんでしたからね…。

 ところで、MZ-2000のことを考えると、どうして背面の丸穴は2つあるのか不思議になってきませんか? 丸DINコネクタがあったであろうこの穴が2つあるということは、カラーとモノクロのモニタ用コネクタが想定されていたと考えるのが自然です。でも、本体にグリーンCRTがあるのですからモノクロ出力があるのも変ですよね。階調表示ができるとか? 本体CRT基板から伸びるケーブルを中継するように接続すれば本体でも階調表示できますよね…?

 あともうちょっとでカラー表示が実現したのに、結局キャンセルされてMZ-700までお預けになってしまったのは、この辺りの中途半端さによるものなのでしょうか? それとも他の事情? 真実は闇の中…。

CRTCと80桁表示

 当時MZ-80BとMZ-1200のマニュアルや基板を比較することができた幸運な人の中には、とある事実に気がついた人がいたかもしれません。それはMZ-1200のCRTCはMZ-80Bと同じものが使われているということ。もちろん同じ設計のMZ-80Aも同様です。

MZ-80A MZ-1200

 さてこのCRTC。シャープのロゴこそ入っていますが、パッケージ中央に薄く入ってる丸、1ピン側長辺に走るライン、これはいかにも富士通のLSIの特徴…そう、これは富士通のカスタムLSI「MB14000シリーズ」で設計されたものです。MZ-80BからMZ-80A/1200の時代には特にこのシリーズのLSIがよく使われているように思います。富士通の工場で作っているのにシャープのロゴがあるのは、追加料金を支払うと顧客の希望するマーキングを入れてくれるサービスがあるということなんですね。さすがに富士通として何者かわからなくなるのは良くないと思ったか、MBを除いた型番も刻印されています。

 その型番とはMB14298とMB14299。正確には、それがそのまま使われているのはMZ-80Aだけで、MZ-1200ではMB14299の代わりにMB14048というのが使われています。「MB14000シリーズ」というぐらいなので下3桁が通しの設計番号を示すのではないかと思う所なのですが、200個くらいの差があるのならMB14048はかなり昔に作ったことになるわけで…おそらく、「シリーズ」といっても収容できる回路の大きさにいくつかのバリエーションがあったと思われるので、0番台とか200番台とかでその中身がわかるようになっているのではないかと思います。なので数字が小さいからと言って昔に作られたわけではないと考えています。

 回路図を見る限りMB14299とMB14048の機能に差があるようには思えません。CRTCの機能からして出荷先で分ける必要はありませんので、何らかの理由で作り直したと考えるべきでしょう。しかしイニシャルコストが改めてかかるというのにどうして作り直すのか…コストダウンを期待してダイサイズ(半導体チップの大きさのこと)を落としたかった? 80桁モードなど不要な機能を削除したかった? 特性的な不具合を抱えていて改良した? うーん。

 ちなみにMB14000シリーズとは、200ゲートの回路が収容できるカスタムLSIで、入出力の特性は5V TTLコンパチとされています。技術報告書「富士通」での記事では回路規模に合わせたLSIパッケージ(16〜28ピン)が選べることは書いてありますが、規模そのもののシリーズ分けがあるようには書かれていませんでした。なので型番については依然不明のままです。

 それはそれとして、80桁表示が可能なMZ-80Bと同じ部品を使っているというのであれば、MZ-80A/1200は多少の改造で80桁表示が実現するんじゃないかと期待してしまいます。マニュアルの回路図を見るとMB14299/MB14048のCH80端子が"L"レベルに固定されてたりするわけですよ。ここを適切に設定すればもしかして…?

 …というネタ、マニュアルを見たら誰でも考えそうな気がするんですが、個人的な印象ですが日本では出回ってなかったように思います。まぁそういう画面を使いたい人はMZ-80BやMZ-2000に流れたでしょうからね…一方MZ-80Bが高価すぎるとして売れなかった海外ではサードパーティが改造キットを早々に発売するようになります。入手したMZ-80Aには、まさにその改造が組み込まれていました。

 CRTCをICソケットから抜いてこの子基板を2階建てとして装着。あとはいくつか足りない信号を電線でつないで…。Frontrealmという会社のコピーライトが1982年付けで基板に書いてありますので、やはりかなり早い対応だったのでしょうね。8255の空きポートを利用して、ソフトで切り替え操作ができるようにされています。といっても空いてるのはキーボードスキャンのポートしかないので、キー入力で元に戻らないようモニタにパッチが当てられています。ユーザーによる改造ではトグルスイッチによる手操作だったりしたことが多かったようです。

 えいやっと回路図にしてみました。

 実際にはパターンカットも必要になります。カット箇所が上記カラー表示ボードに必要な信号だったようで、またメインボードも不調のようで肝心の80桁画面は拝めていません。

 そもそも、MZ-80BのCRTCを流用することにどれだけの意味があったのか? 考えれば考えるほど不思議なんですよね。40桁×25行表示するだけなら従来の回路を載せておけばいいわけで。もちろん集積化により部品点数を減らしたりできるわけですが、カスタムLSIなんですからコスト的に安くついたのかどうか…。海外でMZ-80Bが売られなくなったことで、予定していたカスタムLSIの使用数が少なくなってしまったことに対する救済策という説も考えられないこともないんですが、MZ-1200では1個を作り替えしてるぐらいなので、余って仕方なかったから…てのも考えにくいのではないかと。

 ハードウェアスクロールも80桁表示のためだったと考えることもできるのですよ。80桁で表示したら文字数は倍の2000文字。スクロールするには、一番上の行はいらないとしても1920文字を2MHzクロックのZ80で転送しないといけないのです。さらに表示期間はウェイトがかかるようになりましたからバイト数の時間以上かかります。

 しかし25行目の次の行(表示範囲外)に新しく表示すべき内容を書き込んでからハードウェアスクロール機能で表示位置をずらせば、最大で81バイト分の書き込みで画面全体がスクロールすることになります。これなら遅いCPUでも楽々です。

 やはり集積化にとどまらない、ポジティブな意味での採用なんでしょうか。であるなら、個人的には80桁表示を目指していたと思いたいですね…。

コストダウン

 MZ-80AとMZ-1200の内部を比較すると、カラー表示ボード用コネクタだけでなくいろいろな部品のソケットがなかったりすることがわかります。まぁわかりやすいコストダウン策ですよね。ROMがEPROMだったのがマスクROMになってるのもそういうことなんでしょう(もっともこちらは80K2Eまでで使われていたROMを引き続き採用しただけなのだろうが)。

 それにしてもおかしな話ではあります。既に80K2の時点で直付けになってる部品が多数あって、交換を予定する必要だってないのです。80Aでソケットが使われている部品は

とこれだけあり、1200ではCG ROMとモニタROMとDRAMのうち8個を除いて直付けに変更されているのです。

 とある情報によると、MZ-1200も初期ロットはソケットを多用していたらしく、DRAMの歩留まりが上がった頃に直付けに変わったということのようです。ネットにあるMZ-80Aの写真はどれも(そして手元にある80Aも)ソケット付きで、一方MZ-1200の方は直付けばかり、そしてロットによってそれが切り替わったとするなら、MZ-80Aはほとんどソケット付き時代にだけ生産し、MZ-1200は初期の一時期だけソケット付きでその後直付けになった…と推測できます。

 なおマニュアルにはシールで「イギリスとアイルランド向けに出荷した製品には標準で48KBのRAMを実装してある」と注意書きが貼ってありました。あれ? もしかしてあまりにも売れないんでオマケ付けました?


MZ-80A/MZ-1200とはなんだったのか?

 輸出仕様であるMZ-80Aのことを知らない当時の私は、かっこよくてお値段据え置き(総合的には安くなった)とはいえ、MZ-1200はあまり注目する対象には考えられなくて、やはりMZ-2000が時代相応の機能を備えたことで憧れ、さらに年末のMZ-700登場ですっかりその存在を忘れてしまっていました。実際、半年でそのポジションのパソコンを世代交代させるのは、日進月歩の業界とはいっても早すぎます(当時は1年毎のモデルチェンジも「頻繁すぎる」と批判されたものだ)。シャープ自身が中途半端さを認めていた証拠ということなのかもしれません。

 しかしMZ-80Aの存在を知り、中途半端さの原因が「そもそも盛り込もうと思っていたがキャンセルしてしまった数々の機能」にあるとわかった今では、「ではその『そもそも』とはいったいどういうものなのか」が気になってしかたありません。「MZ-80A=MZ-1200」とは単純に言えないわけですから、なぜそんな違いが発生してしまったのかも不思議です。

 不思議がっても推測するしかありません。いろいろな状況証拠から、MZ-80Aを開発することになる理由・およびその内容について妄想してみました。想像なので無保証であると共に、新しい情報によって予告なく書き換わります。というか少なくとも一度、全面的に書き換えました。

いつMZ-80Aの開発が始まったのか

 MZ-700への連続性を確認する一環として、モニタ・SA-1510のソースリストを眺めていた時、肝心な情報があることに気づきました。リストの先頭にコメントとして日付が記されてあったのです。機能がどのように実装されてるかばかり気になって、こんな目立つところに大事なものがあるとか思わないなんて迂闊でした。

 おそらくSA-1510が完成した日付ということなんでしょう、「'81.8.26」と書かれています。右上にも「09/04/81」という日付がありますが、これは印刷用リストのヘッダに記されるもので、マニュアルに掲載するために印刷した日なのだと思われます。

 ROMモニタというものは今で言うBIOSにあたるものですから、当然ハードウェアを直接叩くプログラムの集合体と言えます。このリストに書かれたプログラムがそのまま製品に搭載されていることですし、1981年8月26日にはハードも含めて設計が終わっていた可能性が高いということになります。早ければ10月にも出荷が始まっていたかもしれません。
 逆算していくと、8月中旬くらいには試作ボードが欲しいですし、基板を設計しているなら7月中旬には回路と基板パターンが完成していて、その着手は6月中頃? すると企画は5月には始めたいところですね…。

 つまりMZ-80Bの開発が終わった直後くらいにMZ-80K系列の新機種について検討が始まったのだろうという推測ができることになります。もちろんこの時期はまだ部品事業部がMZの開発を行っており、事業のテリトリー侵犯はほとんど問題になっていなかったのではないかと思われます。WikipediaではMZ-80A以降の機種について部品事業部は関わっていないという記述がありますが、時期から考えると少なくとも企画と開発までは部品事業部の手によるものだと考えるのが自然ではないでしょうか。

MZ-80Aに予定されていたスペック

 誰がMZ-80Aの企画を立案したのかを考えることは、搭載された/見送られた機能を考える上で重要です。以前私は、MZ-80Aの企画がパソコン事業部によるもので、MZ事業移管後に立案されたと考えていました。MZ-80Aの中途半端なスペックはパソコン事業部の不慣れが原因なのではないかと思ったからです。しかし部品事業部の企画によるものならば、中途半端になった理由も変わってきます。

 MZ-80Aは輸出専用として出荷されました。多くのMZはまず日本国内で発売した後、海外向けに仕様変更されるというステップを踏んでいます。そうならば6月頃の設計開始までに国内版のMZ-80Aが発売されてないといけませんが、影も形もありません。つまり企画当初から輸出仕様として検討されていたことになります。

 目に見える形で残っているのが輸出仕様だけしかないだけで、本当は国内向けにも開発していた可能性はどうでしょうか。1981年はMZ-80K2Eが発表・発売された年でもあります。その発表とは9〜10月のことで、アーキテクチャに変更がないとは言えカラーリング変更などの準備には多少なりとも時間が必要です。ということはある程度SA-1510やMZ-80Aの開発と期間的に被っていると考えられ、必然的にMZ-80Aを国内向けに開発する理由がなくなるのです。

 MZ-80Aが輸出専用ならなおのこと、海外におけるパソコンの使われ方を意識して仕様が決定されることは当然と言えるでしょう。そしてそのスペックこそ、MZ-80Aに見られる全ての痕跡が痕跡ではなくちゃんとした機能として実装された姿なのではないでしょうか。それはつまり、

を実現するための、MZ-80Kに対する拡張です。部分的にはMZ-80Bと同等だったり超えたりしてる機能もありますが、MZ-80Bが80Kとの互換性を完全には確保しない仕様になったように、その時その時でその機種に必要な機能を愚直に盛り込むという考え方で開発していたのかもしれません。
(ただし、80桁表示についてはSA-1510にて40桁表示に設定していると推測されるような処理が見当たらないため、機能が搭載されることになっていたかは疑わしい)

 モニタが8月末に完成していたとして、BASICはどの程度完成していたでしょうか。カラー機能は搭載されていたのでしょうか。気にはなりますが、完成する前にもっと大きな事件が発生してしまいました。パソコン事業部へのMZ事業移管の影響で、MZ-80Aの発売の目処が立たなくなったのです。

パソコン事業部の手によるMZ-80A

 テレビ事業部のパソコン開発計画を調整する必要もあり、部品事業部からMZを引き取ったパソコン事業部は、全社的なパソコンの計画を策定しないといけなくなりました。自分たちが昔から売っていたパソコンには邪魔だったMZは、うやむやにしながら葬り去ってしまうことも可能だったでしょうが、既に莫大な利益を上げるドル箱商品に成長しており、経営陣からはさらに売り上げを伸ばすよう期待されていたはずです。

 タイミングからすれば、それがMZ-1200とMZ-2000の企画だったことは間違いないでしょう。既に開発が進んでいたMZ-80Aの設計資産を流用することもできますしね。大まかには、カラー表示ができない分時代遅れのイメージが拭えなかったMZ-80Bをカラー化しキーボードや拡張I/Oポートを流用したMZ-2000と、MZ-80K2Eからは飛躍しすぎて互換性が怪しくなったMZ-80Aの機能を絞って同等レベルにしたMZ-1200…ということだと思われます。

 推測するのに材料が乏しく、どうにも判断付かないことが二つあります。ひとつは筐体のプラスチック化を誰が決めたのかということで、製作費用がかかる金型を多数作るだけの予算が果たして部品事業部にあったのだろうかという疑問が拭えないのです。数えてみると、MZ-80Aのプラスチック部品は

…っと、ざっとこれくらいあります。MZ-80K2EはCMT部とフタと操作ボタン、MZ-80BはCRT部前面と後面、CMT部のフタぐらいしかなかったのですから大きな違いです。MZ-80Kの筐体の大部分が金属製(正確には板金折り曲げ加工品)だったのは金型にお金を掛けられなかった当時の懐事情によるものだそうですから、それに比べるとずいぶんな大盤振る舞いに見えます。

 以前マイコンソフトの中の人が、「金型力」という言葉を用いてサードパーティーとメーカーの力量差についてツイートされたことがあります。

 このツイート自体の結論はプロポ型も悪くなかったということなんですが、スティックとレバーを入れ替えられるとかいろいろギミックのあったサイバースティックは金型力が大きくないとなかなか作れないという実感があったこともまた伺えると思います。ですから、プラスチック部品を多用するという大きな変化は事業移管を経た結果と推測することができます。

 しかし、そうなると英数/カナLEDが設けられなかったり、カラー表示基板の設置スペースが残ったままになっている理由がわかりません。現在の入力モードを忘れたら何か入力するまでどちらかわからないというのはMZ-1200の欠点ですし、わざわざ省いてしまうはずがありません。カラー表示基板はMZ-1200でも使えるようにしようと一時は考えていた…とすればスペースの存在もわからなくはありませんが、ROMモニタがカラーVRAMを初期化しないのですから電源投入直後は何も映りませんし、カラー表示を使った後でリセットしても色がむちゃくちゃになったままになるというのは製品としていかがなものかと思います。

 そう考えると、既に部品事業部にて設計されていた筐体をそのままMZ-1200に流用したという方が自然な気がします。カーソルシンボルでわかるからモード表示LEDを省いたけど、MZ-1200で必要になったからと金型をいじるわけにもいかず…カラー表示はしないことにしたけど別の用途も発生しなかったので取り付け用の突起やコネクタの穴などはそのままに…。

 わからないことのもう一つは、MZ-1200をあれだけいじって作ったのにMZ-80Aはなぜそのままの部分が多いのか…という点です。互換性の問題があるからMZ-80K2Eに近づけたというなら、輸出仕様も同様の理由でMZ-80Kに近くするはずです。逆にMZ-80Aの仕様で互換性に問題はないとするならMZ-1200というものを作る必要はありません。

 「せっかく作ったのだから、ムダにするのはもったいない」というのも考えられなくはありませんが、そうだとしても売れるだろうと見込むから同意するのであって、互換性問題はユーザー本位の姿勢なのですから、気にせず出して売れると考えることに無理があります。

 国内向けのパソコン戦略に気を取られすぎて、あまり真剣に考えていなかったのでしょうか。出荷の寸前まできていて、既に生産したものを廃棄するよりはそのまま売った方がいいだろうということになったのでしょうか。何かの約束を果たすため、アリバイとして売るしかなかったのでしょうか。

 不思議なことがいっぱいあります。これ以上の推測はもっと情報がないと難しいですね…。

所蔵品一覧に戻る