请选择 进入手机版 | 继续访问电脑版

电玩龙资讯台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1032|回复: 0

如何自己做出FC ROM DUMPER

[复制链接]
发表于 2015-3-3 00:54:02 | 显示全部楼层 |阅读模式
作者: zchou (Nelson Chou)

時間: Tue Nov 24 01:43:26 1998

如何作一個FC 卡匣的ROM DUMPER  ver 1.2            11.24.98

                            NELSON CHOU

[  序言  ]
正如很多女孩子的衣櫃一樣!"衣櫃內的衣服總是少一件!",對於FC遊戲也是一樣
,有些遊戲就是找不到,也許有些人手邊有卡帶,但是沒有工具把ROM IMAGE DUMP
出來,有些人會自己想作一個FC卡匣的ROM DUMPER,卻苦無沒有步驟帶領,雖然我
沒什麼硬體知識,不過我還是盡量整理一下!有錯趕快MAIL給我!

本文件是基於SCOTT WU 的 FWNES CLUB 的網頁資訊!
  http://members.tripod.com/~fwnes/
感謝SCOTT對臺灣模擬器界的貢獻!

感謝SCOTT兄,及numn兄在本文撰寫期間提供意見!

[  ROM DUMPER  ]
有些人也叫他"吸出機",也有ROM BACKUP DEVICE,ROM COPIER之類的稱呼,總之
就是把ROM IC變成PC可讀的二進制檔案,稱之ROM IMAGE FILE!

DUMP出ROM的方式很多,有一個MASK ROM一個MASK ROM的DUMP方式,也有利用商用
的DUMPER加上一個特製的連接線來DUMP,,一般較為出名的是IO-56,這是德製的,
79.95DM(德國馬克,約1DM:17NT$),網址:
  http://www.conrad-electronic.com
也可以在這裡找到IO-56用的程式:
  http://lsewww.epfl.ch/~felber/IO-56/
利用IO-56,再配合GB,NES,SNES各自的連接線,可以用來DUMP GB,NES,SNES三種
主機的ROM,在:
  http://lsewww.epfl.ch/~felber/IO-56/
不但有IO-56的軟體,也介紹的各連接線的製作(所需材料及製作步驟等),好像也
有DIY一片IO-56的方法,IO-56是一片ISA卡,上面有25pin公的接頭,而不是利用PC
上的LPT!再利用各主機專用的DUMPER軟體,以達到ROM DUMP的目的!但以ISA方式
易與其他介面卡衝突,且安裝困難,要拆CASE,無法量訊號Debug線路,有種種的限
制.

還有更多的是利用熟知TVGAME或ARCADE硬體的知識,自行製作的ROM DUMPER.不
過現在我們只專注在國人自製的SCOTT's ROM DUMPER II(註:SCOTT's ROM DUMPER I 是以一個唯讀記憶體(MASK ROM)PRG-ROM+另一個唯讀記憶體(MASK ROM)CHR-ROM合成方式的DUMP方式,現在網頁已移除!).

SCOTT's ROM DUMPER II是以程式模擬FC所使用的65C02 CPU讀取FC卡匣上的
PRG BANK及CHR BANK的切換動作,藉這個切換動作幫助,以DUMP出所有的ROM
BANK!

[  FC的運作  ]
不過在進入主題之前,還是必須花一點時間描述一下FC的運作情形,這樣比較容
易知道為什麼需要以這種方式設計ROM DUMPER!

很多人都知道,FC - NINTENDO FAMICOM,是以65C02作為CPU的,這是一顆特製的
CPU,它的執行指令微碼與6502相同,不過它與APPLE II上的6502在外觀及接腳上
都不太一樣!

無論如何,我們只要知道執行情況與6502相同就好了,不過問題就出現了,6502只
有A0到A15十六條位址線,所以定址空間限制在2的16次方=65536BYTE,也就是64K
.這樣的定址空間還必須分配給PPU(圖形處理單元),SPU(聲音處理單元),VRAM,
RAM,PRG ROM(程式段ROM),CHR ROM(圖像段ROM)等,就FC初期來看,遊戲的確都不
大,這樣的空間還算足夠,但是隨著圖像及程式的改善,遊戲的容量不斷擴大,必
須有一個方式擴充定址的空間,於是便空出CPU各保留給PRG ROM,CHR ROM的定址
空間的一部份,稱為FRAME,再於卡匣上設計切換ROM BANK的機制,以這個FRAME來
對應到ROM上許多的PAGE,這樣便能擴充ROM的空間!

