CZ-8RB
(X1シリーズ用BASIC ROMボード)
スイッチオンでBASICが起動できるようになる、拡張スロットに挿入するタイプのROMボードです。 ご存じのとおり、X1はテープかディスクからシステムを読み込んで起動する、いわゆる「クリーン設計」のパソコンなのでこういうものが存在すること自体不思議というか自己否定みたいな感じもしなくもないわけですが…まぁHuBASICは大きいですもんね! いちいちロードする時間を待つのはかったるいという気持ちもわかります。 |
X1のIPLにはROMボードからプログラムを読み込んで実行(ブート)する機能が備わっています。この機能はマニアタイプ、つまり初代からですのでこういうボードを発売する計画が当初からあったようですが、改めて確認してみるとCZ-8RBの発売はX1C/X1Dと同時くらいみたいですね。
CZ-8RBを装着することで起動するBASICは「CZ-8RB01」と言うのですが、CでもFでもないのならいったい何者なのかというと、単にテープ版BASICの名前が変わっただけのものですね。 |
テープ版BASICと見比べてもRとCしか差がありませんし、フリーエリアの大きさも同じです。 以前はこのタイトルの違いしかないんだとか聞いていたのですが、DISK版のNEW BASICに含まれるCZ-8CB01と比較してみるとちょこちょこ違いがありますね…。ワークエリアに残されたゴミみたいなのに差分があるのはいいとして、その他にもパッチらしき差分があるようです。 |
回路図やアクセス方法についてはMORIYAさんが解析記事を書いて下さってますので、そちらをご参照下さい。
裏面はこんな感じ…ICのところにシルクで枠を描いてますね…裏面の使い方にはいくつか種類があるようで、おそらく設計会社独自のルールに基づいているんだと思うのですが、こういうところからもしかするとどのボードをどの会社が請け負って設計したのかわかるかもしれませんね。 それと、なぜかIC2個分のフリースペースが設けられています(シリアル番号がなければもう1個分確保できたはずなのだが)。これくらいの回路で製造後に発覚するようなミスとか発生する気がしないんですが…。 |
…とか考えてたら、月刊アスキー誌1984年8月号「LOAD TEST No.33 SHARP X1」に、試作品の写真がありました。ちゃんと3個分のフリースペースがありますね。 更には、初期にはフリースペースが3つあるモデルも製品として存在したことが最近判明しました。シリアル番号のシールの位置も違うようですが詳細は不明。 フリースペースはちゃんとフリースペースとして、ICの足が挿入されるホールの外にラッピング配線用のホールが用意されていますから、試作当時からフリースペースだったんですね…試作段階では何かの回路があったのを削除したというわけでもないということですか…。 |
2764(64kbit×8bit)を5つ使ってますので、計40KB。IX型番がついてますね? なんだか番号が不揃いだ…。 先頭32バイトのヘッダさえちゃんと書ければROMの内容はなんでもいいので、自分で焼いたROMに差し換えて使っていた人もいたと思います。 |
IPLでの起動優先順位はCMT(カセットが入っているかチェック)→FD→ROM→CMT(フタを開けてカセットを促す)となっています。つまりCZ-8RBをスロットに入れておいてカセットもフロッピーもセットしなければROMから起動するということですね。
ROMディスクとRAMディスク
MORIANさんのCZ-8RBの解説ページでも確認できますが、そもそもブート用としてのROMボードとして考えると、このI/Oポートの構成には不思議なところがあります。メインメモリは64KBしかないのに、セットできるアドレスは3バイト(24ビット)、つまり16MBものROMを取り扱えるようにされています。多段ロードとか想定していたんでしょうか? でもIPLは1回しかロードしませんし、二段目以降を実行するソフトも現れませんでした。
3バイトのアドレスレジスタというと、RAMディスクである「EMM」が連想されます。EMMから起動して、EMMにプログラムやユーザーデータを書き込めるならHDDみたいな使い勝手が期待できます。そういうことから不揮発性メモリボードを企画したりする人も何人か現れたわけですが、決まって微妙な仕様の差に頭を悩まされることになりました。
どういう差があるのか、比べるとこうなります。
ROMボード | EMMボード | |
アドレス上位 | 0E00h | 0D02h |
アドレス中位 | 0E01h | 0D01h |
アドレス下位 | 0E02h | 0D00h |
データ読み出し | 0E03h | 0D03h |
データ書き込み | ─ | 0D03h |
自動インクリメント | なし | あり |
惜しい…アドレスの上位と下位が入れ替わってるのと、データ読み書き時のアドレス自動インクリメントがあるかないか…の二つです。両用ボードを作るにはこの仕様が折衷されたものを作らないといけないわけです。
しかしどうして、こんな微妙に違う仕様になってしまったんでしょう? 繰り返しになりますがIPLからブートするだけなら64KBまでのデータが収容できれば十分で、アドレスレジスタは3つもいりません。どう考えてもEMMの仕様を参考にしたとしか思えないのです。
EMMはアイオーデータ機器の考案した製品で、X1用にはMZ-80B/2000用のPIO-3034をベースにした仕様が作られました。そちらが先にあったのですから、参考にしたなら違うものにしないと思うんですが…。
その筋な人(その筋の人、ではない)による説では、EMMを流用しようと仕様を伝えたがどこかで間違えたのではないかというものがありました。ハードを間違えたのでそれでアクセスできるようにIPLの該当部分を合わせたのかもしれませんし、CZ-8RBの発売が少し遅かったことを踏まえるとIPLの方を間違えたのだが既に製品として市場に出てしまったのでハードの方を合わせたということも考えられます。
何も参考にせず勝手に作ったら似ちゃった、でも微妙に違う…という可能性はどうでしょうか。構想としては本当にROMディスクのサポートを考えていて、2Dディスクと同じ320KBをサポートするのには19ビット必要だよね…とそれこそ車輪の再発明のごとく独自に検討してたら、レジスタの並びが逆になって、しかしアドレス自動インクリメントにまでは気が回らなかった、とか…。
MZ-2500はさすがに後から作られただけあって、RAMディスクとROMディスクはアドレスが違うだけでアクセス方法は同じです(MZ-1E30のブートROMアクセス回路にギミックが隠されていたのはちょっとびっくりしたけど)。ほんのちょっとの気配りさえあれば…。
謎のボード
先日、とある方からこんなボードをお譲りいただきました。その方は形状からPC-8801かそのグループ用のボードかと思って入手されたのですが、調べてみると全然違ったのだというお話でした。
まぁね、CZ-8RBのページで続けて掲載するんだから、どうせ何か関係ある話なんだろうとか思いますよね。
ROMのひとつをダンプしてみると…なるほど、CZ-8RBの形状を変えたボードというわけですか。 それにしてもカードエッジコネクタなんかがついてますし、単純にBASIC ROMボードというわけではなさそうですね? |
ROMのデータで起動してみると…確かにBASICなんですが…あれ? クレジット表示がちょっと違う? (C)がないしHUDSON SOFTって書かれてる…。 CZ-8RBのROMとデータ比較してみたところでは、クレジット表示以外は1バイト以外全く同じでしたので、体裁だけ合わせた別物というわけではないようです。そしてその違っていた1バイトについては、CZ-8RBのROMとCZ-8CB01が同じ値になっていましたので、どうもこのボードのROMの方が古いものではないか、あるいはCZ-8CB01のプロトタイプに相当するものではないかという推測ができるのですが、さて…。 |
回路図に起こしてみました。一言で言えば、ROM BASICボードと拡張I/Oポートを合体させたボードですね。どのICのどの端子がどの信号と接続されるのかまでほとんど同じです(配線の都合上一部で入れ替わっているところもある)。別の言い方をすると、コピーしてきただけみたいな? IEI/IEOの処理とか、1スロットしか必要ないんなら要りませんよね?
拡張I/Oポートの所に挿すんですかね…挿してみたけど…固定するところないんですよね…。ボード上に穴はあるんですが、対応するところにネジ穴とか金具とかないんですよ…。 |
ボードの大きさはね、CZ-8EPの基板部分と同じなんですよ。だからメインボードのコネクタに挿してもどこかにつっかえたりはしないんですけど…カードエッジ端子の位置がずれてるんですよね…。 んん? んんんん…? |
…あっ、これ裏返したら同じ形だ!! じゃ裏返してコネクタに装着? でもそれだと端子の配列が逆になっちゃうし?! |
う〜ん、機能はわかっても使い方がわかりませんね…ボード上のカードエッジコネクタはCZ-8EPのコネクタと位置が合いませんし…。スルーホール基板ですがスルピンキットで手作業スルーホールというわけでもなく、表面の半田レベラーは均一ですから感光基板で自作したということでもなさそうです。でも使われているICのデートコードからすると1984年かそれより前の製作で、だとすると基板の個人製作はとんでもなくハードルが高かった時代なので、どこかの開発会社が業務用に作ったものなのではないかという気もしてくるのですよね…。
穴をよく見るとスペーサーか、ワッシャが使われたような痕跡があります。横の小さい穴は位置決め用ですか? さっぱりわかりませんよ…KANBEさん、これいったいなんなんですか…? |