R6522のシフトレジスタの挙動をデータシートをもとに調べていますが、理解できないところが多い。
- モード0: SRが無効になるモードなのに、CB1の立ち上がりエッジでCB2にシフトアウトするように読める。(“In this mode the microprocessor can write or read the SR and the SR will shift on each CB1 positive edge shifting in the value on CB2”)
- モード1: T2カウンタの下位バイト(Nとする)のタイムアウトごとにシフトするはずだが、添えられている図を見るとその2倍の時間でシフトしているように見える(しかもN+2サイクルと2サイクル分多い)。
- モード3: CB1のパルスでシフトインするモードだが、添えられている図ではCB1が出力となっている(これは単なるtypeか?)。またCB1の立ち上がり、立ち下がりのどちらのエッジでシフトインするのか記載がない。
などなど。
あまりに難しいので、ちょっとJR-100実機とロジックアナライザを使って実験してみようと思います。
まずはそのためのテストプログラムを組むところから始めます。
コメント