上一主题下一主题
«12»Pages: 1/2     Go
主题 : 【讨论】FC游戏VCD光盘制作问题讨论——其实很简单
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
楼主  发表于: 2006-12-07 15:41

【讨论】FC游戏VCD光盘制作问题讨论——其实很简单

图片:
找个刻录机,放张CD-R,建个目录,把自己喜欢的ines格式的FC ROM加进去,刻成碟,放到游戏VCD/DVD里,机器会自动进入文件选择状态,通过遥控器或手柄在屏幕上显示的目录里选择游戏,进入游戏开始玩——就这么简单。

1、所有的ROM放在1个目录内,第2个目录好像机器不认。
2、DVD/VCD机器不支持中文文件名显示,所有中文显示为“—”,因此刻录前最好把ROM文件全改成英文。
3、个别游戏好像运行不了,不知道是机器的问题还是ROM有问题。
4、一般常见的FC游戏都可以玩,包括原来VCD光盘上没有的经典节目,如脱狱、双截龙2&3、恶魔城、蝙蝠侠、赤影战士、松鼠大战1&2等等。还有部分游戏画面有点问题,有些遗憾,如超级魂斗罗、人间兵器、加纳战机等画面出错或没有背景,而忍者龙剑传123的某些版本不能进入游戏。有时间和机器的朋友可以慢慢去尝试,毕竟GOODNES里的ROM还是比较多。
5、游戏中要退回到文件选择画面可以同时按A+B+START组合键