這種切換ROM BANK的機制,稱之為MMC - MULTI-MEMORY CONTROLLER,也有人稱為MAPPER(這與ROM IMAGE的MAPPER NUMBER有點不同,為了分辨,以下均以MMC稱之)!不過對ROM DUMPER而言,新的問題又出現了!隨著FC市場的增大,各家遊戲廠商紛紛設計不同的MMC,以增加不同的功能,已知的MMC種類,已經超過60種以上,而
仿冒卡廠商則是先找出這些特殊MMC的功能,修改部份程式及把LOGO改掉之後,以
現有的MMC晶片代替,這樣就搞出一堆變種!無論如何,我們需要一部可以因應這
些不同的MMC,調整DUMP ROM的方式的ROM DUMPER!

[  SCOTT's ROM DUMPER II 的不同處  ]
很多DUMP方式都是具一定破壞性的,運氣不好,卡匣就掛了!在目前FC原裝卡帶不
多的情況下,肯拿出來DUMP的人就不是那麼多!於是需要一個破壞程度最低的ROM
DUMP方法,因應此情勢而生的ROM DUMPER便是SCOTT's ROM DUMPER II,最壞的情況下,也不需要把每個MASK ROM 都拆下來,這實在是一大福音!

[  SCOTT's ROM DUMPER II 的DUMP步驟  ]
1.它的DUMP方式是在DUMPER上,有個FC用的卡匣插槽,以卡帶面向插槽第一隻腳,
  把要DUMP的卡匣插在這個插槽上!
2.把DUMPER利用LPT線與PC相連!在BIOS將LPT MODE 設 378/IRQ7 EPP Mode!
3.接上外接的DC 5V電源& GND !
4.執行支援這卡匣MMC的DUMPER軟體!
5.然後便會看到螢幕數字不斷跳動,1M=1FFFF 2M=3FFFF (HEX CODE)!結束後
  就會產生一個ROM.NES,這就是DUMP 下來的ROM IMAGE了!而這ROM.NES就能直
  接丟到FWNES上玩了!
很簡單吧!

[  SCOTT's ROM DUMPER II 的製作流程  ]
看到這裡,想要DIY的人應該快忍不住了吧!接下來就應該進入主題了!
必備材料:
┌────────────────────────┐
│74HC04  X 1   (HEX INVERTER)                    │
├────────────────────────┤
│74HC138 X 1   (3 TO 8 LINE DECODER)             │
├────────────────────────┤
│74HC373 X 4   (OCTAL TRANSPARENT LATCH)         │
├────────────────────────┤
│74HC244 X 1   (OCTAL BUS DRIVER 3 STATE)        │
├────────────────────────┤
│0.01 uF IC PASS Cap. X 7(IC PASS CAP.)          │
├────────────────────────┤
│470 歐姆 X 8                                    │
├────────────────────────┤
│DB25P(母) X 1                                   │
├────────────────────────┤
│LED 綠 X 1(吸出機動作指示用)                    │
├────────────────────────┤
│LED 紅 X 1(電源POWER ON指示用)                  │
├────────────────────────┤
│FC 60 PIN 卡匣插槽 X 1 (拔FC上的,去找舊FC吧!)   │
├────────────────────────┤
│大小適當之感光PCB板 X 1(or 萬用洞洞板+OK導線)   │
└────────────────────────┘
以上是電路板的部份,還有需要:
1.外接DC 5V電源供應器 X 1
2.25pin公-25pin公一對一之LPT連接線 X 1

你可以到光華商場等電子材料行收集一下!

必需工具:
25-30W電烙鐵,銲錫,尖嘴鉗,斜口鉗,小電鑽及數支鑽頭,及其他工具,或是實力
堅強的友人,或新臺幣千元大鈔數張!

製作流程:
1.從線路圖(Schematics)Layout成PCB板圖:
  目前在FWNES CLUB網頁上只有一個線路圖(註:也許你有之前吸出機二號的線
  路圖,你會發現有點不同,根據請教SCOTT兄得知,新版的線路圖拿掉了一些抑
  制雜訊用的電阻及電容,軟體的使用都是一樣的),你需要將它LAYOUT成PCB板
  圖,也許需要請朋友幫忙!當然如果你想自己做也是可以,有一本書可以參考一
  下:
    非常PCB設計(Protel for Windows PCB 3.XX)  張義和著 松崗
    ISBN957-22-2653-3 附CD,含繪製PCB板的軟體!但是這是推廣版的,功能上
    不免有些限制!
  注意,這位作者還有另一本類似的書,只有書皮及英文名稱不同,稱為
    非常線路設計(Protel for Windows PCB Schematics 3.XX)

  這是 Layout PCB用的,Layout後轉成GERBER FILEs,(Top Layer,Bottom Layer
   Text Layer Size Layer,Screw Layer.)再拿去PCB板廠商做底片與SAMPLE.

  不過據SCOTT兄告知,這張板應該LAYOUT成2層板,如果你功力夠,也許能自己
  LAYOUT 單層板,否則就必須請有力人士,例如花錢請廠商作,這可不便宜(PCB
  圖=>底片,NT$4000,底片=>CB板,嘿嘿,最少NT$8000),沒有足夠的熱忱及決心
  ,實在很難令人下手!

  另一種方式是用洞洞板+OK導線,按照線路圖,做出吸出機.這樣算是廉價很多
  的替代方案!

2.製作感光電路板(這是從書上抄來充場面的):
  首先把電路板的線路印到投影片上,把製作好的透明片放在電路板藥膜上,利
  用日光燈或紫外燈來曝光,兩者距離約10CM左右.以18WPL燈曝光,距離很近,約
  需要20~30分!

  感光完畢後,可以看到藥膜會變色,此時就得準備泡顯像劑,將不需要的藥膜清
  除.顯像劑的藥粉在電子材料行也有,泡製時,按照需要的量泡製,因為具時效
  性,多的放太久也會失效!可以加入熱水,減少時間!

  感光後的電路板放進顯像液之後,不需要的藥膜便會去除而露出銅箔,此時要
  檢查線路部份是否露出銅箔,若有,則用油性簽字筆修補,以免線路被腐蝕.接
  下來是去除銅箔,此時需要"氯化鐵"藥水,此步驟時間較長,加熱一下會進行的
  快些!氯化鐵有毒且有腐蝕性,在家不宜做,用學校設備較佳.

  當銅箔去除乾淨只留下所需要的線路後,用水清洗並乾燥後,準備作加工!按照
  零件的需要,在零件孔位上鑽孔,最好事先量一下元件的腳距,以免零件不好安
  裝!

3.電子元件安裝:
  安裝零件時,最好是由高度低的先焊,熟能生巧!最後把外接電源DC+5V,GND接
  在任一74HC373的Vcc,GND上,完成DUMPER的製作!

4.測試!

[  SCOTT's ROM DUMPER II 的運作機制  ]
你以為這樣就能DUMP ROM了嗎?嘿嘿,你還需要DUMPER軟體,SCOTT's ROM DUMPER II
有這麼強的功能,就是因為利用程式模擬6502切換ROM BANK的動作,所以DUMPER
軟體就是整個的DUMPER的核心!不過話說回來,當您會了就可以寫此Mapper之任
天堂模擬器(不含音效)!

以硬體的切換控制而言,主要是以60PIN插槽上的PRG-WE,PRE-OE,CHR-WE,CHR-OE
,CLK,控制PRG ROM及CHR ROM的切換!功能如下:
    PRG-WE : PRG ROM Write Enable/Disable Pin.
    PRG-OE : PRG ROM Output Enable/Disable Pin.
    CHR-WE : CHR ROM Write Enable/Disable Pin.
    CHR-OE : CHR ROM Output Enable/Disable Pin.
    CLK    : 在PRG-ROM CHR-ROM Write時當基本Clock Cycle用
而運作方式是:
    當變更 PRG Bank 時:
    1). PRG-OE=Enable , CHR-OEisable , PRG-WE:Enable
    當讀取 PRG Bank Data時:
    2). PRG-WE=Disable and Read $8000~$xxxx.
    CHR也是 1) & 2)兩步驟,但是 2). 改成Read $0000~$xxxx
