Author Topic: Features Wishlist  (Read 691302 times)

0 Members and 3 Guests are viewing this topic.

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: Features Wishlist
« Reply #2775 on: December 03, 2011, 04:59:25 pm »
how does doors cs 7.1 do it? That works very well and jumps instantly to the error.

In the axe docs (the pdf):
Quote from: credits
<IRL name> (Kerm Martian) Thanks for the help with the error scrolling!
One would guess it's likely the same thing in DCS.  If that's buggy then yeah :P
(unless the scrolling in DCS was updated..I remember back when 7 first came out and when I tried it it would crash periodically)
« Last Edit: December 03, 2011, 05:00:13 pm by Darl181 »
Vy'o'us pleorsdti thl'e gjaemue

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: Features Wishlist
« Reply #2776 on: December 03, 2011, 10:49:25 pm »
Ok, a slight change to my code:

Code: [Select]
ld hl, offsetToError
ld (errOffset), hl

ld a, 3
ld (menuCurrent), a
ld a, 1
ld ($85DF), a
ld a, kEnter
bcall(_pullDownChk)
bcall(_clrTR)

ld hl, op1
ld de, progToEdit-1
ld bc, 9
ldir

ld b, a
ld a, kError
ld (cxCurApp), a
ld a, b
bcall(_newContext0)
bcall(_mon)

The previous one didn't quite do the Goto properly, so this version starts off acting like the edit menu, then switches gears and says it's the error menu doing a goto. In any case, (errOffset) is how far it will jump.
« Last Edit: December 04, 2011, 05:12:40 pm by thepenguin77 »
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline hellninjas

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 625
  • Rating: +17/-0
    • View Profile
Re: Features Wishlist
« Reply #2777 on: December 04, 2011, 02:36:38 am »
I would like the RandInt( command to be added and worked just like Ti-BASIC... :P

Offline C0deH4cker

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 258
  • Rating: +11/-1
    • View Profile
    • iNinjas Forum/Repo
Re: Features Wishlist
« Reply #2778 on: December 04, 2011, 04:21:23 am »
You can already do this with this code:

rand^MAX


That makes a random # between 0 and MAX-1.

Offline thepenguin77

  • z80 Assembly Master
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1594
  • Rating: +823/-5
  • The game in my avatar is bit.ly/p0zPWu
    • View Profile
Re: Features Wishlist
« Reply #2779 on: December 04, 2011, 04:00:23 pm »
In any case, 8090h in zStart will edit OP1.

Set (errOffset) to the correct offset (or 0), check to make sure 8090h is $C3 in zStart, then jump there. Simple as that.
zStart v1.3.013 9-20-2013 
All of my utilities
TI-Connect Help
You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.
       -Runer112

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2780 on: December 07, 2011, 01:58:50 pm »
I'm going to bump a feature request I've probably mentioned multiple times in the past: preprocessor conditionals. It is something that cannot be done in an Axiom and would be useful to every programmer, whether it's for building your program in a debug mode, testing different blocks of code to see which is better/faster/smaller, or (my personal favorite) making Axe libraries that programmers can very easily customize to their needs by changing a few defines. I'm sorry about bringing up this particular request multiple times, but this is the #1 feature I would like to see in Axe, and I'm sure many others would find it useful as well.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #2781 on: December 07, 2011, 05:58:31 pm »
I'll see what I can do about that... I just have to write a mini block parser to make sure everything gets skipped correctly.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline calcdude84se

  • Needs Motivation
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2272
  • Rating: +78/-13
  • Wondering where their free time went...
    • View Profile
Re: Features Wishlist
« Reply #2782 on: December 07, 2011, 07:07:19 pm »
Continuing in that vein, I'd like to bump stack access. Both of the suggestions I've seen (using π as a pseudo-variable to access the stack and having a command Save(VAL1,VAL2) that evals and pushes VAL1, evals VAL2, then pops the stored value of VAL1) sound good.
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
-Adam Osborne
Spoiler For "PartesOS links":
I'll put it online when it does something.

Offline epic7

  • Chopin!
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2200
  • Rating: +135/-8
  • I like robots
    • View Profile
Re: Features Wishlist
« Reply #2783 on: December 07, 2011, 07:08:29 pm »
I'm going to bump a feature request I've probably mentioned multiple times in the past: preprocessor conditionals. It is something that cannot be done in an Axiom and would be useful to every programmer, whether it's for building your program in a debug mode, testing different blocks of code to see which is better/faster/smaller, or (my personal favorite) making Axe libraries that programmers can very easily customize to their needs by changing a few defines. I'm sorry about bringing up this particular request multiple times, but this is the #1 feature I would like to see in Axe, and I'm sure many others would find it useful as well.
What's that?

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Features Wishlist
« Reply #2784 on: December 07, 2011, 07:20:51 pm »
Continuing in that vein, I'd like to bump stack access. Both of the suggestions I've seen (using π as a pseudo-variable to access the stack and having a command Save(VAL1,VAL2) that evals and pushes VAL1, evals VAL2, then pops the stored value of VAL1) sound good.

I believe Quigibo is implementing the Save() command like you suggested

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #2785 on: December 07, 2011, 09:25:49 pm »
Yup, I already have that working :)  I'm using the Select() token btw so I won't have to make a new token for it.

