2010年1月31日日曜日

久々にFCのAV化改造をした

去年末からKazzoのおかげでファミコン三昧ですw

で、やることなくなっちゃったんでカセットやら整理してたらFC本体の基板が出てきた。

少し前にショップで綺麗なNewFCが4,980円で売っていて、一先ず考えて昨日買いに行ったところ売り切れだったので、丁度いいかってことで久しぶりにAV化してみた。

AV化改造は各所で数種類出回っていますが、今回はHIROさんトコのコレが結構良さげだったのでマネさせていただくことに。

オリジナル基板も作成されており、部品の配置もスッキリしていて作りやすそうです(^-^)

部品は全てウチにあった在庫で。

15KΩの抵抗だけが無かったので、10K+4.7Kを直列で代用してる以外、配置も含めて殆ど同じですw

PICT4728

↑表面、部品自体大きいものは無いので、コンパクトに纏まってGood。

PICT4729

↑裏面、上でも書いたけど10K+4.7Kにしてるので一箇所ジャンパせざるを得なかったのですが、通常はジャンパも無く綺麗なパターン構成に仕上がる。

あ、そうだ、HIROさんのオリジナルではVIDEO出力がちょっと濃い濁った色になってしまったので抵抗を変えている。

オリジナルのV_OUTの抵抗は180Ωだったので、試しに100Ωの可変抵抗を取り付けて少しずつ調整したところ、68Ω辺りが普通に見て当たり障りの無い発色をしている。

ただし、コレはFC基板のリビジョン(因みに今回使ったのは旧07)にも依存するのかもしれないので、100~200Ω程度の可変抵抗を最初から取り付けて調整できるようにしたほうが無難かと。

(今回はスペース的に考えてなかったので見送ったが、次回からはそうするw)

・180Ω時と68Ω時の違いを比較してみる

