Author |
Message |
|
Iambian
Advanced Member
Joined: 13 Mar 2004 Posts: 423
|
Posted: 21 Feb 2008 08:59:23 pm Post subject: |
|
|
I just need a collection of short snippets of hex ASM code that might prove useful to the BASIC programmer. You know, simple stuff like inverting hex, speeding up your calculator, killing the Done, removing the run indicator, etc.
This information will be included in a section of the readme that will support the included "exechex" command. You need not include the final "C9" if there is one, as the application automatically appends that to the code. Also, try not to make the code any longer than 767 bytes (1534 characters).
Thanks. |
|
Back to top |
|
|
Weregoose Authentic INTJ
Super Elite (Last Title)
Joined: 25 Nov 2004 Posts: 3976
|
|
Back to top |
|
|
pugboy
Active Member
Joined: 11 Apr 2007 Posts: 544
|
|
Back to top |
|
|
Xeda112358
Active Member
Joined: 19 May 2009 Posts: 520
|
Posted: 20 Jan 2010 10:17:56 am Post subject: |
|
|
I love Celtic3 , but I have a few suggestions for additions. I made a program called QSprite (it is on TICalc) and it can take an 8x8 portion of the screen and convert it to a tokenized, 8 byte string. It also has a function that is like the Identity(5 thing, except with a tokenized string. Feel free to use any parts of the source (it may be a rather unconventional way of writing a source, but I do on-calc programming). I will attach the source. If you want a list of all the calls and their addresses, they can be found on TI-Calc, too.
By the way, Celtic3 was the push that helped me become an assembly programmer, so thanks. |
|
Back to top |
|
|
Graphmastur
Advanced Member
Joined: 25 Mar 2009 Posts: 360
|
Posted: 20 Jan 2010 06:48:58 pm Post subject: |
|
|
ThunderBolt wrote: I love Celtic3 , but I have a few suggestions for additions. I made a program called QSprite (it is on TICalc) and it can take an 8x8 portion of the screen and convert it to a tokenized, 8 byte string. It also has a function that is like the Identity(5 thing, except with a tokenized string. Feel free to use any parts of the source (it may be a rather unconventional way of writing a source, but I do on-calc programming). I will attach the source. If you want a list of all the calls and their addresses, they can be found on TI-Calc, too.
By the way, Celtic3 was the push that helped me become an assembly programmer, so thanks.
This should not go here. Celtic3 has it's own topic, if you scroll to the top. This would be better in the "feature request" forum thread. |
|
Back to top |
|
|
Xeda112358
Active Member
Joined: 19 May 2009 Posts: 520
|
Posted: 21 Jan 2010 09:32:30 am Post subject: |
|
|
Sorry, I just realised that. These should be better; It is part of my EnLib program:
20-Multi-level Battery Check
This returns a number from 0 to 4 for the battery level.
0 is the worst and 4 is the best. The value is stored to Ans.
EF2152EF8C47EFBF4A
31-Graph→Screen
This neat routine will put the graph screen image on the
home screen.
214093063EEF7048
32-Screen→Graph
This will put the home screen image on the graph screen.
214093EF7B4C
Each of the commands in EnLib has its opcode included. Except for Xtra X, they all work on there own. The last one will need an address modified. |
|
Back to top |
|
|
calc84maniac
Elite
Joined: 22 Jan 2007 Posts: 770
|
Posted: 21 Jan 2010 04:03:03 pm Post subject: |
|
|
ThunderBolt wrote: 20-Multi-level Battery Check
This returns a number from 0 to 4 for the battery level.
0 is the worst and 4 is the best. The value is stored to Ans.
EF2152EF8C47EFBF4A
Quick note, this routine will only work on the TI-84+/TI-84+SE if my memory serves me. |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 21 Jan 2010 05:16:07 pm Post subject: |
|
|
ThunderBolt wrote: 31-Graph→Screen
This neat routine will put the graph screen image on the
home screen.
214093063EEF7048
32-Screen→Graph
This will put the home screen image on the graph screen.
214093EF7B4C Those sound really neat. Can I just type those in in that hex and it will work? Thanks. |
|
Back to top |
|
|
Eeems
Advanced Member
Joined: 25 Jan 2009 Posts: 277
|
Posted: 21 Jan 2010 05:27:28 pm Post subject: |
|
|
I'm pretty sure to run it without Celtic you need to add c9 to the end |
|
Back to top |
|
|
ztrumpet
Active Member
Joined: 06 May 2009 Posts: 555
|
Posted: 21 Jan 2010 09:53:58 pm Post subject: |
|
|
Right. I don't want it to keep going, and get a RAM clear.
I think. :biggrin: |
|
Back to top |
|
|
Xeda112358
Active Member
Joined: 19 May 2009 Posts: 520
|
Posted: 22 Jan 2010 09:29:01 am Post subject: |
|
|
Yes, that is all true. Thanks for reminding me about the battery check thing. I knew I was forgetting something. The whole "C9" thing is explained in the EnLib file. The file will be included with this post if you want all of them. Most are the regular ones I found as a BASIC programmer and some I have made as an assembly programmer. With the last opcode, I don't know if Celtic3 runs the program from appBackUpScreen or saveSScreen, so do not use that one. If you only want to use the ExecHex function, check out ASMCall. |
|
Back to top |
|
|
Iambian
Advanced Member
Joined: 13 Mar 2004 Posts: 423
|
Posted: 22 Jan 2010 10:52:12 pm Post subject: |
|
|
Hex ASM programs that run using Celtic III are executed from the SaveSScreen buffer. The appbackupscreen buffer is used internally by Celtic III for variables that include how to properly exit the application, so that buffer shouldn't be messed with.
If you absolutely must use the appbackupscreen, be sure to preserve the two bytes at appbackupscreen+37 ($9897) and load them back when you're done with the routine. They hold the address to "return" to. If you choose to use the value to do the return yourself instead of having Celtic III perform the job for you, do the following:
Code: ei
ld a,1
or a ;set hook system to disable.
ret
This is required because Celtic III disables the interrupts and the the other codes are used to successfully exit the parserhook.
Last edited by Guest on 22 Jan 2010 10:53:27 pm; edited 1 time in total |
|
Back to top |
|
|
|