几个月来反复研究FC游戏VCD光盘上的BIN文件结构,妄图找到制作相同游戏节目光盘的方法,今天才发现,一切都是近乎是徒劳无功。 惭愧! :(

其实,市面上流行的带有8位游戏(也就是FC/NES)功能的DVD/VCD,本身就直接支持ines格式的ROM文件。随机器附带的300游戏光盘“误导”了大家——当然包括我自己。很多有这类机器的朋友也早就知道了,只是大家缺少了点交流而已。


看到“莫失莫忘”在ISO区发的“【分享】刻录自己的SEGA16位游戏VCD”帖子后,(http://bbs1.chinaemu.org/htm_data/63/0603/46858.html)
很想把自己近日尝试制作FC游戏VCD光盘的努力和难题汇报一下,希望能得到各位的指点。

大约从2001年起,市面就出现“FC游戏VCD影碟机”了,直到现在还有很多集成了FC游戏功能的DVD+MPEG影碟机在市面销售。这种影碟机配有1张光盘,号称集合了300个FC游戏,其中大约50%是重复节目,值得玩的经典节目比较少。于是很多玩家/网友都想,能不能自己做一张这样的光盘,把喜欢的FC游戏节目合在一起,在大屏幕电视机上过过瘾,哈哈。

经过查看分析,这张FC游戏光盘是一种特制的VCD格式光盘,可以被识别成视频光盘,但在没有游戏功能的影碟机上不能被识别和播放。光盘上的目录结构和标准的VCD不一样,光盘根目录下友6个子目录,分别是:
\CDI
\EXT
\MPEGAV
\NEWROM
\SEGMENT
\VCD

  其中,MPEGAV是空的里没有文件
SEGMENT目录里存放这30个游戏选单文件和一个空选单文件
NEWROM是标准VCD上没有的目录,里面存放着从G001.BIN~G300.BIN共300个ROM文件。

这300个BIN文件的文件长度远大于对应的NES ROM文件长度,经EZ论坛的SSforME 分析,这个BIN文件比相应的NES ROM多了个文件头和文件尾。认为将网上下载的NES格式的MAPPER0的ROM去掉文件头,再将以下的a.bin加到ROM之前,将b.bin加到ROM之后,即为VCD要求的BIN格式!

为了测试SSforME的分析是否正确,现在只有开始制作自己的BIN文件来替换光盘上原有的ROM文件,并刻盘了。下面以单个文件为例,介绍我制作FC游戏VCD的过程:

1、首先根据游戏光盘的节目单找到可以替换的MAPPER0的游戏,例如冒险岛(G199.BIN文件大小是98KB)这个游戏,就是MAPPER0的。

2、在网上下载的NES格式ROM文件中,选一个MAPPER0游戏,例如”田间战斗.nes”(FIELD COMMBAT,光盘上也有,在第4页第2个—G032.BIN)

3、准备好转换用的a.bin和b.bin(见附件)

4、用winhex打开[田间战斗.nes],删去文件前面的16个字节(NES信息),在文件前插入a.bin,在文件后面加上b.bin,保存为G199.BIN,文件大小为80KB。

5、用NERO或Alcohol 120%或UltraISO等软件制作FC游戏VCD光盘的镜像并保存,称为[8位FC游戏VCD光盘镜像 ]

6、用WINISO打开[8位FC游戏VCD光盘镜像],将镜像文件里的G199.BIN改名为G999.BIN,上传制作好的新G199.BIN到镜像文件的NEWROM目录,删除镜像文件里刚才改名的G999.BIN。

这里,先将原文件改名再上传新文件的操作,是因为WINISO不能直接覆盖镜像内原来的同名文件。不先删除原来的BIN文件,是怕光盘布局发生变化。

7、选保存(镜像文件),覆盖原镜像。注意这里不是[另存为],如果选[另存为。。。]那么光盘布局可能发生变化,保存的新镜像会变成“非启动光盘”,而不再是VCD视频光盘了。

8、用UltraISO打开新的[8位FC游戏VCD光盘镜像],看看光盘格式还是不是“VCD视频”,如果是的话,就可以被游戏VCD影碟机识别。

9、用NERO刻录镜像文件(映像)到CD-R。

到此,新的游戏光盘终于制作好了,按照预期,在游戏VCD影碟机上玩的时候,选第199个节目,将不再是“冒险岛”,而是“田间战斗”(FIELD COMMBAT)

不过.........

当我将刻录好的CD-R拿到游戏VCD上用,可以识别成游戏VCD,进入游戏没有问题,可是在选取第199个游戏的时候——也就是原来选单画面第20页第9项[冒险岛],问题来了!

出来的游戏竟然还是[冒险岛],不是已经替换成“田间战斗”(FIELD COMMBAT)了吗,原来的G199.BIN不是也删除了吗?怎么还是冒险岛,难道替换和删除无效?

在PC上打开这张CD-R查看,光盘上的G199.BIN文件大小确实是80KB,是替换上去的新田间战斗G199.BIN啊,原来98KB的冒险岛G199.BIN确实不在目录上了。

这是怎么回事,难道这张光盘调用游戏ROM不用目录,直接在光盘的固定扇区读取?
[ 此贴被lzero27在2007-03-19 14:18重新编辑 ]
描述:SSforME的a.bin和b.bin
附件: a_b_bin.rar (16 K) 下载次数:286
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
沙发  发表于: 2006-12-07 20:02

级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
板凳  发表于: 2006-12-08 17:33

可能还是要用到CDmage来修改镜像文件
直接用WINISO添加的文件无效
再实验去。。。
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
地板  发表于: 2006-12-09 22:54

用CDmage制作了数张光盘,都有问题

1、按SSforME 的方式制作的ROM文件,游戏VCD不认
用SSforME 提出的方法,用NES ROM文件去掉文件头16字节后,加上a.bin和b.bin,做成的ROM文件,比VCD光盘上相应的MAPPER0游戏ROM文件小。用CDmage上传到镜像覆盖原有BIN文件时,软件提示文件长度小了,用0来补齐。同意后写入镜像。但是在影碟机上玩的时候,这个替换的游戏确实覆盖了原有的游戏,但是调不出来,画面一闪,返回选游戏状态。
开来,NES格式的ROM想转换成游戏VCD格式还不是这么方便。

2、CDmage修改后的镜像虽然能玩,但是没有了选单画面。只能黑屏下盲选。可以实现选单的翻页和游戏的选取,但是始终看不到选单的画面。

3、用原VCD光盘上同尺寸的游戏相互替换后都可以成功玩,但同样没有了选单画面。

4、想通过单纯修改文件名来打乱节目次序——没有效果,必须在镜像上对对应的文件(扇区)进行覆盖替换。
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
草席  发表于: 2006-12-11 09:00

GIF999的确是高人,不知道他有没有兴趣研究这个FC光盘
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
5楼  发表于: 2006-12-11 21:52

引用
引用第9楼yksoft12006-12-11 13:05发表的“”:
那个CeQuadrat的东西?(会在光盘中放一个vcd_play.exe)我以前用来做过MD游戏的。不过似乎方法和这中完全不同。

能详细介绍一下你做MD游戏光盘的方法吗,说不定可以借鉴 :)
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
6楼  发表于: 2006-12-11 22:03

引用
引用第8楼glf9992006-12-11 12:03发表的“”:
这个我做过 当时用 video pack 制作的
完全仿制的 内部细节 在最后的 测试时因为
vcd光盘中有一个 mpg 的dat文件 所以失败
您要做的话 可以在烧录C2D 镜像文件前手工修改掉
那个 dat文件 否则可能还是不行
------------------------------------------------------
那个游戏VCD 机 如果识别到光盘有 mpg 数据
就会切换到 播放模式 切记哦
.......

GIF999的确很熟悉刻录技术啊 :)

