2011年10月13日

8255と8049の設計(3)

 PC-6001関係で唯一捨てなかった PC-Teckknow6001 を、何気なく読んでいると、I/Oポートの所に手書きで書いていました。

 OUT &H90,4 かな
 OUT &H90,5 カナ<->かな

 PC-6001mkII を使っていた時に書いたと思われますが、PC-6001 にも同様の事で動くと思います。

 ので、8049 へ出力する値に追加しておきます。

 10) キーボードの状態の変更
  出力する値は1バイト。かなモードにするには、0x04。ひらがなとカタカナの切り替えは、0x05。


 キーボードの初期化もあるはずですね。0x0C 辺りがそうかも知れません。



posted by えすび at 20:11| Comment(4) | P6解析:サブCPUと8255 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
OUT &H90,4によるかなの制御は初代機だと使えません。

1つ前の記事についてですが、
SUBCPU→Z80の0x0E or 0x10は、0x0EがCSAVE処理のSTOP、0x10がCLOADのSTOPです。

また、8049への出力ですが、0x34はコマンドとして存在しないようです。0x0CはRS-232Cの制御処理に使われていました。キーボードの初期化コマンドはなさそうです。
Posted by MORIYA at 2011年10月14日 09:31
 MORIYAさん、情報ありがとうございます。

 OUT&H90,4 は、PC-6001VW でそうなっていたので、勘違いしました。

 0x34 は、BASICからは出力しているようですが、使っていないんですね。

Posted by えすび at 2011年10月14日 18:54
0x34は8049側で受け取ったあと、なにもせずに処理終了しています。SUB CPU側はZ80からのデータを割り込み処理として受け取っているので、この0x34を送ることで、SUB CPU側がデータを受け取れるまで(=SUB CPUの初期化が落ち着くまで)、BASIC ROM側の処理を待機させているのかもしれません。(考えすぎ?)

ちなみにSUB CPU側は00〜0x3Fのコマンドを受け取れるのですが、その大半は0x34と同様に「なにもしない」なので、0x34以外の空きコマンドを送っても同じです。
Posted by MORIYA at 2011年10月14日 22:01
 情報ありがとうございます。

 SUB-CPU の初期化待ち、というのはあるかも知れません。
 8049 の起動直後は、割り込み禁止状態になっていて、割り込み許可してから、0x34 を受け取り、8255 → Z80 に制御が戻る、という流れですね。

 でも、初期化時は、0x06、0x34、0x02 と送っているので、元々あった処理がなくなったようではありますが。


 MORIYAさんみたいに、8049からプログラムを読み出せればいいんですが、6601SR ではマスク番号が違うので参考程度にしかなりません...


Posted by えすび at 2011年10月14日 22:48
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。