現在地

思い出・昔話

パーソナルなコンピュータのメモリ事情 (第2回: 8ビット前期)

カテゴリー:

最初はオプションとしてフルキーボード・モニタ(多くはテレビで代用)出力・増設メモリを載せてBASICが使えるといった状況でしたが、やがていわゆる「パソコン」と呼ばれるものが登場します。

日立のベーシックマスター、シャープのMZ-80K、NECのPC-8001等です。

パーソナルなコンピュータのメモリ事情 (第1回: パソコン以前)

カテゴリー:

今回から数回にわたって「パーソナルなコンピュータのメモリ事情」を書いてみたいと思います。「パソコン」としないのは個人でプログラムできるコンピュータとしてもう少し広く考えているからです。

日本では上の条件を満たす最初のグループは半導体メーカがトレーニングキットとして販売したマイコンボードでしょう。本来はエンジニア向けのものですが、ホビーストが飛びついてブームとなりました。

メーカとしてはこれで自社のマイコンを知ってもらい、製品に採用して欲しいというのが本音のはずです。採用されればマイコン(半導体)が大量に売れることが期待できます。
一方ホビーストは自分用の1台があればよいわけですから、半導体の売り上げにはほとんど貢献しません。それでもこのムーブメントには将来性を感じたのでしょう。出荷を絞るではなく、改良して後継機も出てきます。

その他アメリカからAltairやIMSAIを輸入したり、個人で自作することも多かったようです。

代表的なものをいくつか挙げてみます。カッコ内はソケット等で増設可能な最大容量です。

私のエディタ遍歴

カテゴリー:

先日のVzエディタの記事で予告したとおり、過去に使っていたエディタについて書いて見ます。

ここで言う「エディタ」は勿論テキストファイル編集用のソフトウェアのことですよ。
  1. BASICのエディタ
    最初はN-BASICのエディタでした。あくまでもBASICプログラム入力用のものですが、他の用途に使用したこともありました。
    一つはTL/1のソースコードです。PC-8001用のTL/1コンパイラはBASICのREM(コメント)としてソースコードを入力します。
    もう一つはMC68000のクロスアセンブラのソースです。これはREMではなく文字列として下記のように入力します。
    10 "entry:
    20 " mov d0,#$3400
    30 " rts
        

    BASICのプログラムとしては文法エラーですが、そのまま(中間コードに変換されたりせず)保存されるのでアセンブラはそれを読み取って処理するという寸法です。

豆電球

カテゴリー:

豆電球は乾電池とならび小学校の教科書にも登場する誰もが知る電気部品ですが、家庭用の白熱電球が次々と生産終了になる中いつまで残るのでしょうか?

豆電球
これはジャンク箱の中から発見した豆電球、ねじ込み式ではなくバヨネット式です。

バヨネットとは本来は「銃剣」を意味しますが、電気の世界では挿して数十度回転させることでロックするコネクタを指します。BNCコネクタなどがそうです。ネジのようにグルグル回す必要が無く迅速に脱着できるのが特徴です。

何かを分解してソケットごと取ったものだと思いますが、ソケットの方は未発見です。

「FK8V0.3A」と刻印があり、定格が8V 0.3Aであるとわかります。

私のプロセッサ遍歴

カテゴリー:

今回は私のかかわってきたプロセッサたちです。

アセンブリ言語でプログラミングしたかハードウェア設計をおこなったものです。
それぞれ代表的なものを挙げてみました。仕事関係は詳しく書けませんのでご了承ください。

  1. Zilog Z80 CPU
    Z80はPC-8001mk2でのプログラミングから始まって、ボードの自作まで行なっていますが、全て個人的なものです。
    PC-8001mk2では
    • 640×200のグラフィックで漢字を25行表示する圧縮表示(2ラインをOR合成する)ルーチン
    • アマチュア無線コンテストのログの重複チェックプログラム
    • 62k CP/Mを実現するためにBIOS作り直し
    • ROMライタをCP/MのPIPコマンドから使えるようにする

    自作ボードでは以下のハードウェアとそのソフトウェア

Z80ボード2号機の話

カテゴリー:

これまでに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のコードがわからない人のために簡単に解説するとこんな感じです。

  1. 1,2行目は開始番地とエントリポイントのラベルです。
  2. 3行目でHLレジスタの指すメモリを読んでAレジスタに入れます。
  3. 4行目でもHLレジスタの指すメモリを読み、Aレジスタの内容とXOR演算をします。結果はAレジスタに入ります
  4. 5行目でメインルーチンへ帰ります。

簡単ですね。

Z80 IX,IYのテクニック

カテゴリー:

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命令は使えます。

ページ