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

0 Members and 3 Guests are viewing this topic.

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Axe Q&A
« Reply #165 on: March 18, 2011, 09:15:59 am »
I's just wondering, but when I tried to create appvar, there was something else called "u" created too along with my appvar "MYAPPVAR". When I tried to delete that "u", it caused instant calc reset. What is happening?

Oh, I know what that is -- I've done that too. You made an appvar, then stored too far. For example, you might have created a 32-byte appvar and copied 33 bytes of data to it. That 33rd byte would affect the size bytes of the next variable in RAM, which happened to be the equation u. The equation "u" is an OS variable that always exists, but it doesn't show up unless something happens to it.




Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
Re: Axe Q&A
« Reply #166 on: March 18, 2011, 08:06:06 pm »
Oh so it happened because of overstoring...
Thanks for the help  ;D
Sig wipe!

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Axe Q&A
« Reply #167 on: March 19, 2011, 03:52:49 pm »
Ok, I'm looking for an optimized way to store >19 strings, not compression-wise but so they can easily be recalled like numbers after a static pointer of something.
What I'm using it for is if you move a cursor, the text changes depending on what a number specified by the selected item is.

The strings are of different lengths, btw
« Last Edit: March 19, 2011, 03:54:10 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Axe Q&A
« Reply #168 on: March 19, 2011, 04:07:40 pm »
Darl, you could try something like this:

:"Test"->Str1
:"Try"
:[00]
:"Moar"
:[00]
:"Text"
:[00]
:"Trial"
:[00]
:
:3->A  // Spot in Data, so it would be "Text" if A=3
:
:Str1->C
:For(B,1,A)
:length(C)+C+1->C
:End
Now C should point to your string. ;D

Good luck! :)

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Axe Q&A
« Reply #169 on: March 19, 2011, 04:19:56 pm »
How does that work?  IIRC, length is zero-terminated, I know that much :P
Also, is there a way to skip numbers, because not every number is associated with a place-able tile.
« Last Edit: March 19, 2011, 04:21:01 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Axe Q&A
« Reply #170 on: March 19, 2011, 04:20:30 pm »
Code: (Axe) [Select]
:"This"→Str00
:"is"→Str01
:"a"→Str02
:"test."→Str03
:Data(Str00ⁿ,Str01ⁿ,Str02ⁿ,Str03ⁿ)→Str0        . The pointers to each string
:Disp {A*2+Str0}ⁿ        . Where A is the index of the string

is pretty fast and can easily be modified in-program.

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Axe Q&A
« Reply #171 on: March 19, 2011, 05:35:34 pm »
Code: (Axe) [Select]
:"This"→Str00
:"is"→Str01
:"a"→Str02
:"test."→Str03
:Data(Str00ⁿ,Str01ⁿ,Str02ⁿ,Str03ⁿ)→Str0        . The pointers to each string
:Disp {A*2+Str0}ⁿ        . Where A is the index of the string

is pretty fast and can easily be modified in-program.
what are the n's?  I just looked through the catalog and didn't see anything like that...unless that's the ° or r ?
Vy'o'us pleorsdti thl'e gjaemue

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Axe Q&A
« Reply #172 on: March 19, 2011, 09:00:28 pm »
Oh, sorry, those are rs. I just couldn't get them into the quote box.




Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Axe Q&A
« Reply #173 on: March 19, 2011, 09:10:44 pm »
Code: (Axe) [Select]
:"This"→Str00
:"is"→Str01
:"a"→Str02
:"test."→Str03
:Data(Str00ⁿ,Str01ⁿ,Str02ⁿ,Str03ⁿ)→Str0        . The pointers to each string
:Disp {A*2+Str0}ⁿ        . Where A is the index of the string

is pretty fast and can easily be modified in-program.
You saved me almost 3000 bytes!
I love you <3
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Axe Q&A
« Reply #174 on: March 19, 2011, 09:19:50 pm »
Code: (Axe) [Select]
:"This"→Str00
:"is"→Str01
:"a"→Str02
:"test."→Str03
:Data(Str00ⁿ,Str01ⁿ,Str02ⁿ,Str03ⁿ)→Str0        . The pointers to each string
:Disp {A*2+Str0}ⁿ        . Where A is the index of the string

is pretty fast and can easily be modified in-program.
You saved me almost 3000 bytes!
I love you <3

* Deep Thought backs away <_<

You're welcome, lol.

It's also great for keeping track of levels (that's what I'm using it for). All you do is subtract two adjacent numbers, and it gives you the length of that piece of data.
« Last Edit: March 19, 2011, 09:20:19 pm by Deep Thought »




Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Axe Q&A
« Reply #175 on: March 20, 2011, 02:04:18 am »
That works with Text( too, right?
Vy'o'us pleorsdti thl'e gjaemue

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Axe Q&A
« Reply #176 on: March 20, 2011, 09:57:04 am »
Well, the point is that {A*2+Str0}r gets the pointer to the Ath string in the list. You can do anything you want with that pointer, so yeah, Text(, Output(, Pt-On( (for whatever reason ._.), anything.




Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Axe Q&A
« Reply #177 on: March 20, 2011, 04:23:17 pm »
Can it be made to work with three-byte pointers, i.e. Str103?
How would I do the data( for that?
Vy'o'us pleorsdti thl'e gjaemue

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe Q&A
« Reply #178 on: March 20, 2011, 04:43:18 pm »
What would you need a 3-byte pointer for? Axe operates on 2-byte numbers anyway so I'm not sure how you would use a 3-byte value. The only thing that uses 3-byte values is archive reading with the Y0-Y9 "files."
« Last Edit: March 20, 2011, 04:43:51 pm by Runer112 »

Offline Darl181

  • «Yo buddy, you still alive?»
  • CoT Emeritus
  • LV12 Extreme Poster (Next: 5000)
  • *
  • Posts: 3408
  • Rating: +305/-13
  • VGhlIEdhbWU=
    • View Profile
    • darl181.webuda.com
Re: Axe Q&A
« Reply #179 on: March 20, 2011, 04:59:11 pm »
That would be to reduce the limit of vars possible, but I can get around that anyway w/ letters.
Vy'o'us pleorsdti thl'e gjaemue