Author Topic: Axe Q&A  (Read 600147 times)

0 Members and 3 Guests are viewing this topic.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe Q&A
« Reply #1755 on: April 24, 2014, 05:55:16 am »
It is working, thanks!
Why couldn't i find this in the docs, though :P

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline TheMachine02

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 452
  • Rating: +105/-0
  • me = EF99+F41A
    • View Profile
Re: Axe Q&A
« Reply #1756 on: April 24, 2014, 05:58:12 am »
there is a tuto about external file, and it is also talking about file here : http://www.omnimaga.org/axe-language/external-vars-tutorial/msg152571/#msg152571
AXE/asm programmer - unleash the power of z80 //C++//C

epic 3D things http://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Axe Q&A
« Reply #1757 on: April 24, 2014, 01:09:10 pm »
Also it's in the PDF IIRC. :P There's actually more than Y0-9 but they have different purposes that I don't remember exactly and they're not in the doc, only in the changelog. By the way that works for reading from RAM, so it's quite versatile. ;)

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Q&A
« Reply #1758 on: April 24, 2014, 06:04:08 pm »
Also it's in the PDF IIRC. :P There's actually more than Y0-9 but they have different purposes that I don't remember exactly and they're not in the doc, only in the changelog.

Yeah. You can use Y1T and Y2T for variables in RAM (not using the file syntax, just normal like GetCalc(...)→Y1T), and if the variable is moved, the pointers will be adjusted to continue to point to the same offset into the variable. Unfortunately, there can only be two of them, because TI (somewhat reasonably) decided to only support two.

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Axe Q&A
« Reply #1759 on: April 24, 2014, 07:19:20 pm »
Oh wow is that actually a TI feature ? I guess they sometime have a genius idea and make useful things. Now I wish it is fast enough. <_<

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe Q&A
« Reply #1760 on: April 25, 2014, 05:02:32 pm »
Ok, now i have a For( loop behaving VERY oddly:
I have the for loop so that it modifies stuff, based on how a pointer is set
Code: [Select]
For(C,0,{GDB2})
4*C+GDB2->E
<stuff with E>
End
This does none of the modifications while the following does the first one:
Code: [Select]
For(C,0,{GDB2})
4*C+GDB2->E
4*0+GDB2->E
<stuff with E>
End
Which makes absolutely no sense to me as in the first run C will be equal to 0 and it should be able to do the first one.
It might be worthy to mention that I compile as an app.

EDIT: I just copied GDB2 now to some free ram before using it and it worked, I take it that you have to do so because I compile as an app?
« Last Edit: April 25, 2014, 05:10:27 pm by Sorunome »

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Axe Q&A
« Reply #1761 on: April 25, 2014, 05:46:01 pm »
Well you can't (at least not that easily) store in Flash, which is exactly what you are doing when writing ->{Bleh+GDB2} when you compile as an app (and after declaring GDB2 as a pointer to somewhere in your executable).

Also, always (when you can obviously, not always always) put constants at the end. I mean, write C*4 and not 4*C.
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe Q&A
« Reply #1762 on: April 25, 2014, 05:50:16 pm »
I was only reading off of it.

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Q&A
« Reply #1763 on: April 25, 2014, 05:56:55 pm »
I can't immediately see any reason why that would be behaving oddly. It might matter what the "stuff with E" is.

Also, since applications aren't modifiable, {GB2} can only be a constant. Why not pull out whatever value it holds as a constant?
« Last Edit: April 25, 2014, 05:58:35 pm by Runer112 »

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe Q&A
« Reply #1764 on: April 25, 2014, 06:01:53 pm »
the stuff is this:
nib{E+1*2+1}->D
({L5+11} and D=D and ({L5+10}>=nib{E+q*2}) and (N={E}))?{E+3}->{L4+{E+2}}

And that way it is easier to me to modify my data when compiling, and also gives me the easy opportunity to move said data out of the app.

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline NikProgrammer

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +0/-0
  • Calc's are the most handy thing ever invented :D
    • View Profile
Re: Axe Q&A
« Reply #1765 on: April 25, 2014, 06:42:53 pm »
Sorry that I'm breaking in but I have a question: I do a normal program in axe and can compile as 'No shell'. Why it says not enough ROM if I try to compile this program as an App? :D
Well, I'm not english or american so if anything posted by me is not correct just say or ignore...
And please don't set me back because I live in germay... Though I speak german I am still from UA!
––––––––––––––––––––––––––––––––––––––––––––––––––––
It may sound weird but:
'The teapot cools down long.'
and
'The teapot does not cool down long.'
means the same.

What for do we live? - To think of why we do live.
––––––––––––––––––––––––––––––––––––––––––––––––––––
Loving chess- If you know any good chess programs for TI-83+ please PM me- thanks!
Working on Remakes for all of my programs to optimize them and add more user friendliness... And most important: Graphics. I'm not good at graphics, every help is welcome... -Please PM too.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe Q&A
« Reply #1766 on: April 26, 2014, 03:53:52 am »
Apps can only be up to 16384 bytes large.

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline NikProgrammer

  • LV3 Member (Next: 100)
  • ***
  • Posts: 50
  • Rating: +0/-0
  • Calc's are the most handy thing ever invented :D
    • View Profile
Re: Axe Q&A
« Reply #1767 on: April 26, 2014, 07:00:02 am »
It is less than 2000 bytes large...
Well, I'm not english or american so if anything posted by me is not correct just say or ignore...
And please don't set me back because I live in germay... Though I speak german I am still from UA!
––––––––––––––––––––––––––––––––––––––––––––––––––––
It may sound weird but:
'The teapot cools down long.'
and
'The teapot does not cool down long.'
means the same.

What for do we live? - To think of why we do live.
––––––––––––––––––––––––––––––––––––––––––––––––––––
Loving chess- If you know any good chess programs for TI-83+ please PM me- thanks!
Working on Remakes for all of my programs to optimize them and add more user friendliness... And most important: Graphics. I'm not good at graphics, every help is welcome... -Please PM too.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe Q&A
« Reply #1768 on: April 26, 2014, 07:16:57 am »
Well, you also need at least 16384 bytes of free ROM, no matter the program size

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Q&A
« Reply #1769 on: April 26, 2014, 07:37:47 am »
the stuff is this:
nib{E+1*2+1}->D
({L5+11} and D=D and ({L5+10}>=nib{E+q*2}) and (N={E}))?{E+3}->{L4+{E+2}}

Yup, the issue is in the "stuff with E". To read data from inside your program/application, you want to use nib{}r. The nib{} command with no modifier always reads from the $8000-$FFFF address range (RAM), whereas the command with the modifier always reads from whichever range your code resides in: still $8000-$FFFF for programs, but $0000-$7FFF for applications.
« Last Edit: April 26, 2014, 07:39:32 am by Runer112 »