请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

新模拟器共享论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1

最近看过此主题的会员

查看: 1664|回复: 28

[FC][MAPPER转换教程]

    [复制链接]

签到天数: 348 天

[LV.8]以坛为家I

评论头像

发表于 2018-2-1 22:25:09 | 显示全部楼层 |阅读模式
本帖最后由 FlameCyclone 于 2018-2-4 13:45 编辑

[FC][MAPPER转换教程]

时间:2018.2.1
作者:FlameCyclone
工具:1.FCEUX2.2.3, 2.VirtuaNES_Plus_160123,  3.Hxd

前言
此文仅仅限于鄙人目前能够转换的MAPPER作为基础进行的讲解,并非所有mapper都可以转换成mapper4,有如下原因:
1. PRG切换方式,mapper4只能切换8000-9FFFA000-BFFF或者C000-DFFFA000-BFFF,E000-FFFF为固定页,如果rom原有切页切换不像mapper4的切换方式,那么是不可能切换成功的,比方mapper1PRG切页采用32KB模式,也就是一次切8000-FFFF,这就不能转换了;
2. CHR切换方式,mapper4CHR2中模式,一种是2KB*2+1KB*4,就是PPU地址0000-07FF,0800-0FFF分别作为一个2KBbank,1000-13FF,1400-17FF,1800-1BFF,1C00-1FFF分别作为一个1KBbank,另一种则是PPU地址的0000-03FF,0400-07FF,0800-0BFF,0C00-0FFF分别作为一个1KBbank,1000-17FF,1800-1FFF分别作为一个2KBbank,如果rom的切页方式是1KB*8,那么转换可能不是很容易,也许你需要额外的功夫来将1KBbank做成2KBbank,这很费时费力,鄙人转换魂斗罗日版时就是这样的,不太好转,魂斗罗日版是mapper23(VRC2),PPU1KB*8,虽然其PPU上部分是1KB*4,但鄙人分析后发现,里面的bank组合方式只有几种而已,所以能够转换,如果组合方式多了的话,那就很麻烦或者没法转了;
3. 命名表镜像方式不兼容,有的游戏镜像有单屏镜像,这种rom转换起来需要花费一些功夫去解决单屏镜像的问题,鄙人转换过的鸟人战队和圣斗士星矢黄金传说完结篇就是mapper1的单屏镜像rom,转换不像只有水平/垂直镜像的简单,费了不少劲才搞定;
4. IRQ中断方式,如果原romIRQmapper4IRQ不兼容,那么就没法转换,除非你能够搞定IRQ的转换,比方mapper25(VRC4)的忍者神龟1,2,以及mapper23(VRC4)的帝国战机,这些以鄙人目前能力是没办法转换的.

下表引用自<<任天堂产品系统文件>>

