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

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

* 色々な掲示板spam

#掲示板spam対策 #Web
 うちの掲示板へ書き込みを試みたspam投稿ロボットの形跡を挙げる。
(ReadMore...)

* 3点バーストspam投稿

#掲示板spam対策 #spam例
2006/12/26,19:20:56,72.237.18.167,"","-","-",POST,"/BBS/BBS.cgi","","1.1",200
2006/12/26,19:21:03,72.237.18.167,"","-","-",POST,"/BBS/BBS.cgi","","1.1",200
2006/12/26,19:21:16,72.237.18.167,"","-","-",POST,"/BBS/BBS.cgi","","1.1",200

(ReadMore...)

* 入力デバイス「ダイス」

http://slashdot.jp/comments.pl?sid=343019&cid=1070484
ダイスのハードウェアサポート… (スコア:1)
Nomad-AY (2520) のコメント: Wednesday December 06, @02:52PM (#1070484)
昔から思っていたんだけど、そろそろ入力デバイスとしてダイスが登場しても良いと思う。
専用シート上で良いから、振ると出目を認識してくれるってな感じで。
標準で 6面体が 2個付属。別途、(さまざまな色の)多面体ダイスが購入できると。

 いいな、それ。
 画像認識のならあるようだけど、できればダイス自体にセンサが欲しい。
 「ごきげんよう」のサイコロぐらいの大きさなら、加速度センサ+PDA+無線通信手段ぐらいは比較的簡単に収まるのでは無かろうか。

 いや、今なら、Wiiリモコンを詰め込むだけでハードウェアは完成か。なんせ、Bluetoothで通信できる3軸加速度センサだし。
…で、ふと思ったのだけど、どっかのソフトハウス、Wii対応すごろく型パーティゲームを作らない?もちろん、リモコン収納スペース付のウレタン製サイコロ付で。

#電子工作

* ダブルクリック用ボタン

A4Tech GLaser X6:透明ガラス面でも使えるレーザーマウス - Engadget Japanese
http://japanese.engadget.com/2006/10/24/a4tech-glaser-x6/
>一回押すだけで二度押しになるという卒倒するほど画期的な「ダブルクリックボタン」

 あほだーっ!と最初思ったけど、悪くない発想かも。
 こーゆー機能はたいていソフト側(IntelliPointとか)でつけるものだけど、ハードの方で単純にクリックを短時間に2回行うってのなら、WindowsだろうがUNIX+Xだろうがお構いなしだよなー。

#電子工作

* HTMLをXHTMLに変換してREXMLで処理

プログラム(抜粋)
h = Html2xhtml.new
h.read_array(readlines)

require "rexml/document"
y = REXML::Document.new(h.body.to_s)

y.elements["/html/body"].elements[6, 'table'].elements['tr/td'].elements.each('a') do |a|
    p a.attributes['href']
    print a.text.strip + "\n"
end
結果
"http://auctions.yahoo.co.jp/jp/0-category.html?"
オークション
"http://list3.auctions.yahoo.co.jp/jp/23336-category.html?"
コンピュータ
"http://list3.auctions.yahoo.co.jp/jp/2084039759-category.html?"
パーソナルコンピュータ
楽だ…めっちゃ楽だ…

#Web #ヤフオク

* 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 #ファミコン

* 掲示板spam対策 (英語圏からのspam用)

 近頃猛威をふるっている、海外からのURL羅列spam等に対する対策。

 本文に多バイト文字が入っていなければエラーとして弾く。
 安直で簡単な対策ながら、効果絶大・副作用極小。
(ReadMore...)