え~・・・先に断っておくと、PCでキャプチャした際にはあまり変化は見られないようで、もしかすると濃いほうが綺麗に見える人もいるかもしれない(^-^;

だけど、TVに映し出せば差がハッキリ(ホントだってばっ!)わかるので、確認できる人は実際にやってみてください(笑

0131212431_1b

↑180Ω時のパレットテスト

0131212431_1a

↑68Ω時のパレットテスト

0131212431_0b

↑180Ω時のスーパーマリオ

0131212431_0a

↑68Ω時のスーパーマリオ

・・・ん~~、上手く伝えられないのがモドカシイ・・・(-_-)

因みに、抵抗をなくした場合は標準的(?)なAV化改造と同じく、全体に白が強調された感じになります。

その際には黄色(レモン色っていうのかな)を使ってるところが白になるので変化がわかりやすいでしょう。

PICT4732

とりあえず動作テスト時の光景(笑

AVコネクタと基板は、むか~しむかし某所で10円(だったっけ?)で叩き売りしてた余りもの。

今まで使わなくて、テストに丁度いいや、ってことで仮に使ってる。

本体のガワは既に捨ててしまっており(ぇ?、ケースを考えなくてはいけないんだが・・・無いねぇ(苦笑

RF基板は捨てて電源回路基板作れば全体的にNewファミコンよりもコンパクトに仕上がるんだけど・・・

毎度の事だが、やっぱり最後はケースに泣くんだな(^-^;

ま、ケースは置いといて、このAV化改造は結構気に入ったw

今後もやる機会があればこの方法を使うことにしよう(^-^)

2010年1月28日木曜日

Flashカートリッジ製作-ソケット仕様編

ちょっと実験することがありましたので、序にソケットを使う場合の加工方法なんぞを簡単に。

前の製作例でも書きましたが、メリットとしてデバイスの使いまわしや実験に最適です。

デメリットはソケット化すると必然的に厚みが増すのでケースに穴を開けてもFCスロットに干渉してちょっとキツイ。

ので、FC本体側を加工するか、どうしても綺麗にケースに収めたいのであれば配線を延長してMMC5のカートリッジ使うとかしたほうが無難。

基板状態で動かすならなんとか普通に使える。

今回のベースはMMC1-SK-ROM(PGR-ROM&CHR-ROM)です。

配線方法はデバイス直付けと同じなんですが、デバイスの足を触らない代わりに基板のパターンカットをしなければいけません。

パターンをカットする際には、どこの線がどこへ繋がっているのか&繋がるのかを事前にちゃんと把握しておかなければいけません。

何でかっていうと、裏は後でもカットできますが、表しかパターンが走ってないところはソケットを先に付けちゃうとカットできなくなるから(笑

カットが必要なピンはMMC3やMMC5も含めてほぼ同じで、1、2、22、24、30、31ピン、コレだけを考えればOK。

マッパーによってはもちろんですが、リビジョン違いでも多少パターンが異なります。

細かい作業になりますし、目視だけではちょっと大変かもなので、テスターはあったほうがいいでしょう。

では、実際にパターンカットした様子を。

PICT4719

表側、赤色で塗った箇所(5箇所)がパターンカットしたところ。

向かって右がPRGで左がCHR。

CHR30pin(A17)がカットしてないが、SK-ROMのCHRはA17自体が存在しないため、どの道VccかGNDに繋がなきゃならないので、カットしないでこのままVccに繋げておく。

(実はカットするの忘れてた。結果オーライってことで。ホントはGNDに落としたかったの・・・個人的な感覚ではね(^-^;)

PICT4720

裏側、同じく赤色の7箇所をカット。

CHRの1pinはVccのままでいいのでは?と疑問を持たれる方もいるかもですが、残念ながらGNDに落とさないと実機で動作しなかったりするw

PRGの1pinも同じでGNDでなきゃダメ。

(余談ですが、512KBデバイスだとアドレスバスが18までありますが、FCの仕様上、A15以降は「手抜き配線」という方法も可能で、必ずしも対に繋がなくても動かせてしまいます。んが、混乱するのであえてその接続はしてません。どんな接続になるのかはUnagiのHPで確認してください)

PICT4721

カットが全て終わったらソケットを普通に取り付けます。

上の写真ではCHRの31pin(WE#)からPCBの47pin(PPU WR#)に繋がってる線が1本見えてます。

PICT4726

裏は大体こんな感じになります(^-^;

PRG&CHRの1pin(A18)は上で書いたようにVccでは起動できないのでGNDへ繋げてます。

(写真ではわかりやすく各デバイスのGNDへ繋げてますが、どこでもいいです)

コレ見ると、デバイス直付けのが楽だってことがお分かりいただけるかとw

まぁでも、デバイスの保有数が少ない場合にはかなり有効かと思われるので、ソケット化を覚えておくといいかもしれませんよ~

序なので現在のウチのじゅんかちゃん。

PICT4727

これだっ!っていうケースが浮かばないので、現状下の土台だけ作ってこのままで(笑

耳も切っちゃって、「小ささ」を生かした(←なにそれ

PICT4718

先日の続きで、持ち歌は青い基板ですw

・・・若い人には全くわからないツマラナイネタですなぁ(-_-;

2010年1月23日土曜日

Junk A_Kazzo、ようこそここ~へ~ふっふふっふw

Kazzoの販売開始ぐらいから私のトコ見に来ていただいてる方にはお分かりかと思いますが、私が注文したKazzoは辞退&JunkBの抽選も外れましたので今まで手元にはありませんでした。

で、一次販売終了時にJunkAが残っていたので、それをお願いしておりましたw

(もちろん、お金出して買ってますよ~)

PICT4706

状態としては、認識はするが読み書きができないというもの。

販売ページにアドレスバスがおかしいかも、とも書いてあった。

とりあえず、Flashカートを差し、届いた状態でPWをショートさせてUSB接続。

うむ、ちゃんと認識してるようだ。

順当に吸い出しをしてみると、AnagoではNGとは出ないが、CRCは全然違うのでやっぱりおかしいのだな、と納得。

データをバイナリエディタで比較すると、ある程度まとまったデータは出てきているので、やはりアドレスバスか、データバス(←コレがおかしいとソコだけFFになるか?)とかも絡んでくるのかもなぁ、と漠然と素人なりに考えていた(^-^;

いろいろと考えたが、PCBの配線がこの一枚だけ違うとか切れてるとかは線が薄いだろう、あるならデバイスの故障か、はんだミスが妥当かな、と。

そんなわけで、テスターでアドレスバスを0から順番に確認することに。

すると・・・

PICT4711

74HC574の19pin(A8)が繋がるパターンを測ると通電しているが、

PICT4710

19pin足の付け根で測ると?

・・・ニヤリw

PICT4712

早々はんだを盛りなおしてテ~ス~ト~ッ!

・・・もう、お分かりですね。

jaka

既に書き込んであるFF2を読み込み、さらに書き読みで問題無しっ!

ファームは0.1.1のままだったのでFlashカート経由で0.1.2にアップ完了。

・・・直ったw

ってことで、原因ははんだミスだったわけですが・・・これ、私もblogのはじめの方でやらかした事あるんですが、面実装デバイスは目視だとはんだ付けできてるように見えて実はできてない、ってことがたびたび起こります(^-^;

部品が小さいので見難いし、テスター当てる位置も場合によっては微妙な調整が必要で。

なんにしても、簡単に原因がわかって良かった(^-^)

ちょっとしたパズルみたいで面白かったです。

で、初めて販売版のKazzoを触ったわけですが、以前もチラッと聞いてましたが、USBコネクタがグラグラするのがちょっと気になりますね。

現状、USBの信号線4本で固定されてるだけなので、使用頻度&状況によってはどうなるか・・・

なので、心配な人は以下のように補強しましょう。

PICT4713

USBコネクタ付近のGNDがあるので、適当に銅が見えるまで削る。

・・・銅面まで剥がさないように(笑

PICT4714

あとはUSBコネクタの固定用のツメと削ったGNDをスズメッキ銅線(抵抗の余った足)で繋げばOK。

これでかな~り丈夫に固定できますよ~(^-^)

それにしても小さいですね(笑

密度的にもっと小さくできるんだろうけど、実用性を兼ねたらコレぐらいの大きさになるのかな。

さて・・・なんのケースに入れようかなぁ・・・

の前に、デバイスの検証しなきゃw

2010年1月19日火曜日

今更なことですが・・・(約2年落ち)

ゲーム・ジェネレーションX・・・ここ見に来る人には説明は要らないかと思われるもの(^-^;

ホントに今更なので、スルーしちゃって下さっても結構です~

超掻い摘んで説明すると、今の時代にファミコンのカセットを作るドキュメンタリーです。

PICT4701

その編集DVDが約2年前に発売されたのですが、定価1万2千円と高く、尚且つ一部で配られたROMキット(だっけ?)が手に入りそうも無くて購入しなかったんですが、ネット徘徊してたら何気に発見し、新品で半額だったので買ってしまった(^-^;

PICT4702

売れてないのか、初回限定のパッケージ、取り説付きで今更なのにちょっとラッキ~。

内容は、今kazzoなどを弄って工作してる立場(そんな偉いものではないがw)からするととても興味深い。

映像を通してファミコンの基板とか出てきた時はニンマリとしてしまったw

それはさておき、コレにはROMキットで配布された「Mr.SPLASH!」、ファミコン最後の市販ソフト(扱いなのか?)がエミュ一体型で同梱されています。

で、今現在Flashカートリッジを作るのはFlashROMを使ってしまって、EP-ROMを全く使っていない状態になっていたので・・・

久しぶりにEP-ROM出してきて保存版にするべく、イメージ切り出して早々にカセットにしてみた。

同梱のCD-ROM内にあるVirtuaNES.exeを、

n:>datacut virtuanes.exe MrSplash.nes 713996 40960

とすればnesファイルの出来上がり。

と、後で知ったのだが、公式のProjectFのとこのリンクで切り出しツールが置いてあるとこがあったのね(^-^;

おまけにカセットに張るラベルもご丁寧に実寸で置いてあるなんて・・・

公式でって・・・技術向上のためにやれるヤツはどんどんやれっ!って事なんだろうな、きっと。(←前向き

(因みにこの切り出しツール、nes、prg、chrと3つファイルができますが、chrファイルはどこ切り出してるのか正常なデータではないですね)

ROM焼きするならnesファイルを32Kと8Kに分けたほうが正解。

PICT4703

EP-ROMは消化するつもりで固定しちゃう。

CHRは本来8Kだけど、32Kが沢山余ってるので8K×4のデータを書き込んでぽん付け。

ケースは綺麗なのが無かったので、今度綺麗な水色探して完成させようかな。

レトロゲームに興味があって、工作好きな人はこのDVD見ると楽しいかも?

2010年1月16日土曜日

kazzoを簡易ROMライタとして使う+W29C020の件

使い方としては邪道(?)かもしれませんが、kazzoとFlashカートリッジ(ソケット化推奨)があればファミコン以外のデータでも書き込めてしまいます。

たとえば初代XBOXのEvolutionX Bios、通常256K、VGA対応や開発用は512K。

evo

(↑画像の反転部はMMC1-SNROMのヘッダ)

バイナリエディタを開き、使用するFlashカートリッジのマッパー用ヘッダを先頭に付加するだけでOK。

evo2

MMC3なら512Kbyte(2Mbit)、MMC5なら最大1Mbyte(8Mbit)まで可能なので、対応デバイスさえ用意できればSNES、MD(容量的に全部は無理だが)などなど、いろんな用途に使うことが可能。

ROM焼きたいけどROMライタは高価だし・・・って人はそれなりに使えるんじゃないかなぁ・・・それなりに(笑

昔のジャンクPCマザボ探して環境作るよりは楽だし、使いやすいかと。

次、先日のMMC1とW29C020の相性問題ですが、開発者様にスクリプトを見直していただいて、正常に書き込めるようになりました(^-^)

んが、このW29C020、デバイス的にちょっと問題が。

先日製作例で作ったAM29F040Bのような通常配線では、書き込みは正常にできますが実機で動作しません

MMC1でもMMC3でも、おそらく他のマッパーでも同じだと思いますが、デバイスの特性により、PRG-ROMとして使う場合、書き込み時にはWE#(31pin)をCPU R/W(PCB14pin)へ、実機動作時にはVccへ接続しなくてはいけません(^-^;

w29c

PICT4697

PICT4698

どうしてもPRG-ROMで使う場合はスイッチ付けなければいけないのでちょっとだけ手間かな?

CHR-ROMとして使う場合は通常の接続で構わないので、AM29F040Bの入手ができるのであれば、W29C020はCHR-ROMへ回したほうが楽ですかね。

CHR-ROMならMMC5以外は256KでOKですし。

あ、今日現在、見直していただいたMMC1のスクリプトはまだ公開されていませんので、次回のアップまで少々お待ちを~

【追記】

新規で書くことではないのでシリアルAVRライタのことでも簡単に。

PICT4700

マイクロファンというところのシリアルAVRライタのキット(AVR-PRG-1S)、840円。

赤い基板がかっこいいよねw

ケーブルも繋げるけど、基板裏に6ピンメスコネクタ付けてるのでケーブル要らずでスッキリ使える。

avrspc

クライアントはDOS用なので慣れてない人は使いにくいかも?

安いのが魅力だけど、やっぱUSB使っちゃうと・・・ってトコかな。

・・・必要は無いがせっかく買ったので作ってみた(^-^;

kazzoを購入&既に自作されてる方は確認を

kazzoを注文して既に届いている方や今日までに自作した人、ほとんどの方が0.1.1のファームウェアを使用中だと思いますが、新バージョンの0.1.2が公開されましたので、早急にアップグレードすることをお勧めします。

重要 kazzo 0.1.1 の深刻なバグ

詳しくは上の公式サイトで確認していただくとして、ここでは簡単にバグの内容&説明を。

以前私が書きました、kazzoが認識しなくなった件、これが0.1.1では何らかの拍子に起こる可能性があります(0.1.0は大丈夫とのことです)。

現在認識できるkazzoなら、MMC1-SNROMのカセット(W-RAMを使うのでオリジナルで可)があれば更新できますが、認識しなくなったkazzoはATmegaの内容が当然書き換わってますので、AVRライタが無いと復旧ができなくなります。

(あ、自作の人は持ってるから大丈夫か(笑)

なので、何か読み書きする前に公式の説明をよくお読みになってアップしておきましょう。

kazzo012

2010年1月13日水曜日

FlashカートDX(嘘)とkazzoでセーブデータをあれこれ

【前置き】この記事はもともとプレゼント企画用のページでしたので記事内容で変なところがあるかもしれません。

プレゼントの品物(←終了しました)は、先日Flashカートリッジの製作例で作ったFF2をベースにしたSNROMのFlashカートリッジです。

PICT4696

・MMC1-SNROM Flashカートリッジ(AM29F040B-120PD使用)

(FF2オリジナルが書き込んであります)

・FF2オリジナルのPRG-ROM

今回はこれだけです(笑

書き込みに使えるハード&クライアントは、

・kazzo+Unagi&Anago

・ホンコン+Unagi(今後のバージョンアップ版では使えなくなる可能性あり)

カセットのステッカーは裏表とも取ってありますので、当選した人が自分で作ってください(笑

☆ココからちょっとUnagiの説明も入ります

では、ざっと中身を写真でご紹介。

PICT4686

ケースは元から色褪せてますシール作ってカバーしてくださいw

PICT4685

基板表、電池は中古ですが取り付けました

PICT4684

基板裏

PICT4687

SRAM(W-RAM)の切り替えスイッチ

PICT4688

見て判るとおり、遊んじゃいました(笑

で、この遊びは結局無意味かもしれませんが、既に取り付けちゃったのでこのままでw

なんで無意味かっていうと、先日書いたSRAM増設の記事にも補足しましたが、どうも、ゲームを違うものに書き換えた場合に何かの拍子にセーブデータが消える場合があったんです(^-^;

ゲームの種類によって起こるのか、kazzoでイメージ書き込む時に何か起こる(実際数byteデータが変わる)のか、はたまたMMC1の陰謀か、原因がよくわかりません。

なので、実用と思えるのは既存のゲームのデータ切り替え(電源落とさなきゃならないけど)だけなんだけど、これではあまり利点ないよね(苦笑

ま、何か付いててゴージャスっぽい感じがするぞ、ってことでお許しを。

それと、セーブ絡みで一つ。

Unagiはセーブデータの読み書きにも対応してるので、Flashカートリッジを書き換える前にバックアップ取っておけばいいってことになります。

sav

↑置き換えました

読むときは「r」、書くときは「w」、スクリプトファイルは一緒。

オリジナルカートリッジでも当然読み書きできるので、普通にバックアップやセーブデータの改造なども容易に行えます。

バックアップしたセーブデータはエミュレータ(nnnesterJで確認済み)でも動かす事が可能、且つその逆もできます。

例として、DQ3(他でもいいけど)のセーブデータをバックアップする。

エミュ(nnnesterJなど)のsaveフォルダにそまま入れてやれば使用可能です。

逆にFlashカートリッジに書き戻す場合、エミュで一度でも対象のゲームを起動すると8KBにリサイズされてしまうため、そのままではUnagiで書き込みできません。

ので、セーブファイルがあるフォルダでDOS窓開いて、コマンドプロンプトから

n:>copy /B dq3.sav+dq3.sav dq3save.sav (←例えね)

↑SNROMの場合はsnrom.urwを使えばちゃんと8KBで吸い出しできますので、この作業は必要ありません。

(いいわけ書くとsnrom.urwの存在に今まで気が付いてなくてsxrom.urwを使ってたの(恥笑)

とまぁ、SRAMに頼るより、こっちのほうが絶対的に有効だと思います(^-^)

2010年1月12日火曜日

マッパー(コントローラ)とデバイスの相性

先日参考で作ったFlashカートリッジ(プレゼント用)に載せるFlashROMを急遽変更した件。

去年、まだkazzoの名も存在しない頃に、MMC1にW29C020載せてホンコン経由で書き込みを試した事がありまして。

その時確か上手く書けなかった記憶がフラッシュバックしてきて、とりあえず違うカートリッジで試そうか、ということになりました。

PICT4678

それで作ったのが上の2個。(参考用含めて計3個を即効で作った(笑)

同じMMC1-SNROM。

とりあえず1個作ってanagoで書き込みしてみると、書き込むことができて安心・・・と思ったのだが、データ化けしまして。

(Unagiでは途中でNG)

どこかおかしいか?と思い結局2個目を作ったものの、同じ症状。

しかもデータ化けの内容が2個一緒なので、W29C020が壊れてるわけでは無さそうな感じ。

このW29C020というデバイス、MMC3に載せて書き込むと正常に書き込めるんですよね(^-^;

多分、MMC5でもいいかもしれない。

結局のところ詳しいことは私もよくわかりませんが、MMC1はちょっと癖があるみたいですね。

(もちろん、ROMライタなどで書いたものを載せれば普通に動きます)

なので、W29C020を使おうとしてた人は、MMC1に載せるのは避けたほうがいいかもしれません。

MMC1で使うデバイスは現在どのマッパーでも安定して動いているAM29C040Bをお勧めします。

40個以上集まれば発注掛けてもいいんだけどね、どうなんだろ。

現状手に入りにくくなってるので、AM29F040Bを希望する人はばくてんさんを尋ねるのもいいかもしれないですね。

(今は忙しいからもう少し待ってあげましょう)

とりあえず、写真の一つは研究所行きにして、もう一つは私が弄ってみて、どうにもダメなら取ってMMC3に載せようかな(^-^;

というわけで、Flashカートリッジを製作する人は参考にしてください。

どうしても試したい人はソケット化した方がいいかと思われます。

1500円のUSB-AVRISP

最初に、既に出来上がってますが、プレゼントはちょっと待っててねw

PICT4688 ←既に完成してます

まだ他に書きたいことあるので後回しに(ぉ

で、タイトルのお話。

kazzoのおかげでAVRがちょっと楽しかったので、他にもAVRライタを探していました。

今日現在でパラレル(キット)、シリアル(キット)、USB(製品)と全て届きまして、ちょっと休憩して(?)製品版のUSB-AVRISPを触ってみた。

発売してるのは日昇テクノロジー通販というところで、商品はコレです。

規格は同じだと思いますが、届いたものは写真のモノとは見た目が違う。

ATMELのSTK500コンパチだそうです。

STK500のマニュアル(pdf)見ると結構な数のAVRデバイスに対応してるので使い勝手はよさそうだ。

で、結果からいうと使い物になりました(^-^)

PICT4689

【追記】

昨夜から何か引っ掛かってたので、今日帰宅後に確認して発覚!

AVRISP mkⅡは電源を別に取らないといけないが、このUSB-AVRISPは電源供給型なので、ターゲット(kazzo)の電源は入れなくても良いのでした(笑

こいつは便利だ、うん。

ATmega164Pは当然対応してるので無事書き込み完了。

でもちょっと注意が必要で、このUSB-AVRISPはISPコネクタが10pタイプ。

付属のケーブルも10p用で、公式の6pとは信号の位置が異なります。

avrisp

zzz

なので、配線がクロスしちゃうけど自作しなければいけません(^-^;

付属のケーブル使っても良いですが、私は手元に余ってた10pコネクタ×2個使って作りました。

(ISPケーブルは長くても15センチ以内にしたほうが良い)

ドライバは付属してこないので、ショップのココからusb-avr-isp_driver_2007-09-22.rarをダウンロードしてきます。

マニュアルは一応AVR-MP3-USB.pdfに載ってますが・・・いらんでしょう(爆

クライアントソフトはAVRISP mkⅡと同じく、AVR Studioで。

新しいバージョンを使っていると、起動時などに

vvv

と出ますが、キャンセルを。

内容的にはSTK500の新しいファームがあるからアップするかい?と聞いてきてるので、OKを押すとエラーになってAVRStudioが終了しますw

(もしかしたらジャンパでできるのか?マニュアルに書いてないのでわからん・・・)

mmm

手動の場合はAVRISPってヤツを。

STK500でもOKですがw

www

ちゃんと認識した様子。

ファームがSTK500V2で認識してますね(^-^;

後は先日書いたAVRISP mkⅡの時と同じですので簡単ですね。

1,500円なら、まぁ、安いんじゃないかな。

kazzoの完全自作を目指す人でPCにパラレル&シリアル端子が無い人はこれ使ってみるのもいいかも。

2010年1月10日日曜日

Flashカートリッジの製作例(あくまで例)

先日書いちゃった通り、Flashカートリッジの製作過程を書いてみます。

が、その前に、以下に書くことはUnagiのサイトkazzo_jaに準拠して書きますので、まだ読んでない方は一読してください。

Flashカートリッジとは、元から付いてるデバイス(PRG-ROMなど)と、市販のFlashROMを載せ換えただけのもの。

が、デバイスのピン配列が違う(同じものもあるが)ため、少しだけ配線を変更してやらなければいけません。

ファミコンは基板のタイプ(マッパーと書いたほうがわかりやすいかな)がいくつかあり、製作するFlashカートリッジはそれぞれのタイプに合わせたゲームしか動かせません(普通はね)。

なので、マッパー1のゲームをするならマッパー1(MMC1)のカートリッジを、マッパー4のゲームならマッパー4(MMC3)のカートリッジを用意する必要があります。

これから一つ例を上げて製作しますが、それ以外のFlashカートリッジも基本作業は同じですので、応用で作れると思います。

あ、そうそう、Flashカートリッジのベースに使うのはバックアップ機能付きを選ぶようにしたほうがよいでしょう。

(マッパーによっては付いてないものもある)

作り方は大まかに分けて2つあります。

①基板のパターンカットを無くし、FlashROMの足を曲げて配線する

メリット:

・基板に直付けできるからカートリッジのカバーを加工することなく閉じることができる

・配線が比較的容易にできる

デメリット:

・FlashROMの使い回しができない(しにくい)

・Unagi&Anagoで対応していないデバイスを使用する場合は向いてない

②基板のパターンをカットして、ソケットを付ける

メリット:

・FlashROMの使い回しが容易にできる

デメリット:

・厚さが増すのでカバーを閉じることができない(穴を開けることは可能だが、ファミコン本体に引っ掛かる可能性あり)

・配線が①よりも難しいかも(テスターが無いと混乱する可能性あり(笑)

ホントに大まかな分け方だけど、kazzoでの使用目的で作るのであれば①、ROMライタやテストなどで使うのであれば②ってとこでしょうか。

今回はkazzoでの使用を主としますので、①の方法で作っていきます。

今回は簡単なところでMMC1-SNROMベースで作ります。

PICT4662

PICT4663

SNROMはキャラクタデバイスがCHR-RAM(SRAM64K)なので、取り替えるのはPRG-ROMのみです。

と、製作過程を書く前に、参考にしてほしいサイトなどを。

・今回のメインであるkazzoの開発者さんたちのところ - kazzoを触るなら一通り目を通しておきましょう

na6koさん ばくてんさん

・NES Cart Database - 国内外のファミコン(NES)カートリッジの基板情報が写真付きで見られます

ttp://bootgod.dyndns.org:7777/home.php

・ホンコンのFC吸い出しツールのリスト(その他もろもろ) - どのゲームがどのマッパーなのか確認できます

ttp://www.codename-hongkong.org/

・今回製作するに当たって最大限に参考にするUnagiのサイト

今までは認証サイトでpass入れないと閲覧できませんでしたが、kazzo販売に合わせて認証なくても見れるようにしていただけました。

実際、ここを見れば各マッパーがどういったものなのか書いてありますし、配線の方法も全て書いてあります。

今回はMMC1ですので、flashmemory/SRAM hikiから入り、マッパのMMC1を参考にして進めます。

それでは、順番にいきましょ~

・殻割り

bbb

通常タイプ(初期からある任天堂製)はカートリッジの上に2箇所、左右に2箇所の計4箇所のツメで止まっており、剥がそうとすると結構硬いので何れかのツメを折る可能性大です(笑

殻割りする方法はさまざまで、おそらくばくてんさんが自作されてるような公式殻割り機(?)みたいなものがあればベストですが、無い人は上の写真のようにコネクタ側と側面へマイナスドライバを入れて、テコの原理で開けるのが被害が少ないかな?

プラスティックの劣化が少なければ、上手くいくとツメを折らずに分けられます。

でも、私の場合は90%この方法でツメが一つ折れます(恥

一箇所取れてしまえばあとは表裏の殻を持ってネジル感じでやれば割れます。

・ROM取り

Flashカートリッジ作成で第一の難関かもしれないところ。

基本的な取り方を動画で見て感じを掴んだ方がわかりやすいかな。


え~・・・スンマセン、見てもらった方はお分かりですが、最後のほうで知らない間にビデオが止まっており、ちゃんとROMが外れるまで録画できてませんでした(^-^;

同じカートリッジでリベンジできないので、希望があれば違うカートで完全版をアップする「かも」しれません。

まぁでも、イメージは掴んでいただけるかな、と。

時間見てもらえばわかりますが、一つのROM取るのに5分前後です。

PICT4666

無事取れました(^-^)

はんだシュッ太郎持ってる人はもっと楽に取れるかと思います(笑

あ、動画の続きを静止画でちょっと説明。

PICT4667

吸い取り器で殆どのはんだは取れてしまいますが、微量ですがピンと基板がくっ付いてる箇所もあると思うので、そういった場合はペンチなどで軽くピンを揺らす(軽くですよw)と後でをROMを取りやすいでしょう。

PICT4668

後は表から細い棒を使って、4隅からテコの原理で浮かしていけばOK。

GNDとVCCは熱が逃げやすい為、しばらくはんだごて当てて十分にはんだを溶かさなければいけません。

それでも取れない場合は無理をせず、基板をバイスなどで挟んで、ピンにはんだごてを当てながらROMを外す、という方法を。

致命傷にはなりませんが、無理をするとパターンが剥がれてしまったりしますのでね。

PICT4669

ピンホールにはんだが残りすぎていると後でROM入れる時に引っ掛かるので、気になる人(拘る人(笑)は「はんだ吸い取り線」で除去しておきます。

・FlashROMの足を加工

(当初W29C020を付ける予定でしたが、MMC1での安定性を考慮した結果、AM29F040Bに変更しました)

aaa

今回交換するROMの違いは上の通り。

22ピン(CE#)だけ同じですが、基板上では2ピン(OE#)と繋がっているので、違う箇所へ繋げます。

上の写真を見て、異なるピンを繋げなおすだけでOKって事は予想がつきますよね。

PICT4673

そのまま基板に付けると基板のパターンカットが大変なので、デバイスの該当する足を水平にします。

この時注意することは、「足の付け根」ではなく、「曲がっている部分」を軸にして伸ばすようにしてください。

足の付け根を軸に伸ばそうとすると、ピンが折れてしまう可能性があります。

そうなると、使えなくはないですが、修復が困難になります(^-^;

で、ピンの先端部分は邪魔なので、適当に短く切っちゃいましょう。

デバイスの加工はこれだけです(^-^)

・FlashROMの取り付け

PICT4675

デバイスの足を加工できたら、他のピンは普通に基板にはんだ付けします。

PICT4677

浮かせた6本のピンには少量はんだを盛っておきます。

・足の配線

ここが今回の最大の難関部分になるかな?

ちょっと細かい作業になりますので、はんだ付けに慣れてない人は慎重に取り付けましょう。

配線の順番は適当でよいので、上のほうで載せた写真のように配線します。

配線は多少長くなっても構いませんが、できる範囲で短くしたほうがよいです。変に長いとケースを閉めた時に挟んだりするかもなので(←そっちかい!

1本づつ写真で説明もメンドイので1ピンから順に言葉で説明します(ぉ

①AM29F040Bの1ピン(A18)はSNROMでは存在しないので、基板のGNDかVcc(+5V)に繋げます

(GND、Vcc(+5V)ならどこでも良いですが、私は拘ってAM29F040BのGNDへ配線してます(w)

②2ピン(A16)は、PRG-ROMでいう24ピンの箇所へ

③22ピン(CE#)は、カートリッジコネクタの44番ピン(CPU /ROMCS)の箇所へ繋ぎますが、44番ピンから線を辿って繋げやすいところへ配線

④24ピン(OE#)は、PRG-ROMでいう22ピンの箇所へ

⑤30ピン(A17)は、PRG-ROMでいう1ピンの箇所へ

⑥31ピン(WE#)は、カートリッジコネクタの14番ピン(CPU R/W)の箇所へ繋ぎますが、14番ピンから線を辿って繋げやすいところへ配線

以上ですが、混乱してませんか?(笑

配線がどんな感じになるか写真で見て理解してください。

PICT4679

PICT4680

ccc

PICT4682

PICT4683

ここまででハードウェア部分は完成。

次はソフトウェアで最終確認です。

・動作確認

今回はFF2をベースで使っているので、吸い出したROMイメージをそのまま書き込んでみます。

ddd

上の例ではAnagoを使い、一度吸い出して既に書き込んでおいたイメージを吸い出し→書き込み→吸い出し、と繰り返しています。

CRCを見ると同じ値なので、書き込みも吸い出しも問題無いことが確認できました(^-^)

SNROMですが、SLROMの読み書きスクリプトで問題ありません。(SNROM用としてのスクリプトは無い、SLROMスクリプトで十分なので)

が、吸い出し時に「d」オプションだけだと128K(FF2は256K)しか吸い出ししませんので、「d2」指定して128×2倍で吸い出しします。

書き込み時には「f」指定のみだと、デバイスにAM29F040B(512K)を使っている関係上データを2回(256K×2ね)繰り返すので時間が多少掛かります。

↑失礼m(_ _)m

よくよく考えたら下にも書いたけどA18を固定してるのでクライアントも256Kで認識するんじゃないかorz

なので、256Kを書き込む場合は「f」「ft」「fb」どれも同じなのでした(汗

【ご指摘いただいた事項を補足】

AM29F040B(512K)の1ピン(A18) を固定しているので、実際に使用できるのは前から256Kのメモリ空間だけです。

iii

たとえば、128Kのデータを「f」指定で書き込むと、前半&後半に同じ内容のデータが書き込まれ、「ft」指定だと前半128Kのみ、「fb」だと後半128Kのみが書き込まれることになります。

jjj

↑注)SNROMで128Kのデータを書き込む場合は「fb」で書き込むと起動できないので「f」か「ft」で

256Kの場合はどれでも良いですが、「ft」指定して頭から256K書くようにしてます。

eee

unagiでの吸い出し↑と書き込み↓

fff

unagiを使用した場合は上のような感じになります。

anagoよりも若干速度は遅いですが、現在はunagiのほうがスクリプト多いので、anagoでまだ対応していないタイプのカートリッジはunagiをつかいましょう。

SNROMは128Kと256K存在してますが、同じように書き込んで遊ぶことができます。

無事読み書きのテストが終了したらケースに戻して本当に完成ですっ!

以上のような製作過程になりますが、いかがでしょう(^-^;

ゴチャゴチャ書いたので逆に難しく思われるかもしれないですが、基本はマスクROM取ってFlashROMの線を6本程度変更して付けるだけなので(笑

是非、自作をしてみてください(^-^)

以上!

あ~・・・だいぶ長くなったなぁ・・・(-_-;

やっぱここまでやると疲れるわorz

・・・あとでまた見直そう・・・(←もういいかな?(^-^;)