(以上感謝SCOTT兄提供)

而軟體的切換控制便是模擬出各MMC的呼叫方式,利用原始卡帶上的MMC來切換!
各MMC的呼叫方式則需要另外找資料了,這裡暫時撇下不談!

整個DUMPER運作的流程: (感謝SCOTT兄提供)
  Step1:先Reset MMC (Initial)
  Step2:寫入 Fixed Address (視 MMC Type而異)資料以變更 FRAME.
  Step3:讀取目前的 FRAME 資料.
  Step4:重複 Step2-3 直到 PRG ROM 讀取完成或 CHR ROM 讀取完成.

[  DUMPER 軟體的取得  ]
就目前而言,其他人的話,因為對DUMPER 硬體及軟體的資料還不夠,所以還是單
方面的依賴SCOTT兄釋出該卡匣MMC的吸出軟體!如果你想寫自己擁有的卡帶吸出
軟體的話,需要與SCOTT兄聯絡,以了解更細部的硬體資料,才能撰寫自己的吸出
軟體!

除此之外,還需要知道這個卡匣的MMC運作!整個撰寫流程如下:
1.找出這卡匣的MMC種類:
  原裝卡匣的話,比較簡單,因為FANWEN大已經整理出相當多的MMC格式,另外numn
  大也開始整理FC卡匣的目錄,此外,還有許多日本網頁也有類似的目錄!仿冒卡
  就不太容易了,因為變種的太多,但是可能有機會找到基本型!

