自分自身のための ものづくり / 自分自身のためのものづくりメモ

* Nintendo64(前期)のアナログRGB出力

#RGB #Nintendo64 #メモ
 VDC-NUS が、D/Aコンバータ。アナログRGB信号を生成。
 ENC-NUS が、ビデオエンコーダ。アナログRGB信号から、コンポジットビデオ信号とセパレート(Y/C)信号を生成。

 VDC-NUS が出力するアナログRGB信号は、0〜0.7V。

 ENC-NUS の受け側(1,2,3pin)では、2.5V〜3.2V。クランプして処理している模様。

ENC-NUS
1-3アナログRGB入力
4クランプ電位? 2.5V-
5C-SYNC?入力?
6H-SYNC?入力?
7GND-
8
10C出力
11GND-
12CVBS出力
13Y出力


 いわゆる後期版では、ENC-NUSが無くなり、デジタル信号から直接コンポジットビデオ信号とセパレート信号を生成している?

ソース:手持ちのを今更改めて調べてみた

* アナログRGB21→AVマルチ変換

#RGB #作例 #資料







材料

  • AVアダプタ SCPH-0150AVマルチ側のケーブルとコネクタ
  • アナログRGB21ピン中継ソケット MRS-671J

結線

21フレームGND
青入力20
19緑入力
GND(青)18
17GND(緑)
16
15赤入力
GND(Ys Ym)14
13GND(赤)
Ym入力12
11AV Ctrl入力
10
9映像入力
8
7GND(映像入力)
6
5音声入力R
4
3GND(音声入力)
2
1音声入力L

* アナログRGB21ピンコネクター ピン配置

#RGB #資料 #メモ
21フレームGND
青入力20
19緑入力
GND(青)18
17GND(緑)
Ys入力16
15赤入力
GND(Ys Ym)14
13GND(赤)
Ym入力12
11AV Ctrl入力
映像出力10
9映像入力
GND(映像出力)8
7GND(映像入力)
GND(映像出力)6
5音声入力R
GND(音声出力)4
3GND(音声入力)
音声出力2
1音声入力L
(配列は、中継ジャック半田面から見た場合を想定)

ピン番号信号
1音声入力 (408mVrms 47kΩ)
2音声出力 (408mVrms 5kΩ)
3アース
4アース
5音声入力 (408mVrms 47kΩ)
6音声出力 (408mVrms 5kΩ)
7アース
8アース
9映像/同期入力 (1Vp-p 75Ω 同期負)
10映像/同期出力 (1Vp-p 75Ω 同期負)
11AVコントロール入力
12Ym入力 (注1)
13アース
14アース
15赤入力 (0.7vp-p 75Ω 正極性)
16Ys入力 (注2)
17アース
18アース
19緑入力 (0.7vp-p 75Ω 正極性)
20青入力 (0.7vp-p 75Ω 正極性)
21プラグシールド
日本電子機械工業会 TTC-003準拠

(注1) Ym入力:画面上の映像信号の輝度を制御する信号
(注2) Ys入力:画面上の映像信号と外部(赤・緑・青入力)信号を切り替えるための制御信号

転記元:
トリニトロンカラーモニター CPS-14F1 取扱説明書 13p

* スーパーファミコン用純正RGBケーブル SHVC-010 のコンデンサの液漏れ

#RGB #メモ
 スーパーファミコン用純正RGBケーブル SHVC-010 は、一部にコンデンサが液漏れしているものがある。割合は1/10ぐらい?
 新品未開封のでも液漏れしているのがある。使用条件によるものではないっぽい。外見は大丈夫でも容量が抜けていることもある。
 そんなわけで、まだ無事でもコンデンサを交換しておいた方が安心。

 ↓は、ジャンクコーナーで発掘した中古品。








余談:
 RGBのカップリングコンデンサを本体に内蔵せずにケーブル側に入れたのは、滅多に使われないRGB出力のために大きめの電解コンデンサが3つ増えるのを避けたためだろう。もしも本体に内蔵していたら、SFCの故障率はもっと高くなったかもしれない。

 2010年現在でも SHVC-010 の新品は比較的容易に入手できる。ということは、ずいぶん売れ残ったわけだ。SFCより後のゲーム機(Nintendo64 NUS-001、スーパファミコンJr. SHVC-101)がRGB出力非対応になったのも仕方ない。RGB出力を省いて節約できるものは結構多く、対応して増える売り上げは微々たるものだろうから。
