You are here

SC61860 & SC62015 (その3)


カテゴリー:

今回は予告通り、SC61860の公式ドキュメントを教えていただいてちょっと修正した件を書きたいと思います。

その1のコメントとしてenakaさんより教えていただいたSC61860のドキュメント、正確にはPC-1350の機械語のドキュメントですが、CPU SC61860の記述がメインになっています。PC-1350も持っているので残りも興味深いのですが、今はあくまでもCPUのマニュアルとして読むことにします。

そもそもこのSC61860というCPU、当初は仕様は非公開だったはずです。PC-1250の時代だと思いますが実機の動作から解析された方がいて、わかってしまったのならということで後から情報が出てきたという経緯だったとどこかで読んだような。今回参考にしている『ポケコン・マシン語ブック』の前の『ポケコン・マシン語入門』だった気がするのですが、残念ながらこの本が行方不明でして確認できていません。今度永田町に読みに行こうかな。

ということで『ポケコン・マシン語ブック』とシャープの資料を比較してみたところ、ちょっとした相違点はあるものの大きな違いはありませんでした。

解析によって各命令の動作がわかってもニーモニックやレジスタの名称などはわかりようがありません。それらも含めて一致するということは以前から(公式・非公式はわからないが)何らかの形で情報がリークされていたのでしょう。

見つけた1点目は16進の表記法について、インテル流の8000H(一部BASICに関連したところでは&8000)表記が使われています。これはCPUの資料であってアセンブラのマニュアルではないのでアセンブリソースにどう書くべきかを規定するわけではないのですが気になる点です。まぁASはRELAXED ONなどとすればどの表記も使えるので特に困ることは無いでしょう。

2点目は『ポケコン・マシン語ブック』では未定義命令扱いだった$7A, $69にCASE1, CASE2とニーモニックが割り当てられていたことです。

ちなみにこれやたら複雑な命令でして...... 以下のように使用します。

    3/   0 : 7A                         	CASE1
    4/   1 : 03                         	FCB	3
    5/   2 : 00 10                      	FDB	LABELR
    6/   4 : 69                         	CASE2
    7/   5 : 41                         	FCB	'A'
    8/   6 : 00 10                      	FDB	LABEL1
    9/   8 : 46                         	FCB	'F'
   10/   9 : 00 11                      	FDB	LABEL2
   11/   B : 58                         	FCB	'X'
   12/   C : 00 12                      	FDB	LABEL3
   13/   E : 00 13                      	FDB	LABELD

Aレジスタが'A'だったらLABEL1、’F'だったらLABEL2、’X'だったらLABEL3、それ以外だったらLABELDをCALLしてLABELRに戻ってくるというもの。ここでは飛び先を3つ(デフォルト含め4つ)としましたが、増やすことも勿論できます。上限は書かれていませんがいくつだろう?

あまりに多いならこれを使用するよりジャンプテーブルの方がサイズ的にも速度的にも有利になるでしょう。

3点目も同様に未定義命令扱いだった$4F, $6FにCUP, CDNとニーモニックが割り当てられたことです。

これらはXinピンの”L"または”H"の期間を測るもので、カセットインターフェイスからの復調用です。以前書いたソフトウェアUARTでは1ビット単位の処理でしたが、FSKの復調も必要なのでボーレートが低いとはいえ時間的に大変です。このCPUもお世辞にも速いとは言えないのでこのような命令が必要なのでしょう。

これら新たに分かったニーモニックを追加しました。

テストデータについても書くつもりでしたが思ったより長くなってしまったのでそれはまた次回ということで。

参考文献・関連図書: 
『ポケコン・マシン語ブック』工学社.
”PC-1350 Machine Language Reference Manual", Sharp.

Comments

工学社には伝手があったんでしょうね。I/Oに独自解析と評してMZ80KやPC-8001の全回路図が載っていたりしましたから。
何か聞かれたら「向河原駅のごみ箱で拾った」と答えて、みたいなやり取りがあったんだろうか。元ネタの駅が思い出せない。

数は少なかったですがアスキーもですね。PC-8001の回路図を最初に見たのはアスキーでしたし、ロードテストも実際にバラしたもの以外に生基板や新品パーツ並べたのもあった記憶が......

MZ-80やPC-8001の時代は汎用パーツだったから本当に独自解析もできたかもですが、後のカスタムIC満載になっても信号名がしっかり入っていて何らかの情報提供受けてるよなぁと思っていました。

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。