Releases: erspicu/TyrianGbaPoc
Release list
TyrianGbaPoc v89 - Full 9-Channel Audio Release
TyrianGbaPoc v89
This is the first release after the project moved from a technical proof of
concept toward a broadly complete, source-faithful GBA port. The release ROM
uses the production LOW detail profile, Normal game speed, normal campaign
equipment, and no invincibility override.
Highlights
- Complete nine-channel TYM/OPL2 music conversion for all 41 tracks. Earlier
builds retained at most eight channels; 26 tracks regain an authored voice. - Procedural percussion now runs at the native 15,768 Hz Maxmod output rate.
Original SFX and voices remain at their source-native rate to avoid fake
upsampling. - Full 18-slot mixer budget: nine music voices, eight logical SFX voices, and
one spare slot. - Source-authored Twiddle commands and hidden weapons, including Hot Dog and
Banana Blast behaviour, are restored alongside the physical GBA mapping. - Cartridge resources were audited and deduplicated without removing the
stock data needed for later campaign and seasonal parity work. - Includes the accumulated boss/OAM scheduling, cache-isolation, fixed-ground
attachment, menu preview, palette, save/load, and campaign-flow fixes since
v88.
Validation
- JukeBox flow: PASS (44 modules, circular switching, fade-out and title-music
restore). - LOW full-loadout stress, 600 VBlanks: music active and 0 audio-frame loss.
- Audio build audit: 41 tracks, 334 calibrated OPL sources, 0 clipped samples.
- ROM: 27,090,252 bytes (25.835 MiB), safely below the 32 MiB GBA limit.
SHA-256 checksums are provided as a separate release asset.
Notes
- A
.savfile is not bundled; the game creates normal SRAM state on first
use. - This is an independent fan port and not an official Tyrian release. Tyrian
and its original assets remain the property of their respective rights
holders. SeeTHIRD_PARTY_NOTICES.mdin the source repository.
TyrianGbaPoc v88 - Boss Collision Hotpath
CUSTOM detail/Normal speed 正式 ROM。
本版完成:
- Boss 玩家子彈碰撞 8-byte EWRAM snapshot 與 source-exact ARM7TDMI 核心。
- linked status、kill group、damaged transition、player contact 改走升冪 active enemy directory。
- Boss 固定區間 A/B:collision cycles -18.86%,logic cycles -11.09%。
- 全路線壓力測試:logic cycles -3.81%,collision cycles -4.16%,missed VBlank -2.05%。
- 通過 packed-collision C/ARM 差分測試(全 16-bit delta、10 directed cases、128 random cases)與 enemy mask consistency。
- 也包含 v82-v87 的星空批次 ARM、projectile cache hint、effect/player-shot/enemy pool directory 優化。
ROM:26.73 MiB
Build:AprTyrianGba-4f94593
SHA-256:e53e243d8f25ecc7396b9fa0be63e94499ed19d525364b52b0f40d2e530796ee
TyrianGbaPoc v73 - Custom Detail Release
CUSTOM 正式版
本版將 GBA 專屬 CUSTOM 設為正式 Release profile:以 PC Normal Detail 為基礎,加入 Pentium 的平滑 50/50 wild BG2 Alpha 與最終 hue/brightness filtration,同時明確關閉三角 spotlight,以及 lava/water hue 與逐掃描線波動。
本版重點
- CUSTOM 不再啟用 starShowVGASpecialCode == 2 的全畫面暗化與三角聚光。
- 保留完整第二背景層、半透明爆炸、iced、brightness、陰影與來源事件時序。
- 正式開啟全域 adaptive/drop-frame 呈現排程,維持 gameplay、音訊與 RNG 時序。
- 補齊 GBA GamePad 武器映射、XMAS 存檔名稱季節觸發與 ROMFS 可驗證去重規則。
- 修復 Asteroid 1 Boss 結束後,摘要字型/Cube 覆寫殘留 8bpp Boss OAM 所造成的破圖。
- 更新 MD/Rule/Tyrian-GBA-Detail-Level-Visual-Stacking-Rule.md,完整定義 CUSTOM 的包含、排除與硬體仲裁邊界。
建置資訊
- Detail Level: CUSTOM
- Game Speed: NORMAL
- Source commit: 37e84df
- ROM size: 28,028,808 bytes (26.73 MiB)
- SHA-256: 30a99f50a61af4bd44379636cc42147df47e1564de2949e029075da050096a86
ROM 僅作為 GitHub Release asset 發布,不納入 Git repository。
TyrianGbaPoc v72 - Lava/Water Wave Pressure Fix
PENTIUM Detail research build for the Episode 4 LAVA EXIT wave-pressure fix.
Highlights:
- Replaces the harsh full-scanline lava/water approximation with a source-derived, spatially smoothed, zero-DC profile.
- Adds hysteresis-based presentation pressure control. Normal load keeps the wave; sustained extreme load gradually reduces only geometric displacement while preserving the lava/water palette effect.
- Preserves all gameplay logic, collisions, projectiles, OAM workload, RNG, audio, and fixed-timestep progression.
- Precomputes both fixed wave profiles before IRQ/audio startup, avoiding the first-effect gameplay and mixer hitch.
- Full-loadout LAVA EXIT stress: missed VBlank 1,254 -> 1,231; audio frame loss 5 -> 4; visible horizontal bands removed.
Build:
- Detail: PENTIUM
- Game speed: Normal
- Commit: 4f83987
- ROM SHA-256: fa9b3ba9cc40a32439286759a8b415a35800a5ff230eacd6c91a412b7996d470
This PENTIUM build is intended for hardware-limit study. NORMAL remains the recommended general-use detail profile.
TyrianGbaPoc v71 - UNDERDELI Blur Pixelation Fix
Fixes the coarse 2x2 pixelation seen when save slot 2 enters Episode 4 UNDERDELI. Root cause: the PC temporal blur event was incorrectly approximated with GBA hardware Mosaic across all world BGs and OBJs. The source event and telemetry remain intact, while the distortion-causing Mosaic path is removed. Targeted validation: TGRS pass=1, assets valid, zero background stream drops, zero background cache approximations, zero Sprite2 decode/cache drops, and zero projectile cache drops. Build: AprTyrianGba-d523016. SHA256: 84dcb6976296abec0c41cc4129224c68d23b75907f950e62252e6c9594786726
TyrianGbaPoc v70 - Boss Contact Softlock Fix
TyrianGbaPoc v70
This bug-fix release resolves a boss-stage softlock seen when loading the second slot from the reported SRAM image while development invincibility is enabled.
- Development invincibility now applies the PC
invulnerable_tickscontact gate: pickups remain collectible, while ship contact no longer destroys linked enemies. - Prevents contact from clearing a link-254 boss group without executing the player-shot
superEnemy254Jumproute. - Adds a focused regression for non-vulnerable player contact with linked enemies.
- Adds a compile-time switch for route tests to use the real weapon-energy budget.
- Verified with the exact second save slot in Episode 4
?TUNNEL?: jump target 9000 fired once, exit/statistics completed, and the game returned to Game Menu.
Build: AprTyrianGba-52464a5
Detail: Normal / Game Speed: Normal
SHA-256: 9722a07fa88a44acf6286c02b13cea3e8e1c43ac2b47854295f36343507743cd
本版修正開啟無敵測試模式時,機身接觸可能先清掉 link-254 Boss、卻未觸發 Boss 結束跳轉所造成的卡關。已用回報的第二存檔槽、真實武器能源規則完整驗證通關。
v69 - Pentium Detail source parity and performance study
完成 PC Pentium Detail 規則核對與 GBA 硬體適配:wild BG2、filtration、High lava/water,以及 Low/Normal/High/Pentium 四檔 Episode 2 極限武器效能矩陣。預設設定仍為 Normal;本 Release ROM 是 Pentium、Normal game speed,stress loadout 未鎖入一般 ROM。詳細限制、容量、IWRAM canary 與測試數據請見附件報告。
TyrianGbaPoc v68 - Source-Parity Low/Normal Detail Profiles
TyrianGbaPoc v68 — Source-Parity Low / Normal Detail Profiles
This milestone implements compile-time Low (PC 386) and Normal (PC 486)
detail profiles by tracing the OpenTyrian source rules and adapting their
presentation to GBA hardware.
- Low: source-correct default BG2 suppression, opaque explosions, reduced
filter path, and authoredbackground2over == 3restoration. - Normal: BG2, translucent explosions, player/projectile shadows,
brightness, iced/blur effects, vertical flip, and special spotlight. - The spotlight uses a double-buffered scanline table streamed by DMA0 at
HBlank, avoiding 160 CPU IRQ entries per frame. Configure.hnow selects the default profile; one-off builds can use
-DetailLevel low|normal|high|pentium.
Verification:
- Low first-level full golden: PASS — 74 / 12,246 missed VBlanks (0.60%).
- Normal first-level full golden: PASS — 98 / 12,246 missed VBlanks (0.80%).
- Source gameplay/event/Boss/statistics counters match exactly between both
profiles. - Final Normal ROM passed the 600-frame mGBA software-renderer boot test.
Build: 687a09c
SHA-256: 167e32bd85077b8886310231cb4d74c2679c098b9644b443c95495b958141173
Test configuration note: player invincibility is currently enabled in
Configure.h; stress-loadout mode is disabled.
本版依 OpenTyrian 原始規則完成 Low/Normal 細節等級的編譯期切換與 GBA
硬體適配。兩種 profile 均通過第一關完整 golden,遊戲邏輯、事件、Boss、
離場與統計結果完全一致;目前 ROM 仍保留主角無敵測試設定。
TyrianGbaPoc v65
本版修正 Episode 4 測試流程:
- 開發版維持全程無敵。
- Next Level 選擇原始資料中的 Skip It 後,不再錯誤返回 Tyrian 首頁。
- 依 OpenTyrian JE_nextEpisode()/JE_findNextEpisode() 規則,Episode 4 循環至 Episode 1 section 1,並進入 Game Menu。
- 新增 TGSI 自動回歸,實機模擬結果 pass=1。
- Time War 關閉無敵後的三命死亡與 checkpoint 回復另以 TGSX 回歸確認 pass=1。
建置:High Detail / Normal Game Speed / 開發無敵模式
Commit: 76c0c80
SHA-256: 3ff1be253160ebfb7c3aae5e0d062ba825ece4d01dfc9aa82d471fa16643ad08
TyrianGbaPoc v64
TyrianGbaPoc v64
- 完成 GBA-only 資源與 Maxmod 音樂建置鏈,移除舊 NES/SNES builder 與混音校準相依。
- 正式啟用 wall-clock drop-frame presentation,修正 Maxmod VBlank 競態與延後 VRAM upload 一致性。
- 爆炸特效快取擴充至 27 個可見幀;Episode 3 高密度場景 effect drop 為 0。
- High Detail / Normal Speed 路線實測:Episode 2 0.31%、Episode 3 0.30%、Episode 4 0.74% missed VBlank,皆只發生於 gameplay 且低於 1% 發行門檻。
- 17 條前端路徑各 120 次轉場:0 missed VBlank、0 failure、音樂持續有效。
- ROM SHA-256:
79D3B85BAF5C9F151886091C6BE96EDA43388A9C06FC23CF89AE4C08AFDBA306
完整技術紀錄請見 MD/Tyrian-GBA-Standalone-Audio-Presentation-v64.md。