Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Your Projects subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Celtic III => Your Projects
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

Posted: 21 Feb 2008 09:19:59 pm    Post subject:

http://mpl.unitedti.org/?p=18
Back to top
pugboy


Active Member


Joined: 11 Apr 2007
Posts: 544

Posted: 22 Feb 2008 01:07:34 pm    Post subject:

http://wikiti.denglend.net/index.php?title...:Tricks_ExecAsm
Back to top
Sven.Thomas0


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
Sven.Thomas0


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. Smile
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
Sven.Thomas0


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
Display posts from previous:   
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
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are GMT - 5 Hours

 

Advertisement