2011年10月12日

8255と8049の設計(2)

 8049 への書き込み、読み出しはいつ行われるのか、P60-BASIC から調べてみました。


 ・8049 からの読み出しと8049 が返す値

 1)キー割り込み@ (CMT使用時にSTOP が押された時)
  返す値は1バイト。0x0E or 0x10

 2)キー割り込みA (グラフィックキー、ファンクションキー、STOPキーが押された時)
  返す値は2バイト。0x14 + キーコード

  キーコードは、グラフィックキーならそのASCIIコード、ファンクションキーなら、F0H〜F9H、STOPキーなら、03H

 3)キー割り込みB (一般のキーが押された時)
  返す値は2バイト。0x02 + キーのASCIIコード

 4)ゲーム用キー割り込み
  返す値は2バイト。0x16 + キーコード

  キーコードは1バイトで、bit7-0 が [SPC] ["L"] [←] [→] [↓] [↑] [STOP] {SHIFT] となる。bit6 は L 固定。

 5)CMT リード割り込み(1バイト受信)
  返す値は2バイト。0x08 + 受信データ

 6)CMT リードエラー割り込み
  返す値は1バイト。0x12

 7)RS-232C 割り込み(RxRDY受信)
  返す値は1バイト。0x04

 1)〜3)は、キー入力がトリガ。5)6)はCMT からのデータ入力がトリガ。7)は、RxRDY がトリガ。
 4)は、コマンド 0x06 に対する返答(下記参照)。



 ・8049 へ出力する値

 1)ゲーム用キーの調査
  出力する値は1バイト。0x06

  結果は、割り込みで返してくる。

 2)RS-232C 用初期設定(?)
  出力する値は1バイト。0x0C

 3)CMT 入力用初期設定(?)
  出力する値は1バイト。0x2C

 4)CMT 入力OPEN宣言
  出力する値は2バイト。1200ボーは、0x1E + 0x19。600ボーは、0x1D + 0x19。

 5)CMT 入力CLOSE宣言
  出力する値は1バイト。0x1A

 6)CMT 出力用初期設定(?)
  出力する値は1バイト。0x34

 7)CMT 出力OPEN宣言
  出力する値は2バイト。1200ボーは、0x3E + 0x39。600ボーは、0x3D + 0x39。

 8)CMT 出力CLOSE宣言
  出力する値は1バイト。0x3A

 9)CMT 1バイト出力
  出力する値は2バイト。0x38 + 送信データ


 かなキーのLED に関しては、8049 で閉じているようで、P60-BASIC内には制御コマンドがありませんでした。


posted by えすび at 19:19| Comment(0) | P6解析:サブCPUと8255 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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