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 z80 & ez80 Assembly 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. Z80 & 68k Assembly => z80 & ez80 Assembly
Author Message
kittylover


Newbie


Joined: 02 Sep 2010
Posts: 3

Posted: 04 Sep 2010 10:32:22 pm    Post subject:

It's been about a decade since I last programmed a TI calculator. What do I need to do to set up the development tools and workflow so that I can run Z80 programs on my calculator? Like, a "hello world" program. (RAM-based is fine, at least initially.)

When I programmed TI calculators last, I used TASM. TASM won't even run on my machine anymore, since I'm using Win64. Do I need to install DOSBox?

I'm using a TI-84+ Silver Edition. I looked for the documentation but only found the version for 83+ listed as also 84+. Is the 84+ that compatible at the assembly language level? I mean, the 81 through 84 series is all mostly the same hardware, but are the addresses in ti83plus.inc correct for a TI-84+?

~missy
Back to top
kittylover


Newbie


Joined: 02 Sep 2010
Posts: 3

Posted: 04 Sep 2010 10:34:15 pm    Post subject:

Also, what are "Asm(", "AsmComp(" and "AsmPrgm" in the 84+SE symbol catalog? I think Asm( meant the hex string-encoded Z80 programs from the original 83, but I don't remember how to use them at all.
Back to top
calcdude84se


Member


Joined: 09 Aug 2009
Posts: 207

Posted: 05 Sep 2010 08:32:36 am    Post subject:

Welcome to UTI!
You can use a different version of TASM, or, if you don't mind switching to a different assembler, I'd recommend you do that. They usually have all of TASM's features and more. I'd recommend you use either Brass or SPASM.
If you choose Brass, you won't need any other files except for ti83plus.inc (which does work for the 83+, 83+SE, 84+, and 84+SE. They are binary compatible for most purposes.). If you choose SPASM, you'll need to get a couple of other programs (along with the ti83plus.inc file) to change the output to something you can send to your calculator.
I'll give you an example, but first your other question. AsmPrgm is used at the start of a program (made in the program editor) that indicates the following tokens are unsquished hex (this means that a sample program would look like "AsmPrgmC7", basically AsmPrgm followed by a lot of hex) AsmComp( takes a program starting with AsmPrgm, and squishes it to binary form to the program in the second argument. For example, if the previous program was named prgmA, then doing AsmComp(prgmA,prgmB) will create a program called prgmB that contains the binary version of prgmA. Asm( takes one argument, the name of a program, that is either unsquished starting with AsmPrgm or squished (either via AsmComp( or created on a computer) and executes it.
Now for the sample program Smile

Code:
.binarymode TI8X
;This tells Brass to output a .8xp file
.variablename HELLOWLD
;This tells Brass to name the on-calc program HELLOWLD
;These following lines should look familiar
#include "ti83plus.inc"

.org $9D93
  .db $BB,$6D ;There are other ways to write the previous two lines, using the equates, but I like to do it this way ;)
  bcall(_ClrScrnFull)
  bcall(_HomeUp)
  ld hl,text
  bcall(_PutS)
  ret
text:
  .db "Hello World",0
.end
Back to top
calc84maniac


Elite


Joined: 22 Jan 2007
Posts: 770

Posted: 05 Sep 2010 01:26:16 pm    Post subject:

calcdude84se wrote:

If you choose SPASM, you'll need to get a couple of other programs (along with the ti83plus.inc file) to change the output to something you can send to your calculator.


Actually, that's not true at all. All you have to do is:

Code:
spasm source.z80 OUTPUT.8xp


You do need a special include file for easy app building though, which can be found at http://group.revsoft.org/app.inc.
Back to top
calcdude84se


Member


Joined: 09 Aug 2009
Posts: 207

Posted: 05 Sep 2010 05:42:30 pm    Post subject:

Oh, sorry, I didn't know Sad
On the positive side, Brass has app-building built in Wink
Your choice, though. Try both, see which you like better.
Edit: On a very unrelated note, 200th post!


Last edited by Guest on 05 Sep 2010 05:43:10 pm; edited 1 time in total
Back to top
calc84maniac


Elite


Joined: 22 Jan 2007
Posts: 770

Posted: 05 Sep 2010 09:00:15 pm    Post subject:

calcdude84se wrote:

Oh, sorry, I didn't know Sad
On the positive side, Brass has app-building built in Wink
Your choice, though. Try both, see which you like better.
Edit: On a very unrelated note, 200th post!


Technically, Wabbit has app-building built-in too, but the include file keeps you from needing to manually type in the 128-byte header and such Smile
Back to top
calcdude84se


Member


Joined: 09 Aug 2009
Posts: 207

Posted: 06 Sep 2010 01:24:01 pm    Post subject:

IIRC Brass "keeps you from needing to manually type in the 128-byte header and such" too Smile
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