#でも、スーファミJr.がS信号出力まで無いのはどうかと思う。

* Web検索にてOKWave系のを排除する

#Web #メモ
"-回答者 -質問者 -回答件数"

 OKWaveのクローン爆発しろ!

 本体も、どちらかというと要らないかなぁ。検索結果にOKWaveと2chがあったら、参考になる情報がある可能性は2chのほうがはるかに高い印象がある。というか、OKWaveに参考になる情報がある印象が無い。

 上記の除外条件では、OKWaveの他のQ&Aサイト(q.hatena.ne.jpとか)も除外される。だが、それによる見逃しの害よりも、ノイズ除去の利の方が多いと思う。「教えて」系のが「参考になる」可能性は低い。

* サターン用RGBケーブル, 音声ノイズ, GNDの接触改善

#電子工作 #RGB #メモ
 だいぶ前に組んだサターン用RGBケーブル(純正ケーブル HSS-0109 のサターン側約15cmとSFC用純正RGBケーブル SHVC-010 を継いだもの)と、XRGB-2plusを繋いで、久々にサターンを起動した。すると、音声にずいぶんノイズが乗っていた。

 サターン側のミニDIN10ピンコネクタのフレームが曇っていたので、コンタクトZで接点を磨いたところ、ノイズは解消された。


 サターンの映像出力端子は、GNDがピンに割り当てられておらず、ミニDIN10ピンのフレームにGNDが割り当てられている。で、そのフレームはピンよりも接触が不安定だし、メッキ部が曇ったりもする。その結果、サターン・モニタ間のGNDの抵抗が増える。

 75Ω終端の映像信号は、比較的大電流の信号だ。終端抵抗に0.7Vの電圧を発生させている間は、9.3mAの電流が流れる。RGB接続なら、R,G,B,複合同期(コンポジットビデオ信号)の4本で、計37mA

 というわけで、仮にサターン側コネクタのGNDに1Ωの抵抗が挿入された場合、映像信号がフルにスイングするとそのリターン電流のために、相互のGNDレベルに37mVの変動が生じる。


 その点、プレステのAVマルチ出力は、GNDがRGB,Video,Audioで分けられているので安心。でも、実際には機器側のコネクタでいきなり共通になっていたりして、意図どおりに機能することはあまりない気もする。

* PS用純正RGBケーブル SCPH-1050 の結線

#RGB #資料
線の色機能
Red
Green
Blue
Audio L
Audio R
+5V
外皮GND

紫以外はシールド線(同軸ケーブルとは言えないかも)。

AVマルチコネクタ側は、各シールド線の外皮は共通GND。コネクタ側で映像と音声のGNDが繋がっている。

21ピンコネクタ側は、映像GND,音声GND,フレームGNDが別個に処理されている。

色の対応はAVアダプタ SCPH-1160 と一致している

* AVアダプタ SCPH-1160 のバージョン

#RGB #メモ



 AVアダプタ SCPH-1160 には、ケーブルが脱着式のコネクタの物とそうでないのがある。
 後の物がコストダウンのために脱着不可のになったと思っていたが、そうではないっぽい。
 「1998.7.4A」の印字があるのは脱着できるが、「1997.2.4C」「1997.3.2A」の印字のは脱着不可だった。むしろ、作りやすくするために後のが脱着式になったのかもしれない。

 今回調べたのは中古のなので、外装と基板が一致していない可能性も無いではない。…が、その可能性は低いと思う。

* AVアダプタ SCPH-1160 の内部結線

#RGB #資料
ピン番号線の色機能
1Green
2Red
3+5V
4Blue
5GND (RGB)
6C
7黄色Video
8薄緑Y
9Audio R
10GND (Video)
11Audio L
12GND (Audio)
フレーム外皮GND

* XRGB-2plusのドットクロックをファミコンに合わせる

#RGB #ファミコン
 スーパーモードを有効にして、DTC_TYP を[USER]に、USR_DTCを1023に設定。

 SCAN は [SVGA](47kHz) に設定しておく。VGA(31kHz)では、スキャンライン毎に表示されるドットがずれる。また、SVGAモードの方がPPUの動作に伴う(?)「縦線」ノイズが目立ちにくい。
