正文

從遊戲到編程-破解超級馬裏奧世界

(2019-11-03 17:42:17) 下一個

馬裏奧是電子遊戲廠商任天堂在一係列超級馬裏奧遊戲中的一個卡通角色,他長著大鼻子,頭戴小紅帽,身著背袋裝,是超出了遊戲界的著名形象。在超級馬裏奧世界(SMW)裏,玩家通過馬裏奧借助於恐龍耀西與同伴路易,在恐龍島上,在營救被綁架的碧奇公主過程中,克服險阻,過關斬將,將反派角色庫巴擊敗。

家有遊戲娃自幼即玩超級馬裏奧係列遊戲,對SMW當是鍾愛有加,自從有了自己的手提電腦,更是下載了這款軟件的電腦版模擬器,在PC機上運行,為破解SMW成為可能。遊戲娃在2007年小學時注冊smwcenteral網站,嚐試自編簡單程序破解SMW,從而開始了學習匯編語言並用其編程的經曆。在這裏簡單介紹如何用smwcentral所推薦的各種軟件工具及匯編語言編程來破解SMW,希望對與遊戲編程感興趣的家長小孩有所裨益。當然這裏的破解不是非法上傳下載遊戲軟件,而是在合法的前提下,通過對SMW代碼修改移置增加新的遊戲功能的興趣,增進對計算機結構與係統編程的認識。

smwcentral.net是一家SMW遊戲破解網站,它襄括了各種軟件工具破解方法以及眾多實例便於編程愛好者對SMW遊戲破解,這些軟件破解與SMW有關的內容有圖象,音樂,精靈(sprites),等等,它還為破解其他電子遊戲提供軟件支持。此外,它也提供一個論壇平台,討論各種與破解遊戲有關的話題,讓眾多SMW愛好者相互交流。遊戲娃曾作為smwcentral的主要成員(staff member),誌願服務直到高中畢業。

破解SMW需要了解以下幾點。首先最重要的是assembler匯編語言的使用。匯編是一種用於CPU的低級編程語言,smwcentral重點討論的是任天堂Super Nintendo Entertainment System (SNES) SNES16-bit CPU采用65C816匯編。匯編語言可在破解SMW的實踐中學習。其次是遊戲的模擬器與ROM。這裏的ROM主要涉及SMW遊戲代碼的存儲與轉錄,以便在PC機模擬器上運行或反錄。模擬器則是在PC機上通過讀取所存儲或破解了的SWM遊戲代碼,模擬SNES環境的執行程序。第三,了解16進製機器碼,以及匯編代碼與機器碼的轉換關係,這是因為在ROM破解過程中,有時直接更改機器代碼更有效。最後,應該注意破解ROM後的文件發布上傳,必須采用ROM補丁的形式,而不是將下述破解的ROM直接上傳,以避免可能的版權糾紛。

smwcentral有許多65C816匯編語言編程教材,討論論壇,以及年度的工作間,使人們有機會深入了解如何破解SMW ROM。有興趣的可以參考以下鏈接https://www.smwcentral.net/?p=viewthread&t=98237。破解文件.asm一般可用PC機的文字編輯器notepad生成,smwcentral還有一專門用於編輯SMW的應用軟件,即支持拖動/粘貼,關卡編輯,圖形編輯,配色編輯,地圖編輯,文字編輯等功能等等的具有圖形界麵的編輯軟件套件lunar magic供人們使用。

如果有了破解SMW的匯編文件,如何與原始的SMW ROM結合,生成破解的SMW ROM呢?smwcentral提供了一款軟件工具asar用來完成這項工作,將以.asm後綴的文字文件與原始SMW ROM組合在一起,生成新的.src ROM,可用模擬器調用執行。

[ 打印 ]
閱讀 ()評論 (0)
評論
目前還沒有任何評論
登錄後才可評論.