超級任天堂,簡稱超任,是日本任天堂公司開發的一種家用遊戲機。東亞使用的英文名稱Super Famicom,簡寫為SFC;在歐洲和美洲地區銷售的產品被命名為Super Nintendo Entertainment System,簡寫為SNES。超級任天堂是任天堂紅白機的後繼機種,於1990年11月21日開始發售。
基本介紹
- 中文名:超級任天堂
- 外文名:Super Famicom
- 性質:家用遊戲機
- 開發公司:日本任天堂公司
規格,主機,卡帶,附加配備,硬體細節,主CPU,輔助CPU,中斷,手柄,調色板,色塊,
規格
主機
歐洲版的超任手柄
一枚主頻為3.58MHz的65c816 CPU。
一枚內建數字聲音信號處理器、主頻為2.48MHz的的SPC700 CPU核心。
兩個特製的圖象處理器,可以支持最高512x478的解析度,最大發色數32768色,最大同螢幕顯示256色,最大活動塊數為128個,並支持縮放,迴旋、馬賽克、半透明、視窗、光柵等特效。
128KB工作記憶體,, 64KB聲音處理器記憶體和64KB顯存。
卡帶
超過6MB的ROM,包括程式代碼、圖象和聲音數據。
用來保存記錄的靜態RAM(S-RAM),使用電池維持。
10.5/21MHz RISC CPU (Super FX)用來在遊戲中實現3D或其他特效。
一個數學核心處理器(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色)的色塊,但每個活動塊都有自己的調色板起始地址。