You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is a current inherent limit of 1MB executable sizes today. This is a result of Nintendo's official IPL3 code copying the first 1MB of data from the cartridge domain into main memory (at the entry point address specified in the header). The IPL3 uses that 1MB for its checksum computation, and secondarily for executing the code.
That means we get 1MB "for free", but to support larger executables the "IPL4" at the executable entry point will need to pull the rest from ROM. We need an upper bound, like presently the upper bound is 1MB. We might increase it to something like 3MB.
Side note: the .rodata section is linked into RAM directly following the .text section. This makes accessing the read-only data very fast. For large .rodata sections, it would be better to keep the section in ROM. Software optimizations can help with improving access times, e.g. virtual memory.
The text was updated successfully, but these errors were encountered:
There is a current inherent limit of 1MB executable sizes today. This is a result of Nintendo's official IPL3 code copying the first 1MB of data from the cartridge domain into main memory (at the entry point address specified in the header). The IPL3 uses that 1MB for its checksum computation, and secondarily for executing the code.
That means we get 1MB "for free", but to support larger executables the "IPL4" at the executable entry point will need to pull the rest from ROM. We need an upper bound, like presently the upper bound is 1MB. We might increase it to something like 3MB.
Side note: the
.rodata
section is linked into RAM directly following the.text
section. This makes accessing the read-only data very fast. For large.rodata
sections, it would be better to keep the section in ROM. Software optimizations can help with improving access times, e.g. virtual memory.The text was updated successfully, but these errors were encountered: