超级任天堂,简称超任,是
任天堂公司开发的
家用游戏机。英文名称Super Famicom,简写SFC;在欧美洲销售的产品名为Super Nintendo Entertainment System,简写SNES。超级任天堂是任天堂
红白机的后继机种。
历史沿革
1990年11月21日,全世界各媒体竞相报道
任天堂新的16位元主机SFC日本本土首发盛况,由于任天堂控制了产品的出货数量,因此大多迟到的顾客当天只能空手而归,当周主机实际销量约36万台,首发的主打游戏《
超级马力欧世界》(《SUPER MARIO WORLD》)也卖出了同样的数字,次年3月末任天堂发表了《超级马力欧世界》实际销售突破百万大关的消息。为推广《超级马力欧世界》,任天堂聘请了系井重里事务所担任广告设计,并重金约请了影星
田中律子出演广告CM,田中马力欧的形象通过24小时不间断地滚动播放深入人心。《超级马力欧世界》日本本土最终出货量突破355万份,成功完成新主机起爆剂的使命,使任天堂的王权顺利过渡到16位元时代。
在海外市场被同僚视为“从不退缩的商业天才”的NOA社长
荒川实大手笔地投入了数千万美圆的广告预算,以“归来的马力欧”为宣传口号的醒目广告多方位轰炸着北美消费者的神经,数百辆设置着SFC主机和游戏的大卡车在各大都市巡回展出供玩家体验。《超级马力欧世界》作品海外累计销量突破1500万份。
任天堂曾经计划让SFC
向下兼容FC,由于当时世嘉在海外市场采取不计血本的方式争夺市场份额,NOA社长荒川实认为向下兼容造成的额外成本会导致硬件价格定位不利,最终阶段才重新修改硬件规格。
规格
主机
一枚内建数字声音信号处理器、主频为2.48MHz的的SPC700 CPU核心。
两个特制的
图像处理器,可以支持最高512x478的分辨率,最大发色数32768色,最大同屏幕显示256色,最大活动块数为128个,并支持缩放,回旋、
马赛克、半透明、窗口、光栅等特效。
卡带
一个数学核心处理器(DSP1) 用于处理一些包含大量物理计算的游戏(Pilot Wings),或者作为保护装置(Mario Kart)。
其他用来提高游戏运行速度、增强图象效果或者对ROM中数据进行保护的定制芯片。
附加配备
五人游戏接口,如果游戏支持,最多可以让五个人同时娱乐。
二键的鼠标,最初用来支持一个绘图游戏。
步枪外型的
光线枪,可以直指屏幕射击,大约有10个游戏支持。
GameBoy转接卡,可以让用户在超任上玩彩色的GameBoy游戏。
硬件细节
主CPU
主CPU采用65c816,是一枚8/16位的CPU,是基于6502改进而来的,它有一个可以如同6502一样运行的仿真模式。毫无疑问,
任天堂曾经期望让超任兼容
红白机的游戏,但是失败了。
这枚CPU有24位的地址总线和8位的数据总线,支持16MB的寻址空间。它有一个计算器和两个
寄存器,可以在8位或16位模式之间切换。
地址空间被分割成256块,每块大小为64KB,另外也有一种寻址模式可以把整个地址空间视为一个连续的区块。0号块是栈专用的,一些寻址模式、中断和复位向量都存放在这里,栈的指针宽度为16位。
6502有一个叫做“ZERO-PAGE”的寻址模式,可以让1字节长度的地址在指令中直接指定内存的最初256字节,这样可以让一些双字节的指令提高运行速度。65c816扩展了这个模式,可以通过16位直接页寄存器转到0号块的任何部分。
还有一些能将块指定为资料库寄存器的其他寻址模式,能起到缩短代码长度并加快运行速度的作用。
在同一时间内,代码通常只在一个单独的块中运行。当前的块编号储存于一个8位的可编程块寄存器中。有一些能让呼叫其他块中子程序或者直接跳到其他块里的代码的命令。
65c816的运行速度是3.58MHz,不过当CPU尝试读写其他硬件时,这些硬件能临时将CPU的速度降到2.58MHz甚至1.56MHz。实际上,卡带里的程序常常是高速和低速
ROM的混合体,低速的ROM只能在2.58MHz的速度下被访问。
65c816能对128K的工作内存和在卡带中可能存在的其他内存直接响应,而显存和声音内存则不行。
辅助CPU
辅助CPU采用一颗SPC700,是一个8位的
CPU核心,很接近6502,但有一些不同的寻址模式和复数/分割指令,与一个定制的数字声音信号处理器共同整合在一个模块中。
SPC700和65c816通过一个4路双向通道(8位
I/O端口)通讯。SPC700有自己独立的64K内存,可以用来存储
声音采样或者从65c816下载的程序。
CPU有一个内建的64K ROM开机码,用来通过65c816从游戏ROM里载入更多的复杂程序或者采样数据。这个ROM可以被关闭,以存储开机码的64K RAM来代替它的工作。
声音数字信号处理器(Sound DSP)只能播放压缩的声音采样。这种使用一固定比率的压缩算法,可以将16个16位声音采样压缩成8字节加一字节标题的形式。一个采样的最小单位是一个区块,区块的标题字节包含一个移位和一个过滤值(算法解压信息),再加上一个最后区块标记和一个循环标记。循环标记仅仅在最后区块标记存在时才使用。
在同一时间内,最多允许有8个声音通道同时播放声音采样,每个声音通道都有单独的左右声道音量和频率的调节。每个通道都可以定义一个硬件音量调节,并各自设定其回声效果,不过复合的回声效果必须受制于一个8路的FIR声音分流器。一个通道的声音输出可以用来调整在数字序列上的下一个声音通道的频率。
DSP也有一个白噪音源,可以播放一个替代采样数据的声音通道。所有的8个音源连同回声数据最后都混合到一个双通道的主音量控制下。
DSP有3个间隔定事器,头两个运行在8KHz下,最后一个是64KHz。游戏通常只使用三个中的一个来输出一个恒定的音乐回放频率。
中断
65c816提供了两个外部中断源:可以被屏蔽的
IRQ,还有不能屏蔽的NMI。
IRQ线路连接到
图形芯片的一个输出上,扫描线的开始、扫描线的中间某个特定位置或者每个扫描线的某个特定位置都可以被定义为发出这个IRQ。IRQ线路也可以连接到卡带上,卡带里诸如Super FX芯片、SA-1芯片等等都可以发出中断。
NMI线路可以连接到图形芯片的另一个输出上,垂直空白期开始时可以被定义为发出中断。
SPC700芯片也可以发出中断,但是并没有被用到,很可能是物理部分没有连接的缘故。
手柄
截然不同的两种超级任天堂卡带接脚
超任手柄的数据在主机和手柄之间连续传输,游戏可以选择其中某一个位元来读取,或者由主机里一个定制的芯片来自动读取手柄里每个帧的制,而让游戏来读储存在寄存器里的值。
超任的手柄有一方向键和8功能键,分别是A、B、X、Y、L、R、选择和开始。
调色板
超任有一个256块的15位色调色板,允许在同画面上显示32768色中的256色。不过游戏可以在某一帧中改变色块,再加上硬件的色彩值追加/减少和整体亮度调节,可以很容易地将屏幕上的色彩增加到数千之多。
色块
超任全部的图象数据都是由色块构成的,一个色块由8×8的像素组成,每个像素则占用2、4或者8位,允许由4、16或者256色构成。
详细地说,超任的硬件本身是按平面格式存储色块数据的,一个像素的头一位
数据存储在一起,第二位数据存储在一起,依次类推,就象一个1位的8×8纵深像素区块序列一样。
如果色块被用在背景数据里的话,每个色块都将关联一个3位的调色板起始数据地址。程序员可以从系统调色板里选择每个色块的色彩。活动块只能使用4位深度(16色)的色块,但每个活动块都有自己的调色板起始地址。