Engineering field notes

在 GBA 限制內,保留原版語意。

這裡整理移植中最有通用價值的設計。它不是效能魔法清單,而是說明每個 瓶頸如何被量測、資料不變性的邊界如何切分,以及何時寧可保留限制, 也不以錯誤的畫面或規則換取表面流暢。

從架構到指令:效能工程全盤總結

演算法、資料結構、快取、OAM 排程、固定時序與 ARM hotpath 如何組成一套完整方法。

多圖層、柔性鏡頭與繪圖順序

PC 264×184 gameplay space 如何成為 240×160 的 1:1 平滑視窗,以及 layer priority 的翻譯方式。

Sprite2 預解壓與 EWRAM L2

將不可變 RLE 移到 build,保留 runtime palette/filter,解決 Boss 多部件動畫風暴。

固定時序、VBlank 與 frame drop

ARM7TDMI 趕不上場景時,如何延後畫面而不拖慢遊戲與音樂時鐘。

靜態選單的混合渲染管線

build-time pages、source stamps、局部文字、硬體 OBJ 與分幀原子換頁。

ROMFS 與可擴充資料層

不為每關建立專用轉換表,仍能讓 C 移植碼低成本讀取 MUS/SHP/PIC/HDT/LVL。

Telemetry 與自動回歸

用 mGBA SRAM 契約追蹤 route、cache、OAM、VBlank、一次性音樂與 source parity。

4bpp 受限色盤訓練

從真實 LVL 與 tile 曝光量訓練 mixed palette,讓 15 個可見色保住原版色相與物件關係。

音樂與音效的生成及校準

把 TYM/SND 轉為 Maxmod soundbank,校準聲道與鼓聲,並讓有限提示曲及切歌行為符合來源流程。

OAM 與圖形快取的可靠資源排程

以確定身分、單一候選快照、Boss 預先 manifest 與公平輪替,讓玩法物件不被低優先特效擠掉。

Adaptive 呈現派送與 Drop-frame

持續超載時穩定降低完整場景頻率,同時保持遊戲邏輯、音訊與關卡流程的真實時間節奏。

深入的歷史調查、逐版本數據與 parity 報告仍保存在原始碼庫 MD/。 網站文章是面向一般技術讀者的整理版。