"KATANA game" is application written on official KATANA SDK. Also exist a part of games on official WinCE SDK and homebrew on KallistiOS.
"0x8d000000" - is HEAP end or STACK start (heap end lower in this case). This is the end of RAM in this area.
For more information about memory map you can see here:
http://mc.pp.se/dc/memory.html or look for SH4 Hardware Manual PDF.
"Params: 0x8c000000 - 0x8c000100" is some struct with states and data for bios syscalls. Applications get from this area vectors for syscalls functions.
"stack at 0x8c00f400" is used only for syscalls, startup initializations and kernel thread I guess. For other threads used another stack address.
Also about MMU:
KATANA doesn't use MMU as it should be, but some games used it only for memory protection, no mapping.
WinCE uses MMU fully.
Homebrew doesn't use at all.
(29.11.2020 06:16)sundance2 писал(а): > So the location of 8c004000 is generally safe, but only 16kb in size
That's another mystery for me.
The loaders are more in the ~30 KB range, which is way above 16 KB.
That being said, this is their binary size. I would expect that correlate somehow with RAM occupation size, but I don't know how representative that is.
We have 16KB only if use IP.BIN at 8c008000 (applications from GD drive starts from IP.BIN by BIOS), but the loader executes 1ST_READ.BIN (main app binary at 0x8c010000) directly by default, so we have more memory