再请教GIF999,你提到“这个我做过 当时用 video pack 制作的,完全仿制的内部细节,在最后的测试时因为vcd光盘中有一个 mpg 的dat文件,所以失败。”

这里,用video pack来制作能否“完全仿制(游戏VCD光盘)的内部细节”呢,可以制作出非标准VCD格式的VCD光盘来么?这个FC游戏光盘带有\NEWROM这个目录,video pack里可以自由建立这个目录吗?

再者,这个FC游戏VCD光盘里的\MPEGAV目录是空的,应该就是为了避免“游戏VCD 机识别到光盘有 mpg 数据切换到播放模式”吧。


第三,“可以在烧录C2D 镜像文件前手工修改掉那个dat文件”
我是菜鸟,能详细讲讲怎么做吗?
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
7楼  发表于: 2006-12-12 15:19

引用
引用第14楼glf9992006-12-12 12:19发表的“”:
第一我不懂这个技术的 只是当年被一个朋友所托进行了相关研究

可惜后来资金缺乏 研究到一半就 终止了

我说的内部细节就是指 vcd2.0的 操作连接 指向
.......

斑竹过谦了 :)
用vcd2.0的 操作连接 指向,重现这个光盘的选单,一定很麻烦吧。

这里还有个关键问题要请教:

用“vcd2.0的操作连接指向”实现的选单跳转(数字、翻页),其跳转的目标是直接指向具体的ROM文件吗?还是要调用其他命令来读取ROM并运行呢?

这里涉及到了游戏VCD的FC模拟功能的实现机理了,GIF999斑竹是否有研究呢?

如果可以妆Ρπ设计游戏选单,那么下一步最大的问题在于如何做出适合游戏VCD的BIN格式的ROM了(目前按照EZ的SSforME提出的方案做的ROM还不能运行)。
[ 此贴被lzero27在2006-12-12 15:30重新编辑 ]
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
8楼  发表于: 2006-12-12 16:44

你自己设计选单跳转,其跳转的目标是直接指向具体的ROM文件吗?还是要调用其他命令来读取ROM并运行呢?
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
9楼  发表于: 2006-12-13 19:33

用软件转换出了ROM文件?
好像还没有这种软件哦

呵呵,这种VCD没有模拟器。

这张碟的镜像在我的网盘里有,可惜GIF999没有这种VCD机,不能得到进一步指点了
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
10楼  发表于: 2007-01-24 10:49

直接下载就可以啊,不需要提取码

给个连接:http://sunland.1000uke.com/mypane.aspx?down=ok&filename=游戏中文300(FC游戏VCD光盘镜像).rar&filepath=sunland%2fFC%d7%ca%d4%b4%2f%d3%ce%cf%b7%d6%d0%ce%c4300%a3%a8FC%d3%ce%cf%b7VCD%b9%e2%c5%cc%be%b5%cf%f1%a3%a9.rar&GUID=DDCF620CF5A971584A54166999F7839B9EBC43C1BC696292
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
11楼  发表于: 2007-02-12 16:45

有研究裕兴VCD的高手出现了,“如果研究顺利的话,我可以把NES文件转换成VCD格式的,在裕兴VCD上面运行”,见:
http://www.lizr.net/?action=show&id=1&page=1#cm38
[ 此贴被lzero27在2007-02-12 16:55重新编辑 ]
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
12楼  发表于: 2007-02-17 09:54

FC VCD 游戏光盘里的BIN格式ROM文件,比裕兴电脑VCD的BIN格式似乎要复杂一些

FC VCD 游戏光盘里的BIN格式ROM文件的文件头代码虽然相似,但是其长度和具体代码并不一致

经过分析这些BIN文件,每一种文件头长度是一定的,主要区分特征是文件开始的16个字节中的第7和第8字节,以此分类,居然有20种文件头之多。

以下是各种文件头的特征代码和其二进制数值
6790 0110 0111 1001 0000
67C0 0110 0111 1100 0000
69B0 0110 1001 1011 0000
69C0 0110 1001 1100 0000
69E0 0110 1001 1110 0000
6A60 0110 1010 0110 0000
6A90 0110 1010 1001 0000
6AF0 0110 1010 1111 0000
6B10 0110 1011 0001 0000
6B30 0110 1011 0011 0000
6B40 0110 1011 0100 0000
6B60 0110 1011 0110 0000
6D50 0110 1101 0101 0000
6D90 0110 1101 1001 0000
6DB0 0110 1101 1011 0000
6E40 0110 1110 0100 0000
6EB0 0110 1110 1011 0000
6EC0 0110 1110 1100 0000
6EE0 0110 1110 1110 0000
6F20 0110 1111 0010 0000

一共20种

光盘上的BINROM里共有约150个不同的游戏,其余都是重复的,用4-5种文件头的BINROM占了大多数。
有2-3种文件头只有1-2个游戏ROM用到。
[ 此贴被lzero27在2007-02-17 10:05重新编辑 ]
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
13楼  发表于: 2007-02-17 10:04

图片:
上个图片吧,有时间慢慢琢磨,希望不会误入歧途,呵呵

这里的NES文件尺寸都是带了INES的16字节文件头的,BIN文件里没有这16字节(当然没有。。)
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
14楼  发表于: 2007-02-17 21:49

是呀,现在要玩FC也是用带USB的DVD了

研究FC游戏VCD纯属爱好和怀旧,就象很多还在研究FC编程的朋友一样,呵呵

楼上的朋友新年好!
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
15楼  发表于: 2007-02-23 16:42

今天值班,在办公室又分析了一下手中的数据,终于又有收获了!
BIN文件头里第7-8字节果然是ROM偏移量的指针,只要用这个双字节16进制数加上一个常量N,就可以得到BIN文件中ROM的实际地址了,哈哈!
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
16楼  发表于: 2007-02-24 03:43

如果把BIN文件的内容划分为文件头、ROM、文件尾三部分的话(即假设BIN文件结构是文件头+ROM+文件尾),有了BIN文件头的指针,是不是还有文件中ROM内容之后的文件尾的指针呢?

花了4个多小时反复对比查找和推算,终于又找到了!

果然和文件头指针类似,在offset:0190开始的16个字节中,也有一个指向ROM尾部的指针。

正象文件头的结束标志是[4E6F773A257800004E6565643A257800]一样,文件尾的开始标志是[0F161912666666000000CC000000CC00]

以此,可以找到文件尾指针和推算出文件尾的偏移常量。
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
17楼  发表于: 2007-03-04 08:51

现在看来更替FCVCD光盘的游戏节目有点眉目了
不过,这种VCD/DVD带的模拟芯片支持的MAPPER应该有限
不太可能全部2000多个GOODNES的ROM都能在影碟机上玩

如果光盘上的BIN文件内没有CRC等校验码的话,应该可以照1楼的思路制作了
至于节目选单是否好修改,还没有研究过
如果只能替换ROM,而不能修改节目选单,还是不完美

最好能做到随意替换ROM,任意修改节目选单,以及可以增加节目数量

原光盘上有300个节目(项目),实际上是150个ROM,基本上每个ROM都重复
如果原来的150个游戏不改动,那么还有约150个备用节目可以用于替换成新的ROM
增加上150个MAPPER在0-3之内的ROM是有可能的

希望有兴趣和有能力的朋友也来参与参与,毕竟一个人的水平和精力有限,呵呵
一起努力吧!
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
18楼  发表于: 2007-03-05 17:19

图片:
图片:
找到VCD2.0的说明看了看,游戏选单是704X576(PAL制)的静态高清晰画面

这样选单画面修改的话应该没有什么问题。

居然在网上找到了这种游戏光盘的英文版本,原来还出口的啊,呵呵。

节目顺序和选单图片都是一样,只有文字变了,如果早点找到英文版的光盘就好了

省得一个节目一个节目地去找对应的ROM和英文名称。。。。
[ 此贴被lzero27在2007-03-05 21:28重新编辑 ]
级别: 模拟专家
UID: 46284
精华: 0
发帖: 35
威望: 0 星
金钱: 2323 浮游币
贡献值: 0 点
好评度: 94 点
人气: 0 点
在线时间: 450(时)
注册时间: 2005-07-18
最后登录: 2013-05-06
19楼  发表于: 2007-03-13 15:12

从1998年左右开始出现这种游戏VCD以来,已经有无数的人问过这个问题

目前还没看到完美的制作方案出来,各大VCD/DVD厂家的技术人员也没见发表过类似的文章

现在FC游戏VCD/DVD虽然还很常见,但确实已经在加速消失了

希望在次世代游戏机完全占据我们的TV之前,能做出自己的8位游戏VCD光盘来。。。。。
上一主题下一主题
«12»Pages: 1/2     Go