Hi i'm very new to this whole z80 assembly thing, but try to bear with me. I made this very simple assembly program that displays "Hello world!", "you suck" and then quits. I compiled it using doors cs 7 sdk (brass).

Code:

.nolist
#include "ti83plus.inc"
#define b_call(label) rst $28 \.dw label
.list
.org $9D95 - 2
.db t2ByteTok, tAsmCmp
   
    b_call(_HomeUp)
    ld hl, msg   
    b_call(_PutS)
    b_call(_NewLine)
    ld hl, msg2
    b_call(_PutS)      
    b_call(_NewLine)
    ret

msg:
    .db "Hello world!", 0
msg2:
    .db "you suck", 0
.end

It runs fine when i send it to my Ti 84+ Calculator(OS version 2.21) using Ti Connect, but when i try running it in either jsTIfied or Wabbitemu using a rom from my own calculator dumped with rom8x-0.3.2 and the latest OS from Ti's website, it doesn't understand the _Newline command i think, since it writes done on the same line as hello world, and writes you suck under that without moving the cursor so it essentially says "_ou suck", _ being the cursor.

Another thing is that (yes i know this is illegal) when i downloaded a ti83+ rom from some website and loaded that into wabbitemu, the file worked fine and understood _NewLine. I haven't been able to find a ti84plus.inc file anywhere, so i'm guessing it's the same as the ti83plus.inc since it runs fine on my calculator but then again, there are some features on the 84+ like the clock and timer or whatever, which aren't on the 83+, so they should have their own definitions, meaning their own .inc file right?.

The only difference between the emulators and my calculator is that my calculator is on Ti OS version 2.21, and since i couldn't find anything older than the newest Ti OS, the rom i used for the calculators is on Ti OS version 2.55. Does that mean it has a different definition for _NewLine? In the ti83+.inc file i have, the definition is _NewLine EQU 452Eh ;***. what does the three *** mean? Does it mean that this only works on old Ti OS versions? if that's the case, then can someone give me a link to an older version of Ti OS? (prefferably 2.21 since that's the one my calculator is on).
The inc file is the one included in Doors CS 7 SDK by the way.

Thanks in advance for the help.

Also if you could explain what this line means, that'd be great.

Code:

.db t2ByteTok, tAsmCmp

I just modified some code in the "learn assembly in 28 days" to make the program so i don't understand everything fully. I'm on day 11 by the way. Started yesterday, but decided to do many days a day, since i wouldn't be ably to remember what i learned on day one/two, on day 8.
I can help you with one part, there's a site like Cemetech called TI Planet and they try to keep old OS files. You can find assorted OS versions of the TI 83 and 84 calculators here: https://tiplanet.org/forum/archives_list.php?cat=OS+z80
TheLastMillennial wrote:
I can help you with one part, there's a site like Cemetech called TI Planet and they try to keep old OS files. You can find assorted OS versions of the TI 83 and 84 calculators here: https://tiplanet.org/forum/archives_list.php?cat=OS+z80

Thanks man, appreciate it.
The issue with the latest OS is probably Mathprint-related. If you disable MathPrint in the mode menu before running it will probably work as expected.
Tari wrote:
The issue with the latest OS is probably Mathprint-related. If you disable MathPrint in the mode menu before running it will probably work as expected.

yep i figured it out by now. I was told by a guy in the chat. I just disabled mathprint inside the program by resetting the fifth bit in the mathprint flag byte with res 5,(iy+$44) instead. I could also just have written ld hl, 0 / ld (CurRow), hl instead of using the b_call(_HomeUp) command which is the one causing a conflict with mathprint for some reason.
  
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