A86: Getting free mem size on the calc
[Prev][Next][Index][Thread]
A86: Getting free mem size on the calc
I figured out how to get free mem size in a program...
The 3-byte abs. address at $d29a is the end of the VAT, and the abs.
address immediately following, at $d29d, is the end of the variable data
area. So to get free mem size, you just subtract $d29d from $d29a. In asm
it would look something like this:
get_free_mem:
push bc ;save bc and de
push de
ld a,($d29a) ;ahl=end of VAT
ld hl,($d29b)
ld b,($d29d) ;bde=end of data
ld de,($d29e)
or a ;clear carry flag
sbc hl,de ;subtract to get free mem size
sbc a,b
pop de ;restore bc and de
pop bc
ret ;ahl holds free mem size
--Joshua
P.S. I haven't tested this...
Follow-Ups: