[TI ASM] Interrupt problems.. (Ti-84)
Moderator: MaxCoderz Staff
Other
What method programs such as "OmniCalc" use to keep the [on] log, double-click the prgm button, so that they do not trigger the key and run after the calculator is turned off? (I guess you could do the [on] key one using port 4, and checking the bit that tells if the onkey is being depressed)
My ISR is using $9A9A... Not sure if it is deleted\modified or not.
My ISR is using $9A9A... Not sure if it is deleted\modified or not.
- driesguldolf
- Extreme Poster
- Posts: 395
- Joined: Thu 17 May, 2007 4:49 pm
- Location: $4080
- Contact:
Is appbackupscreen safe for tsr's?
I dont understand the first question, but the second one, about your tsr located at $9A9A i do understand:
It is perfectly safe as long as you dont play asm games or run apps, as they will most likely use that area without checking if an interrupt is installed there. there's no way (i can think of) to get around that =(, aside using apps and hooks (wich I believe to be horribly complicated)...
If your using it as an isr it is perfectly safe (because ti-os doesn't us it)
btw to avoid misunderstandings:
-tsr= terminate and stay resident programs
-isr= interrupt service routine
It is perfectly safe as long as you dont play asm games or run apps, as they will most likely use that area without checking if an interrupt is installed there. there's no way (i can think of) to get around that =(, aside using apps and hooks (wich I believe to be horribly complicated)...
If your using it as an isr it is perfectly safe (because ti-os doesn't us it)
btw to avoid misunderstandings:
-tsr= terminate and stay resident programs
-isr= interrupt service routine
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
keyhook, you can check the ON key with some port (3 or something)What method programs such as "OmniCalc" use to keep the [on] log, double-click the prgm button, so that they do not trigger the key and run after the calculator is turned off? (I guess you could do the [on] key one using port 4, and checking the bit that tells if the onkey is being depressed)
- calc84maniac
- Regular Member
- Posts: 112
- Joined: Wed 18 Oct, 2006 7:34 pm
- Location: The ex-planet Pluto
- Contact:
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am
*points at last line of quote*wikiTI wrote:Port Number: 04h
Function: Interrupting Device Identification and Memory Map Control
This port serves two purposes. When read it indicates the device that triggered an interrupt. When written it sets the memory map mode and hardware timer speed. When an interrupt is triggered, it should be cleared by reseting the corresponding bit in port 3. Otherwise, it will continously call the interrupt code once interrupts are reenabled with ei.
[edit]
Read Values
* Bits 0~2 and 4~7 are set according to which device triggered the running interrupt.
o Bit 0: Set if pressing the ON Key triggered the interrupt.
o Bit 1: Set if the first hardware timer triggered the interrupt.
o Bit 2: Set if the second hardware timer triggered the interrupt.
o Bit 4: Link activity generated an interrupt.
o 83+SE / 84+ only: Bit 5: First crystal timer has expired.
o 83+SE / 84+ only: Bit 6: Second crystal timer has expired.
o 83+SE / 84+ only: Bit 7: Third crystal timer has expired.
* Bit 3 is reset if the ON key is being pressed, set otherwise.
- Jim e
- Calc King
- Posts: 2457
- Joined: Sun 26 Dec, 2004 5:27 am
- Location: SXIOPO = Infinite lives for both players
- Contact:
It sucks when two people arguing are in complete agreement, it's hard to see who's winning.
cjone's post is ancient. However what king harold mentioned was the key hook. Prior to any key being processed, the key hooks code gets executed, it can the decide what to do in the situation that key was pressed. It could check what menu you are on, allowing for double taps. Or if on is being pressed like [on]+Log. When the hooks code is done, it can either tell TI-OS that it should continue processing the key or tell it that it doesn't need to anymore.
There's a whole bunch of hooks that can add a plethora of functionality. All documented on the wiki. There's an article with the meaning of life there somewhere, and it's probably AfD.
cjone's post is ancient. However what king harold mentioned was the key hook. Prior to any key being processed, the key hooks code gets executed, it can the decide what to do in the situation that key was pressed. It could check what menu you are on, allowing for double taps. Or if on is being pressed like [on]+Log. When the hooks code is done, it can either tell TI-OS that it should continue processing the key or tell it that it doesn't need to anymore.
There's a whole bunch of hooks that can add a plethora of functionality. All documented on the wiki. There's an article with the meaning of life there somewhere, and it's probably AfD.
-
- Calc King
- Posts: 1513
- Joined: Sat 05 Aug, 2006 7:22 am