Can you add the peek/poke/addr family to the FlexBasic?
(1) I use it everywhere...
(2) ... because they are equivalents of Spin's byte, word, long and @...
(3) ... and they provide an easy access to P2's memory to interact with PASM drivers
Then, every 8-bit Basic has at least peek/poke (and several of them have also dpeek/dpoke)
I defined them and I keep them in a .bi file to include, but having them in the language itself will allow to get rid of this .bi
About addr and @.... The FlexBasic's @ returns a pointer while Spin's @ returns a long, as there is no such thing as a pointer in Spin. A "pointer type" @ is useful, but to interact with PASM I often need to get a pointer, then add the offset, and to do it, cast have to be used first. That's why I added the addr function, which is also present in 8-bit Basics.
Not a high priority (I alredy have and use these function in a include file)
function peek(addr) as ubyte dim r as ubyte asm rdbyte r,addr end asm return r end function function dpeek(addr) as ushort dim r as ushort asm rdword r,addr end asm return r end function function lpeek(addr) as ulong dim r as ulong asm rdlong r,addr end asm return r end function function slpeek(addr) as integer dim r as integer asm rdlong r,addr end asm return r end function sub poke(addr as ulong,value as ubyte) asm wrbyte value, addr end asm end sub sub dpoke(addr as ulong,value as ushort) asm wrword value, addr end asm end sub sub lpoke(addr as ulong,value as ulong) asm wrlong value, addr end asm end sub sub slpoke(addr as ulong,value as integer) asm wrlong value, addr end asm end sub function addr(byref v as const any) as ulong return(cast(ulong,@v)) end function