《#沙羅曼蛇》在1987年9月25日登上紅白機
主導這部作品的是 #梅崎重治
那年他才剛從《大盜五右衛門》畢業
就接下這個野心爆炸的企劃
他在演職員表裡用 S. UMECHAN 的化名出現
聽起來很可愛
但他在程式碼裡的操作完全是另一個次元
紅白機有一個很殘酷的硬體天花板
同一條掃描線最多只能顯示8個 sprite
可是《沙羅曼蛇》主打雙人同樂
兩台機體加上各自三個子機
光是玩家自己就已經佔滿整條掃描線
更別說還有滿天的彈幕跟敵機
所以我們看FC版的時候
畫面上的子機常常在閃爍
那個閃爍不是bug
是 梅崎 寫出來的精密演算法
他讓物件在不同影格之間輪流出現
寧可閃爍也不要消失
這是8位元時代的一種美學掙扎
而這種硬體掙扎還逼出了另一個經典畫面
街機版第三關原本是一條在畫面中
蜿蜒盤旋的全身火龍
FC 因為畫不出整條
團隊乾脆只做出一顆從烈焰日珥中
探出來的超巨大火龍頭部
結果這個被迫的妥協
反而比街機版更有壓迫感
家用機團隊還趁著這次重做
加入了兩個街機版完全沒有的全新關卡
一個是充滿神經組織的巨大脊椎骨關卡
還有一個是法老頭像林立的古埃及遺跡關卡
讓 FC 版變得比街機版還要長 還要奇幻
街機版本來是很街機廳的設計
打敵人就會直接掉武器
死了在原地復活馬上撿回子機
但家用機團隊做了一個很大膽的決定
他們把整套系統砍掉重練
退回《宇宙巡航艦》那個需要思考的能量條系統
玩家要自己決定升級順序
要先衝速度還是先佈署子機
街機版是給投幣的過客
家用機版是給坐在客廳沙發上反覆鑽研的人
這個決定讓 FC 版幾乎變成另一款遊戲
很多老玩家心裡其實把它當成《宇宙巡航艦 1.5》
是介於初代和續作之間的祕密章節
而日版玩家在這裡還拿到一個只有他們才有的特權
就是可以同時掛載3個子機
滿裝起來的火力覆蓋面積非常誇張
後來北美發行的 NES 版《Life Force》
把這個上限硬生生砍到只能2個
所以當年的歐美玩家
其實是用 弱化版 在玩這款遊戲的
日版這台藍卡匣才是真正的究極形態
漢字 沙羅曼蛇 這個翻譯也很有意思
本來 Salamander 在西方神話裡是火蜥蜴
日方用 宛字 的手法
借漢字的發音來拼外來語
但又故意挑了最有殺氣的字
沙是荒蕪 羅是修羅 曼是蔓延 蛇是長條敵人
四個字組起來
比原文還要兇
(同樣手法的還有《魂斗羅》)
這是Konami那個年代很愛玩的命名美學
說到 Konami 就想到那個傳奇的30命的秘技
上上下下左右左右BA
這串密碼在日版 FC 是嚴格判定的
但美版 NES 出了一個很好笑的程式漏洞
系統在讀取按鍵時居然完全忽略左跟右的輸入
也就是說美國玩家根本不用按完整指令
只要頭尾有上上下下BA
中間就算亂按一通也照樣成功
是非常美式的隨便
還有一個藏得很深的彩蛋
日版 FC 通關時如果死得夠少又不接關
最後 Vic Viper 的駕駛員會把頭盔摘下來
露出長髮
原來王牌駕駛員是女性
但這個結局只有日版才有
北美NES版的《Life Force》不知為何把這段刪掉了
——
以下第二段的內容會比較深一點
但是會很有趣
如果你小時候有看過原版的《沙羅曼蛇》卡帶
應該會被它的外殼吸引到
Konami 當年特別訂製了一個半透明藍色的卡帶
我們可以直接從卡匣外面
看見裡面那塊綠色電路板
以及那顆傳奇的特製晶片
而那顆從外殼就刻意要讓我們看見的晶片
就是接下來第二段故事的主角 VRC3
小時候我們對正版跟盜版其實沒很清楚的概念
而且那時候也不是用 盜版 這個名字
而是比較婉轉的 台卡
所以小時候如果玩的是台卡的《沙羅曼蛇》
可能會發現下方顯示武器和力量的狀態列
邊邊常常會抖一下
背景音樂偶爾還會少一拍
當時我以為是電視訊號的問題
或是卡帶接觸不良
但實際上
那個抖動其實是台卡才會有的
Konami 在1987年推出《沙羅曼蛇》的時候
做了一個非常奢侈的決定
他們替這款遊戲量身打造了 VRC3
這顆晶片就只用在《沙羅曼蛇》一款遊戲上
史上唯一
之後再也沒有第二款遊戲使用過
VRC3 最厲害的地方
是內建一個16位元的CPU週期計數器
能精準到讓畫面下方的武器列完全靜止
上半部還能高速捲動
當年其他遊戲想做到分割畫面
程式設計師必須讓CPU空轉等待
浪費大量運算資源
Konami 直接用硬體解決
這就是為什麼《沙羅曼蛇》在原版卡帶上跑起來
會那麼順的原因
但這個奢侈也成了盜版業者的惡夢
當時台灣與中國的盜版工廠
面對這顆只給一款遊戲用的晶片
基本上是不可能為了它去開模量產
但諷刺的是
其實當時市面上有一顆現成的晶片
完全能完美重現VRC3的動作
那就是 Sunsoft 的 FME-7
FME-7 內部同樣有16位元CPU週期計數器
機制幾乎與 VRC3 一模一樣
拿來破解《沙羅曼蛇》原本是最完美的選擇
但盜版工廠最後還是選擇了會抖動的 MMC3 方案
原因很現實
就只是因為 MMC3 的仿冒晶片產量太大
單顆成本便宜了幾塊錢
為了那幾塊錢
他們寧可讓玩家看一輩子畫面抖動
於是他們選了一條最省錢的方式
把整個遊戲的程式碼挖出來逐行修改
讓它能跑在便宜的MMC3仿冒晶片上
這種做法叫做 Mapper Hack
VRC3 是依靠CPU時脈在運作
MMC3 卻是依靠畫面掃描線
兩種計時方式從根本上就不一樣
盜版工程師只能在程式碼裡塞入大量延遲指令
試圖手動補償這個時間差
我們小時候看到的那個畫面抖動
還有那個莫名其妙會掉拍的BGM
就是這個原因造成的
不過故事最神奇的轉折在台灣
當時有一家叫做 Kaiser 的台灣晶片設計商
他們真的把VRC3給逆向了
還做出強化版叫做 KS202
但他們做這顆晶片的目的
完全不是為了《沙羅曼蛇》
他們看上的是VRC3那個精準的16位元計數器
拿去模擬任天堂磁碟機系統的硬體動作
然後把《超級瑪利歐兄弟2:失落的關卡》
也就是我們熟知的《金牌瑪利》
還有《薩爾達傳說》磁碟版
全部轉換成廉價的卡帶版販售
結果VRC3 就這樣
意外撐起了另外一整個盜版生態
(雖然在 KS202 出現之前
就已經有人將磁碟機遊戲轉成卡帶版
但當時靠的是大量修改程式達到的
除了問題很多之外也非常耗時
有了KS202 後轉換就變得非常容易)
而最後讓人意外的是
連 Konami 自己都覺得 VRC3 太奢侈了
那個16位元CPU週期計數器
雖然極度精準
但在晶片內部佔用的邏輯閘資源實在太多
到了後來的 VRC4 跟 VRC6
Konami 全部改成8位元計數器加上預分頻器
用一種折衷的方式去達到類似效果
VRC3 那種簡單粗暴的高精度設計
就這樣連原廠自己都不再用
它真的成了空前絕後的特例
到了現在
透過 FPGA 跟 CPLD 的硬體描述語言技術
我們可以很簡單在一塊現代晶片裡
用程式碼把VRC3的每一條邏輯線路完全重建出來
不需要修改任何一行原始程式碼
電氣層級完全一致
像 EverDrive N8 還有 MiSTer 平台
都已經能做到奈秒級的時序對齊
那個我們童年看著抖動的狀態列
在30多年後終於穩穩地停在原本該在的位置上
那顆只服務過一款遊戲
連原廠都嫌太奢侈的晶片
等了三十年才被人完整地理解
——
遊戲:《沙羅曼蛇》
廠商:Konami
發行:1987年(任天堂紅白機版)
晶片:VRC3(iNES Mapper 73)
基板型號:350685


