0 Members and 3 Guests are viewing this topic.
Nothing I can really do about that unfortunately unless someone wants to looking into the disassembly of the bcall. It isn't documented.
Maybe Axe got corrupted? Try redownloading it (make sure it's 0.4.8).
If it is the b_call that allows for modifier keys (EF7249), pressing [2nd]+[ON] should shut the calc off and when you turn it back on, it should return to the homescreen. I have never had a problem with that and that is what I normally use when I am debugging (and I've messed with the stack).
Yes! I never noticed that before... The number of bytes you lose is equal to how large the code is. So maybe that is the problem? It could just be messing with the RAM a little too much. I wonder how large the program is?
I think it forces a return to the homescreen without cleaning up after the program, so a "ghost" copy is left in mem. Not sure, though.
Okay, IDK what's wrong with this.Spoiler For code: Code: [Select]:.TIO Turn it off:[F0F0F0F000000000]→Pic1:DiagnosticOff:ClrDraw:0→C→M-1→D:For(A,0,23:A*4→X:For(B,0,15:D+1→D:B*4→Y:If rand^9^2:Pt-On(X,Y,Pic1:2→{L1+D}:C+1→C:Else:1→{L1+D}:End:End:End:rand^23→X:rand^15→Y:Y*24+X→D:Lbl 1:!If C:ClrHome:Disp "WIN":Pause 1900:Return:End:Repeat getKey(15):Repeat getKey(0):ReturnIf getKey(15):For(A,0,9:Pt-Change(X*4,Y*4,Pic1:DispGraph:ReturnIf getKey(15):End:If getKey(54):ClrHome:Disp "C",C►Dec," D",D►Dec,i,"X",X►Dec," Y",Y►Dec,i,"L1+D",{L1+D}►Dec:While getKey(54):Pause 10:End:End:End:If getKey(2) and (X>0):While getKey(2):Pause 10:End:D-1→D:X-1→X:sub(D):Goto 1:End:If getKey(3) and (X<23):While getKey(3):Pause 10:End:D+1→D:X+1→X:sub(D):Goto 1:End:If getKey(1) and (Y<15):While getKey(1):Pause 10:End:D+24→D:Y+1→Y:sub(D):Goto 1:End:If getKey(4) and (Y>0):While getKey(4):Pause 10:End:D-24→D:Y-1→Y:sub(D):Goto 1:End:End:Return:::Lbl D:If {L1+D}=1:2→{L1+D}:C+1→C:End:If {L1+D}=2:1→{L1+D}:C-1→C:End:Pt-Change(X*4,Y*4,Pic1.ReturnTheoretically, C should change. ++ every box every time a box turns black, -- for every box turned white. Thing is, a good part of the time it doesn't.C is the remaining number of black blocks to be turned off. Clearly, it's not accurate.I think there's a problem with it storing in L1. but it's always worked fine before If you hold 2nd, data comes up. C is explained above, and the game ends when getkey(15) or C=0[zero].D is the pointer's location. The formula is Y*24+X→D. ie if the selector is in the 9th row and the 3rd column, D is 3*24+9=81. The xy coordinates are next. (When drawn to the screen, they're inflated by 4.)"L1+D" should be the status of the block beneath the selected square. 1 is off, 2 is on.
:.TIO Turn it off:[F0F0F0F000000000]→Pic1:DiagnosticOff:ClrDraw:0→C→M-1→D:For(A,0,23:A*4→X:For(B,0,15:D+1→D:B*4→Y:If rand^9^2:Pt-On(X,Y,Pic1:2→{L1+D}:C+1→C:Else:1→{L1+D}:End:End:End:rand^23→X:rand^15→Y:Y*24+X→D:Lbl 1:!If C:ClrHome:Disp "WIN":Pause 1900:Return:End:Repeat getKey(15):Repeat getKey(0):ReturnIf getKey(15):For(A,0,9:Pt-Change(X*4,Y*4,Pic1:DispGraph:ReturnIf getKey(15):End:If getKey(54):ClrHome:Disp "C",C►Dec," D",D►Dec,i,"X",X►Dec," Y",Y►Dec,i,"L1+D",{L1+D}►Dec:While getKey(54):Pause 10:End:End:End:If getKey(2) and (X>0):While getKey(2):Pause 10:End:D-1→D:X-1→X:sub(D):Goto 1:End:If getKey(3) and (X<23):While getKey(3):Pause 10:End:D+1→D:X+1→X:sub(D):Goto 1:End:If getKey(1) and (Y<15):While getKey(1):Pause 10:End:D+24→D:Y+1→Y:sub(D):Goto 1:End:If getKey(4) and (Y>0):While getKey(4):Pause 10:End:D-24→D:Y-1→Y:sub(D):Goto 1:End:End:Return:::Lbl D:If {L1+D}=1:2→{L1+D}:C+1→C:End:If {L1+D}=2:1→{L1+D}:C-1→C:End:Pt-Change(X*4,Y*4,Pic1.Return
Hopefully somebody notices it here...I'm pretty sure it's an axe bug b/c pretty much the exact same thing worked before (in TWHG). Ever since I've updated to Axe 0.4.8, I've been having one problem after another of this nature, also with some problems with RotC( and RotCC( which didn't work when I tried to use them.So, I was wondering...what changed? Because data storage to lists and external appvars wasn't failing like this before, and now it fails more often than it works.