Maybe try to progressively reduce the amount of free memory by allocating variables on a new rom, and see if the 24K goes down to 0, and then jumps back up to 32K. I am suspecting that FRE() in the newer ROMs might be returning only the bottom 15 bits of the value.
I seems that it is not only an error in the the FRE command in the newest ROM. It's an general BASIC memory error in the newest ROM (911001.bin) ![]()
I wrote this short BASIC program to test the free BASIC memory for variables:
Bitte melde dich an, um diesen Anhang zu sehen.
Asking for "i" as a number how great the array of "A" should be, reserving the variable memory with "DIM A(I)" and showing the free memory with the FRE commands where FRE(1) shows the still free memory for variables.
With the older ROM (910429.bin) the maximal number of "i" is about 11.000. Greater numbers produces an "?OUT OF MEMORY ERROR":
Bitte melde dich an, um diesen Anhang zu sehen.
Bitte melde dich an, um diesen Anhang zu sehen.
With the newer ROM (911001.bin) the same test program shows that there is much less BASIC memory free. The limit is here something around 4.500 for "i" and trying 11.000 shows an "?OUT OF MEMORY ERROR".
Bitte melde dich an, um diesen Anhang zu sehen.
Bitte melde dich an, um diesen Anhang zu sehen.
So using the newer ROM there is less than half of the free memory for BASIC as using the older ROM. ![]()