that source is unnecessarily complex. Could you provide a simple, straightforward prg which prints free memory and then allocates let's say half of it?
On Mon, Mar 23, 2015 at 11:08 PM, Rajah <rajah@triplea.fr> wrote:
FireBee+MiNT 1.19, about 13 376 000 bytes
Aranym+MagiC 6, about 14 240 000 bytes
This looks suspiciously close to ST RAM size. Especially this code used for calculation of the Mxalloc() memory type:
> FUNCTION mx_mask
$F%
IF GEMDOS(68,L:-1,0)=-32
RETURN 0
ELSE IF GEMDOS(290,-1)=-32
RETURN 3
ENDIF
RETURN -1
ENDFUNC
IF mx_mask%<>0
mx_mode&=OR(mx_mode&,&X100000)
RETURN GEMDOS(68,L:mx_len%,W:mx_mode& AND mx_mask%)
ENDIF
RETURN GEMDOS(72,L:mx_len%)
ENDFUNC
looks really creepy. What about a test case with simple Mxalloc(size, 3).