Ti84+ - can't send program to calculator

TI-82, TI-83 (plus, silver..), TI-84, TI-85 and TI-86
Post Reply
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Ti84+ - can't send program to calculator

Post by taekvideo »

I get this error message (see below) every time I send a program that I compiled myself to my Ti84+ calculator.
I've tried compiling on both Ubuntu and Windows Vista.. both get the same result.
It's the same error that this person was getting with an older version http://forum.ticalcs.net/showthread.php?tid=432&page=2
I have the most recent one installed which should contain that fix right?
I tried downloading and using the hello.zip ones they posted there and they worked fine.
I've tried a whole slew of different commands and a bunch of different examples (the Ti examples) but none of them seem to work.
This is just one of the command lines I've tried:
zcc +ti8xansi -lm -o world -create-app world.c

Image

Any suggestions? :(
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Post by stefano »

It is a known issue which can probably be solved just documenting it in a better way.. support from the TI community, could be very useful.
I'd also quote the BUG number 1362894, with title "Required ION magic numbers commented out"; hopefully you can get there by this link:

https://sourceforge.net/tracker/index.p ... tid=102917


Actual documentation is here:

http://www.z88dk.org/wiki/doku.php/platform:ticalc#ti83
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Post by taekvideo »

Thanks for the help. I tried using the fixed .asm file on that post but it didn't fix the problem.
I don't think I can attach files here so I uploaded them to my server.
This is the one I compiled with that .asm file (still gets the same error):
http://www.d2contests.com/downloads/world1.8xp
Note: I tried sending it to my calculator using TiLP (latest version) instead of TiConnect and it succeeded in transferring the program to the calculator, but when I ran it with Asm(prgmWORLD) it just said "done" without printing out "Hello World".

I am able to send and run the program in this post: http://forum.ticalcs.net/showthread.php ... 94#pid4794
it prints out the 10 lines like its supposed to.

I tried to use the fixed files in this post: http://forum.ticalcs.net/showthread.php ... 95#pid4795
I rebuilt the appmake program using the new tixx.c (on ubuntu) and used the .asm from that post, but the problem persists :(
The file that was built from using those files is this: http://www.d2contests.com/downloads/world2.8xp

On a side note: I'm not entirely sure how to use ion for these.. I just use the Asm() command... none of the programs that I send show up on ion's list except games that I downloaded a long time ago from the ticalc website.

Any help is appreciated.
Last edited by taekvideo on Sat Nov 15, 2008 1:18 am, edited 1 time in total.
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Post by stefano »

Hello,
I'm trying to get a working TI 84+ emulator to verify by myself. I got TiLem and compiled it with CygWin, but I still need to find a copy of the ROM :-/
There is probably some light difference, and I'd like to test it by myself...

Well, if you are able to convert a binary program it TI format you could avoid to use the "-create-app" flag and start from the clean "bin" file.
In that way the only changes will have to happen in the {z88dk}/lib/ti83p_crt0.asm file.
Comparing it to the "ti83_crt0" one might help, too.

I'm also wondering if the libs are the same ! Probably it is better to link in the "ansi" version of the libraries, because they use much less calls to the ROM.
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Post by taekvideo »

stefano wrote:Hello,
I'm trying to get a working TI 84+ emulator to verify by myself. I got TiLem and compiled it with CygWin, but I still need to find a copy of the ROM :-/
There is probably some light difference, and I'd like to test it by myself...

Well, if you are able to convert a binary program it TI format you could avoid to use the "-create-app" flag and start from the clean "bin" file.
In that way the only changes will have to happen in the {z88dk}/lib/ti83p_crt0.asm file.
Comparing it to the "ti83_crt0" one might help, too.

I'm also wondering if the libs are the same ! Probably it is better to link in the "ansi" version of the libraries, because they use much less calls to the ROM.
If you mean +ti8xansi, that's the one I'm using.
I don't know about any roms/emulators for it.. I remember having a ti83+ one several years ago but I don't anymore :P
This is the operating system I'm using if that helps at all.. though you probably need more than that :S
http://www.d2contests.com/downloads/TI84Plus_OS222.8xu
Or the latest one is here: http://education.ti.com/educationportal ... appId=6014
edit: on the offchance that updating the operating system would fix it, i upgraded to the latest one, but to no avail.
Also, according to this post http://forum.ticalcs.net/showthread.php ... 86#pid4786 the checksum being off would cause the problems I'm having (at least it caused the same error in his case)...
Edit2: I read the file format protocol to figure out how to generate the checksum... and the checksum in the file was right so it seems that's not causing the problem...
Last edited by taekvideo on Fri Nov 21, 2008 8:38 pm, edited 1 time in total.
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Post by taekvideo »

Found the problem.
If you look under "The TI-83+ variable file format" from this guide (in the fformat.html file) http://www.ticalc.org/archives/files/fi ... 24750.html
The program is the "variable" that's being sent. I noticed in my program it was leading with B instead of D like the working one was. I changed the 0B to 0D then inserted the "version" and "flag" in the right spot (only type D ones have those). Then I updated the checksum in the footer and data section size in the header and I was able to send the program to my Ti-84+ using TiConnect and it works with Ion!
However, running it with Asm() doesn't do anything (just says "done")... is there any way to use it without ion? Not that I don't want to use ion just wondering :D
Now I just need to get it to do all of this automatically so I don't have to manually hex-edit it everytime lol
Last edited by taekvideo on Fri Nov 21, 2008 10:09 pm, edited 1 time in total.
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Post by stefano »

Hey,
surely there must be a way... the -startup=10 option was for the ti83+ but hopefully (I just started studying a bit the TI84) the locations for the ORG address etc, are compatible; your compile command line should be a bit like this:

zcc +ti8xansi -lndos -startup=10 -create-app program.c


Obviously consider the bug you just discovered ;)
And.. thank you very much for reporting it and for the informations you provided !

P.S.
I'll try to fix the current CVS tree ASAP.


-- Edit: it looks the problem you reported could be fixed in a single place.. [z88dk]/src/appmake/tixx.c ..it is a module of the "appmake" component (the one you're activating with the -create-app flag.
It means that starting from the raw binary file and using your favourite TI file formatter/converter you should be able to avoid the problem.
Now I'm wondering if the new file format has to replace the old one or if it is necessary to handle both (and if it is useful on the TI83+ also).
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Post by stefano »

Hello !
I just committed a change for "tixx.c" which, in my intention, supports the alternate string format. I'm also going to send you a compiled version of appmake I hope you'll be able to test.

Let us know, and thank you again !
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Post by taekvideo »

stefano wrote:Hey,
surely there must be a way... the -startup=10 option was for the ti83+ but hopefully (I just started studying a bit the TI84) the locations for the ORG address etc, are compatible; your compile command line should be a bit like this:

zcc +ti8xansi -lndos -startup=10 -create-app program.c


Obviously consider the bug you just discovered ;)
And.. thank you very much for reporting it and for the informations you provided !

P.S.
I'll try to fix the current CVS tree ASAP.


-- Edit: it looks the problem you reported could be fixed in a single place.. [z88dk]/src/appmake/tixx.c ..it is a module of the "appmake" component (the one you're activating with the -create-app flag.
It means that starting from the raw binary file and using your favourite TI file formatter/converter you should be able to avoid the problem.
Now I'm wondering if the new file format has to replace the old one or if it is necessary to handle both (and if it is useful on the TI83+ also).
I tried using that command line to compile (had to fix with hex editor to send to calc). It wouldn't show up on ion (which was expected I assume) and it did run with asm() but it just cleared my ram lol. I'm not too worried about that though, I'll just use ion for them.
Last edited by taekvideo on Mon Nov 24, 2008 9:52 pm, edited 1 time in total.
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Post by taekvideo »

stefano wrote:Hello !
I just committed a change for "tixx.c" which, in my intention, supports the alternate string format. I'm also going to send you a compiled version of appmake I hope you'll be able to test.

Let us know, and thank you again !
I'll certainly be able to test it. You can send it by email if you want. taekvideo@gmail.com unless it's too big.
Last edited by taekvideo on Mon Nov 24, 2008 9:55 pm, edited 1 time in total.
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Post by stefano »

Couldn't send the file, so I put it here:
http://www.z88dk.org/forum/uploads.php? ... 125.exe.gz

Let me know if it works ASAP.. it could be a bit embarassing to publish a broken update !
taekvideo
New member
Posts: 7
Joined: Wed Nov 05, 2008 8:35 pm

Post by taekvideo »

Very Nice!
Works perfectly for my Ti84+.
I'm pretty sure it will work for Ti83+ as well and that ti84's just stopped supporting the 0B format which didn't have any "Version" specified.
I don't have a ti83+ cord to send it to an 83+ calc to test it though.
Thanks a ton for the help, I'll be sure to report again if there are any other problems, but I don't anticipate any.
stefano
Well known member
Posts: 2137
Joined: Mon Jul 16, 2007 7:39 pm

Post by stefano »

Great, it is quite a lot we got reports of this kind of problems but (my fault) I never got the point.
When you are sure everything is ok (it would be nice to have a ti83+ owner testing it), please report the success to the forums you have access to.
Thanks again for the sharp approach :)
Post Reply