画面描画期間ですが、拡張コネクタに外付け回路を使う事により、確実に検出が可能になると思います。
拡張コネクタには、アドレスバス、ライト、リードなどの信号が出ているので、これらを使用します。
・その1
通常のCPUからアクセス時は、4MHz。
VDG からのアクセス時は、14MHz。
アドレスバスの変化タイミングを見る方法です。
タイミング的にちょっと厳しいかも。
・その2
VDG からのアクセスは、アドレスが決まった変化をします。
(スクリーンモードによりますが)
その変化のパターンを調べて、学習する回路を作ります。
例えば、スクリーン3ページ2の場合、
E000 E200 E001 E201 E002 E202 ・・・ となるので、このパターンを
探して、1フレーム後にも同じパターンが来るかを見るような回路です。
・その3
初代P6 のみの方法です(mk2以降は不可)。
通常のCPUからのアクセス時は、RAS をアサート、CAS をアサート、ですが、
VDG からのアクセスは、RAS をアサート、CAS をアサート、CAS をアサートと
RAS1回に対して、CASを2回出力します。
このパターンを見つけてフレームレベルで周期監視するのが、割と簡単そうな回路です。
・その4
これも初代P6 のみの方法(mk2以降は、不可)で、多分回路が一番簡単で、使いやすそう。
M1 がネゲート、CAS がアサートされた時、つまりCPU のM1サイクル以外でRAMからリードされた時のアドレスをラッチする。
これを適当なI/Oポートに割り当てて、CPUから読み出すというものです。
CPU がメモリからの読み出しを行った後で、画面描画期間になれば、VRAM のアドレスが読める事になります。
また、VRAM のアドレスで、何行目を描画しているかが判別できます。
判別前にメモリからの読み出しを数命令分止める必要がありますが、判別の長さを調整できたり、何行目かが判別できるというメリットがあります。
その4をディスクリートで組むと、こんな感じでしょうか。
M1 の信号を1クロック遅らせているのは、M1の変化点とCASの変化点が同じために、ハザードが誤動作する可能性があるためです。
実際に試していないので、動くかどうかはわかりません...