偏移
字节数
内容
03
4
字符串“NES^Z”用来识别.NES文件
4
1
16kB ROM的数目
5
1
8kB VROM的数目
6
1
D01=垂直镜像,0=水平镜像
D11=有电池记忆,SRAM地址$6000-$7FFF
D21=在$7000-$71FF有一个512字节的trainer
D314屏幕VRAM布局
D4D7ROM Mapper的低4
7
1
D0D3:保留,必须是0(准备作为副Mapper^_^
D4D7ROM Mapper的高4
8F
8
保留,必须是0
16-
16KxM
ROM段升序排列,如果存在trainer,它的512字节摆在ROM段之前
-EOF
8KxN
VROM, 升序排列

1.MAPPER0MAPPER4
Mapper 0:
不能切换PROMCHR ROM;
PRG容量为16KB或者32KB;
CHR8KB;
这种mapper没有任何特别的地方,下面以Battle City (J) [!]为例:
直接修改mapper号为mapper4即可:
保存即可:
运行效果如下:
这样就OK了吗?当然不是了,这里还要用一个工具VirtuaNES_Plus_160123,不然鄙人写明的工具是2,只用到了FCEUX,VirtuaNES_Plus_160123不可能放着不用.
下面用VirtuaNES_Plus_160123打开修改后的文件:
你发现竟然是花屏,这是为什么呢?
这是因为在mapper4,如果没有对图形表进行映射,那么图形表默认全是0bank,所以这里需要初始化一下图形表映射,需要写一个程序;
CLD
SEI
BEG:
LDX #$00
LDY #$01
STX $8000
STY $8001    ;1bank映射到PPU上页的0000-07FF(mapper4)
INX
INY
INY
LOOP:    ;第一次将3bank映射到PPU上页的0800-0FFF,之后将4,5,6,7映射到PPU下页的1000-13FF,1400-17FF,1800-1BFF,1C00-1FFF;
STX $8000
STY $8001
INX
INY
CPX #$06
BCC LOOP
JMP $????跳转到原rom的重启中断处
假设重置中断为F000,那么编译后的机器码如下:
D8 78 A2 00 A0 01 8E 00 80 8C 01 80 E8 C8 C8 8E 00 80 8C 01 80 E8 C8 E0 06 90 F4 4C 00 F0
接下来打开FCEUX的十六进制编辑器(Debug->Hex Editor),拉到末尾,可以看到这个rom的重置中断为C070,鄙人用绿框标识的区域是什么鬼......:
接下来在FFD0写上图形表初始化映射程序:
鼠标定位到FFD0,右击后单击转到ROM文件位置


然后写上程序:
把原本的重置中断改成刚刚写的程序的地址FFD0:
然后保存(File->Save Rom)即可
接下来再用VirtuaNES_Plus_160123打开,发现没有花屏了
那么,mapper0mapper4就到这里了.

2.MAPPER1MAPPER4
Mapper 1

$8000-$9FFF:  寄存器0(设置寄存器1-3PROM/VROM模式,状态)

        0-1:  命名表镜像
        0:单屏A镜像
        1:单屏B镜像
        2:双屏幕垂直镜像
        3:双屏幕水平镜像

        2:  bank地址控制
        0:切换bank$C000
        1:切换bank$8000

        3:  bank容量控制
        0:bank容量为32KB
        1:bank容量为16KB

        4:  VROM模式控制
        0:8KBVRAM映射到$0000(通过寄存器1-2 写入VROM页码)
        1:4KBVRAM映射到$0000$1000(通过寄存器1-2 写入VROM页码)

$A000-$BFFF:  寄存器1(设置VROM4KB/8KB模式)
        4-0:
        选择4K8K VROM映射到PPU$0000(4K8K模式,受寄存器0的位4影响)

$C000-$DFFF:  寄存器2(设置VROM4KB模式)
        4-0:
        选择4K VROM映射到PPU$1000(只使用在4K模式,受寄存器0的位4影响)

$E000-$FFFF:  寄存器3(写入PROM的编号,只使用位0-3(00-0F))
        3-0:
        选择16KB32KB(受寄存器0的位3-2影响)映射到$8000-$BFFF/$8000-$FFFF

注:向mapper1的寄存器写入数据时一次只能写入一位,所有寄存器只是用了8位中的5位(D4-D0),所以向寄存器写入数据时需要写5次,写完一次逻辑右移一次。

这里鄙人就挑一个比较简单的rom来作为例子,Rockman 2 - Dr. Wily no Nazo (J) [!].nes.
首先用FCEUX打开rom,然后打开调试器(Debug->Debugger)添加一个E000-FFFF的写断点看看这rom的切PRG程序:

结果看到了对E000-FFFF写入的程序,这就是一个切bank程序,洛克人2一次切16KB,也就是8000-BFFF,这里为何是切16KB而不是32KB鄙人就不慢慢解释了,
像切PRG程序,换成mapper4该咋写呢?
洛克人2的这个就可以写成
PHA
LDA #$06
STA $8000
PLA
ASL
STA $8001
ORA #$01
PHA
LDA #$07
STA $8000
PLA
STA $8001
RTS
在这里原本程序的位置是不够写的,这个程序要放在其他位置,所以这样写.
编译后机器码如下:
48 A9 06 8D 00 80 68 0A 8D 01 80 09 01 48 A9 07 8D 00 80 68 8D 01 80 60
然后在F800找到一块空白区域:

把程序先放在这里吧
然后保存好
接下来找切换chr的程序:
断点修改成A000-DFFF并重启运行


结果如下:


第一处对BFFF写入是将一个chrbank号映射到ppu0000-0FFF,第二个对DFFF写入是将一个chrbank号映射到ppu1000-1FFF.
BFFF转换成mapper4如下:
PHA
LDA #$00
STA $8000
PLA
ASL
ASL
STA $8001
ORA #$02
PHA
LDA #$01
STA $8000
PLA
STA $8001
RTS
编译后机器码:
48 A9 00 8D 00 80 68 0A 0A 8D 01 80 09 02 48 A9 01 8D 00 80 68 8D 01 80 60
DFFF转换成mapper4如下:

PHA
LDA #$02
STA $8000
PLA
ASL
ASL
STA $8001
CLC
ADC #$01
PHA
LDA #$03
STA $8000
PLA
STA $8001
ADC #$01
PHA
LDA #$04
STA $8000
PLA
STA $8001
ADC #$01
PHA
LDA #$05
STA $8000
PLA
STA $8001
RTS

编译后机器码:
48 A9 02 8D 00 80 68 0A 0A 8D 01 80 18 69 01 48 A9 03 8D 00 80 68 8D 01 80 69 01 48 A9 04 8D 00 80 68 8D 01 80 69 01 48 A9 05 8D 00 80 68 8D 01 80 60
接下来把这两段程序分别放在F820F840:
接下来,把断点修改成8000-9FFF,重启并运行:
结果如下:
这里就不用写程序了.
关闭模拟器,hxd打开rom:
先把mapper号修改为mapper4:
然后搜索原来的切PRG程序:
把搜索到的全部都修改为JSR $F800,机器码为20 00 F8,后面多余的程序改为NOP,机器码EA,也就是20 00 F8 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA,
然后搜索8D FF BF,全部修改为20 20 F8 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
然后搜索8D FF DF,全部修改为20 40 F8 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
然后搜索8D FF 9F,全部修改为8D 00 A0 EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
保存文件:
然后用FCEUX打开,发现转换成功:
用VirtuaNES_Plus_160123打开也正常
但是:
不难看出,这个rom的切chr只切了一次,之后再也没有切换过,说明这rom的切chr只是相当于初始图形表化映射而已,证据如下:
chr都没有,切啥子bank?
关闭FCEUX,再次用Hxd打开rom,找到JSR $F820 的程序:
这里的
LDA #$01 JSR $F820,改为LDA #$00 JSR $F820机器码20 20 F8
LDA #$1F JSR $F840,改为LDA #$01 JSR $F840机器码20 40 F8
保存即可:
再次打开:
进游戏测试一会儿也没发现问题,那么mapper1的转换就到这里了.

3.MAPPER2MAPPER4
Mapper 2

可切换PROM,没有CHR ROM
CHR混合在PROM中,取出PROM中的CHR数据写入到PPU$0000-$1FFF

$8000-$FFFF:  选择16KB存储体映射到$8000-$BFFF
        $8000-$FFFF写入一个bank,将该16KB存储体映射到$8000-BFFF.

这里就以Contra (U) [!].nes为例
先用FCEUX打开rom,添加一个8000-FFFF的写断点:
结果如下:
这里将FFD0起始的bank号进行切换,
那么这里mapper2的切PRG程序STA $FFD0转换为mapper4的切PRG程序可以这样写:
PHP   ;保护状态寄存器
ASL   ;累加器A算术左移, 因为mapper2切换一个PRG块是16KB,mapper4切换一个PRG块是8KB,相当于mapper2的一个PRG块等于mapper4的两个PRG,比方mapper0PRG,相当于mapper40号和1PRG,所以这里算术左移,相当于乘以2.
PHA   ;保护累加器A的值
LDA #$06
STA $8000    ;设置mapper4切换PRG8000-9FFF
PLA    ;恢复累加器A的值
STA $8001    ;切换到8000-9FFF
ORA #$01    ;低位补个1
PHA    ;保护累加器A的值
LDA #$07
STA $8000    ;设置mapper4切换PRGA000-BFFF
PLA   ;恢复累加器A的值
STA $8001    ;切换到A000-BFFF
PLP   ;恢复状态寄存器
RTS   ;返回
编译后机器码为:
08 0A 48 A9 06 8D 00 80 68 8D 01 80 09 01 48 A9 07 8D 00 80 68 8D 01 80 28 60
为了保险起见才将状态寄存器也压栈出栈的,魂斗罗一代美版转换mapper4如果不保护状态寄存器,第二关打爆门之后会出现图形bug,这里为了安全就加上了.
找个位置把程序写上去,就写在FB00:
保存文件:
关闭模拟器,Hxd打开rom:
先把mapper号改为mapper4:
接下来搜索原来的切PRG程序:
所有的相同的切PRG程序都修改为JSR $FB00机器码20 00 FB,这个rom只有一处:
保存文件:
用FCEUX打开:
用VirtuaNES_Plus_160123打开:
这个问题想必都知道为啥了,废话不多说,直接补上图形表映射初始化程序:
这个rom的重置中断为C0 01,那么图形表初始化就应该写成这样:
CLD
SEI
BEG:
LDX #$00
LDY #$01
STX $8000
STY $8001    ;1bank映射到PPU上页的0000-07FF(mapper4)
INX
INY
INY
LOOP:    ;第一次将3bank映射到PPU上页的0800-0FFF,之后将4,5,6,7映射到PPU下页的1000-13FF,1400-17FF,1800-1BFF,1C00-1FFF;
STX $8000
STY $8001
INX
INY
CPX #$06
BCC LOOP
JMP $C001跳转到原rom的重启中断处
编译后机器码:
D8 78 A2 00 A0 01 8E 00 80 8C 01 80 E8 C8 C8 8E 00 80 8C 01 80 E8 C8 E0 06 90 F4 4C 01 C0
这段程序放在就FB20:
修改重置中断地址:
保存文件:
再次使用VirtuaNES_Plus_160123打开就没问题了:
测试也没发现啥问题,那么mapper2mapper4就到这里.

4.MAPPER3MAPPER4
Mapper 3

可切换CHR ROM但不可切换PROMCHR寄存器2位宽;
ROM最大为2x16KB PROM + 4x8KB = 64KB

$8000-$FFFF:    PPU页面号(CHR寄存器2位宽,最大支持32KBCHR ROM)
                选择8KB CHR ROM映射到PPU$0000-$1FFF
                $8000-$FFFF写入一个数据,将该8KBCHR ROM映射到PPU

这个一看就知道很好转换了,下面就以Adventure Island (U) [!].nes为例.
打开rom:
添加8000-FFF的写断点后重启运行:
结果如下:
mapper3chr切换转换成mapper4的可以这样写:
ASL
ASL
ASL
PHA
LDA #$00
STA $8000
PLA
STA $8001
CLC
ADC #$02
PHA
LDA #$01
STA $8000
PLA
STA $8001
CLC
ADC #$02
PHA
LDA #$02
STA $8000
PLA
STA $8001
CLC
ADC #$01
PHA
LDA #$03
STA $8000
PLA
STA $8001
CLC
ADC #$01
PHA
LDA #$04
STA $8000
PLA
STA $8001
CLC
ADC #$01
PHA
LDA #$05
STA $8000
PLA
STA $8001
RTS
编译后机器码如下:
0A 0A 0A 48 A9 00 8D 00 80 68 8D 01 80 18 69 02 48 A9 01 8D 00 80 68 8D 01 80 18 69 02 48 A9 02 8D 00 80 68 8D 01 80 18 69 01 48 A9 03 8D 00 80 68 8D 01 80 18 69 01 48 A9 04 8D 00 80 68 8D 01 80 18 69 01 48 A9 05 8D 00 80 68 8D 01 80 60
然后找个地方写上这段程序:
找了下没有空间:
这里为了方便,鄙人就用trainer方式扩容写上这段程序吧:
先关闭模拟器,Hxd打开rom:
把文件头修改为mapper4,并且带有trainer:
在文件头之后插入512字节trainer空间:


把程序写在trainer开头:
然后搜索原来的切chr程序:
修改为JSR $7000机器码20 00 70:

保存文件:
FCEUX打开效果如下:
使用VirtuaNES_Plus_160123打开效果如下:
测试一下没啥问题,mapper3mapper4就这样了.

5.VRC2MAPPER4
Mapper 23(VRC2)

$8000:  选择8KBROM存储体映射到$8000

$9000:  0:垂直镜像
        1:水平镜像
        22000镜像
        32400镜像

$A000:  选择8KBROM存储体映射到$A000

$B000:  选择1KBVROM存储体映射到PPU$0000(4)
$B001:  选择1KBVROM存储体映射到PPU$0000(4)
$B002:  选择1KBVROM存储体映射到PPU$0400(4)
$B003:  选择1KBVROM存储体映射到PPU$0400(4)

$C000:  选择1KBVROM存储体映射到PPU$0800(4)
$C001:  选择1KBVROM存储体映射到PPU$0800(4)
$C002:  选择1KBVROM存储体映射到PPU$0C00(4)
$C003:  选择1KBVROM存储体映射到PPU$0C00(4)

$D000:  选择1KBVROM存储体映射到PPU$1000(4)
$D001:  选择1KBVROM存储体映射到PPU$1000(4)
$D002:  选择1KBVROM存储体映射到PPU$1400(4)
$D003:  选择1KBVROM存储体映射到PPU$1400(4)

$E000:  选择1KBVROM存储体映射到PPU$1800(4)
$E001:  选择1KBVROM存储体映射到PPU$1800(4)
$E002:  选择1KBVROM存储体映射到PPU$1C00(4)
$E003:  选择1KBVROM存储体映射到PPU$1C00(4)

这里以Wai Wai World (J) [!].nes为例,为何选这个rom?
因为这个rom没有IRQ,此外,虽然这个rom的图形表是1KB*4+1KB*4,但是,鄙人观察之后发现其图形表上页是四个独立的bank,而下页的bank号都是连续的,这点非常适合转换,因为下页是连续的,那个下页的1KB*4完全可以转换为mapper42KB*2.
证据如下:
这样就知道图形表下页是绝对连续的了.

首先解决切PRG问题:
先添加一个8000A000的写断点:
可以看到,这个rom对切PRG
07:C3BE: 8A        TXA
07:C3BF: 48        PHA
07:C3C0: C6 F5     DEC $F5
07:C3C2: A6 F5     LDX $F5
07:C3C4: B5 F6     LDA $F6,X
07:C3C6: A8        TAY
07:C3C7: C8        INY
07:C3C8: 8D 00 80  STA $8000
>07:C3CB: 8C 00 A0  STY $A000
07:C3CE: 68        PLA
07:C3CF: AA        TAX
07:C3D0: 60        RTS
找了一下,PRG的程序只有这么一处,分析一下,就是把地址F6的数据作为bank号映射8KB8000-9FFF,bank号加1后映射到A000-BFFF.
那么STA $8000 STY $A000转换为mapper4可以这样写:
PHA
LDY #$86
STY $8000
PLA
STA $8001
INY
STY $8000
ORA #$01
STA $8001
RTS
编译后机器码:
48 A0 86 8C 00 80 68 8D 01 80 C8 8C 00 80 09 01 8D 01 80 60
这里为何写入8000的不是06而是86?因为前面分析这个romCHR下页可以转换为mapper42KB*2模式,所以这里使用mapper4的上页1KB*4,下页2KB*2模式.
然后找个地方把这段程序写上去:
就写在FFE3:
保存文件
双击断点将当前断点取消,添加一个9000的写断点:
从而知道命名表镜像写入程序是STA $9000:

接下来关闭模拟器,Hxd打开rom:
把mapper号改成mapper4:
然后查找原来的切PRG程序,原来的为STA $8000 STY $A000机器码8D 00 80 8C 00 A0:
修改为JSR $FFE3机器码20 E3 FF:
接下来把原来的命名表镜像方式也改一下,查找STA $9000机器码8D 00 90:
一共找到2,都改为STA $A000机器码8D 00 A0:
然后保存文件:
接下来用FCEUX打开rom:
发现是花屏,这当然了,到这里只完成了PRG和命名表镜像的转换,CHR还没有转,所以是花屏.
接下来转CHR:
删除前面的断点,添加一个B000-EFFF的写断点:
结果如下:
这里写入B000-CFFF是将CHR映射到图形表的0000-0FFF,转换成mapper4的上页1KB*4可以这样写:
LDA #$82
STA $8000
LDA $07F7
STA $8001
LDA #$83
STA $8000
LDA $07F8
STA $8001
LDA #$84
STA $8000
LDA $07F9
STA $8001
LDA #$85
STA $8000
LDA $07FA
STA $8001
编译后机器码为:
A9 82 8D 00 80 AD F7 07 8D 01 80 A9 83 8D 00 80 AD F8 07 8D 01 80 A9 84 8D 00 80 AD F9 07 8D 01 80 A9 85 8D 00 80 AD FA 07 8D 01 80 A9 80 8D 00 80 AD FB 07 8D 01 80
写入D000-EFFF是将CHR映射到图形表的1000-1FFF,转换成mapper4的上页2KB*2可以这样写:

LDA #$80
STA $8000
LDA $07FB
STA $8001
LDA #$81
STA $8000
LDA $07FD
STA $8001
编译后机器码为:
A9 80 8D 00 80 AD FB 07 8D 01 80 A9 81 8D 00 80 AD FD 07 8D 01 80
然后把上面两段程序写上去覆盖原来的切CHR程序:
多出的未覆盖的用NOP覆盖:
由于这个游戏使用了SRAM,那么应该找个地方开启SRAM,鄙人测试后发现,使用SRAM的程序
是在CHR切换之后才执行的,这里鄙人为了方便就把SRAM启用程序写在CHR切换程序的后面吧,反正这里刚刚好有空间,开启SRAM的程序写法很简单,可以这样写:
LDA #$80
STA $A001
编译后机器码为:
A9 80 8D 01 A0
SRAM启用程序加上去:


然后保存文件:
然后取消原来的断点,单击运行:
发现标题显示正常了:
进入游戏,发现这里有个些地方是花屏:
这是什么原因呢?鄙人猜是某段程序调用CHR切换时不是从CHR切换程序开始调用,而是CHR切换程序的某个部分,已知CHR程序是C212-C280:
添加一个C212-C280的执行断点:
结果发现有一处比较奇怪:
这里写入07FE的数据后跳转到C246,原来的C246是什么呢?
找个原版未转换的rom来看看就知道了:
这下子就知道C246是什么了,这里就是跳转到切换CHR的下页,由于鄙人刚刚把原切CHR的程序修改成了mapper的切CHR程序,原来跳转的位置肯定不正确,轻则花屏,重则死机,修改一下让其跳转到切下页的程序位置就行了,回到转换mapper的这个rom的调试器,查看一下:
得知切换CHR下页的程序地址是C23E,回到十六进制编辑器,把跳转改成JMP $C23E机器码4C 3E C2:
然后双击取消断点,单击运行:
之后运行效果如下:
用VirtuaNES_Plus_160123打开效果如下:
到这里测试了一下没发现什么问题,VRC2mapper4就到这里了.
心得:
1.没有CHRrom转换为mapper4要初始化图形表映射,防止在严格的模拟器上花屏(例如本文中的VirtuaNES_Plus_160123)
2.使用了SRAMrom转换成mapper4后要添加SRAM启用程序,防止严格的模拟器运行不正常(例如Nestopia)

mapper转换教程到此结束,你能从头看到尾也是非常有耐心了,鄙人可是从今天下午一两点写到晚上六点半,吃完饭后又从七点半写到现在九点半,自己写的坑,必须补上啊,好了,废话不多说了,希望此文对研究FC的读者有用,由于鄙人技术以及学识上的不足,文中想必或多或少存在一些错误,欢迎指出.

游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

4

查看全部评分

回复

使用道具 举报

签到天数: 1025 天

[LV.10]以坛为家III

评论头像

发表于 2018-2-1 23:06:54 | 显示全部楼层
本帖最后由 wsm2003 于 2018-2-1 23:19 编辑

辛苦了!很棒的教程,有空好好学学!

深有同感,其实做教程比学教程花的时间和精力更多!


楼主的附件藏有彩蛋哟!没下的快下吧!

回复 支持 反对

使用道具 举报

该用户从未签到

评论头像

发表于 2018-2-1 23:53:31 | 显示全部楼层
帝国战机、宇宙巡航机2,亚魔城三代,转一下MMC3吧
回复 支持 反对

使用道具 举报

签到天数: 348 天

[LV.8]以坛为家I

评论头像

发表于 2018-2-1 23:54:24 | 显示全部楼层

一看就知道没看前言咋说的
回复 支持 反对

使用道具 举报

签到天数: 1335 天

[LV.10]以坛为家III

评论头像

发表于 2018-2-2 00:02:00 | 显示全部楼层
很牛的技术贴啊,收藏了
回复 支持 反对

使用道具 举报

签到天数: 646 天

[LV.9]以坛为家II

评论头像

发表于 2018-2-2 06:28:43 | 显示全部楼层
终于出教程了,还挺全,看来得先学学字节计算了,看看个人能不能学会,谢谢
回复 支持 反对

使用道具 举报

签到天数: 646 天

[LV.9]以坛为家II

评论头像

发表于 2018-2-2 06:50:15 | 显示全部楼层
版主好,三个附件下载了不能解压呀,求指点。谢谢
回复 支持 反对

使用道具 举报

签到天数: 646 天

[LV.9]以坛为家II

评论头像

发表于 2018-2-2 07:47:51 | 显示全部楼层
用好压解压成功,winrar与另一个7z解压软件报错。
回复 支持 反对

使用道具 举报

签到天数: 590 天

[LV.9]以坛为家II

评论头像

发表于 2018-2-2 08:45:51 | 显示全部楼层
要是有一键转换的工具就好了
回复 支持 反对

使用道具 举报

签到天数: 941 天

[LV.10]以坛为家III

评论头像

发表于 2018-2-2 10:50:45 | 显示全部楼层
樓主超強!!!
轉MMC3是為了比較好擴容,還是為了做卡帶?
回复 支持 反对

使用道具 举报

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

本版积分规则

新模拟器共享论坛X

翻译WIKI大量成长力和金钱奖励!

访问http://wiki.nesbbs.com,翻译词条到论坛指定区,每一个完成翻译并有采纳的,有成长力等奖励哟...

点击查看详情 

QQ|申请友链|小黑屋|手机版|Archiver|新模拟器共享网 ( 辽ICP备09001055号|繁體中文   

GMT+8, 2019-10-18 06:30 , Processed in 0.265201 second(s), 47 queries , XCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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