Apologies if this has been asked before:
Is it possible to overide the Auto Power Down ?
I guess it'll be an ASM hack. The 4 minutes or so APD can be irritating even more so when it can not be user-defined.
ti83head wrote:
Apologies if this has been asked before:
Is it possible to overide the Auto Power Down ?
I guess it'll be an ASM hack. The 4 minutes or so APD can be irritating even more so when it can not be user-defined.


Yes, just install Doors CS, and (as long as [ON] and Home hooks are enabled) press [ON]+[STAT] in the TI-OS to APD.
willwac wrote:
ti83head wrote:
Apologies if this has been asked before:
Is it possible to overide the Auto Power Down ?
I guess it'll be an ASM hack. The 4 minutes or so APD can be irritating even more so when it can not be user-defined.


Yes, just install Doors CS, and (as long as [ON] and Home hooks are enabled) press [ON]+[STAT] in the TI-OS to APD.

This works with zStart too if you want to save 2 pages of Flash.

But that doesn't answer the question since the topic is about disabling APD, not triggering it on demand. And apparently, this is likely to become a feature for the next version of zStart.
ti83head wrote:
Apologies if this has been asked before:
Is it possible to overide the Auto Power Down ?
I guess it'll be an ASM hack. The 4 minutes or so APD can be irritating even more so when it can not be user-defined.


Since you asked this in the z80 forum, I'll give you a technical answer.

The APD timer is reset whenever you press a key, which happens in _getKey. You can install a key hook that does nothing but set the timer yourself (it'd probably have to be a GetKey hook instead of RawKey hook, so you are called constantly and can overwrite the timer reset, whenever it happens).

Stable hooks require Flash applications, which is a bit of a waste for just this one feature. The other alternative is to just patch the OS when it sets the apdTimer value, which is probably what zStart would do.
Another way to do this would be to reset the apd flags. The best way to do this is probably:

Code:

     res apdAble,(iy+apdFlags)
     res apdRunning,(iy+apdFlags)

Although, this should work for the OSes 2.55MP and below and is 4 bytes smaller:

Code:

     ld (iy+apdFlags),%00000001

Certain assembly programs and apps will interfere with this, but otherwise, it should prevent APDs. If you want the hex code to use:

Code:

AsmPrgmFD360108C9
Xeda112358 wrote:
If you want the hex code to use:

Code:

AsmPrgmFD360108C9

What about turning it back on?
Actually there are 2 B_CALLS:


Code:
_DisableApd      equ 4C84h
_EnableApd      equ 4C87h ;set apdable,(iy+apdflags)


So, to turn off:

Code:
AsmPrgmEF844CC9


And turn on again:

Code:
AsmPrgmEF874CC9


Explanation:
EF = rst 28h = B_CALL
844C, 4C87 = the bcalls flipped around (z80 is little-endian, which means the bytes in a >1 byte number are "backwards" compared to x86 (PCs/Macs).
C9 = ret = Return to TI-OS (or it would just freeze)

If you have any questions don't hesitate to ask me.[/b]
parrotgeek1 wrote:
Actually there are 2 B_CALLS:
EDIT: These are undocumented and might not exist on all OS Versions. But they shouldn't cause any harm. Still, make a group before trying!

Hmm, those are actually documented by TI in their TI-83+ SDK which is where I got the idea for setting/resetting the flags. In other words, those should be safe to use on OSes 1.19 and up.
Here is something ironic:

Xeda112358 wrote:
Hmm, those are actually documented by TI in their TI-83+ SDK which is where I got the idea for setting/resetting the flags. In other words, those should be safe to use on OSes 1.19 and up.


but APD not mentioned in TI's 84+/94+SE Book for OS 2.3, or CliffsNotes Guide to the TI-84+ Family 2nd. Edition. It is, however, documented in the Getting Started Guide for the TI-84+/84+SE.

Just a random point. Smile
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement