任天堂游戏节目复制杂谈

🏠 首页 《无线电》杂志 1994年 🔗 第5期 🔗 第28页 分类:无线电技术自学经验交流 🔗 于春 🔗

随着任天堂游戏机的普及,各种各样的任天堂游戏万用卡、任天堂游戏程序万用读写器等有关任天堂游戏节目复制产品的相继问世,同时,介绍任天堂游戏节目复制方法的文章也见诸有关报纸、杂志。那么,复制任天堂游戏是否真的能“一卡在手、节目皆有”呢?我们不妨先从游戏卡的硬件结构谈起。

一、标准卡的硬件结构

《无线电》 1993年第2期曾刊载了杨建宁先生的《用EPROM复制游戏程序卡》的文章(以后简称杨文),文中的图1即为标准卡的电原理图(要删去录制、工作开关)。原图1中的程序存储器PROM为32K EPROM、字模存储器VROM为8K EPROM。可见,这种游戏卡的硬件结构较简单、直观。说其简单是因为它是40K容量的单节目游戏卡(32K程序、8K字模);说其直观是因为只读存储器PROM、VROM的地址线和数据线与游戏机内CPU、PPU的地址和数据线一一对应,没有加密、没有存储器的段址切换。所以,这种游戏卡较易复制。但是,直接采用这种结构的游戏卡毕竟占少数。大多数厂家为了保护自己的产权,对游戏卡采取了软、硬件加密措施,从而给游戏卡的复制增加了一定的难度。如40K教学游戏卡《一年级算术》就采取了软、硬件加密措施,下面仅将其硬件电路加密部分的电路原理示于图1。

图1
图1 🔍原图 (858×1168)

图1中增加了一个可预置四位二进制计数器门电路,通过D1位控制VROM的27脚电平的高低,以与软件程序配合达到双重加密的目的。图中引到门电路的DO、D4、D5三位则是迷惑人的把戏,没有什么作用。我们知道,在只读存储器的使用中,编程端(27脚)只有在写入程序时使用,正常工作时都是接高电平的,而上例则使用该端进行程序加密,这应该说是一种创造。由图1可见,虽然同是40K游戏软件,但对于《一年级算术》已不能使用杨文电路进行游戏卡的复制了。

二、扩展卡的硬件结构

容量大于40K的游戏卡统称为扩展卡,笔者在《任天堂游戏编程探密》中已简述了不同容量游戏的软件结构。显然,扩展卡在硬件设计上必然离不开存储体空间切换技术。由于切换电路设计的灵活性,则使扩展卡的硬件结构千变万化,几乎可以说一个卡一种硬件结构模式。下面仅将《魂斗罗》一代的存储体段切换电路示于图2。

图2
图2 🔍原图 (828×455)

图2中使用了数据线D0~D2控制74LS161的三个输入端,以控制8段存储体的空间切换,使0~6段的逻辑地址映射到8000~BFFFH,并使用了四2或门电路74LS32的三个2或门,使第七段的逻辑地址映射到C000~FFFFH。段切换电路原理如下:

对PROM而言,它有两个地址概念:一个是物理地址,它是ROM的绝对地址。绝对地址一般从0开始,顺序排列至最后结束。如32K的ROM,绝对地址为0~7FFFH、64K的ROM为0~FFFFH、128K的ROM为0~1FFFFH……。另一个是逻辑地址,它是ROM的相对地址,这一地址是根据编程需要而人为设定的。如在128K的ROM中,以16K为单位分为八段,其中前七段的逻辑地址均为8000~BFFFH,最后一段的逻辑地址为C000~FFFFH。ROM各段的绝对地址是不可更改的,其逻辑地址则是人为设定的。改变ROM逻辑地址的对应关系是通过硬件电路实现的,图2即是PROM段切换的一种典型电路。

当选0段时,D0~D2为000,从而有PROM的A14~A16全为0,故选中了PROM物理地址的0000~3FFFH共16K空间。当程序中对8000~BFFFH地址操作时,即对应了该段空间。

当选6段时,D0~D2为110,从而有PROM的A14=0、A15=1、A16=1,故选中了PROM物理地址的18000~1BFFFH共16K空间。当程序中对8000~BFFFH地址操作时,即对应了该段空间。

当选1~5段时,其对应情况分析与以上基本相同。

当程序中对C000~FFFFH操作时,有A14=1,这时通过三个或门电路使PROM的A14~A16全为1,故选中PROM物理地址的1C000~1FFFFH共16K空间。从而保证了第七段的逻辑地址为C000~FFFFH。同理,VROM的段切换也是采取这种方式实现的。

图2是扩展卡较常用的一种段切换电路,较易分析。复制这种游戏卡时,只要按原卡的印制电路复制线路板,然后读出ROM中的程序烧制新的芯片,即可复制成功,故较易复制。但是,有些游戏卡把用于段切换的所有门电路都集中掩膜成一块40脚集成电路,这就增加了硬件电路分析和游戏卡复制的难度。如《脱狱》二代的段切换电路就是这种硬件结构的典型设计(见图3)。

图3
图3 🔍原图 (620×697)

显然,对于图3的段切换电路,在业余条件下已很难分析出各脚的逻辑功能。综上所述,游戏卡的硬件结构千变万化,由此已不难看出所谓“万用卡”的局限性是极大的。这也就是有些朋友按图索骥,屡不成功的根本原因。

三、游戏卡的复制

明确了游戏卡的硬件特点后,就不难制定复制游戏卡的方案了。实际上,在业余条件下,已很难制作出合格的游戏卡印制电路板,这是因为游戏卡的线路板为双面布线结构,印制线路间的间隙较小,而且每个穿线孔还要进行金属化(即使孔的上下两面相通,形成金属孔)。因此,本文并不给出复制游戏卡的具体电路,仅指出游戏卡的基本复制方法。

由于印制电路板的制板费用较高,少量游戏卡的复制,已不可能每一种游戏卡制作一种线路板,而且即便制作了相同的线路板,若为图3的线路结构也很难复制成功。因此,较经济的做法是:设计具有自己风格的游戏卡硬件结构模式,读出各种游戏程序进行解密、改写,使其适用于自己的硬件线路。这是目前游戏卡生产厂家最常用的方法。笔者认为,业余条件下复制游戏卡,最好采用已成熟的产品(购买厂家的游戏卡散件和已解密的程序),这样可事半功倍,成功率较高。如北京裕兴机电研究所生产的超级学习卡(游戏机键盘所配备的卡)上留有一个32针的扩展插糟,在该扩展槽上可插入32K~256K的ROM芯片,若插入游戏芯片则可直接运行任天堂游戏,这时的超级学习卡已变成名符其实的游戏卡。一个超级学习卡仅百余元,一个128K的游戏芯片仅40余元,这应该是比较经济的选择。读者若具备烧片的条件,也可以直接购买游戏软盘,自己复制游戏芯片。再如宝鸡李氏公司的超级编程器,可以使用PC机或中华学习机在李氏游戏卡上直接复制128~256K的游戏节目。当然,复制的游戏程序必须是李氏公司解密的。

北京裕兴机电研究所邮售 裕兴电脑学习机,配合游戏机使用,具有多种计算机语言、多种汉字输入方法、声像辅助教学、软件扩展、断电存储等功能,直接使用原装微机键盘(YX4C型)。(于春)

型号 价格(元) 邮费(元)

YX3B(74键键盘) 360 15

YX4B(101键键盘) 475 15