A friend of mine has a Ti-84 + that won't turn off when you press 2nd/ON, but does turn off on it's own as it should after a while of just leaving it there. I was wondering if there was a way to make it turn off, like an ASM program...(I know nothing of ASM programming) I know the battery life of a Ti-84 + is huge, but I personally hate having an electronic device turned on while not in use, i'm sure i'm not the only one haha. Hopefully someone can help Smile I really looked around a ton of forums and none of them seem to be having my issue, not exactly...
Did you try to take out the batteries and the backup battery, wait for a few min, and then putting it all back?
no, tried the battery but forgot there was a backup battery, i'll go get a darn screwdriver -.- why do they have to like lock it up lol, they should just have another clip on cover thing, wouldn't that just be easier? haha
nope, that didn't help
The contacts on the ON key might been to be cleaned.

An assembly program to turn the calculator off is a bit tricky, as just using the _PowerOff BCALL will cause a memory leak. But it's not too hard:
Code:
:AsmPrgm
:21959D
:110080
:018000
:EDB0
:C30E80
:ED5BEC89
:21959D
:EF5743
:EF0850
This program copies itself to scrap RAM, then unallocates itself before calling _PowerOff. Do not run this program from a shell such as DoorsCS. Shells do weird things, and _PowerOff will forcibly quit the shell in a manner it doesn't intend.


Assembly:

Code:
#include "ti83plus.inc"
.org appData
    ld hl, userMem
    ld de, appData
    ld bc, 128 ; Blah
    ldir
    jp blah
blah:
    ld de, (asm_prgm_size)
    ld hl, userMem
    b_call(_DelMem)
    b_call(_PowerOff)
   
oh jeez, I decided to go have a look at how complicated it is to create an asm program, I can see why there are way more BASIC programmers haha, I thought it could be done on-calc with just a couple button presses, I couldn't have been more wrong! Thanks for the code though, i'll try to make this into an ASM program, hopefully I manage, who knows, maybe i'll end up being a great ASM programmer haha
You just type in the program code. The first line must have that AsmPrgm token, which is found in the catalog just under Asm(. Then just type in the rest of the hex code, and run it using Asm(.
OH my gawd, I feel stupid now, it worked perfectly, tysm :3 I had found some strange tutorial with a bunch of thing to convert notepad stuff into an asm program, it really isn't that hard haha, but definitely would love to learn ASM sometime, looks hard tho, I mean it's just Hex code, how does someone know what they are doing when entering a bunch of letters and numbers! I'll just stick with basic for now, but hopefully I move on sometime xD
Most assembly programmers don't program in hexadecimal, because unless you have a really, really good reason, you should absolutely be writing human-readable assembly and assembling it with an assembler. It's not even useful for bragging rights, as most ASM programmers will just wonder why you're spending the effort you could be putting in to learn to write exceptional assembly code towards memorizing opcodes instead. Assembly (written sanely, in a text editor, and assembled with an assembler) is a fun language to learn, in my opinion, and once you become a more seasoned TI-BASIC programmer I do suggest that you explore it.
well, isn't it easier to type in the hex code to your calculator, instead of having to use an assembler on a computer, wouldn't hex be more convenient in a way since you only need a calculator? Of course this would make learning harder, but once someone is comfortable with the hex code, it would be more efficient... idk maybe i'm wrong...
In theory, that might be true for very simple programs without looping and branching, but you can't do much with that. Once you do looping/branching, you get to count up all the bytes for every jump instruction (there are no labels in machine-language coding) and hope you didn't mess up... and then as soon as you insert/delete code, you have to do it all over again. Oh, and saving things in memory will require you to write down or memorize a numeric address for every variable. Same for ROM addresses, BCALLs, etc. And any mistake, of course, will likely crash the program or corrupt the RAM, and if you don't save a backup in flash memory every time you try your program, you lose all your work.

An on-calc assembler that could automatically back up source code before running it might have some value, though, I think. I really like being able to develop directly on a calculator anywhere I go, and calcs like the HP 50g have stuff like on-board assemblers and a powerful enough user programming language to handle the automation of compiling/building/backup/test-running procedures. I have seen some attempts to make on-calc assemblers with TI calculators before, but it seems that most people concentrate on just writing and testing the code on a computer.
mr womp womp wrote:
well, isn't it easier to type in the hex code to your calculator, instead of having to use an assembler on a computer, wouldn't hex be more convenient in a way since you only need a calculator?
No. You use an on-calc compilation tool like Mimas if for some reason you don't have access to a computer. Smile

Travis wrote:
An on-calc assembler that could automatically back up source code before running it might have some value, though, I think. I really like being able to develop directly on a calculator anywhere I go, and calcs like the HP 50g have stuff like on-board assemblers and a powerful enough user programming language to handle the automation of compiling/building/backup/test-running procedures. I have seen some attempts to make on-calc assemblers with TI calculators before, but it seems that most people concentrate on just writing and testing the code on a computer.
Does Mimas not allow the programmer to back up source code before compiling and running programs? To be honest, I've never used it much, because I always rely on emulators to make ASM easier.
KermMartian wrote:
Does Mimas not allow the programmer to back up source code before compiling and running programs? To be honest, I've never used it much, because I always rely on emulators to make ASM easier.


I'm not familiar with Mimas; I was going by knowledge that is over 15 years old, back when I (very) briefly dabbled in TI-86 ASM programming. That's why I was so general in that post. Smile I remembered an 86 assembler/editor that I tried out, but it seemed a bit buggy (and the very limited crash protection available on the Z80 and lack of flash made it not terribly practical for significant projects). I wasn't sure if anything like that existed for the recent calcs.
  
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