2.找出MMC的運作方式:
  這裡是另外一個難題,由運作流程上得知,你需要RESET MMC及變更FRAME的方
  式,其他的部份倒是不那麼重視!比較常用的MMC會有文件可以參考,不過,嘿嘿
  ,常用MMC的卡帶當然早就被DUMP出來了,而難找的卡帶當然就沒有文件可以參
  考!沒有文件可以就需要用原版卡帶及工具等,加以測試,找到它運作方式!

  SCOTT兄的方式是利用從同一種MMC但已DUMPER出來的ROM中,反組譯PRG ROM或
  是FWNES DEBUG MODE,由原程式中找出切換FRAME的方式,這樣就能找出這種MMC
  的運作!

  另外一個問題是仿冒卡的問題,仿冒卡經常使用變種的MMC,找出運作方式的可
  能方法是利用三用電表測試MMC各接腳的反應了(numn兄創意提供),其實這也
  還有問題,TTL IC翻IC手冊可知,But PAL 就難了!所謂"變種"通常是修改原
  MMC切換BANK寫入的位址或更改此位址上各BIT的定義!利用測試接腳反應,找
  出修改的部份,這樣有可能能找出這個變種MMC的運作!!

3.把MMC的運作寫成程式!
  ㄜ.....算是SCOTT兄的不傳之密吧! 除了MMC的運作外,還需要有NES檔格
  式(含FWNES擴充格式)的知識,操作LPT的知識,控制DUMPER的方法,還有一些其
  他的知識等,全部組合起來,才會成為DUMPER軟體!

[  ROM的分享問題  ]
工具本身沒有任何罪惡,但是使用工具的人卻可能用它來做壞事,ROM DUMPER也
是一樣,可不要把這樣的好工具用在壞處上!至於要不要分享你DUMP出來的ROM,
見仁見智啦!唯一的一點小建議,慎選要分享的對象,以免哪天看到你辛苦DUMP出
來的ROM,淪為別人賺錢的工具,這是作者不樂意見到的!
--
作者: SONBOY (傳說中?狂戰士) 看板: Emulator
標題: Re: [情報]如何自己做出FC ROM DUMPER
時間: Sun Nov 29 07:18:03 1998

