で、実機がせっかくあるので、実機を動かしながらモニタリングすることにしました。
ロジアナは、カメレオンUSBのロジアナで、myLA で表示させます。
モニタリングしたい箇所が多いので、半田付けして引き出しました。
見た目がすごい事になってます。
とりあえず取った波形がコチラ。
画面波形.mla
これは、モード5のSCREEN3 で、以下のプログラムを実行した結果を表示させた時のものです。
10 SCREEN 3,2,2:CLS
20 FOR I=0 TO 16
30 LINE (0,I*10)-(319,I*19+9),I,BF
40 NEXT
また、よく分からなかったCMT1、CMT3と、AY-3-8910 のIOA6、IOA7 を一緒にモニタリングしました。
IOA6、IOA7 ですが、VSYNC、HSYNC が出力されているようです(もしかしてよく知られてる?)
実際に、AY-3-8910 から読み出しする事も出来ました。
HSYNC はイマイチですが、VSYNC は使えそうな信号です。


エエエェェェ、そんなところに弄りがいのありそうな面白ネタが!
でも出力だからCPUからは拾えないんでしょうね。
にしても用途はいったい…。光線銃…は無いしタッチパッドはここに繋ぐんだったかなぁ。
LD A,01H
CALL 1CA6H
で、ちゃんと読めます(N60モードでも使えます)。
ただ、HSYNC の方は、ほとんど意味がありませんし、VSYNC の方は帰線区間のちょうど真ん中ぐらいのタイミングなので、ちょっと使いにくいかなーと思います。
試してませんが、VSYNCを使うとちらつき無しで、画面の更新が可能になるかと思います。
エミュレータの方は PC6001VW で試してみましたが 0 しか返ってこないようです。
割り込みではないので監視しておかないといけないのは少し難点ですね。
>試してませんが、VSYNCを使うとちらつき無しで、画面の更新が可能になるかと思います。
VSYNC を拾ってページ切り替えをすることで綺麗な2画面合成多色表示とか出来そうですね。
静止画でないと厳しそうですが。。。
HSYNC が拾えれば CSS やスクリーンモード弄ったりしてもっと遊べそうなのに…惜しい。
VDGが横1ラインを描画し終わって、次の横1ラインを描画するまでの間に、HSYNC が出力されます。
この1ライン描画終了から次の1ライン描画開始までの時間が、すごく短いんです。Z80の命令で4命令程度です。
このラインの隙間だけしかZ80は動作しませんので、HSYNC はほとんど使えないかと思います。
さらに、描画していない区間でもHSYNC は出続ける(一定間隔でパルスを出力するだけ)ので、ほとんど使えないんですね...
描画していない区間は出力されない、とかだったら随分違うんですけどねぇ。
初代もどこかにVSYNC落ちてないですか(笑)
チラツキ無しで画面切り替えが出来るだけでも羨ましいです。
VSYNC、HSYNC が出ているのは、残念ながらmk2以降です。
本体を改造するか(!)、拡張ポートに外付け回路を付けるかしないと、読み出しは無理です。