[stella] Macros to manage memory allocation.
R Mundschau
rmundschau at frontiernet.net
Mon Jun 11 22:27:49 CDT 2007
I'll have to look into the possibilities with segments. Now I am
wondering if it is possible to use a label for the ORG so that as
with the macros the DASM will calculate the largest set of locals and
offset the globals based on its size. I will need to look into it.
Thanks for the info.
Rob
On Jun 11, 2007, at 2:33 PM, David Galloway wrote:
> For a solution to the problem of avoiding clumsy hard-coded label
> EQU address statements, I've picked up the habit of using the
> segment and org pseudo-ops and then using ds statements to define
> the vars.
>
> For example ---
>
> SEG.U vars_bank0
> ORG $0080
> ;---- Kernel
> Counter ds 1
>
> PlayerX ds 1
> PlayerY ds 1
>
> OpponentX ds 5
> OpponentY ds 5
>
>
> On 6/10/07, R Mundschau <rmundschau at frontiernet.net> wrote:
> Hello,
>
> I thought I would share a set of macros that I have been using lately
> to help simplify allocating memory. The macros as attached allow you
> to allocate RAM for global variables, and RAM for sets of local
> variables. All the sets of local variables are overlayed in memory.
> It is up to the programmer to handle the issues of sharing RAM
> between variables. A general protocol, like local variables are
> not valid outside of the routine where they are used is usually
> sufficient.
>
> The macros could be expanded to support multiple overlays of local
> variables, like layers of scope in a structured language such as C.
> Or, include expanded RAM like the SARA chip or the Supercharger, but
> right now only the one layer of locals and the original 128 bytes of
> RAM are supported. There is no accounting for stack usage, RAM is
> simply allocated starting from $80 and growing towards $FF.
>
> The main advantage of these macros is to eliminate clumsy hard-coded
> "label EQU address" like statements. DASM is not too happy about how
> the macros work right now because it takes many passes for the
> variable addresses to all settle down, but I find the macros very
> useful in saving time and reducing errors. Does anyone have ideas
> for improving on this technique?
>
> Cheers!
> Robert M
>
>
> _______________________________________________
> Stella mailing list
> Stella at atari2600.org
> http://atari2600.org/mailman/listinfo/stella
>
>
>
> _______________________________________________
> Stella mailing list
> Stella at atari2600.org
> http://atari2600.org/mailman/listinfo/stella
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.atariage.com/pipermail/stella/attachments/20070611/d1944f50/attachment.html
More information about the Stella
mailing list