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

* 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

* 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ビデオデッキにチューナが死んだテレビデオ(普通のテレビ放送でも同期外れがたまに出るほど、同期周りが弱い)にて、同期外れが頻発。

* deny from 64.124.85.0/24

#Web
 再び、BecomeBotに検索履歴をかき回されたので、.htaccessにて排除することにした。
robots.txt BecomeBot締め出し
http://baku.homeunix.net/WiKi/rnx/index.rb?1138996756.txt
にてのけ者にしたはずなのだが、BecomeJPBotは別物というわけか。え゛ー。
 ちなみに、robots.txtは最初にちゃんと読んでる。

 20秒に一度のアクセスだったり、UAの項に載っている http://www.become.co.jp/site_owners.htmlは「お客様が指定されたページは見つかりませんでした。」だったり、かなり感じ悪い。
(ちなみに、正しくは、http://www.become.co.jp/site_owner.html だそうだ。その辺の食い違いも感じ悪いぞ)
 また、他の多くのクローラの挙動と違ってリファラを送る点で、RandomeNoteの敵。

↓はた迷惑なアクセスの記録
(ReadMore...)

* RP2C05-03, RP2C05-04

VS Top GunのPPUはファミコンのRGB化には使えない…?orz

MAMEのvsnes.c http://www.mameworld.net/maws/mamesrc/src/machine/vsnes.c より
/* VS Top Gun: ROMs bankings at $8000-$ffff, plus some protection */
static READ_HANDLER( topgun_security_r )
まだ眺めただけなのでよくわからないけど、なんか特別扱いしてるし…。

Nintendo Vs. Series - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Nintendo_Vs._Series
Several of the later Vs. games employed further measures of protection by using special PPUs which swapped pairs of I/O registers and/or returned special data from normally unimplemented regions of memory - attempts to run these games in other Vs. systems would result in the game failing to even start.

 他のPPUじゃ動かないのに加えて、他のROMを持ってきても動かないのかな…。現に、RP2C03BでRGB化したファミコンのと差し替えて動かないし。

#RGB #ファミコン

* RGB出力PPU

 ファミコンをRGB出力するのに必要なPPUに関して。

RP2C03BTENNIS
DUCK HUNT
RC2C05-03GUMSHOE
RC2C05-04TOP GUN
RC2C05-99編集ファミコン(ファミコンタイトラー)
不明ファミコンテレビC1

 RC2C05-03, RC2C05-04は使えない?
 手に入れたのをRP2C03BでRGB出力化したAVファミコンのと差し替えたら、ゲームが起動しなかった。どの辺に非互換部分があるんだろうか?


 C1不可のソフトがあるのは、C1のPPUが古い仕様で新しいので直ったバグが残っているためらしい。通常のファミコンでも初期のものは同様の症状が発生する可能性があるとのこと。

 C1はRP2C03Bを積んでいるのではないかと推測される。ということは、編集ファミコンに搭載されているRC2C05では改善されていて、C1不可のゲームでも不具合がでないのかも。


参考文献
RGBイヒ】ゲーム機改造 4機種目【その他小ネタ】
http://game9.2ch.net/test/read.cgi/gameurawaza/1117339941/600
一流メーカーの過去の駄作。
http://piza.2ch.net/jisaku/kako/986/986571947.htmlの170

http://gavin.panicus.org/doc/2C02%20technical%20reference.txt

#電子工作 #RGB

* Ruby関連参考ページ


Rubyで画像ファイルのサイズ取得:生活活用形−ちょよて・ちゃよて
http://tociyuki.cool.ne.jp/clife/comp/rubyimagesize.html

Ruby/PureImage
http://cappuccino.jp/keisuken/ruby/pureimage/

backup_mixi
http://d.hatena.ne.jp/kusigahama/19700831#pl

Exerb Project
http://exerb.sourceforge.jp/
backup_mixiはexe化されたのが用意されてる。
Ruby環境を用意していない大多数の人にとっては便利だな。
用意してても便利。

RAA - http-access2
http://raa.ruby-lang.org/list.rhtml?name=http-access2
backup_mixiで使われているようだけど、やっぱ標準のhttp.rbより便利なのかな?


#プログラミング #Ruby