Viewing Single Trivia
▲
1
▼
According to programmer Zoid Kirsch, when rooms are streamed in behind doors, it's loading a compressed copy of the room (i.e. geometry, textures, models, game data). After the compressed copy is loaded into internal memory, space is allocated to decompress the room into, meaning memory is needed for both the compressed and decompressed copy. Since the GameCube has 24MB of RAM, the developers found that having both compressed and decompressed was too expensive to work with (see top image).
To solve this problem, they licensed an open source decompression library (Kirsch does not remember specifically what library but it might have been Lempel–Ziv–Oberhumer) that allows allocation of a single decompressed sized block, then loads the compressed copy into the upper section of the memory block, and decompresses it in place overwriting the compressed copy (see bottom image). This library fixed many issues with memory fragmentation and basically allowed the size of the game's rooms to be much larger.
To solve this problem, they licensed an open source decompression library (Kirsch does not remember specifically what library but it might have been Lempel–Ziv–Oberhumer) that allows allocation of a single decompressed sized block, then loads the compressed copy into the upper section of the memory block, and decompresses it in place overwriting the compressed copy (see bottom image). This library fixed many issues with memory fragmentation and basically allowed the size of the game's rooms to be much larger.
Zoid Kirsch tweet:
https://twitter.com/ZoidCTF/status/1590137508830285825
Lempel-Ziv-Oberhumer:
http://oberhumer.com/opensource/lzo/
https://twitter.com/ZoidCTF/status/1590137508830285825
Lempel-Ziv-Oberhumer:
http://oberhumer.com/opensource/lzo/
Comments (0)
You must be logged in to post comments.
Related Games
Metroid: Other M
Super Metroid
New Play Control! Metroid Prime
Metroid Prime: Federation Force
Metroid Prime 2: Echoes
Metroid Fusion
Metroid Prime 3: Corruption
Metroid Dread
Metroid Prime: Trilogy
Metroid: Zero Mission
Metroid Prime Hunters
New Play Control! Metroid Prime 2: Dark Echoes
Metroid II: Return of Samus
Metroid
Metroid II: Return of Samus DX
NES Remix 2
Super Smash Bros. Melee
Ultimate NES Remix
Super Smash Bros. Ultimate
Super Smash Bros.
Famicom Mini Collection
Super Smash Bros. for Nintendo 3DS
Nintendo Land
Metroid Dread
Super Smash Bros. for Wii U
Nintendo World Championships: NES Edition
Super Smash Bros. Brawl
Pokémon: Let's Go, Pikachu!
Mini Mario & Friends: Amiibo Challenge
Devil World
Killer Instinct Gold
Mario Kart Arcade GP DX
Pro-Am 64
BS Super Mario Collection
Punch-Out!!
Mario & Sonic at the Olympic Games
Fire Emblem Fates: Conquest
The Legend of Zelda: Breath of the Wild
Wii Sports
Pokémon Mystery Dungeon: Red Rescue Team
New Super Mario Bros. U Deluxe
Fire Emblem: Radiant Dawn
Chibi-Robo!
Yo-kai Watch 3
Ripened Tingle's Balloon Trip of Love
Mario Artist: Talent Studio
Tetris: Axis
Yoshi
Hey You, Pikachu!
Pokémon Yellow Version: Special Pikachu Edition