2013年04月02日

CRTCのバスリクエストOFF(2)

  mk2、66で、バスリクエストOFF(OUT &H93,2)をした場合の挙動を調べて面白い事が分かりました。


  ↓がCRTC周りの回路図です(以前にアップしたものから一部を修正しています)。

pc6001mk2_crtcnt


  CRTKILLの信号を、一度H-SYNCで叩いてから、LSIに入力しています。

  これはもしかして1行単位でCRTKILL(バスリクエストOFF)が出来るのでは?
  という事で調べてみました。

  ↓が作成したプログラムです。

crtkill.zip


  Mode5,Page3 で動かして下さい。

  RUN すると、WAIT値を聞いてくるので、とりあえず 200 を入力してみて下さい。
  上の方に縞模様が出ると思います(時間が経つと変化します)。
  スペースキーを押すと、ループから抜けます。

  プログラムの内容は、以下の通りです。

 1)垂直同期が来るまで待つ
 2)CRTKILL (バスリクエストOFF)にする
 3)一定時間待つ
 4)CRTKILL を解除する(バスリクエストONにする)
 5)1)に戻る


  です。5)で戻る前に、画面左上と右下に適当な値を書き込んでいます。


  実行してもらうとわかりますが、CRTKILL (バスリクエストOFF)は以下のように動作しているようです。

 ・CRTKILL の解除は、水平同期(横の行)単位で行われている。
 ・CRTKILL の最中に表示されるデータは、画面右下(データとアトリビュートの両方)が表示される。



  ただ、CRTKILL の設定は、水平同期(横の行)単位で行われているかどうか不明です。

  今回のプログラムでは、1フレーム間に、
    CRTKILL設定→CRTKILL解除
  ですが、これを1フレーム間に、
    CRTKILL設定→CRTKILL解除→CRTKILL設定→CRTKILL解除
  とやっても、縞模様が2つ出来るような期待通りの動作をしてくれません。


  やっぱり動きがナゾです...

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

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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