2025-10-25, 05:48 PM
(2025-10-25, 05:18 PM)boriel Wrote: Yes, indeed, 1.18.3 fixes a bug with the @array_var when the the var is an array.
@array_var DOES NOT return the address of the 1st element, but the address of the array descriptor (indeed @array_var is forbidden in other BASIC dialects like FreeBasic). The Array Descriptor is a struct with internal data.
To get the address of the 1st element just use @array_var(0, 0, ...). In your case, use @a(0), etc, as you said.
Note: If the array indexes are constant (not variables) this is computed in compile time to a single actual address of the element, and it's immediate.
The bug was that @array_var was returning the address of the 1st element too.
I see. Now I know how it should be used correctly. Thank you!
Swan, my ZX Spectrum emulator https://github.com/zoran-vucenovic/swan

