CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

PPIテスト

内蔵ポートのアクセスが成功したので今度は外部拡張バスに接続したPPI:8255を確認します

プログラムは内蔵ポートと同じでインクリメントデータを連続出力ですが、プログラムの先頭で8255のの全ポートをモード0、出力設定にする初期化を一度行っています
外部データメモリ空間のアクセスにはDPTRという16ビットインデックスレジスタで間接参照する仕組みのようで、ここらへんは初めて触れるアーキテクチャなんでマニュアルと首っ引きでコーディングしました
 
イメージ 1
 
こんな簡単なプログラムなんで、これも一発で動作!・・・
 
と言いたいところなんですが、8255のPAポート各ビットはLレベルのままピクリとも動きません
外部メモリ空間なんでチップセレクトなどの各制御線を疑いましたがこれは問題無し。
PPIのアクセスタイムが間に合っているかチップセレクト/PPICS(ch1)と書込みイネーブル/WR(ch2)をプローブした結果です
 
イメージ 2

 

書込みパルス幅tWWは512ns(規格値 >200ns)
アドレスホールド時間tWAは100ns(規格値 >20ns)でまったく問題ありません