you lost me after "Wink"
Confused
I don't totally understand what axe even is, so I can't quite see what you are saying. Would you ming putting it in more layman's terms?
Bspymaster: Here you go. (Ashbad, I'm impressed how technical you can talk and even confuse someone when explaining something Very Happy)

What he is saying is this (slightly modified):
In Axe, an easy-to-learn programming language (Kerm NO COMMENTS ON THIS LOL), you don't get an error, because the Axe draw commands are so-called 'clipped' commands. this means, that you can draw offscreen any time you want, because if the x or y value is out of the borders of the screen, nothing is actually drawn (sprites are another story, but i'm not explaining that now).
About the object stacks, L1 is an Axe memory location, in which he gives every object 16 bytes.
Think of an object stack this way:
L1
(Object 1) L1+0
(Object 2) L1+16

etc.
I hope this explains enough to follow his story.
P.S.: You might want to learn Axe, you can download Axe here.
hey, there was an update today, you can look at a huge array of tutorials, code examples, and more at http://axe.omnimaga.org, the official place for everything axe Wink

On a side note, it's also possible in BASIC with a slightly different thinking -- I believe Contra uses the object stack idea except with lists.
And the DCSB Libs let you use stacks of arbitrary objects, which is fun. Wink
Ashbad wrote:
hey, there was an update today, you can look at a huge array of tutorials, code examples, and more at http://axe.omnimaga.org, the official place for everything axe ;)

On a side note, it's also possible in BASIC with a slightly different thinking -- I believe Contra uses the object stack idea except with lists.

Update is crap, everything is broken. 0.5.2 works fine, but runer managed to crash the compiler of 0.5.3!
I'd be slightly more respectful to the project that Quigibo has put so much time into, whether I like the project or not. Smile Sorry to hear that 0.5.3 was not well-tested before release.
aeTIos wrote:
Ashbad wrote:
hey, there was an update today, you can look at a huge array of tutorials, code examples, and more at http://axe.omnimaga.org, the official place for everything axe Wink

On a side note, it's also possible in BASIC with a slightly different thinking -- I believe Contra uses the object stack idea except with lists.

Update is crap, everything is broken. 0.5.2 works fine, but runer managed to crash the compiler of 0.5.3!


Crap isn't a very nice word to use for an update that took Quigibo hours to polish from 0.5.2. It was mostly optimizations, and obviously he just made a small mistake with the 4 pass system he was experimenting with, which is probably the source of the crash.
If you said "0.5.2 is poorly-tested and shouldn't be used" is fine, but it's good to criticize the specific aspects of a project that deserve criticism rather than the entire project. For example, "I don't like the Doors CS mouse-based GUI" is better than "Doors CS sucks". To the former I can say "so use the keyboard shortcuts and don't touch the mouse", whereas to the latter I can only say "...".
Indeed, Kerm. However, I personally don't think you'll find many who hate the GUI idea of DCS7 -- except for that one review on ticalc that basically said "This is crap" even though it was entirely obvious he didn't even try it out on-calc.

Anyways, just so you all know, I'm using 0.5.2 for this, as it gave me ~5% speed increase overall from 0.5.1. I kinda stalled on this for the last week or two, I was a bit busy trying to make myself a decent Ruby coder (it's an awesome language, and now that I feel like I can do decently-sized projects with it, I have added another language to my programming knowledge toolkit Smile) and I'm still perpetually developing Verdant (the incarnation of Emerald) on the side about 2 hours each day. Plus, I have no idea how well I'm going to do in this contest, for all I know I might get few to no votes because I'm not porting a series popular with the TI community, and it's a highly different thing altogether, since it has physics but it based mostly on combat. My guess is that since I won't do that well, put it on the stack of things to do and put in only a decent effort, and rather apply my spare time to things I've wanted to do/learn/get better at for months now.
You kidding me? It's one of my favorite games, and 3's coming out soon too ^^
You've done great, Ashbad. Just saying.
Thanks leafiness, I appreciate it Smile

I'm glad there's more than me in the community who loves this franchise -- legitly, it's one of my personally favorites, making it into my top 5 list Smile
aeTIos: Thanks! That helped me a lot! I'll see if I can learn some things...
Nah, actually I didnt mean it that bad, I just meant "Dont use 0.5.3, because it is fully broken".
There was a bugfix release, though. Its fine now.
A few axe related questions (0.5.2):
What is the carrot and the little superscript r for? I don't quite understand that. Also, could someone explain how the number system works in that language? Finally, does the doors libraries work in axe?
The number system in Axe is a simple integer system with 8 or 16 bit limits, depending on what variable or byte you're working with. When you're working in 8 bit limits, you can only work with non-decimal numbers between 0-255; in 16 bit, you can work between 0-65535.

The superscript symbol is the SC 2.0 version of the radians symbol on calc. It is used near commands to invoke other possible actions Smile

EDIT: the doors libraries theoretically would work with Axe, however a wrapper to put the assembly commands into Axiom format isn't existent. Alberthrocks was working on an axiom for that, and me and scout were at one point rewriting the routines in pure axe format for easier formatting. However, I think we all lost interest for a while.
so how do you tell whether your using 8-bit or 16-bit? and how would you apply that to a program? I can't even use the code:

Code:
:5->A
:disp A

because the program freaks out!
Also, random integers: How do they work? randint( doesn't work in axe, so...
bspymaster wrote:
so how do you tell whether your using 8-bit or 16-bit? and how would you apply that to a program? I can't even use the code:

Code:
:5->A
:disp A

because the program freaks out!
Also, random integers: How do they work? randint( doesn't work in axe, so...


You are always using 16-bit numbers. Math in Axe is always done by modifying an "Ans" value (stored in the Z80's HL register). However, some commands (such as [tt]and, or, not[/tt], the standard {} commands, and the [tt]e[/tt] bit check command) explicity work with the lower 8 bits. For those commands, you must use the explicit 16-bit variant.

Your 5->A code does not work because Disp, by default, takes a pointer to a string you wish to display (Str0-9, or whatever). If you want to display the value of A, you must use [tt]Disp A>Dec[/tt] (the [tt]>Dec[/tt] token is in the MATH menu). If you want to display the ASCII character represented by A, use [tt]Disp A>Char[/tt] (replaces >Frac in that menu).

Random integers are simpler here than they are in BASIC. The [tt]rand[/tt] command simply returns a random number from 0 to 65535. You can use the modulus (caret) operator to bring that down to the range you want. For example, [tt]rand^12+6[/tt] returns a number between 6 and 17.
I'm using a TI-84, but the information helps a lot! Thanks!
bspymaster wrote:
I'm using a TI-84, but the information helps a lot! Thanks!


If you have any additional questions, feel free to ask them Here Wink
Ashbad wrote:
bspymaster wrote:
I'm using a TI-84, but the information helps a lot! Thanks!


If you have any additional questions, feel free to ask them Here Wink
Thanks for that, Ashbad. Smile I agree that it would be good to keep the Axe questions centralized for now for the sake of easy reference, although if we get a sudden huge influx of Axe users obviously that would no longer be feasible.
  
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 3 of 5
» 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