Omnimaga

Calculator Community => Major Community Projects => The Axe Parser Project => Topic started by: Compynerd255 on March 09, 2011, 10:29:38 am

Title: Axe Interrupt Bug
Post by: Compynerd255 on March 09, 2011, 10:29:38 am
I wanted to report a bug in the fnInt command. In Eitrix, I use an interrupt to automatically manage key timing and linking. Sometimes the interrupt functions perfectly, but at other times the calculator freezes as soon as it hits the fnInt command, requiring a battery pull. And the problem only happens in one shell at a time - sometimes it only happens in MirageOS, and at other times it only happens in DoorsCS. But when it fails, it is always a freeze that requires a battery pull. Do you know what is going on?

Here's a generalized code sample:

Code: [Select]
fnInt(CLK, 2
... game code ...
LnReg
Return

Lbl CLK
T+1->T
Return
Title: Re: Axe Interrupt Bug
Post by: Quigibo on March 09, 2011, 04:00:12 pm
The area used by interrupts (L2) might also be used by shells.  I don't think the fnInt() function itself can even cause a freeze but I'll look more closely there.  Maybe its a compile bug?  Try recompiling after unarchiving and rearchiving your source and see if that changes anything.
Title: Re: Axe Interrupt Bug
Post by: Compynerd255 on March 09, 2011, 07:26:49 pm
It's not a compile bug. I have to pull my source out of backup every time the interrupt function crashes, so I don't believe that's the problem. I would like to see what is going wrong. For now, however, I am calling the interrupt function several times in my main game loop as a workaround, and it seems to be working.