follow me

スーパーファミコン USB Type-C電源化

スーパーファミコンの電源をUSB Type-C化しました。
電源のUSB Type-C化は、スーパーファミコン本体の5V生成部分を切り離し、USBの5Vを使用する方法もありますが、今回はスーパーファミコンの降圧部分は残したままUSBからはPDで12Vを取り出し、元々の電源入力部分に入力する構成をとりました。
USBから12Vを取り出すには、 PDC004-PDというPDデコイモジュールを利用しました。


カバー部分は、SNES - USB-C - Backpanel by john3d | Download free STL model | Printables.com を元にPDC004-PDのサイズだけ合っていなかったの修正しました。
スーパーファミコン本体基板上のパーツとギリギリなので、PCBを押さえる部分だけを伸ばした形です。
修正したデータはこちらです。
SNES-USB-C-Backpanel_PCB_resize.stl
ライセンスは、Creative Commons (International License) Public Domainとします。ご自由にご利用ください。

こんな感じで2mmほど伸ばしてます。(初期型SNESではこれで問題なし。他でもおそらくはいけると思われる。)

follow me

BOCCO基板に残ってたGPIOでリセット実装 (OpenWrt 23.05 kernel 5.15.198)

BOCCO基板(mt7620a)に有った未実装パターンのGPIO活用。
10x2のヘッダーピンの先ではなく、基板上にあるパターンの再利用。
電源横のたぶん2x3の未実装パターン。


プルアップ抵抗(4.7k)は付いていそうだったので、ここを再利用。
OpenWrt 23.05 kernel 5.15.198での話です。

知らぬ間に kmod-input-gpio-keys、kmod-input-gpio-keys-polled から kmod-gpio-button-hotplug に実装が変わってました。
まぁ、たいして書き方が変わる訳ではないので、内部的な挙動が変わるだけですが、
なんか少し反応悪い気もするけど、気のせいなのか?
そんなに困らないのでいいのですが、追う必要も感じないし。

target/linux/ramips/dts/mt7620a_yukai_bocco.dts
	keys {
		compatible = "gpio-keys";

		reset {
			label = "reset";
			gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
	};
follow me

MT7620AでNANDをrootfsにする (OpenWrt 23.05 kernel 5.15.198)

MT7620AのNANDを真面目に使う話。
OpenWrt 23.05 kernel 5.15.198でNANDを使用できる様にするまでの話は以下。
MT7620AでNANDを使う (OpenWrt 23.05 kernel 5.15.198)

ターゲットの基板はBOCCO基板(mt7620a + SPI Flash + NAND)で、SPI Flashからbootさせて、rootfsをNAND上に配置する構成にしてみます。
これで、SPI Flashの容量不足を気にしなくてよくなります。
SPI Flashは8MB、NAND Flashは512MBあったので、SPI Flashにubootとkernelは残しておきます。
まぁ、eMMCが当たり前になる前の定番構成ですかね。

kernelに渡す起動引数を弄らないと起動完了できない罠はありつつも、なんとか動いたので、
たぶん、ubiでブロックデバイスの生えるタイミングとrootfsのマウントタイミングの話がありそうな予感ですが、引数指定を追加して上手くいっていそう。
これ無しで動かせるならそうしたいけど、方法あるのか解らずにいる。(知ってる人いたら教えてほしい)


では、MT7620AでNANDを使う (OpenWrt 23.05 kernel 5.15.198) で、NANDの認識までできている前提で差分をあげておきます。
follow me

Buffaloのnasneを分解清掃

Buffaloのnasneが、起動できなくなりました。
電源入れても、しばらくするとLEDが赤点滅して落ちます。(落ちるというよりshutdownしてる感じがある。)
ホコリがたまってたので外から見える範囲は掃除したのですが、復活しなかったので、分解清掃。
分解して電源入れてみたら、FANが廻ってない様なので、FAN周りが原因臭いと。。。


SIEの時の設計を引き継いでるのかな、全体的に似てる。
ケース形状がほぼ同じなので、全体レイアウトは似るのは当たり前な気もするけど。

しかし、SIEの時より、ケース開封しやすくなりました?
SIEのはもっと苦労した記憶があります。
前面をパキパキして、上面パキパキしたら、ぱかっと開きます。(ワカランだろこれでは。)
follow me

MT7620AでNANDを使う (OpenWrt 23.05 kernel 5.15.198)

気がついてませんでしたが、MT7620AのNANDドライバが消えてました。
OpenWrtでの話です。
OpenWrt 23.05で確認したら無かったです。その後も無いので、kernel 4.xのどこかで捨てられてしまった様です。


簡単に動かせたので、メモ。
follow me

mt7620a wm8960構成で音を鳴らす (OpenWrt 23.05 kernel 5.15.198)

mt7620a wm8960構成で音を鳴らす話です。
OpenWrt 23.05 kernel 5.15.198がベースになります。
OpenWrt 25.12ではない理由は、動きませんでした。(kernel 6.xはさらに状況悪くなってた。。。)
mt7620aのi2s周りは、dma含め昔から動きが怪しい話があり、kernel 6.xでは諦められた感があります。

かろうじて動作するのが、5.15が最後なのかなという感じがあります。
しかも再生だけ、録音はどうしてもFIFOがカウントアップされません。かといって、3.18の頃の様なトリッキーな事をしてもノイズが多いので、再生だけで妥協するのが落としどころなのかな。。。
mt76x8だと動く気配はあるので、mt7620の問題な気はしています。
kernel 6.xは既にmt7620ではスペック的にも重いので、5.15で妥協。ユーザランドは、脆弱性のあるものを個別に上げるというのが、延命の方法かな。


で、動かす手順。
follow me

スーパーファミコン 漂白日光浴 SNS-CPU-GPM-02 もう一台

ジャンクなスーパーファミコンの漂白日光浴。
レトロブライトと呼ばれているヤツです。酸素系漂白剤と紫外線で化学反応で色が戻るというヤツです。
もぅ一台。
左が作業前、右が作業後。


かなり解りやすい漂白日光浴です。
酸素系漂白剤に漬けて日光浴させるだけの簡単な作業を行った2台目の記録です。
follow me

ゲオで売ってるFC互換ゲーム機 KTFC-005W-G

ゲオで売ってるFC互換ゲーム機 KTFC-005W-G
2,000円しない安いFC互換機です。
たまにセールで値下げされているので、セールを待つのが良いかと、


互換機では、一定の評価が得られているライソン製なので、安いけど頑張ってくれるのではないかという事で入手してました。(2025年に買って試した記憶があります。)
AliExpressで入手した互換機は、ドラゴンクエスト3, 4が動かなかったのです。(20回ぐらいがんばれば1回ぐらい起動してくれるみたいな)

で、入手した KTFC-005W-G ではどうだったかですが、
follow me

ファミコン互換機、FC COMPACT

ファミコン互換機、FC COMPACT

既に1年も前に入手(3,000円程度だった)して、互換性が低くて後悔してしまった互換機。
AliExpressでわざわざ入手した理由は、筐体が実機に似たデザインだったからというだけだったわけだが、ドラゴンクエスト3がまともに起動しなかったので、安い互換機はだめだなぁ。。。と思い知らされたのでした。
まぁ他の互換機を入手した際に、ケースだけ差し替えるかと考えながら捨てずに残してはいたのだが、

しかし、最近、ファミコン互換機は普通に売ってるから、なんでだろうか?と思ってたのですが、
ファミコンの基本特許(ハードウェア関連)は2000年代前半までに満了しているから、という処が大きそう。

本題の中身を確認していきます。
follow me

スーパーファミコンの特殊チップ

スーパーファミコンの特殊チップ搭載のカートリッジを入手。最近、ハードオフ値上がりしてます?
スーパーファミコン本体の性能では足りずカートリッジ側に処理チップが入っているもので、アクセラレータが乗ってる様なイメージをすればよいだろうか。
カートリッジ62pingのうち左右8ピンつづ用意されていた部分を利用して実現されているものの様です。
    SNES (front) | Cart  |  SNES (back)
                  _______
                 |       |
   SYSTEM CLK -> |01   32| <- /WRAMSEL
       EXPAND <> |02   33| <- REFRESH
          PA6 -> |03   34| <- PA7
         /PRD -> |04   35| <- /PWR
                 |_______|
                 |       |
          GND -- |05   36| -- GND
      CPU A11 -> |06   37| <- CPU A12
      CPU A10 -> |07   38| <- CPU A13
       CPU A9 -> |08   39| <- CPU A14
       CPU A8 -> |09   40| <- CPU A15
       CPU A7 -> |10   41| <- CPU A16
       CPU A6 -> |11   42| <- CPU A17
       CPU A5 -> |12   43| <- CPU A18
       CPU A4 -> |13   44| <- CPU A19
       CPU A3 -> |14   45| <- CPU A20
       CPU A2 -> |15   46| <- CPU A21
       CPU A1 -> |16   47| <- CPU A22
       CPU A0 -> |17   48| <- CPU A23
         /IRQ <- |18   49| <- /ROMSEL
       CPU D0 <> |19   50| <> CPU D4
       CPU D1 <> |20   51| <> CPU D5
       CPU D2 <> |21   52| <> CPU D6
       CPU D3 <> |22   53| <> CPU D7
      CPU /RD -> |23   54| <- CPU /WR
   CIC data 1 <> |24   55| <> CIC data 2
key CIC reset -> |25   56| -> CIC CLK
       /RESET <> |26   57| <- PHI2
          +5V -- |27   58| -- +5V
                 |_______|
                 |       |
          PA0 -> |28   59| <- PA1
          PA2 -> |29   60| <- PA3
          PA4 -> |30   61| <- PA5
left audio in <- |31   62| -> right audio in
                 |_______|

いくつかハードオフで入手してきましたが、この8ピン使われてるカートリッジが搭載機と考えてよさそう。
特殊チップにも何種類か存在するので、欲しいものかは ウィキペディア(Wikipedia) 見ながらハードオフで選ばないと仕方ないのかな。

有名な特殊チップはSA1だと思うのですが、このSA1目的かつFlash張替のつもりで入手するとなると、カートリッジ基板側も気にしないといけない。
SA1を外してカートリッジ基板を新規で起こして作る方法もあるけども、Flashだけ張り替えたい場合、ROM容量次第で苦労しそうです。
SA1が有名なのは、スーパーファミコンのCPUである 65c816 ベースのチップである点が大きい。結果として他のゲームでも恩恵を受けやすい。
SA1目的でハードオフにわざわざ行った私ですが、もう少し調べてから行けば ミニ四駆シャイニングスコーピオン だけを買ったのですが。。。


実際の基板の写真もつけておきます。