Jim, you are not completely right in y opinion. There are similar commands in Dark Basic Pro. I have used them to manage arrays and vector using direct memory access with pointers derived from memblocks. Notice that the below is working code in at least 2 games of mine.
Since AppGameKit Basic is a direct derivation of Dark Basic, I would like to have something similar for AGK. Of course management of such things is more natural and suitable for object oriented languages as C++ and Pascal, as, I have shown you, this stuff is feasible. I do not know if it can be directly applied to sound buffer, but I think yes. If not, or there are no resources to accomplish that, never mind...
function createMemblockArray(memId,rows,cols)
if memblock exist(memId) then delete Memblock memId
make memblock memId,((rows+1)*(cols+1))*4+8
ptr=get memblock ptr(memId)
fill memory ptr,0,(rows+1)*(cols+1)*4+8
write memblock dword memId,0,rows
write memblock dword memId,4,cols
endfunction
function createMemblockVector(memId,rows)
if memblock exist(memId) then delete Memblock memId
make memblock memId,(rows+2)*4
ptr=get memblock ptr(memId)
fill memory ptr,0,(rows+2)*4
write memblock dword memId,0,rows
endfunction