Atmosphere/stratosphere
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
..
ams_mitm ams.mitm: more romfs building space/time tradeoffs. 2021-11-03 23:52:38 -07:00
boot boot: update for 13.0.0/aula parameter changes (closes #1477) 2021-10-15 19:03:11 -07:00
boot2 strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
creport creport: print symbols if they're present 2021-10-30 14:18:00 -07:00
cs strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
dmnt kern: avoid constexpr init for many objects (avoids unnecessary memory clear) (#1668) 2021-10-23 15:25:20 -07:00
dmnt.gen2 strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
eclct.stub strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
erpt strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
fatal fatal: use align up for width calc 2021-10-11 12:41:43 -07:00
htc strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
jpegdec jpegdec: save 128KB of memory 2021-10-07 18:03:11 -07:00
loader sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
LogManager strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
ncm sf: prevent emitting mitm/defer code unless server in process supports it 2021-10-11 19:01:27 -07:00
pgl strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
pm sm/tipc: minor cleanup 2021-10-12 00:20:21 -07:00
ro loader: refactor ro manager/improve accuracy 2021-10-10 18:22:32 -07:00
sm tipc: enable named-thread dispatch 2021-10-15 19:59:29 -07:00
spl spl: fix legacy physical keyslot compatibility 2021-10-30 11:21:25 -07:00
TioServer strat: use ams::Main() instead of main(argc, argv) 2021-10-07 17:44:54 -07:00
Makefile dmnt2: add logging logic, for use with gdbstub development 2021-09-11 19:41:47 -07:00