Omnimaga

Calculator Community => TI Calculators => Axe => Topic started by: Raylin on June 07, 2010, 09:34:46 am

Title: Making Axe subroutines?
Post by: Raylin on June 07, 2010, 09:34:46 am
A couple questions come to mind when I think about my entry.

I heard something about a limit on the source code you can compile.
What is that limit?

Also, how would you chain multiple Axe programs together for those big programs?
Title: Re: Making Axe subroutines?
Post by: nemo on June 07, 2010, 11:16:36 am
don't quote me on this, but i think it's around 8000 bytes. and it isn't a contest limitation, but i think the ti 84 series of calculators just doesn't support programs larger than the limit (which is somewhere in the 8000+ range). as for chaining them together, i don't think it's possible as of now. except one way might be you have two source programs, prgmSOURCEA and prgmSOURCEB, and you compile them into prgmPARTA and prgmPARTB using a program online, you could unsquish prgmPARTB into hex code, and then in prgmPARTA use Asm(_hex of PARTB here_). but, that's against the rules. you may be able to clear it with dj if you show prgmSOURCEB though.
Title: Re: Making Axe subroutines?
Post by: calcdude84se on June 07, 2010, 11:27:57 am
The 8KB code limit is present on all the TI-83+ series. As for appending one program to another, it doesn't work like nemo said. Programs are compiled to be run from $9D95, or progstart. Just sticking one program to the end of another means that the jp, call, and some ld commands within the program won't work, causing an infinite loop or more likely a crash. And as of now, there is no way to change where programs are based.
As nemo said, there isn't a way to chain compilation of programs yet. If you must develop w/separate programs, then recall all of them into one large program when you need to compile.
Title: Re: Making Axe subroutines?
Post by: Quigibo on June 07, 2010, 12:39:46 pm
Wait until application compiling is completed.  That gives a 16kb limit, enough for most projects.  You can have data be external variables like in appvars and programs, but not executable code.
Title: Re: Making Axe subroutines?
Post by: jnesselr on June 07, 2010, 02:37:10 pm
Can you give a timeline for that?  How hard is it to compile to application?
Title: Re: Making Axe subroutines?
Post by: DJ Omnimaga on June 07, 2010, 02:46:03 pm
It would be nice to have an idea of when it will be possible. If it's only gonna be implemented in late AUgust, people should probably not bother waiting since then theyb would only have 3 weeks left at most for making a contest entry.

APP compiling will take 10-15 minutes on calc, though, according to brandonW, because of the whole encryption and stuff I forgot x.x
Title: Re: Making Axe subroutines?
Post by: Quigibo on June 07, 2010, 06:14:55 pm
That's actually only partially true.  I talked to BrandonW and he said that the 10-15 minutes is only for signing applications.  You can still compile to applications at a decent speed and run them on your calculator.  Its only when you want to transfer the app to another calculator that you need to sign it.  Another option is to just send the app to a computer and have the computer sign it super fast.

Timeline?  Possibly the next version, but I can't guarantee anything.  I only made very basic progress so far, but BrandonW has already written a program that compiles apps and he is helping me decipher his code so I can use it for the parser.
Title: Re: Making Axe subroutines?
Post by: Builderboy on June 07, 2010, 06:17:19 pm
Really?! That would be totally awesome :)
Title: Re: Making Axe subroutines?
Post by: Deep Toaster on June 07, 2010, 08:28:44 pm
According to 28 Days, the limit's usually at 8811 bytes. How do people get around that?
Title: Re: Making Axe subroutines?
Post by: Raylin on June 07, 2010, 08:32:47 pm
I don't know but that limit adds another challenge to the contest.
Title: Re: Making Axe subroutines?
Post by: Deep Toaster on June 07, 2010, 08:36:46 pm
I don't know but that limit adds another challenge to the contest.

Actually, which one's a bigger problem: this limit or our RAM limit? How small are executables compared to their sources for larger programs?
Title: Re: Making Axe subroutines?
Post by: Builderboy on June 07, 2010, 11:34:29 pm
Since its an actual limit on executable code, its the final size of your executable, not the source. NOTE: That this does NOT include data, so your program can be larger than 8811 bytes as long as the executable code is less than 8811.  You can get around this with fancy Self Modifying Code, but i have yet to get it to work reliably.  When and If i get it to work i will definetaly post a tutorial
Title: Re: Making Axe subroutines?
Post by: DJ Omnimaga on June 07, 2010, 11:41:38 pm
That's actually only partially true.  I talked to BrandonW and he said that the 10-15 minutes is only for signing applications.  You can still compile to applications at a decent speed and run them on your calculator.  Its only when you want to transfer the app to another calculator that you need to sign it.  Another option is to just send the app to a computer and have the computer sign it super fast.

Timeline?  Possibly the next version, but I can't guarantee anything.  I only made very basic progress so far, but BrandonW has already written a program that compiles apps and he is helping me decipher his code so I can use it for the parser.
really? Wow nice to hear. I was certain it was just the compiling that took long. If it's signing, then it should be easier. I personally wouldn't have liked to wait like 15 mins to compile an app just to debug XD.
Title: Re: Making Axe subroutines?
Post by: Builderboy on June 07, 2010, 11:42:43 pm
Hah yeah i know what you mean.  This way we can debug and all the good stuff on calc, and then sign for 10-15 min when we are done and ready to upload :)