I have just started ASM programming for the TI-84+CSE.
When programming on the 83+ series, you include a 'header' at the top of the ASM file. It looks like this:


Code:
.nolist
#include   "ti83plus.inc"
#define   ProgStart   $9D95
.list
.org   ProgStart - 2
.db   t2ByteTok, tAsmCmp


However, this does not work if you replace ti83plus.inc with ti84pcse.inc.
There is one on the DCS SDK, but it's really big, and what I'm not planning on using this program with DCSE (at least until I get it working the way I want) So what should I put a the top of the program?
If you're using the Doors CSE SDK to assemble your programs anyway (which you should, because it can compile both Doors CSE and nostub programs), you can use something that looks like this:

Code:
.nolist
#include "ti84pcse.inc"
.list
   
   .org UserMem-2
   .db tExtTok,tAsm84CCmp
As you seem to have divined, once you get to using your programs with Doors CSE, you can use the header detailed at http://dcs.cemetech.net/index.php/ASM_Header_%28Color%29 .
Ok, thanks.
One more question--If I use the dcse.inc file, I'm assuming you need to have DCSE. If so, would putting a hook on the [ON] key interfere with the DCSE operation?
You can run programs that include the dcse.inc file without Doors CSE, but if you use any functions that Doors CSE provides (and which are listed in that file) without it being a Doors CSE program, things will get very crashy very quickly. The shorter and slightly less accurate answer is "only include the dcse.inc file when your program has the DCSE header". What sort of hook on the [ON] key? During your program or when it ends? Be aware that a non-App can't very easily (nor should it try to) keep a hook active when it's not running.
I'm planning on it being an APP. What I want is, when you open the APP, you get a list of programs. When you select a program, it runs. If you press the [ON] key during program execution, the current line on the program is saved, and a menu is opened which allows you to either start another program or switch between open programs. When another program is selected, it will switch over and resume execution of that program.
Hexatron wrote:
I'm planning on it being an APP. What I want is, when you open the APP, you get a list of programs. When you select a program, it runs. If you press the [ON] key during program execution, the current line on the program is saved, and a menu is opened which allows you to either start another program or switch between open programs. When another program is selected, it will switch over and resume execution of that program.


Sounds like quite a challenge! Looks like you would have to allocate space for each program call, and then save a pointer to the data location. Not too bad, but could be hard to manage all of them. Good luck!
Hexatron wrote:
I'm planning on it being an APP. What I want is, when you open the APP, you get a list of programs. When you select a program, it runs. If you press the [ON] key during program execution, the current line on the program is saved, and a menu is opened which allows you to either start another program or switch between open programs. When another program is selected, it will switch over and resume execution of that program.
The header that I gave you is for non-App programs, and Doors CSE does not yet run Apps (and when it does, I'm not planning to expose the Doors CSE functions to Apps in any way). Since you just learned ASM, I must extremely strongly warn you away from this for a first project. I instead recommend you start with a few much smaller projects to build your skills and confidence, your understanding of debugging assembly, and so on. Then later I recommend you return to this project.
Well, they just said they were new to programming on the 83+CSE, maybe they've got experience with the 83/+ series?

Though i agree that that program is likely a lot more than you bargained for, you'll have to have a lot of free space to save all saferam locations, the stack, registers, inserted RAM, ports, interrupts, flash/RAM pages loaded, etc., not to mention whatever SMC has taken place in the program. For most programs saving the stack, registers, and most common saferam locations (the ones mentioned in ion.inc) would probably be enough, but there'd be a good amount of programs that still wouldn't work well.

I think you'd be better off programming in a quick-save feature in the programs you're most interested in, assuming that they include the source.

If you're new to z80 assembly, though, i second Kerm's recommendation of picking some smaller projects to start with and focusing more on trying not to get burned out Smile
chickendude wrote:
Well, they just said they were new to programming on the 83+CSE, maybe they've got experience with the 83/+ series?
On SAX he said his experience thus far was reading through ASM in 28 Days.

Quote:
If you're new to z80 assembly, though, i second Kerm's recommendation of picking some smaller projects to start with and focusing more on trying not to get burned out Smile
Precisely. That's a very common danger with new ASM programmers.
  
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