1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-06 07:56:32 +00:00

Syms DMA Entries Extraction Support (#1708)

* Archive compression support + small cleanups

* UNSET spec and PR comment

* UNSET -> SYMS

* Syms comment

* PR review

* remove stderr

* Format

* format2

* Remove trailing ,s
This commit is contained in:
Derek Hensley 2024-02-12 17:10:20 -08:00 committed by GitHub
parent 6c405b6ea3
commit 0ac4448d99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 35 additions and 14 deletions

View file

@ -58,6 +58,14 @@ class DmaEntry:
def is_compressed(self) -> bool:
return self.rom_end != 0
def is_syms(self) -> bool:
"""
"SYMS" DMA entries describe segments that are always filled with 0's in the ROM.
The DMA entry has both rom_start and rom_end set to 0xFFFFFFFF, where the actual rom start and end is given by vrom_start and vrom_end instead.
These zeroed segments are used to record the offsets/sizes of subfiles in compressed yaz0 archive files but are not used by the game directly.
"""
return self.rom_start == 0xFFFFFFFF and self.rom_end == 0xFFFFFFFF
DMA_ENTRY_END = DmaEntry(0, 0, 0, 0)