本帖最后由 n805 于 2018-3-4 22:54 编辑
2 Q5 s8 D/ K K+ f9 J( z. [: Q
6 y, F* n7 q7 Q, N E6 R1 b0 U& p超级任天堂,简称超任,是日本任天堂公司开发的一种家用游戏机。东亚使用的英文名称Super Famicom,简写为SFC;在欧洲和美洲地区销售的产品被命名为Super Nintendo Entertainment System,简写为SNES。超级任天堂是任天堂红白机的后继机种,于1990年11月21日开始发售。
( B& d; B) ^) f0 c# E) b" `1 \; Z9 h$ @$ C' ^' R3 J
规格/8 K- d8 J& d' F4 s% t F5 p
一枚主频为3.58MHz的65c816 CPU。9 ~% R! ^) z4 c
一枚内建数字声音信号处理器、主频为2.48MHz的的SPC700 CPU核心。
- p9 O9 ]% d: g3 V9 z3 p& U% s两个特制的图象处理器,可以支持最高512x478的分辨率,最大发色数32768色,最大同屏幕显示256色,最大活动块数为128个,并支持缩放,回旋、马赛克、半透明、窗口、光栅等特效。
1 @# f2 q5 V6 }$ ? w4 Z128KB工作内存,, 64KB声音处理器内存和64KB显存。4 D$ L& O7 |& }' S W1 J
硬件细节' Z8 w: L+ u4 x& b$ B7 g% m
主CPU
, Q5 ~6 F- x- C& ]主CPU采用65c816,是一枚8/16位的CPU,是基于6502改进而来的,它有一个可以如同6502一样运行的仿真模式。毫无疑问,任天堂曾经期望让超任兼容红白机的游戏,但是失败了。; N0 k' \3 Y9 \# ?" p/ P0 o: `% ]
这枚CPU有24位的地址总线和8位的数据总线,支持16MB的寻址空间。它有一个计算器和两个寄存器,可以在8位或16位模式之间切换。% S5 D2 H& P R. s$ l; d4 f( r
地址空间被分割成256块,每块大小为64KB,另外也有一种寻址模式可以把整个地址空间视为一个连续的区块。0号块是栈专用的,一些寻址模式、中断和复位向量都存放在这里,栈的指针宽度为16位。
( X- m7 `# a j% m7 k6502有一个叫做"ZERO-PAGE"的寻址模式,可以让1字节长度的地址在指令中直接指定内存的最初256字节,这样可以让一些双字节的指令提高运行速度。65c816扩展了这个模式,可以通过16位直接页寄存器转到0号块的任何部分。
( p6 U6 @! h# [0 R: g还有一些能将块指定为资料库寄存器的其他寻址模式,能起到缩短代码长度并加快运行速度的作用。
+ Q% U6 Q- E2 \: e* z" h" b0 j1 S在同一时间内,代码通常只在一个单独的块中运行。当前的块编号储存于一个8位的可编程块寄存器中。有一些能让呼叫其他块中子程序或者直接跳到其他块里的代码的命令。
- R# f, C( A& h1 \65c816的运行速度是3.58MHz,不过当CPU尝试读写其他硬件时,这些硬件能临时将CPU的速度降到2.58MHz甚至1.56MHz。实际上,卡带里的程序常常是高速和低速ROM的混合体,低速的ROM只能在2.58MHz的速度下被访问。
) Y$ @* I, Q* h1 R65c816能对128K的工作内存和在卡带中可能存在的其他内存直接响应,而显存和声音内存则不行。
3 ~# D) F0 h1 w; N* g& O4 A辅助CPU
$ b+ v! P' ^1 K$ n# ^$ @6 k; s辅助CPU采用一颗SPC700,是一个8位的CPU核心,很接近6502,但有一些不同的寻址模式和复数/分割指令,与一个定制的数字声音信号处理器共同整合在一个模块中。
2 E+ j. o w0 o# `+ \3 @- }连接在超级任天堂日本版主机之下/ ^0 E! d% O" u& W1 v; ]3 [
SPC700和65c816通过一个4路双向通道(8位I/O端口)通讯。SPC700有自己独立的64K内存,可以用来存储声音采样或者从65c816下载的程序。' V& [) w7 U4 `, t
CPU有一个内建的64K ROM开机码,用来通过65c816从游戏ROM里载入更多的复杂程序或者采样数据。这个ROM可以被关闭,以存储开机码的64K RAM来代替它的工作。" E) z0 I$ U0 h6 X) F
声音数字信号处理器(Sound DSP)只能播放压缩的声音采样。这种使用一固定比率的压缩算法,可以将16个16位声音采样压缩成8字节加一字节标题的形式。一个采样的最小单位是一个区块,区块的标题字节包含一个移位和一个过滤值(算法解压信息),再加上一个最后区块标记和一个循环标记。循环标记仅仅在最后区块标记存在时才使用。
5 {. m o& d% c+ E) M在同一时间内,最多允许有8个声音通道同时播放声音采样,每个声音通道都有单独的左右声道音量和频率的调节。每个通道都可以定义一个硬件音量调节,并各自设定其回声效果,不过复合的回声效果必须受制于一个8路的FIR声音分流器。一个通道的声音输出可以用来调整在数字序列上的下一个声音通道的频率。
% ^' W) d( {& _( Q- rDSP也有一个白噪音源,可以播放一个替代采样数据的声音通道。所有的8个音源连同回声数据最后都混合到一个双通道的主音量控制下。
) E; c1 L' f. ^7 @DSP有3个间隔定事器,头两个运行在8KHz下,最后一个是64KHz。游戏通常只使用三个中的一个来输出一个恒定的音乐回放频率。
9 s. a. X9 [7 _9 p8 ]65c816提供了两个外部中断源:可以被屏蔽的IRQ,还有不能屏蔽的NMI。
% q7 f1 K* ^4 Y6 X+ |4 bIRQ线路连接到图形芯片的一个输出上,扫描线的开始、扫描线的中间某个特定位置或者每个扫描线的某个特定位置都可以被定义为发出这个IRQ。IRQ线路也可以连接到卡带上,卡带里诸如Super FX芯片、SA-1芯片等等都可以发出中断。 w: B4 ~0 q5 b' S
NMI线路可以连接到图形芯片的另一个输出上,垂直空白期开始时可以被定义为发出中断。
. ?" \. ~0 e4 D) ]& MSPC700芯片也可以发出中断,但是并没有被用到,很可能是物理部分没有连接的缘故。
2 U z- z/ q! q( k' B# o; o调色板- K% H* ^: v3 t0 H, U# b
超任有一个256块的15位色调色板,允许在同画面上显示32768色中的256色。
1 N! A3 @* N) x9 B% F4 x- p C不过游戏可以在某一帧中改变色块,再加上硬件的色彩值追加/减少和整体亮度调节,可以很容易地将屏幕上的色彩增加到数千之多。
/ b" q) `, [6 w9 Z' J色块
3 F# ~/ ]' a- c3 f/ A3 z, j超任全部的图象数据都是由色块构成的,一个色块由8×8的像素组成,每个像素则占用2、4或者8位,允许由4、16或者256色构成。& V" y+ E+ b8 i7 z0 x# Q+ W7 i% @
详细地说,超任的硬件本身是按平面格式存储色块数据的,一个像素的头一位数据存储在一起,第二位数据存储在一起,依次类推,就象一个1位的8×8纵深像素区块序列一样。
$ r: P8 o: `3 f V/ f2 P- [! C如果色块被用在背景数据里的话,每个色块都将关联一个3位的调色板起始数据地址。程序员可以从系统调色板里选择每个色块的色彩。活动块只能使用4位深度(16色)的色块,但每个活动块都有自己的调色板起始地址。4 @) y4 |7 J5 p: F- X
. f0 U# d) j, l) b$ d% y最后说一下机能大战的事,现在过去20年了,16位大战机能的结论也很清楚了。MD因为要抢先上市,推出的太早,导致一些必备的功能出于成本考虑被删除了。旋转缩放或许可以用技术弥补,色彩是直接写死在显卡里的,64色的限制成为困扰所有MD软件商的一块心病。而MD1型缺少立体声输出也是一大遗憾。SFC的设计也有很大问题,任天堂一直在考虑用SFC硬件兼容FC,所以才会选择这个非主流的CPU(65C816有一个特殊模式可以模拟FC的6502),而最后碍于IO的成本考虑又不得不废除这个设计。SFC初期游戏的画面全都惨不忍睹,明显是难以开发导致的。SFC的图形参数中,最明显胜过MD的是色彩,这也从后期那些华丽的RPG中体现出来了,在跨平台游戏中也很明显。但是MD因为有色彩抖动的存在,效果也还过得去。一般是通过优化配色防止生硬的效果,而MD游戏色彩比较夸张就是这个原因。另外,有一家神一样的公司做了一个3万色的棉花小魔女。不能不提的是半透明,MD上那网点效果……我操……有一个很偏门的技术可以让MD实现阴影半透明,但是用途窄的多。卷轴是SFC非常优胜的一方面,MD虽然也可以实现三重卷轴,但很麻烦。而且SFC有一层可放缩旋转的背景,专门用来制作赛车游戏和FF6地图画面这种特效画面。活动块旋转缩放也是一个很有用的机能,MD没有。(顺便一提对MD机能了解最透彻的是KONAMI,几乎每作都有令人惊叹的技术出现)MD比SFC强的地方是CPU主频,用电脑的概念来说就是MD是强CPU弱显卡,SFC是强显卡弱CPU。但是MD这个强项其实不容易表现出来,因为不管CPU处理的角色有多少,最终还是受到显卡的限制,在高速卷轴等情况下SFC偏弱,但给人的感觉并不像MD色彩较弱那么直观。SFC真正比MD优越的地方是SONY为他定制的声卡芯片。超级大金刚2的音乐MD没有任何可能实现,SFC毕竟是PCM音源,已经接近劣化的32位机的效果了。只是由于当时的游戏容量实在太小,波表采样严重劣化,如果不用心处理就会出现沙哑爆音。这样一来,MD上FM音源纯净的优点反而现出来了。早期SFC音乐不如MD,后期远超MD。
& d, g+ o3 q" N6 d5 f
1 e I% q. \; K, E9 _0 h* W |