ツイート

ゲーム機トップへ

3:57 2014/12/12 作成
19:11 2017/01/07 更新 ツイッターで言ってたちょっと楽なリセット切り替えを追加

迷宮入りのままだったので何とかしてみた結果

ここに書いてあることを参考にした結果
ファミコンが壊れても、まともに使えるものが出来なくても、家が燃えても
その責任は負いかねます。各自の判断で行ってください


まずはカセットをフラッシュ化する
使ったフラッシュは39SF040
カセットは星のカービィ
作り方は
unagi flashmemory cartridge hiki - MMC3

オリジナルカセット作成 【その1】

を見ればなんとかなるでしょう

で、普通に作れば良いものを
フラッシュのピンカット無し、パターンカット無しとか
下らない事を考えながら作ってたらこうなったわけで




いい感じに0.5mmのジュンフロン線の外皮がフラッシュの足&スルーホールに納まったので
こんな感じに成りました
更に上からカプトンテープを張って足だけ貫通させれば半田付けが楽になります

パラして再利用しようとか理由が無ければ普通にピンカットやパターンカットした方が
ラクだし不具合も起こらないのでそうした方が良いです

表はこんな感じ。裏は後ほど。MMC3から出てるのはΦ2




リセットで切り替える件

リセットボタンを押すとファミコンもkazzoもΦ2はHi-Zになるみたい
なのでΦ2を使ってない物やプルダウンしてないものなら
74LS74をつなぐとCKからの漏れ電流でHiになる模様

しかしMMC3カセットのφ2はプルダウンされてるので同じようには行かない。
だったら反転させてしまえばいいんじゃないか案


ファミコンで使う時は
リセットボタンを1秒ほど長押しで切り替わる

kazzoで使用時は リセットでは切り替わらない
書き込みor読み込み終了後に切り替わる。
書きor読み込み時に何らかの遅延があると、切り替わってしまうことがある。
頻発する場合は抵抗や容量を増やして時間稼ぎをする。
今のバンクを確認できるようにLEDでもつけておいたほうが良さそう。


書き込み時が厄介ですが回路的にはちょっと楽な感じです。
回路的には面倒ですが扱いが楽な方法は下記。

プルダウン抵抗を外すので、リセット中にHiになることによる影響とか少々気になり・・・

気にしない方向で。

それとΦ2を330kΩでプルアップしても1Vくらいまでしかいかないので(MMC3C)
漏れ電流だけでは無理かも。74LS74持ってないので謎ですが。

そんなこんなでまた面倒な感じになりまして…
面倒ついでにCHR&PRGを1Mbit*4切り替えか最大容量かを切り替えもできるようにしてみました




330kと680kとバッファでシュミットトリガ化。もう1個330kは充電用プルアップ(74LSならこの部分はいらないかも?

上記の様にMMC3のΦ2が重いのでバッファ通しました
4切り替え時はアドレスバスに10kが入ってるのでゲーム中は0.5V位ふらついてます
使うフラッシュによってはまともに動かないかも。2k位の方が良かったかな…

そして裏側




相変わらずの焼きビーフン
右にピロッと出てるのが容量切り替えの線

これらをin1にしてみる
物語、行進曲、格闘伝説、新記録で920in1とか言おうとしてたことはナイショ




書き込んだ後試しに動かしてみたら最後に書き込んだものしか動かなかったので何かと思ったら
書き込むときは全消去してるようなのでanagoのスクリプト?を書き換えることで
参考 16Mbit[8Mbit切替版] MMC5とりあえず完成
4つとも作動するようになりました。

動画 mmc3_rc.mp4
Loading the player...


目新しいかどうかは分かりませんが私の殻割り方法は
割れない程度にこじりつつ爪の辺りをたたく



結構ウルサイので真夜中にやるのはやめましょう(自戒



CHRROMの代わりに2MのSRAMつけてバッテリーバックアップしておけば
CHRROM、CHRRAM兼用とか出来るのかな…


スクリプトの変更方法が謎なので
CHRROM、RAMを自動切換えする方向で

FlashとSRAMの同居方法は

MMC3フラッシュカートリッジ CHR-ROM&RAM両対応

を参考に

で、スイッチで/CEを切り替えている部分を以下の回路にする



この回路では試していないのでちゃんと動くかは謎ですが
有り合せの部品で同じになる回路では一応動いてたので大丈夫だと思います。
リセットを押しながら電源を入れてもSRAMに切り替わってしまう場合は
47k前後と書いてある抵抗を大きくしてください。(74HC74のパワーオンリセット時間を長くする)

実機での計測結果

パワーオンからNORの出力が安定するまで
赤白後期、NEWFC、約1ミリ秒
ツイン連射無し、 約2ミリ秒

パワーオンから最初の書き込み要求があるまで(最短)bad_apple_2.nesにて
赤白後期、   約50ミリ秒
NEWFC、     約40ミリ秒
ツイン連射無し、約60ミリ秒

74HC74のリセット時間(47kΩ
0V~2.5Vまでで4.2ミリ秒
余裕を持って100kΩでも大丈夫

リセット時間は実測せずとも計算で出せます
CRローパス・フィルタ数計算ツール

実際に作動を試した回路は以下になります



リセット切り替えの方で使ったのは74HC367(バッファ)ですがこちらは
40H368or74HC368(インバータ。紅白ファミコンについてる)ですので間違えないように
40H368のインバータが直列になってる部分はプルアップ等しておかないとまずそうですが
作動確認の仮組みなので気にしない方向で…

赤色が点灯してるとSRAM、青のときはFlashに固定された状態となります
電源オン後74HC74のリセット終了から約0.6秒以内にCHRへ書き込み要求が来たときSRAMへ切り替え固定
要求が無い場合はそのままFlashで固定されます
これを形にしたのが…





抵抗やダイオードをケチって足を切らずに作った結果がこれです

上で「一応動いてた」と書いたのはFF3では切り替わってくれるものの
CHRRAM版のbad_apple_2.nesでは切り替わらなかったので一応となってます
上記の訂正。間違えて8kROM版を書き込んでました。RAM版では正常に作動しました。
FF3以外にMMC3のCHRRAMソフトが無いので確認できずorz

CHRROMソフト起動時に誤判定してしまう場合の回避策
リセットを押しながら電源を入れると(0.6秒以上)Flash固定になります
RAMのソフトが書き込まれていても。

kazzo_pcb_2にさした場合は特に何もせずともFlash固定になります
CHR書き込み中に抜き差しすればRAMになりますが…

カウンタ アクセス
カウンタ PV

2011/10/26 ~ 2024/03/29 17:14

© 2011-2017 とらぷ