ASに新CPU対応を(その4)

モニタも動いてこれまでに実装済みのMN1610命令に問題無いことがわかり、時間にも余裕が出てきたので、残りのMN1613拡張命令も一気に実装してしまいました。

MN1613で追加された命令にはパースの面倒なアドレッシングなどは無く、命令の数が多いだけの単純作業に近かったですね。

一段落したので現時点のファイル(asl-patch-20191120.tar_.gz)を添付しておきます。

ビルド方法

MN1613ボード(モニタ移植編)

テーマ:

前回は簡単なテストプログラムを動かしましたが、その後アセンブラもある程度動作するようになったのでいつものUniversal Monitorを移植することにします。

しばらくボードを動かしていなかったので念のためにもう一度小さなプログラムを試してみましたが、何故か動作が変というかいきなり暴走している感じです。
原因はいくつか考えられます。

  1. ボードかCPUが壊れてしまった
  2. (リセット動作には不明な点が多いので)以前動いたのは偶然だった
  3. アセンブラが誤ったコードを吐いている

ハンドアセンブルと比較したり、以前と同じコードを試したりで3.で無いことはすぐに判明しました。

ELSA EX-VISION 400TV

テーマ:

ELSAのEX-VISION 400TV、またまたTVチューナボードです。撮影したのはしばらく前ですが他に紛れて埋もれていました。

基板 表側
TVチューナボードはこれまでに何枚も取り上げてきましたがどれも構成は似たようなものですね。

左上のチューナモジュール、アンテナコネクタの近くに配置する必要から配置はおのずと決まってきます。

右下のSAA7130HL PCI video broadcast decoderがメインのチップ、というか名称からほとんどの機能をまかなっているはずです。データシートによると外部にI2C EEPROMが必要のようで、右上のコネクタの下の8ピンがそれと思われます。

ASに新CPU対応を(その3)

あれから作者の方と連絡とって質問したり、ID番号もらったり...
軽い気持ちで始めたのですが、ここまできたら本家への追加を目指そうかな。

以下は既存のcode***.cを参考に推測・試行錯誤した結果です。全体を理解して書いているわけではないので、間違っていたり作者の意図しない使い方をしたりしているかもしれません。ご了承ください。

前回厄介と書いたメモリに関係する L, ST, B, BAL, IMS, DMS の各命令も使えるようになりました。これらをデコードする DecodeAdr は長いのでゼロページ間接インデックス(MN1610で一番複雑)を例にみてみます。

日本メーカ製の74シリーズ

テーマ:

カテゴリー:

先日ちょっと訳あって手持ちの汎用ロジックの捜索をしたところ、大昔に買ったまま埋もれさせていたものが大量に出てきました。

日本メーカ製74シリーズ
日本メーカのものを各社1つずつ選んでみました。

左上はNECのμPD74HC244C Octal Buffer with 3-State Outputです。1991年の日本製です。まだ旧ロゴですね。
244はピン配置がわかりづらいので新たに使うなら541を選ぶでしょう。

その下は日立のHD74HC574P Octal D-Type Flip-Flop with 3-State Outputです。「5L46」では製造年はちょっとわかりません。

ASに新CPU対応を(その2)

昨日に引き続きASのMN1610対応についてです。

以下は既存のcode***.cを参考に推測・試行錯誤した結果です。全体を理解して書いているわけではないので、間違っていたり作者の意図しない使い方をしたりしているかもしれません。ご了承ください。

前回の SwitchTo_MN1610() の最後で呼び出していた InitFields() です。

ASに新CPU対応を(その1)

なんか大昔のI/O誌の特集みたいなタイトルですが...

The Macroassembler ASは対応しているCPU多いのですが、先日のMN1613など対応していないものもあります。他にも手持ちのCPUで非対応のものにZ8001, NS32016, HD1-6120, HD642032なんかもあります。

日本独自のMN1613やHD642032(TRON-Chip)はともかく、Z8000(Z8001), NS32000, IM6100(HD1-6120)などは知名度も高いんですけどね。

プログラミング言語C

テーマ:

カテゴリー:

いろいろあって何冊も持っているこれ、最近はあまり読むこともないですね。

プログラミング言語C
奥付を確認したところ上から次のようになっていました。

  1. 「プログラミング言語C」1988年11月5日 初版122刷発行
  2. 「プログラミング言語C 第2版」1989年7月15日 初版11刷発行
  3. 「プログラミング言語C 第2版」1991年4月1日 初版71刷発行

この後出た訂正版も買ったはずなのだけど、どこへやったのかな。

最初に買ったのは2.、「第2版」に切り替わった直後だったようであまり気にせずに買ったのですが...

MN1613ボード(動き始めました編)

テーマ:

カテゴリー:

ハードウェア編に引き続き動作確認をしていきます。

ソケットにデバイスを搭載する前に電源などの確認は済ませてあります。電源逆接などで貴重なデバイスを失うわけにはいきません。

データシートによるとRSTを解除後にSTRTが必要に読めたので、STRTGNDに接続していました(後にSTRTはプルアップしていても動くことがわかりました)。

クロックは38ピンX2に入れているので、念のためX1を確認してみると同じ12MHzが出ています。

MN1613ボード(ハードウェア編)

テーマ:

カテゴリー:

資料を解読していたMN1613、まだ不明点が残ってはいますがボードを作れそうな状況になってきたので作り始めました。

MN1613ボード
メモリはいつものようにEMILY Boardを使います。16ビットバスで使うのはこれが初めてですが、以前6502で8ビットの2エリアは試していたので何とかなるでしょう。

ページ