パーソナルなコンピュータのメモリ事情 (第2回: 8ビット前期)
カテゴリー:
最初はオプションとしてフルキーボード・モニタ(多くはテレビで代用)出力・増設メモリを載せてBASICが使えるといった状況でしたが、やがていわゆる「パソコン」と呼ばれるものが登場します。
日立のベーシックマスター、シャープのMZ-80K、NECのPC-8001等です。
最初はオプションとしてフルキーボード・モニタ(多くはテレビで代用)出力・増設メモリを載せてBASICが使えるといった状況でしたが、やがていわゆる「パソコン」と呼ばれるものが登場します。
日立のベーシックマスター、シャープのMZ-80K、NECのPC-8001等です。
今回から数回にわたって「パーソナルなコンピュータのメモリ事情」を書いてみたいと思います。「パソコン」としないのは個人でプログラムできるコンピュータとしてもう少し広く考えているからです。
日本では上の条件を満たす最初のグループは半導体メーカがトレーニングキットとして販売したマイコンボードでしょう。本来はエンジニア向けのものですが、ホビーストが飛びついてブームとなりました。
その他アメリカからAltairやIMSAIを輸入したり、個人で自作することも多かったようです。
代表的なものをいくつか挙げてみます。カッコ内はソケット等で増設可能な最大容量です。
先日のVzエディタの記事で予告したとおり、過去に使っていたエディタについて書いて見ます。
10 "entry: 20 " mov d0,#$3400 30 " rts
BASICのプログラムとしては文法エラーですが、そのまま(中間コードに変換されたりせず)保存されるのでアセンブラはそれを読み取って処理するという寸法です。
豆電球は乾電池とならび小学校の教科書にも登場する誰もが知る電気部品ですが、家庭用の白熱電球が次々と生産終了になる中いつまで残るのでしょうか?
これはジャンク箱の中から発見した豆電球、ねじ込み式ではなくバヨネット式です。
何かを分解してソケットごと取ったものだと思いますが、ソケットの方は未発見です。
「FK8V0.3A」と刻印があり、定格が8V 0.3Aであるとわかります。
今回は私のかかわってきたプロセッサたちです。
アセンブリ言語でプログラミングしたかハードウェア設計をおこなったものです。
それぞれ代表的なものを挙げてみました。仕事関係は詳しく書けませんのでご了承ください。
自作ボードでは以下のハードウェアとそのソフトウェア
これまでにZ80ボードは1号機, 3号機, 4号機(MAA-1)と紹介してきました。そう、2号機がまだなのです。今回はその2号機について書いてみたいと思います。
まずこの「2号機」という呼び方です。1号機が最初で4号機が最後(今のところ)なのは確かなのですが、どうも2号機と3号機は製作順序が逆のように思えてきています。でも「3号機」という表記をすでにかなり使っていて面倒なのでこのまま行きたいと思います。
ふとZ80ボード 3号機で遊んでいたときに考えたルーチンを思い出しました。
1: 8000 ORG 8000H
2: 8000 check:
3: 8000 7E LD A,(HL)
4: 8001 AE XOR (HL)
5: 8002 C9 RET
ルーチンと呼ぶのもおかしいほどの短いコードです。何をするものでしょうか?
Z80のコードがわからない人のために簡単に解説するとこんな感じです。
簡単ですね。
8080からZ80になってありがたいことはいろいろありますが(ハード屋なら5V単一電源になったことが一番ありがたいかも)、IX,IYレジスタが追加されたこともその1つです。でもIX,IY関係の命令って意外と使いにくいのです。
まずHLレジスタと併用できないこと。これはHLレジスタを使う命令にプレフィックスとして0DDH, 0FDHを付けることでHLの部分がそれぞれIX, IYに替わり、(HL)は(IX+d),(IY+d)に替わるようになっているためです。ですから
ADD IX,BC
はできても
ADD IX,HL
はできないのです。
例外的に
LD H,(IX+4)
のようにHまたはLと(IX+d)または(IY+d)の間のLD命令は使えます。