現在地

ノウハウ・テクニック

NMOS Z80 CPU のクロック

カテゴリー:

先日クロック信号について書いた時、資料に面白い記述を見つけたので今回はそれについて書いてみます。

それは1978年3月版のZ80 CPUの仕様のAC特性にあった以下の記述です。『Z80ファミリ・ハンドブック』もこれを元にしていると思われます。

HDMI入力の無いテレビにBDレコーダを接続する

先日BDレコーダが不調と書きましたが、結局新しいレコーダを買ってしまいました。SONYのBDZ-ZW2500Mというもの、これまでも2チューナで特に困らなかったので2チューナ、容量は価格差が小さかったので2TBに増やしています。

最近は自動設定が充実しているので設置は簡単なはずなのですが、うちの特殊な事情により一筋縄ではいきませんでした。

HDMI2AVでも書いたようにテレビが古くてHDMI入力が無いのです。これまでもLKV384(今は新しくなってLKV384Proになっているようですが、私の使っているのは「Pro」の付かないほうです)という変換器でコンポーネントに変換して入力していたので今回も行けるだろうと軽く考えていたのですが、意外に手こずってしまいました。

まずは自動で繋がることを期待して接続してみたのですが正常に表示されません。

以前のレコーダは720pで映っていたので手動で出力解像度を設定すれば良さそうなのですが、正常に表示されないとメニュー操作もできません。

古い雑誌記事の入手の仕方

カテゴリー:

前回、古い雑誌記事の探し方を書きましたが、今回は見つけた記事の入手方法について書いてみたいと思います。

バックナンバー

比較的新しい号でしたら出版社にはまだ在庫が残っているかもしれません。

出版社によってはメール等で申し込めば販売してくれるところもありますので問い合わせてみると良いでしょう。

また書店から取り寄せてもらう方法もあります。

一般の書店では次の号が出ると返本してしまうことが多いですが、秋葉原の書泉ブックタワー等バックナンバーを置いているところも少ないながらあります。

合本

数か月分の記事をまとめた合本が発売されていたものもありました。

  • 『エンサイクロペディア・アスキー』:『ASCII』誌をまとめたもの
  • 『TheBASIC B-Number』:『TheBASIC』誌をまとめたもの

合本も入手困難になってしまっていますが、後述の古本屋などをあたる時の選択肢しては有効と思います。

広告やニュース記事などが省略されていたり、順序が変更されていたりするので注意は必要です。

古い雑誌記事の探し方

カテゴリー:

以前、私の雑誌遍歴(前編)(後編)を書いたためか、「○○の記事の号は何年何月号ですか?」といった問い合わせが何件かありました。

そこで昔の記事の探し方について私がよく使う方法を書いてみたいと思います。

総目次を使う

技術系の雑誌であれば何らかの形で総目次が用意されていることが多いと思いますので、もしそれがあるのなら当たってみるのが良いでしょう。

  • 『トランジスタ技術』,『インターフェース』は毎年発行されているCDROM版(1年分の記事がPDFで収録されている)に創刊号からのインデックスがテキスト形式で収録されています。ページの範囲まで記載されていますのでコピーサービスを使うにも便利です。
  • 『ASCII』,『Oh!PC』などは1年分のインデックスが毎年特定の号に掲載されていました。
  • それ以外でも過去の総目次が掲載されたものもあります。

もしこれらを持っていて、著者・タイトルの見当が付くのであれば最も簡単な方法の一つと思います。

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

80系でリロケータブルを実現する

カテゴリー:

80系(8080,Z80,8085)で真のリロケータブルコード(PIC)を書くことはほぼ不可能です。

これらのプロセッサが現役だった頃、リロケータブルなコードといえば現在のPIC (Position Independent Code)の事を指していました。好きなアドレスにロードすればそのまま(書き換えたりせずに)実行できるコードです。
MC6809では普通に可能だったので、6809ファンの友人によく馬鹿にされたものです。

PICであるためには何が必要で80系では何が欠けているのか考えて見ましょう。必要なのはコード内のアドレスを正しく求め、参照できることです。

80系アセンブラのテクニック

カテゴリー:

2日目の今日は80系(8080, Z80, 8085など)のちょっと懐かしいテクニックです。

今こんな書き方をすると、わかりにくいと怒られるか、パイプラインなどに悪影響が出たり技術的にもデメリットになったりしますので避けるべきですが、当時はそれなりにメリットもあってよく使われていました。

一つは命令の途中に飛び込むというものです。例えばこんな感じです。


   1:	8000          	    ORG 8000H
   2:	8000          	entry1:
   3:	8000  3EAF    	    LD  A,0AFH
   4:	8002  3200FF  	    LD  (0FF00H),A
   5:	8005  C9      	    RET

3行目でAレジスタに0AFHを入れ、4行目で0FF00H番地のメモリに書き込んで、リターンするだけのものです。
ここでは8000Hがエントリポイントですが、8001Hもエントリポイントと考えると以下のようになります。オブジェクトは上と一緒です。

続・タイガー計算機の操作方法

カテゴリー:

前回、各部の機能を書きましたので今回は具体的な計算を挙げてみましょう。

  1. a.~j.はタイガー計算機の操作方法を参照してください
  2. 事前にg.,h.,i.を使用し、a.,b.,c.は0にリセットされているものとします
  3. レバーf.は中立を「-」、左を「×」、右を「÷」と表記します
  4. b.,c.の位置は左端(ハンドルd.の1回転でb.が1増減する位置)を「1」、1桁右にずらした位置を「10」...と表記します

まずは基本の加減算からいきましょう。
【例】 789 + 456 - 123

タイガー計算機の操作方法

カテゴリー:

先日購入したタイガー計算機の操作方法を書いておきます。
これを読んで実際に操作する人は殆どいないとは思いますが、ディジタル式の電子計算機の乗除算器と考え方は似ていますので比較してみると面白いかもしれません。

まずは各部の説明から。


a.では下のレバーで数値を設定します。レバーと上の窓は連動しているので異なった値を表示することはありません。

乗算のときは数値の片方(被乗数)をここでセットします。除算時には被除数と除数の両方をここでセットします。

ページ