※ 引述《zchou (Nelson Chou)》之銘言:
> 以上是電路板的部份,還有需要:
> 1.外接DC 5V電源供應器 X 1
改成接四個三號電池(1.5V*4=6V)再接7805轉成5V,就不必外接電源
要不就是用電腦裡有5V的電源線
> 25-30W電烙鐵,銲錫,尖嘴鉗,斜口鉗,小電鑽及數支鑽頭,及其他工具,或是實力
> 堅強的友人,或新臺幣千元大鈔數張!
千元大鈔數張??不必吧?2000元就很夠了
> 製作流程:
> 1.從線路圖(Schematics)Layout成PCB板圖:
>   目前在FWNES CLUB網頁上只有一個線路圖(註:也許你有之前吸出機二號的線
>   路圖,你會發現有點不同,根據請教SCOTT兄得知,新版的線路圖拿掉了一些抑
>   制雜訊用的電阻及電容,軟體的使用都是一樣的),你需要將它LAYOUT成PCB板
因為有跟沒有一樣,故拿掉電阻及電容。
>   不過據SCOTT兄告知,這張板應該LAYOUT成2層板,如果你功力夠,也許能自己
>   LAYOUT 單層板,否則就必須請有力人士,例如花錢請廠商作,這可不便宜(PCB
LAYOUT單層板=一定有跳線(預言),不好看
LAYOUT雙面板=無跳線
Scott兄說,他自己來作Layout只要花兩分鐘.....
>   圖=>底片,NT$4000,底片=>CB板,嘿嘿,最少NT$8000),沒有足夠的熱忱及決心
>   ,實在很難令人下手!
光看價錢就腿軟了
>   另一種方式是用洞洞板+OK導線,按照線路圖,做出吸出機.這樣算是廉價很多
>   的替代方案!
很累.....
> 2.製作感光電路板(這是從書上抄來充場面的):
>   首先把電路板的線路印到投影片上,把製作好的透明片放在電路板藥膜上,利
要先做Layout,在用影印機印到投影片上
>   用日光燈或紫外燈來曝光,兩者距離約10CM左右.以18WPL燈曝光,距離很近,約
>   需要20~30分!
日光燈=容易失敗
紫外燈,拿滅蚊燈來改造
>   感光完畢後,可以看到藥膜會變色,此時就得準備泡顯像劑,將不需要的藥膜清
>   除.顯像劑的藥粉在電子材料行也有,泡製時,按照需要的量泡製,因為具時效
>   性,多的放太久也會失效!可以加入熱水,減少時間!
減少時間??一分鐘就夠了,還需要減少時間??
>   感光後的電路板放進顯像液之後,不需要的藥膜便會去除而露出銅箔,此時要
>   檢查線路部份是否露出銅箔,若有,則用油性簽字筆修補,以免線路被腐蝕.接
>   下來是去除銅箔,此時需要"氯化鐵"藥水,此步驟時間較長,加熱一下會進行的
>   快些!氯化鐵有毒且有腐蝕性,在家不宜做,用學校設備較佳.
>   當銅箔去除乾淨只留下所需要的線路後,用水清洗並乾燥後,準備作加工!按照
>   零件的需要,在零件孔位上鑽孔,最好事先量一下元件的腳距,以免零件不好安
量一下元件的腳距??直接插上再剪掉再焊上不就可以了??
>   裝!
> 3.電子元件安裝:
>   安裝零件時,最好是由高度低的先焊,熟能生巧!最後把外接電源DC+5V,GND接
其實,自己爽就行了,不必由高度低的先焊...
> [  DUMPER 軟體的取得  ]
> 就目前而言,其他人的話,因為對DUMPER 硬體及軟體的資料還不夠,所以還是單
> 方面的依賴SCOTT兄釋出該卡匣MMC的吸出軟體!如果你想寫自己擁有的卡帶吸出
> 軟體的話,需要與SCOTT兄聯絡,以了解更細部的硬體資料,才能撰寫自己的吸出
> 軟體!
想要自行去研發及了解吸出機,先決條件,必需精通英、日文
> 1.找出這卡匣的MMC種類:
>   原裝卡匣的話,比較簡單,因為FANWEN大已經整理出相當多的MMC格式,另外numn
>   大也開始整理FC卡匣的目錄,此外,還有許多日本網頁也有類似的目錄!仿冒卡
>   就不太容易了,因為變種的太多,但是可能有機會找到基本型!
基本型,也就是最早期的台製卡匣,100%模擬正版的MMC,但跟原版卡匣一樣
,不好找到

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|电玩龙资讯台 天空联盟- SKY LEAGUE

GMT+8, 2018-10-15 21:03 , Processed in 0.081749 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表