2023年10月27日から2023年10月23日までの日記を表示中
2023年10月27日 (金)
■基板
昨日の回路でワンダー3を動かしたところ、ついに色化けが解消しました!
ドンプルのスコアランキング画面もこんな感じ。こんなに淡い色だったのねw
複合同期信号と赤の信号の波形をオシロスコープで見るとこんな感じ。複合同期信号の水平同期成分がHighになった後でも、まだしばらく赤の信号 (水色の線) がゼロ付近に落ちるようになりました。
KVC液晶やRetroTINK-5X、Framemeisterでは、水平同期信号が落ちてから少し時間を空けて色信号を参照するのに対し、デフォルトで問題なく映るブラウン管 (ナナオ製?)は水平同期信号と同じタイミングで色信号を参照するとか、そんな感じの差があるんですかね。
2023年10月26日 (木)
■基板
ワンダー3の色化け問題対策、色がおかしくなるときとそうでないときとで、基板から出力される信号にどういう違いがあるのか、複合同期信号と赤の信号をオシロスコープで観察してみました。
色が正常なシーンでは、こんな波形になりました。黄色が複合同期信号で、落ち込んでいるのがHSYNCのタイミング。水色が赤の信号。HSYNC前後のタイミングで赤の信号レベルはゼロに近い状態になっています。
一方、クレジットを入れて画面全体が青っぽくなっている状態の波形はこんな感じ。赤が1.7Vくらいになってます。これにより映像機器側で1.7Vが赤の基準レベルとされ、これより低いところは赤が出なくなり、これより高いところが赤の信号として処理されるって感じですかね。おそらく緑も似たような状態なのでしょう。だから画面が青っぽいながらも、青だけでは表現できない色がところどころ混ざるのか。
そして昨日やったM/B側の改造でHSYNCのタイミングで映像をマスクした場合、こんな波形になります。HSYNCの区間はきちんとゼロまで下がっていますね。
ただ、HSYNC区間の前後は相変わらずレベルが高い状況です。もしかして、この辺も含めてレベルを落としてやれば、改善したりするのかも・・・?手っ取り早く、D-FFを繋げてシフトレジスタを作って、遅らせたHSYNC信号を使えばいいかな。ちょうどCボードからは2MHzの信号が出ているので、これを使えば 7〜8サイクル = 3.5μ秒〜4.0μ秒程度の遅延をつけられるはず。
というわけで、74HC273を使って、まずはHSYNC信号を遅らせられるか実験してみました。
青が2MHzのクロックで、緑が元のHSYNC、オレンジがD-FFを何段も噛まして遅らせたHSYNCです。期待した通り8サイクル分遅延がつきました。後は、マザーボード上の74LS273のリセットに、元の信号と、この信号のANDを取ったものを入れてやれば、HSYNC付近でレベルがゼロになる期間を長くできるはずですが、時間切れで今日はここまで・・・。
[コメントを書く]
2023年10月25日 (水)
■出社
なんか出社した方が良いみたいな話だったので会社に行ってきました。が、家でも良かった感じ。疲れた・・・
[コメントを書く]
■基板
昨日の続きで、ワンダー3の色化け改善に取り組んでいます。ひとまずHSYNCもLUTOEに取り込んでみました。
マゼンタの波形が改善後のLUTOEです。期待した波形になっていると思いますが・・・
改善しませんね。
VSYNCの代わりにVBLANKを使ってみることに。
波形的にはLUTOEがHigh (つまりマスクしている状態) の期間が伸びています。
が、画面全体は変わらず青っぽいまま。ただ、画面上部にも青い領域が出てくるようになりました。あと、画面下に出ていた青い領域が「CREDIT 1」の文字の直下から始まるようになったりもしています。・・・あれ、色信号が出ない期間を広げたはずなのに、青い領域が広がるのはなぜなんだ?この領域が、RetroTINK-5Xでは出るけど、KVC液晶では表示されないことを考えると、何かまた別の事情があるのかな。
ちょっと埒が明かないので、一旦オリジナルと同じ改造をやって確認してみましょう。何で先にそっちをやらないのかという感じですがw
まずはCSYNCをCN4から引き出します。
オリジナルの改造情報では 74LS04は6G、74LS273は5Gと5Fとなっていますが、うちのワンダー3のマザーボード (89626A-4) だと、74LS04は同じ6Gながら、74LS273は 4Cと4Eになるっぽいです。
というわけで、74LS04の12番ピンを基板から浮かせて引き出すようにしました。また、74LS273の1番ピンも引き出しておきます。
オリジナルに忠実に、74LS04の出力とCSYNCのANDを74LS08で取って、これを74LS273のリセットに接続します。
波形は期待通り。元の74LS04の出力が茶色で、CSYNCが黄色、それとANDを取ったのが緑です。VSYNC期間とCSYNC期間に74LS273のリセットがLowになるようになりました。
が、変わりませんね。うーん、どういうことだ。・・・あ、元のWebをよく見ると、これを書いた方はワンダー3自体では試していないようですね。これでうまくいったら教えてね的なことが書かれています。うーん、なるほど・・・(汗)
クレジット投入後の画面はだめだけど、ドンプルのランキングの色化けはこれで改善したみたいな情報を頂いたので確認してみましたが、うちのはだめでした。個体差とか、モニタごとの差とかもあるのかな。
[コメントを書く]
2023年10月24日 (火)
■基板
ワンダー3で実験をしている中で、ふとゲームセレクト画面などでの色化けを解消させる改造の存在を思い出し、あわよくば同じことをCPicS1上で実現できないかと考えて原理を調べてみることに。
既に元のページは消えているようですが、Internet Archive上で情報を参照することができました。 ざっくりこういうことのようです。
- 表示機器側は、映像信号の垂直・水平同期期間のRGBの信号レベルを基準に黒のレベルを決定するらしく、この期間にRGBがゼロに近い状態になっていないと色がおかしくなる
- CPS1のハードには、色情報の出力をマスクする (ゼロが出るようにする) 仕組みがあるが、マスクしているのは垂直同期期間の直後の一瞬だけに限られる
- 垂直・水平同期期間中に色情報を黒にしていれば良いが、書き換えなどを行っていたり、色を出しっぱなしにしていたりすると、黒以外の色が基準として使われてしまい、画面の色が異常になる
- マスク処理を行う(実際には色情報を出しているD-FFをリセットする) 信号にCSYNC信号を混ぜ込むことで、垂直・水平同期期間に色情報が出てしまうのを防ぐことができる
このマスク期間を示す信号としてLUTOEという信号名が記載されていますが、同じ名前の信号がCボードの101番ピンから出ています。また、CSYNC自体はBボード上で作られていますが、その元となるVSYNCとHSYNCはCボードから出ています (Bボード上でこれらをANDしているだけ) 。なので、(LUTOEが同じものであれば) 理屈の上ではCボードとBボードの間に割り込む形でLUTOEを加工してやることで、M/B側を改造しなくても近いことができるはずです。
というわけで、さっそく実験開始。とりあえずLUTOEと、反転させたVSYNCのORを取って、これを元のLUTOEの代わりにBボード側に出してみました。
うおお、なんじゃこりゃ。ゲーム画面が出ない上に、画面下部に謎の模様が・・・。
・・・って、VSYNCの反転とLUTOEをNORした後、反転させるのを忘れていた(汗)。なので逆に画面外の領域に映像が出ちゃっていたのか。まあ、これで変化があったということは、CボードとBボードの間に割り込むことで対策ができる可能性が高いということになりますな。
NORした結果を、再度NORゲートで反転させてみました。
おお、今度は映像が出ました。
ただ、VSYNC期間のマスクを広げただけでは色化けの症状は改善せず。
まあ、まずはちゃんとHSYNC期間もマスクするようにするところからですね。続きはまた明日。
[コメントを書く]
2023年10月23日 (月)
■基板
ワンダー3の縦縞問題、等間隔の縦縞が出ていることから、グラフィック関連のデータが流れているバスのうちの1bitがおかしくなっているものと推測されます。そこで、DL-0921の解析情報を元に、関係していそうな121番ピン以降を、基板を動かしながらロジックプローブで観測してみたところ、122番ピンがLowに張り付いたままであることが判明。これが原因と見て良さそうです。
テスターで確認すると、GNDと短絡してました。いや、でも、何で・・・?って、よく見たらひどいはんだ不良があるしww
問題箇所を拡大するとこんな感じ。ピンをカットした際に、近傍のGNDのパターンのソルダーレジストを剥いでしまったようで、その後、カットしたところをなめらかにするためにはんだごてを当てた際に、剥げて露出したGNDとブリッジしてしまっていたようです。これはダサい、ダサすぎる・・・
ブリッジを解消したら無事GNDとの短絡も解消し、縦縞も出なくなりました。ふぅー。
修正版CPicS1では、カットする可能性のあるピンのすぐ近くには塗りつぶしパターンが来ないようにした方が良さそうですね・・・。
[コメントを書く]
2023年10月27日から2023年10月23日までの日記を表示中
[コメントを書く]