I think most invalid memory access issues happen within memory that
program *has* allocated from TOS, and which e.g. libc malloc etc. is
providing the app in smaller pieces, and application corrupting those
internal data structures with some off-by-one write. I.e. something
that this feature would not detect. [1]
Ok, that is a really good point and something that I was (not ;-)) looking for in my original post. This is what I have overlooked.
PS. I wonder would it be possible for EmuTOS to use MMU to protect its
own and program's allocations?
Basically what FreeMiNT does, because its memory protection is basically this.
I have been thinking yet of another improvement, text segment could be marked as r/o and that code flow could be restricted only to given program's text segment (yes, this means no plugins and external functions via e.g. cookie jar) but then again, this wont solve the main issue I was hoping to solve, e.g. wrong access to arrays, stack overflow etc.
Well, I tried.