Changes between Version 1 and Version 3 of Ticket #14407


Ignore:
Timestamp:
May 2, 2023, 8:25:49 PM (19 months ago)
Author:
BallM4788
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #14407

    • Property Cc BallM4788 added
    • Property Component CommonPort: 3DS
  • Ticket #14407 – Description

    v1 v3  
    55Currently, the 3DS port of ScummVM uses the default regular and linear heap sizes [https://github.com/devkitPro/libctru/blob/master/libctru/source/system/allocateHeaps.c as defined in ctrulib] (<=24MB and <=32MB, respectively). Not only does it mean that there is tons of available memory currently being unused (up to 152+MB, not accounting for stack memory and screen buffers in the linear heap), but it also means the TinyGL-powered games all segfault during initial loading, if not immediately. As far as I know, the only 3D game that can currently be run on the 3DS port is Blade Runner, and that's only because it uses voxel-based character models.
    66
    7 I have experimented with maxxing out the regular heap to its 96MB cap, and in both Grim Fandango and The Longest Journey, the intro cutscenes play in their entirety and the starting areas load up successfully (most of Manny's office in GF, and the Arcadia cliffside in TLJ). Attempting to progress beyond this (accessing Manny's inventory, moving right to the screen with his computer, or leaving his office in GF; walking right to the White Dragon's nest or further in TLJ) causes a segfault.
     7I have experimented with maxxing out the regular heap to its 96MB cap, and in both Grim Fandango and The Longest Journey, the intro cutscenes play in their entirety and the starting areas load up successfully (most of Manny's office in GF, and the Arcadia cliffside in TLJ). Attempting to progress beyond this (attempting to read the memo in the mail tube, accessing Manny's inventory, moving right to the screen with his computer, or leaving his office in GF; walking right to the White Dragon's nest or further in TLJ) causes a segfault.
    88
    99If the 3DS's linear heap could be used to hold memory-intensive data, such as textures, streaming data, etc., it might very well be possible to get all the 3D games to run in the 3DS port. Except for Penumbra Overture, of course. That would be a fool's errand.