设为首页收藏本站在线充值

电玩龙资讯台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 731|回复: 0
打印 上一主题 下一主题

如何自己做出FC ROM DUMPER

[复制链接]
  • TA的每日心情
    慵懒
    2015-3-19 14:35
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    51

    主题

    63

    帖子

    323

    积分

    龙骑伍长

    Rank: 3Rank: 3

    积分
    323
    跳转到指定楼层
    楼主
    发表于 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好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

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

    本版积分规则

    QQ|Archiver|手机版|小黑屋|天空联盟- SKY LEAGUE    

    GMT+8, 2017-5-26 23:30 , Processed in 0.097733 second(s), 33 queries , Xcache On.

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

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