1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-08 05:01:44 +00:00
Atmosphere/stratosphere/ams_mitm
Michael Scire 5eabca7f04 ams.mitm: more romfs building space/time tradeoffs.
This is needed for Animal Crossing 2.0.0, which has >99000 fucking files.

We now do several passes over dir/file tables instead of one pass,
doing entire hash tables before we touch dir/file tables. Thus we
no longer need to simultaneously allocate hash table and dir/file table space.

In addition, we now do repeated passes building a segment of hash tables
at a time, when insufficient memory is available. Similar is also now the
case for file/dir tables, we try 0x40000 work buffer and divide by 2
until we successfully alloc. We don't allow a work buffer <0x4000, for
write/perf reasons. If a game triggers that, let me know I guess.

Hard to imagine a worse torture-test for this code than animal crossing.
2021-11-03 23:52:38 -07:00
..
source ams.mitm: more romfs building space/time tradeoffs. 2021-11-03 23:52:38 -07:00
ams_mitm.json stratosphere: grant access to SynchronizePreemptionState 2021-09-29 14:18:03 -07:00
Makefile ams: update build system to add generic-fallback support 2020-08-11 11:22:56 -07:00