I would look at the LST file to see which variables PBP is not using; just allocating. Let me explain
If you look at pause or maybe pauseus, you will see that PBP uses the R0 and R1 registers each WORD type to handle the delay function. Similarly, PBP uses variables T1 to T4 for Boolean arithmetic (I deduced this by looking at the lst file). You can salvage some RAM by breaking up logical ANDs to a nested if structure - something like this
Code:
' typical logical and
if testcondition1 and testcondition2 then
do something
endif
' typical logical or
if testcondition3 or testcondition4 then
do somethingelse
endif
can be changed to
Code:
' simplified logical and
if testcondition1 then
if testcondition2 then
do something
endif
endif
' simplified logical OR
if testcondition3 then dosomethingelse
if testcondition4 then dosomethingelse
the second structure does not involve the T1..T4 variables of PBP and is resource friendly.
Hopefully not using the logical operations of PBP will let PBP yeild the T1 to T4 registers???
A look into the Listing file will yeild some more. I haven't gone into the details yet.
Bookmarks