Skip to content

魔界島(HVC-UNROM-02)フラッシュ換装手順書

対象: issue #7 / ドナー: 魔界島 CAP-MZ(基板 HVC-UNROM-02、PRG: CAP-MZ-0 RP231024D 28ピン 1Mbit マスクROM、CHR-RAM 搭載) 換装チップ: SST39SF040(DIP-32・512KB)

原理(根拠)

  • 任天堂の 28 ピン 128KB PRG マスク ROM のピン配置は、同社 32 ピン配置の 3〜30 番ピンをそのまま取り出したものNESdev Wiki – Mask ROM pinout。"allows a 32-pin hole to take a 28-pin 128 KiB PRG ROM in pin 3 to pin 30")。
  • したがって SST39SF040(JEDEC 標準 32 ピン)を 2 ピンずらして(フラッシュ 3 番→ソケット 1 番)挿すと、大半の信号が自然に一致する。
  • 不一致は 2 箇所のみ:
    • ソケット 22 番 = 基板の A16(バンクラッチ 74HC161 から)だが、その位置に来るフラッシュ 24 番は /OE → 24 番を浮かせ、A16 はフラッシュ 2 番へ配線
    • ソケット 28 番 = VCC だが、その位置に来るフラッシュ 30 番は A17 → 30 番を浮かせて GND へ

ソケット(基板側 28 穴)の信号 — 検証済み対応表

信号信号
1A1528+5V
2A1227A14
3A726A13
4A625A8
5A524A9
6A423A11
7A322A16(ラッチ出力)
8A221A10
9A120/CE(/ROMSEL)
10A019D7
11D018D6
12D117D5
13D216D4
14GND15D3

作業手順

1. マスクROM除去(足切り工法)

  1. 精密ニッパーで CAP-MZ-0 PRG の全 28 本の足をチップ本体の根元で切断(基板側に足を残す)
  2. 残った足をはんだごてで温めつつピンセットで 1 本ずつ抜く
  3. 吸取線+吸取器でスルーホール 28 穴のはんだを除去(貫通確認: 光にかざす)
  4. CHR-RAM・74HC161・74HC32 には触らない

2. ソケット取り付け

  • 丸ピンソケット 28P・600mil(秋月 102841)を切り欠きを基板シルクの向きに合わせてはんだ付け

3. フラッシュの準備(挿す前に焼く)

bash
python3 tools/flashnes.py --port /dev/tty.usbmodem* write build/game.nes --ines
  • --ines で PRG 128KB が抽出されアドレス 0 に書き込まれる(A17=A18=GND 前提と整合)

4. フラッシュのピン加工と装着

上向きに曲げる(ソケットに挿さない)ピン: 1, 2, 24, 30, 31, 32 の6本

残り 26 本を「フラッシュ 3 番 → ソケット 1 番」の位置関係で挿す(チップは切り欠き側が 2 ピンぶんソケットからはみ出す)。

ジャンパ配線 6 本(UEW 線):

フラッシュピン信号接続先
32VDDソケット 28 番パッド(+5V)
31/WE+5V(32 番と共通でよい)※実機での誤書き込み防止
30A17GND(ソケット 14 番パッド)
24/OEGND(同上)
2A16ソケット 22 番パッド(基板 A16)
1A18GND

5. 検証

  1. テスターで導通確認: 特に「フラッシュ2番⇔ソケット22番」「30番が GND」「24番が GND」「31/32番が +5V」、および隣接ピンのショートがないこと
  2. 互換機に挿して起動 → ゲーム画面表示で完了
  3. 起動しない場合: /CE(ソケット20)⇔フラッシュ22 の導通、A16 配線、GND/VCC を順に確認

ミラーリング設定の確認

基板の V/H はんだパッド(CHR-RAM 脇)が V(垂直ミラーリング)側にブリッジされていることを確認。H 側なら V 側へ付け替える(本作は横スクロールのため垂直ミラーリング。ROM ヘッダも vertical 指定済み)。

参考