Mike,
Generally speaking, the maximum o2 memory allocation size is 2^30, because it uses ole strings. But leaving that aside for a moment..
spanning 4 gig memory
with index literals, which resolve to a [reg+offset], oops!
but using a long index:
With an array of bytes > 0x70000000, we are in trouble
With an array of words, we can do it (base 0 : i=0x7fffffff)
With an array of rgb (a plausible scenario) no problem
Any types larger than 2 bytes, okay
I've checked the asm code for these types.
type rgb byte r,g,b
function f(sys p)
=================
word w at p
rgb c at p
word a
byte b
sys i
'#show a=w[0x80000000] ' :(
'#show a=w[i] ' :)
'#show b=c[i].r ' :)
end function
PS: sys variables can be cast where necessary, but I have never had to.
dword a,b
sys i
#show a=b*b
#show (dword) i=b*b