Also, I decided the best syntax for preprocessor conditionals is to represent them as "conditional comment blocks".  This makes it easy for beginners to understand and easy for me to parse.  It looks like this:

Code: [Select]
:...If <const>
:<code>
:...

So it will only do the stuff in the comment block if the constant is true (non-zero) but otherwise it is treated as a comment.  I will hopefully also add the "!If" and "Else" comment conditionals.  "End" isn't needed because you can just end it like you normally end a block comment.  Also, this will not allow nesting, but I think that's probably okay.  You can technically nest one level deep using external source though.
« Last Edit: December 07, 2011, 09:29:20 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline epic7

  • Chopin!
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2200
  • Rating: +135/-8
  • I like robots
    • View Profile
Re: Features Wishlist
« Reply #2786 on: December 07, 2011, 09:29:22 pm »
So if its true, it does it, if not, skip it?
Isn't that what a normal If does?

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Features Wishlist
« Reply #2787 on: December 07, 2011, 09:30:09 pm »
Just throwing this out there, I had a very simple idea for a possible syntax for preprocessor conditionals. Pretty much, there would be no new syntax. It would just boil down to whether or not the condition of an If statement is a constant. And it can't get any simpler for beginners to understand than that.
« Last Edit: December 07, 2011, 09:30:47 pm by Runer112 »

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Features Wishlist
« Reply #2788 on: December 07, 2011, 09:47:18 pm »
That's exactly what I wanted to do and I tried that originally, but it was extremely difficult because then I can't just search for an "End" like I could with comments.  But even so, suppose I could count the number of statements that require an end minus the number of ends and only quit when that count is zero.  Unfortunately, this also involves me parsing single line comments, character constants, and quotes all of which can contain those tokens I'm searching for.  I'd basically have to parse the whole thing as though it were normal code, except without writing anything.  But if I do this, I have to add special code in lots of places to ignore non-executable writing things like data, not erroring on undefined constants, defining new constants, etc.  So in either case, it complicates things immensely and I'm bound to get something wrong with all these special cases.

EDIT: @epic7
Sort of, except that when the thing you're checking is constant (doesn't change the entire time in the program) you can remove the entire code block completely rather than just skipping over it.  Now why would you want to do something like "If 1" knowing its always true?  Its because if you have different versions of your game, or different parts of a library to use, you switch from including them to not including them by changing a single number instead of having to remove/reinclude code.
« Last Edit: December 07, 2011, 09:56:21 pm by Quigibo »
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline LincolnB

  • Check It Out Now
  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1115
  • Rating: +125/-4
  • By Hackers For Hackers
    • View Profile
Re: Features Wishlist
« Reply #2789 on: December 07, 2011, 11:20:50 pm »
Okay, I've mentioned this before, and I'm not sure if it's in 1.0.5 cause I'm still using 1.0.3, but I would really like to say support for appvar absorption, where the source needs the appvar, but the executable doesn't. So, like when you absorb a Pic from TI-OS into an axe program, you go [Pic1]->POINTER, I'd like to see something like [appvANAPPVAR]->POINTER. Does that make sense?
Completed Projects:
   >> Spacky Emprise   >> Spacky 2 - Beta   >> Fantastic Sam
   >> An Exercise In Futility   >> GeoCore

My Current Projects:

Projects in Development:
In Medias Res - Contest Entry

Talk to me if you need help with Axe coding.


Spoiler For Bragging Rights:
Not much yet, hopefully this section will grow soon with time (and more contests)