Even -1 would wrap around... but not on bank area, it wraps around on RAM area. Example, if you have 64Mb RAM, a -1 would point to 65534Kb, regardless of what your bank size is.
So I suppose integrated video with shared mem uses the last RAM banks as VRAM; and when you write to -1, -4 or -(anything), you will be writing on that memory (or reading from it), trashing it's contents.
On non-integrated memory, you just happen to write at some non-used memory area... maybe if some other application would be using it, then it would crash as well...
But I do agree Blitz should report it as "invalid offset", or something like it (unless you are using a variable, so there's no way the compiler/IDE could find out about it)
So I suppose integrated video with shared mem uses the last RAM banks as VRAM; and when you write to -1, -4 or -(anything), you will be writing on that memory (or reading from it), trashing it's contents.
On non-integrated memory, you just happen to write at some non-used memory area... maybe if some other application would be using it, then it would crash as well...
But I do agree Blitz should report it as "invalid offset", or something like it (unless you are using a variable, so there's no way the compiler/IDE could find out about it)