(というか、XRGB-2plusの31kHzモードでやたら縦線ノイズが目立つ。サンプリング周期/2以上の周波数のノイズが突き抜けているのか? 出力がVGAかSVGAかで変わるのが謎だ。出力が違っても入力のサンプリングは変わらないだろうに…。)

http://nesdev.parodius.com/2C02%20technical%20reference.TXT
+---------------+
|PPU base timing|
+---------------+
(中略)
  • Pixels are rendered at the same rate as the base PPU clock. In other
words, 1 clock cycle= 1 pixel.

  • 341 PPU cc's make up the time of a typical scanline (or 341/3 CPU cc's).
341*3 = 1023

* マイクロスイッチのチャタリングの様子の観測

#電子工作 #実験 #メモ

はじめに

 チャタリングによるダブルクリックが頻発する IntelliMouse Explorer 3.0 を、Windows上で動くフリーソフトの ChatteringCanceler を用いて騙し騙し使っている。
 色々不毛で不便。ハードウェア的にパッチをあてるために、まずは、マイクロスイッチのチャタリングの挙動を観測してみた

機材

 PICkit2のソフトに簡易ロジアナ機能があるので、それを利用。3chまでしか観測できないけど、1chあれば十分。

 PICkit2の1ch,2chには内蔵の4.7kΩプルダウンがある。なので、マイクロスイッチのコモンを1chに接続。NO接点にPICkit2のVDDを接続し、VDD出力にチェックを入れる。
 トリガを1chの立ち上がりに設定し、RUNして、スイッチを押す。

結果

 0.5msでだいたい安定するが、1.5ms程度まではチャタリングが時折発生する。

 IME3.0のチャタリングは、こんなパルスを拾った結果なのだろうか。

対策

 色々な手法はあるけど、はて、どうしたものか…。
 H/Lで+1/-1してカウンタを増減させて、上下の閾値に達したら論理確定、ってあたりが確実か。
 パラメータは、500μ秒の連続ON/OFFで切り替わるぐらいで。マウスのボタンなら、0.5ms遅延したところで全く問題ない。

 マイコンを使うことを考えていたが、素直に積分+シュミットトリガゲートの方が…いや、5ch分のCRは場所食いだ。無駄に集積回路を使うけどマイコンの方が部品点数は少なくて済む。

* デジタルRGB → アナログRGB 簡易変換

#電子工作 #メモ
 8bitパソコン黎明期のデジタルRGB出力をアナログRGBに。

5Vp-p → 0.7Vp-p @75オーム終端 簡易変換

 470Ωの抵抗を直列に入れる。

0.7[V]/75[Ω] = 9.33[mA]
4.3[V]/9.33e-3[A] = 461[Ω]
E24系列で近いのは、470Ω
#461Ωは±5%の範囲。470*0.95=447

5Vp-p → 0.3Vp-p @75オーム終端 簡易変換

 1.2kΩの抵抗を直列に入れる。

0.3V/75[Ω] = 4[mA]
4.7[V]/4e-3[A] = 1175
E24系列で近いのは、1.2kΩ


 XORでの同期合成に74ACT86を使う。4ゲート入りで、残り3ゲートをRGBのバッファに。

 デジタルRGBのは仕様に「TTLレベル」とあるから、74AC86より74ACT86の方が安心。ACでもちょいプルアップしておけばいいだろうけど。

 多めの電流を流すとV(OH)・V(OL)がVCC・GNDまで振り切れない。CD54ACT86のデータシートによれば、VCC=4.5Vにて、VOH=3.94V@IOH=-24mA,TA=25℃、VOL=0.36V@IOL=24mA

 あくまで簡易変換。素直に、1.4Vp-pになるよう分圧して、150Ω負荷駆動のためのバッファを入れたほうがいいかな。

* PC Engine の AV Booster PI-AD2 の分解

#PCEngine #分解


 入力側と出力側のノイズフィルタが印象的。元々、本体からして当時の機器としてはずいぶん厳重にシールドされているからな。
 基板の長穴からすると、AVブースターの回路もシールド板に包むことも検討したようだが、そこまではやっていない。

 音声は、オペアンプのμPC358を用いた反転増幅回路がバッファになっている。フィードバック抵抗に、同じ穴に差し込んでコンデンサがパッチ的に追加されている。


 映像は、2SC2785を用いたエミッタフォロア。出力側に75Ωの整合抵抗無し。0.7Vp-pで入ってくるのを、そのまま出力。

 いいのか?こんなで。入出力にやたら厳重にノイズフィルタが付いているのとの落差に、ちょっと違和感を感じた。


* Bad Apple!! PV-FC (2) がファミコン実機で映像が乱れる。原因は黒より暗い黒

#ファミコン
※最新版では問題は修正済

発端

Bad Apple!! PVをファミコンで再現してみた。(その2)
http://www.nicovideo.jp/watch/sm9170895
に感動した。
 エミュレータでの再生では満足できず、実機で再生するためにMMC3搭載カセットのROMを剥いでEP-ROMを載せたカセットを作成した。


事象

 RF接続した赤白ファミコン(HVC-001)では映像が乱れる。RP2C03を載せたRGB出力AV仕様ファミコン+XRGB-2plusでは乱れない。

↑MTV-2000にRF接続し、キャプチャ

調査とわかった事

 後期型ファミコンの裏蓋を外し、オシロスコープでPPUの出力を眺めた。その結果、映像の黒部分に、バースト直後の黒レベルよりも低いレベルの信号が出ていた。

↑はAV仕様ファミコン(無改造)の映像出力

黒より暗い黒

http://nesdev.parodius.com/2C02%20technical%20reference.TXT
+-----------------------+
|Video signal generation|
+-----------------------+
(中略)
Luminance value 0, mixed with chrominance value 13 yield a "blacker than 
black" pixel color. This super black pixel has an output voltage level close 
to the vertical/horizontal syncronization pulses. Because of this, some 
video monitors will display warped/distorted screens for games which use 
this color for black (Game Genie is the best example of this). Essentially 
what is happening is the video monitor's horizontal timing is compromised by 
what it thinks are extra syncronization pulses in the scanline. This is not 
damaging to the monitors which are effected by it, but use of the super 
black color should be avoided, due to the graphical distortion it causes.

 パレットについての関連参考資料。
ファミコンの詳しい話
http://www.wizforest.com/OldGood/FamiCom/FamiMisc.html

 Bad Apple!! PV-FC では、黒として 'Luminance value 0, mixed with chrominance value 13' つまり 0x0D を使っているのだろう。(未確認。VirturalNESのパレットビューアでは、どのパレットを使っているかが数値では表示されない)
 作者の門真なむさんは実機で動かしているが、RP2C05-99を積んだツインファミコンで動かしたために、普通のファミコンで映像が乱れる(モニタにもよるだろう)ことに気づかなかったのかな。

追記

 問題が出る環境はかなり限られている模様。悪条件に相当弱い機器でなければ、はっきりした問題にはならないのかも。
 うちでは、MTV-2000にRF接続でノイズだらけになる。(MTV-2000はノンスタンダード信号に弱いので、blacker than black 以前の問題もあるかも)LGの安物VHSビデオデッキにチューナが死んだテレビデオ(普通のテレビ放送でも同期外れがたまに出るほど、同期周りが弱い)にて、同期外れが頻発。

* NEO GEO 用メモリカード(等)のSRAMの、FRAM化の検討

#NEOGEO #メモ
MCS48(8048)マイコンのページ(2007-05)
http://www.protom.org/micon/?date=200705
通常のSRAMのように扱えるので乗せ変えるだけと思いきや、これが全く動かず。しばしデータシートを眺めると、/CS(チップセレクト)端子を動かしてアドレスを内部にラッチさせないとダメとありました。この8048ボードは/CS線はGNDに繋がっているので原因究明。空きスペースにTTLの74LS08を置いて、8048からのPSEN,RD,WRでNegative-ORして/CS線に繋いであげると動き出しました。

  • FRAM Design Considerations
When designing with FRAM for the first time, users of SRAM will recognize a few minor differences. First, bytewide FRAM memories latch each address on the falling edge of chip enable. This allows the address bus to change after starting the memory access. Since every access latches the memory address on the falling edge of /CE, users cannot ground it as they might with SRAM.

 富士通の場合は、/CEがLにて/WEか/OEの↓でラッチアドレス?
 非同期SRAMと置き換えるだけでは、ダメか…。