Re: LZ: Graylibf and heap question
[Prev][Next][Index][Thread]
> In graylibf.asm:
>
> ld hl,($8be5) ;get end of VAT
> According to the ti-85.h file, the VAT_END = $8BEB
>
> ld de,($8be1)
> While the USER_MEM = $8B1B
>
> So what are those pointers then?
>
> Is all memory from ($8be1) to ($8be5) freely available to be treated as
> heap memory?
>
yes, and here's my most recent ti-ram.txt, should expain soem things
(btw. those addresses are the ones used by the rom's routine that
finds the amount of free memeoy, so they are right....)
Rob Taylor MAIL - mailto:rtaylor@ticalc.org
WEB - http://www.u-net.com/~rtaylor/
-------------- Enclosure number 1 ----------------
* This message contains the file 'ti-ram.txt', which has been
* uuencoded. If you are using Pegasus Mail, then you can use
* the browser's eXtract function to lift the original contents
* out to a file, otherwise you will have to extract the message
* and uudecode it manually.
begin 660 ti-ram.txt
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2T-"BTM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM#0H@(%1)+5)!32Y46%0@("`@("`@($$@
M4')O9W)A;6UE<B=S($=U:61E('1O('1H92!422TX-2!204T@("`@("`@5F5R
M<VEO;B`Q+C`-"B`@("`@("`@("`@("`@("`@($-O<'ER:6=H="`H8RD@,3DY
M-B!$86X@16)L92!A;F0@4F]B(%1A>6QO<@T*+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2T-"BTM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM#0H-"E1H:7,@9&]C=6UE;G0@:7,@=6YR969I;F5D+"!B=70@>6]U(&AA
M=F4@:70@86YY=V%Y+B`@57-E(&ET(&AO=R!Y;W4@=VEL;"X-"DEF('EO=2!H
M879E('%U97-T:6]N<RP@8V]N=&%C="!2;V(@5&%Y;&]R(&%T(')T87EL;W)`
M=&EC86QC+F]R9PT*061D:71I;VYS(&%N9"!R979I<VEO;G,@87)E('=E;&-O
M;64N#0I&965L(&9R964@=&\@9&ES=')I8G5T92!T:&ES(&1O8W5M96YT(&EN
M('5N;6]D:69I960@9F]R;2X-"D)Y=&4@.#`P,#H@=')A;G-L871E9"!S8V%N
M8V]D92!O9B!K97D@8W5R<F5N=&QY('!R97-S960L(&)U=`T*("`@("`@("`@
M("`P,"!I9B`P,4)%:"`H9V5T(&ME>2D@:&%S(&)E96X@8V%L;&5D#0I">71E
M(#@P,#$Z('1R86YS;&%T960@<V-A;F-O9&4@;V8@:V5Y(&-U<G)E;G1L>2!P
M<F5S<V5D#0I">71E(#@P,#(Z('-A;64@87,@.#`P,2P@8G5T($9&:"!I<R!M
M;W)E('1H86X@;VYE(&ME>2!I<R!P<F5S<V5D#0I">71E(#@P,#,Z(&-O=6YT
M9&]W;B!U;G1I;"!K97D@<F5P96%T("AO;FQY(')U;G,@9F]R(&%R<F]W<R!A
M;F0@1$5,*0T*0GET92`X,#`T.B!B:70@,B!S970@/2!K97D@9&]W;B!N;W<-
M"D)Y=&4@.#`P-CH@<V-A;F-O9&4@;V8@;&%S="!K97D@<')E<W-E9`T*0GET
M92`X,#`W.B!C;VYT<F%S="`H,#`M,48I#0I">71E(#@P,#@Z(#\_('1I;65R
M(&9O<B!C=7)S;W(@8FQI;FL_#0I">71E(#@P,$,Z(&-U<G)E;G0@<F]W(&]F
M('1E>'0@8W5R<V]R("@P+3<I#0I">71E(#@P,$0Z(&-U<G)E;G0@8V]L=6UN
M(&]F('1E>'0@8W5R<V]R("@P+3$T:"D-"D)Y=&4@.#`P13H@8W5R<F5N="!C
M:&%R86-T97(@870@8W5R<V]R('!O<VET:6]N#0I">71E(#@P,$8Z($QE;F=T
M:"!O9B!$14QC(&)U9F9E<B`H;6%X(#$P,"!B>71E<RD-"C$P,"`@.#`Q,#H@
M1$5,8R!B=69F97(-"E=O<F0@.#`W-#H@/R!P;VEN=&5R#0HX("`@(#@P-S@Z
M(#AX."!B:71M87`@;V8@=&]P(')I9VAT(&-O<FYE<B!O9B!S8W)E96XN#0I"
M>71E(#@P.#`Z(&-O=6YT97(@9F]R(&)U<WD@:6YD:6-A=&]R#0I">71E(#@P
M.#$Z(&)I=&UA<"!F;W(@8G5S>2!I;F1I8V%T;W(-"C$Q("`@.#`X,CH@9V5N
M97)A;"!S=&]R86=E(&%R96$@,3H@#0H@("`@("`@("`@('=H96X@=7-E9"!F
M;W(@=F%R:6%B;&4@9G5N=&EO;G,@=&5H(&9O<FUA="!I<SH-"B`)("`@("`Q
M($)Y=&4@='EP92!O9B!V87)I86)L92!F;W5N9"!A9G1E<G=A<F0-"@D@("`@
M(#$@0GET92!L96YG=&@@;V8@;F%M92!O9B!V87)I86)L92!T;R!L;V-A=&4-
M"B`@("`@("`@("`@("`X($)Y=&5S(&]F(&YA;64@<&QU<R!P861D:6YG("AL
M969T(&]V97(@9G)O;2!L87-T(&YA;64I#0HQ,2`@(#@P.&0Z(&=E;F5R86P@
M<W1O<F%G92!A<F5A(#(@#0HQ,2`@(#@P.3@Z(&=E;F5R86P@<W1O<F%G92!A
M<F5A(#,@#0HQ,2`@(#@P83,Z(&=E;F5R86P@<W1O<F%G92!A<F5A(#0@#0HQ
M,2`@(#@P864Z(&=E;F5R86P@<W1O<F%G92!A<F5A(#4@#0HQ,2`@(#@P8CDZ
M(&=E;F5R86P@<W1O<F%G92!A<F5A(#8@#0H-"E=O<F0@.#!C-#H@/PT*5V]R
M9"`X,$,V.B!P;VEN=&5R('1O(&-U<G)E;G0@:&]M92US8W)E96X@<')O9W)A
M;2`H=6YT;VME;FEZ960@;&5N9W1H+61A=&$@9F]R;2D-"E=O<F0@.#!#.#H@
M<&]I;G1E<B!T;R!T:&4@=&]P(&]F('5S97(@;65M;W)Y("T@,38-"E=O<F0@
M.#!#03H@/R`@("`@("`@("`@#0I7;W)D(#@P0T,Z(&YU;6)E<B!O9B!U<V5D
M('5S97(@;65M;W)Y(&)Y=&5S(#\-"E=O<F0@.#!#13H@/PT*5V]R9"`X,$0P
M.B!P;VEN=&5R('1O($%N<PT*5V]R9"`X,$0R.B!P;VEN=&5R('1O(&QA<W0@
M=F%R:6%B;&4@86-C97-S960-"E=O<F0@.#!$-#H@/R!P;VEN=&5R(#\-"B`-
M"E=O<F0@.#!$-CH@<&]I;G1E<B!T;R!F:6YA;"!6050@96YT<GD-"C$V."`@
M.#!$1CH@=&5X="!S8W)E96X@;65M;W)Y("@X*C(Q(#T@,38X(&)Y=&5S*0T*
M0GET92`X,3@W.B!S96-O;F1A<GD@8W5R<V]R(')O=PT*0GET92`X,3@X.B!S
M96-O;F1A<GD@8W5R<V]R(&-O;'5M;@T*0GET92`X,3@Y.B`_/S\@;6]R92!S
M96-O;F1A<GD@9&%T82`H8V]P:65D(&9R;VT@.$(R1B!;<V-R965N7W-C<F]L
M;%]S=&%R=%TI#0I">71E(#@Q.$$Z(#\_/R!M;W)E('-E8V]N9&%R>2!D871A
M("AC;W!I960@9G)O;2`X,S4X*0T*0GET92`X,3A".B`_/S\@;6]R92!S96-O
M;F1A<GD@9&%T82`H8V]P:65D(&9R;VT@*#@S-$(I($%.1"`Q-BD-"D)Y=&4@
M.#$X0SH@9&%T82!F;W(@:6YT97)N871I;VYA;"!C:&%R86-T97(@<WEM8F]L
M#0H@("`@("`@("`@(#`@/2!N;W1H:6YG+"`Q(#T@86-C96YT+"`R(#T@9W)A
M=F4L(#,@/2!C:7)C=6UF;&5X+"`T(#T@9&EE<F5S:7,-"@T*,3(@("`X,3AD
M.B`V(&%D9')E<W-E<R!O9B!R;W5T:6YE<R!T;R!B92!C86QL960@;VX@=F%R
M:6]U<R!S>7-T96T@979E;G1S#0I7;W)D(#@Q.&0Z(')O=71I;F4@=&\@8F4@
M8V%L;&5D('=H96X@82!K97D@:7,@<')E<W-E9#H@#0H)("`@83UK97EC;V1E
M(&]F(&ME>2`H;65N=2!K97EC;V1E<R!A<F4@<V5T=7`@8G4@=&AE(&UE;G4@
M<F]U=&EN92D-"@T*5V]R9"`X,4)%.B!M96UO<GD@8VAE8VMS=6T@9G)O;2`X
M0D8W('1O($9!-D8-"E=O<F0@.#%$,3H@<&]I;G1E<B!T;R!A('-T<FEN9R`H
M,7-T(&)Y=&4@<V]M971H:6YG('-P96-I86PI#0I7;W)D(#@Q13$Z(#\@<&%G
M92`Q('!O:6YT97(@=&\@82!M96YU('-T<G5C='5R93\@#0I">71E(#@Q13,Z
M(%Q?(&EN9F\@86)O=70@;65M;W)Y('!A9V4_+"!W:&%T('1O(&1O("AR=6X@
M8V]D92P@9F5T8V@@<W5B;65N=2D-"D)Y=&4@.#%%-#H@+R`@9F]R(#@Q13$_
M#0I7;W)D(#@Q134Z('!O:6YT97(@=&\@;&%S="!S=6(M;65N=2!S=')U8W1U
M<F4@*'!A9V4@,2D-"B`@("`@("`@("`@;VYE(&)Y=&4@9F]R('-O;65T:&EN
M9PT*("`@("`@("`@("!O;F4@8GET92!F;W(@;G5M8F5R(&]F('!O:6YT97)S
M('1O(&9O;&QO=PT*("`@("`@("`@("!N('=O<F1S(&9O<B!N('!O:6YT97)S
M#0I">71E(#@Q13<Z(%Q?(&EN9F\@9F]R(#@Q134_#0I">71E(#@Q13@Z("\@
M#0I7;W)D(#@Q140Z(#\@<&]I;G1E<B`H.#%%,2D-"E=O<F0@.#%&,#H@<&]I
M;G1E<B!T;R!C=7-T;VT@<&]I;G1E<G,@*&UA>6)E(&UO<F4@9V5N97)A;"!P
M;VEN=&5R('1O(&-U<G)E;G0-"B`@("`@("`@("`@;65N=2!S=')U8W1U<F4I
M#0H@("`@("`@("`@("A4:&5R92=S(&$@,#D@8F5F;W)E('1H92`P1BX@5VAA
M="!D;R!I="!D;S\I#0I7;W)D(#@Q1C0Z(#\@<&]I;G1E<B!T;R!L87-T(&UE
M;G4_("AL;V]K(&%T(#4V-C0I#0I7;W)D(#@Q1D,Z(#\@<&]I;G1E<B`H.#%&
M,"D@*'!O:6YT97(@=&\@<&]I;G1E<B!T;R!C=7-T;VT@<&]I;G1E<G,_/S\I
M#0I7;W)D(#@R,$(Z(#\@<&]I;G1E<B`H.#%%,2D@*&%N;W1H97(@;VYE/S\I
M#0HT,"`@(#@R-30Z('5S97(@;65N=2!S=')I;F<@8G5F9F5R("TM(#4@<V5T
M<R!O9B!D871A("AO;F4@9F]R(&5A8V@@;65N=2!K97DI#0H@("`@("`@("`@
M(#$@8GET93H@,#!H(#T@;F]T('5S960L(#@P:"`]('5S960@*&]N(&UE;G4I
M#0H@("`@("`@("`@(#8@8GET97,Z(&UE;G4@:71E;0T*("`@("`@("`@("`Q
M(&)Y=&4Z(#`P:`T*("`@("`X,C=#.B!B=69F97(@9F]R(&YA;64@;V8@;&%S
M="!E<G)O<@T*0GET92`X,S,S.B!X(&-O;W)D:6YA=&4@;V8@;65N=2!T97AT
M(&-U<G-O<@T*0GET92`X,S,T.B!Y(&-O;W)D:6YA=&4@;V8@;65N=2!T97AT
M(&-U<G-O<@T*0GET92`X,S,W.B!L87-T(&5R<F]R(&YU;6)E<@T*("`@("`X
M,S0V.B!!('1A8FQE(&]F(&)I=&UA<'!E9"!S>7-T96T@9&%T82X@($E9('5S
M=6%L;'D@<&]I;G1S(&AE<F4N#0H@("`@(#@S.$4Z(%)%04Q3+B!R86YG92!V
M87)S+@T*,3`R-"`X-C0Q.B!G<F%P:&EC<R!S8W)E96X@;65M;W)Y("@V-"HQ
M,C@O."`](#$P,C0@8GET97,I#0I214%,(#A!-#$Z('5S960@9F]R(&UA:VEN
M9R!R86YD;VT@;G5M8F5R<PT*4D5!3"`X031".B!U<V5D(&9O<B!M86MI;F<@
M<F%N9&]M(&YU;6)E<G,-"E=O<F0@.$$U1CH@<&]I;G1E<B!T;R!L87-T(&5N
M=')Y(&-O9&4@*'1O:V5N:7IE9"!D871A(&9O<FTI#0I7;W)D(#A!-C$Z(#\@
M<&]I;G1E<B!T;R!C;V1E(&]F(&QA<W0@<')O9W)A;2!E>&5C=71E9"`H;6%Y
M8F4@;F]T*0T*5V]R9"`X039".B!S96-O;F1A<GD@=&5X="!M96UO<GD@*&9O
M<B!P86=E+69L:7!P:6YG('1E8VAN:7%U93\I#0I7;W)D(#A",3DZ('!O:6YT
M97(@=&\@8W5R<F5N="!H;VUE+7-C<F5E;B!P<F]G<F%M("AU;G1O:V5N:7IE
M9"!D871A(&9O<FTI#0I7;W)D(#A",4(Z('!O:6YT97(@=&\@;&%S="!E;G1R
M>2!P<F]G<F%M("AT;VME;FEZ960@;&5N9W1H+61A=&$@9F]R;2D-"E=O<F0@
M.$(Q1#H@<W5B=')A8W0@*#A",4(I(&9R;VT@=&AI<R!T;R!G970@;G5M8F5R
M(&]F(&9R964@8GET97,@#0I7;W)D(#A",48Z(#\@<V%M92!A<R`X0C%$(#\-
M"E=O<F0@.$(R-3H@<&]I;G1E<B!T;R!L87-T(&)Y=&4@;V8@9G)E92!M96UO
M<GD@*&5N9"!O9B!6050@+2`Q*0T*5V]R9"`X0C(W.B!P;VEN=&5R('1O(&9I
M<G-T(&)Y=&4@;V8@9G)E92!M96UO<GD-"E=O<F0@.$(R.3H@82!N=6UB97(@
M*'-E92`X0D8W*0T*0GET92`X0C)&.B!F:7)S="!R;W<@;V8@<V-R965N('-C
M<F]L;&EN9R!W:6YD;W<@*#`M-RD-"D)Y=&4@.$(S,#H@;&%S="!R;W<@;V8@
M<V-R965N('-C<F]L;&EN9R!W:6YD;W<@*#$M."D-"D)Y=&4@.$(S03H@9FEX
M960M<&]I;G0@9&5C:6UA;"!P;&%C92`H1D9H(&9O<B!F;&]A=&EN9R!P;VEN
M="D-"C,R("`@.$)",3H@8W5S=&]M(&UE;G4@<&]I;G1E<G,@*"`Q(&)Y=&4@
M(#T@,#D@/2`_/RD-"@D)"0DH(#$@8GET92`@/2`P1B`](",@;V8@:71E;7,I
M#0H)"0D)*#$U('=O<F1S(#T@<&]I;G1E<G,I#0H)"0D)*"`Q(&)Y=&4@(#T@
M,#`I#0I7;W)D(#A"13$Z('!O:6YT97(@=&\@96YD(&]F('5S960@;65M;W)Y
M#0I7;W)D(#A"134Z('!O:6YT97(@=&\@96YD(&]F(%9!5`T*5V]R9"`X0D5"
M.B!P;VEN=&5R('1O(&QA<W0@8GET92!O9B!F<F5E(&UE;6]R>2`H96YD(&]F
M(%9!5"`M(#$I#0H@("`@(#A"1C<Z('1H92!S=&%R="!O9B!I;G!U="!M96UO
M<GD-"@T*3&]C("!&039&.B!E;F0@;V8@5D%4("AI="=S(&)U:6QT('5P<VED
M92UD;W=N*0T*-#`P("!&03<P.B!3=&%C:R!!<F5A#0H-"C$P,C0@1D,P,#H@
M<F5A;"!B:71M87!P960@=FED96\@;65M;W)Y#0H-"E1A8FQE(&]F($)I=&UA
M<'!E9"!$871A#0K$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$#0HH25DK,#`I
M(&]R("@X,S0V*0T*(&)I="`S('-E=#H@:V5Y<W1R;VME(&%V86EL86)L90T*
M(&)I="`R('-E=#H@1&5G<F5E(%Q?(&%N9VQE(&1I<W!L87D@;6]D90T*("`@
M("`@(')E<SH@4F%D:6%N("\-"BA)62LP,BD@;W(@*#@S-#@I#0H@8FET(#<@
M<V5T.B!$:69%<2!<#0H@8FET(#8@<V5T.B!087)A;2`@7%\@9W)A<&@-"B!B
M:70@-2!S970Z(%!O;"`@("`O("!M;V1E<PT*(&)I="`T('-E=#H@1G5N8R`@
M+PT**$E9*S`U*2!O<B`H.#,T0BD-"B!B:70@-"!S970Z('5S92`B:6YS97)T
M(B!C=7)S;W(-"B!B:70@,R!S970Z('!R:6YT(&YO<FUA;"!F;VYT(&EN(&EN
M=F5R<V4@8V]L;W(L(&]R(%A/4B!M96YU(&9O;G0@=VET:"!S8W)E96X-"B`@
M("`@("!R97,Z('!R:6YT(&YO<FUA;"!F;VYT(&EN(&YO<FUA;"!C;VQO<BP@
M;W(@;W9E<G=R:71E(&UE;G4@9F]N="`-"B!B:70@,2!S970Z('!R:6YT(#<@
M<F]W<R!O9B!M96YU(&9O;G0-"B`@("`@("!R97,Z('!R:6YT(#8@<F]W<PT*
M*$E9*S`X*2!O<B`H.#,T12D-"B!B:70@,"!S970Z(&1X3D1E<B!<7R!M971H
M;V0@;V8@9&EF9F5R96YT:6%T:6]N#0H@("`@("`@<F5S.B!D>$1E<C$@+PT*
M*$E9*S!!*2!A;F0@*$E9*S!"*2P@;W(@*#@S-3`I(&%N9"`H.#,U,2D-"B!B
M:71S(#<M-CH@,3$](%-P:&5R958@7`T*("`@("`@("`@("`P,3T@0WEL5B`@
M("`@/BT@=F5C=&]R(&1I<W!L87D@;6]D97,-"B`@("`@("`@("`@,#`](%)E
M8W16("`@+PT*(&)I="`U('-E=#H@4&]L87)#(%Q?(&-O;W)D:6YA=&4@9&ES
M<&QA>2!M;V1E#0H@("`@("`@<F5S.B!296-T0R`@+PT*(&)I=',@-"TR.B`Q
M,#`]($)I;B!<#0H@("`@("`@("`@(#`Q,#T@3V-T("!<7R!N=6UB97(-"B`@
M("`@("`@("`@,#`Q/2!(97@@("\@(&)A<V5S#0H@("`@("`@("`@(#`P,#T@
M1&5C("\@#0H@8FET<R`Q+3`Z(#$Q/2!%;F<@("`@7`T*("`@("`@("`@("`P
M,3T@4V-I("`@("`^+2!N=6UB97(@9&ES<&QA>2!M;V1E<PT*("`@("`@("`@
M("`P,#T@3F]R;6%L("\-"BA)62LP1"D@;W(@*#@S-3,I#0H@8FET(#(@<V5T
M.B!S8W)O;&P@=&5X="!W:6YD;W<@=VAE;B!N96-E<W-A<GD-"B!B:70@,2!S
M970Z(&%F9F5C="!T97AT(&UE;6]R>2!A<R!W96QL(&%S('-C<F5E;@T**$E9
M*S$R*2!O<B`H.#,U."D-"B!B:70@-2!S970Z('5S92`B86QP:&$B(&-U<G-O
M<@T*(&)I="`T('-E=#H@=7-E(")!;'!H82(@8W5R<V]R#0H@8FET(#,@<V5T
M.B!U<V4@(C)N9"(@8W5R<V]R#0H@8FET(#$@<V5T.B!T:&5R92!A<F4@=F%L
M:60@9&%T82!I;B!T:&4@."UB>71E(&)U9F9E<B!A="`H.#`W."D-"B!B:70@
J,"!S970Z('1H92`B8G5S>2(@:6YD:6-A=&]R(&ES('1U<FYE9"!O;@T*
`
end
References: