Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Quigibo

Pages: 1 ... 26 27 [28] 29 30 ... 135
406
The Axe Parser Project / Re: Features Wishlist
« on: June 01, 2011, 09:54:04 pm »
I have a feature request.

I was thinking it would be cool if I could  O.Omodify the certificate pageO.O to remove the trial restriction on the compiled apps so they don't delete themselves after 16 runs.  Yes, I am well aware that this can be extremely dangerous if not coded properly which is why I want to make sure everyone is comfortable with it.  I would of course do extensive private testing before releasing it to the public.  The thing is, I don't know where to find the (un)documentation to do this, I checked WikiTI but couldn't find anything about how the OS operates that page.  So I will probably need a lot of help with this.

407
TI Z80 / Re: zStart - an app that runs on ram clears
« on: June 01, 2011, 05:19:53 pm »
@thepenguin77
Thought I'd poke remind you that I added the entry point hooks for token enabling a couple weeks ago if you want to have the Axe token hook enabled on startup.  Unfortunately, I don't have a sure way to verify that the current Axe installation is a new enough version to support this.  However, I'm pretty confident you can do it by verifying that the first entry point is a jump instruction.

408
The Axe Parser Project / Re: Axe Parser
« on: June 01, 2011, 06:07:16 am »
^ Yes.

Since someone brought up shells recently, it really got me thinking... what if I created another compile option for an "Axe Shell" that calls all the built-in subroutines from the parser itself instead of copying them into the program?  I'd estimate this would save about a kilobyte in an 8kb program, ~12% decrease in size, while having the speed remain the same.  In fact, I could optimize some routines more for speed instead of size since the size wouldn't matter, so some routines like multiplication and division could be significantly faster.  Yes, this would mean you need the Axe application to run the program if you compile for that option, but for people struggling with the 8kb limit or 3D math speed, it could be a life saver.

But then I realized this would basically involve me writing an entire shell or else you wouldn't have a way to actually run the programs.  Either that, or I'd have to have a home screen parser hook like DCS has.  This is possible, but difficult I think since so many other programs use it and I don't want to cause too many conflicts with the hook chaining.

So that gave me another idea.  Since I 'd like to avoid making a shell from scratch, what if I could get these features built into an already existing popular shell?  So I'm thinking of talking to Kerm about it, I'm not sure how much space is left in DCS so I can't say for sure if this is possible, I think all the axe subroutines combined are under 3KB together.  But anyway, is this something you guys thing I should invest time in, regardless of if it ends up in a new Axe Shell or DCS?  It could makes shells more useful than just the extra header.

409
Axe / Re: Memory Leak with Axe sub( ?
« on: May 31, 2011, 07:39:46 pm »
Its okay if you have a base case and you've set it up to be a recursive call.  For instance, you could write a factorial function like this:

Code: [Select]
Lbl A
If r1=0
  Return 1
End
Return r1*sub(A,r1-1)

Anyway you just have to be careful about those.  The less goto's you have in your code, the less likely you will leak.  Most uses of Goto can be replaced by either loops or subroutines without sacrificing speed or size.

410
Axe / Re: Send data using CMD
« on: May 31, 2011, 02:44:04 am »
Also, besides using square waves from Freq, you can send your own custom signal with the Port command which also allows you to take advantage of both sound channels.

411
TI Z80 / Re: Contest entry - Continuity
« on: May 30, 2011, 04:32:35 am »
I cut ~40 bytes using A*B instead of A and B, its a huge improvement (not kidding, but you can really save a ton of bytes with this).

Those should be the same size.  Its 3 bytes to call the multiplication routine and 3 bytes to perform a logical and, plus the and is way faster than the multiply.  Are you sure you're calculating that correctly?

412
Humour and Jokes / Re: Quigibo's car
« on: May 30, 2011, 04:22:45 am »
Actually, my favorite color is teal :)  I don't know how red got into the color scheme of Axe, I think it was mostly from to the images I used in the documentation, and I tried to design a color scheme around them.

413
Axe / Re: Noob Help
« on: May 30, 2011, 12:34:23 am »
Data and code are the same, its all just bytes so it completely depends on how you look at it.  The same way the a single unsigned number can also represent a signed number, or an 8.8 fixed point number, or a pointer, or a character, or a 4x4 sprite, or a hexadecimal number, or an octal number, etc.  The only difference is how you use it.  So only bytes designated by "subroutines" get called and jumped to, and only bytes designated as "Data" read and write to their location in memory.  It doesn't matter that they're mixed because each built-in axe subroutine is self containing and can go anywhere in memory, just like how you can put your own subroutines anywhere in your Axe code.

414
Axe / Re: Noob Help
« on: May 29, 2011, 02:34:02 am »
The Str, Pic, and GDB tokens are NOT variables.  They are static pointers so they can only be assigned to once and keep their value forever.  If you do need to change the value, simply use a variable instead.  Anywhere you can use "Str1" you can also use "A" or any other variable.

415
The Axe Parser Project / Re: Axe Parser
« on: May 28, 2011, 08:01:16 pm »
I re-uploaded a fixed version so you won't have to wait until 1.0.0 :)

416
The Axe Parser Project / Re: Bug Reports
« on: May 28, 2011, 07:22:28 pm »
The main thing I'm concerned about with new pixel buffer commands is what I'm supposed to do about pxl-Test() which is half the reason you would use the command in the first place.  It looks too funky to have pxl-Test(X,Y)->P->A mean reading a pixel on buffer P into value A.  I guess I could have an optional 3rd argument instead so it looks like pxl-Test(X,Y,P)->A but this is inconsistent with the sprite drawing to buffers.  I would like consistency so I would rather change Pt-On(X,Y,S)->P into Pt-On(X,Y,S,P) as well if I did that, but that involves a compatibility issue.  I guess this is something to resolve before 1.0.0 because I don't want to make changes like this after.  Unless anyone is really against the change, I will probably change to the new syntax.  I never really liked the original storing syntax anyway, its not really any more intuitive than an extra argument, I don't remember why I did that in the first place.

417
The Axe Parser Project / Re: please help me
« on: May 28, 2011, 06:21:05 pm »
Try reading the pdf documentation that comes with Axe.  It explains a lot and has a mini tutorial/example program.

418
The Axe Parser Project / Re: Bug Reports
« on: May 28, 2011, 03:05:07 pm »
Oops, I've fixed all of those now.  Although how can you say that //0 is incorrect?  It's undefined, it can be any number I want :P  On that subject though, the entire signed division routine rounds the wrong way and is inconsistent with the auto optimizations, that is, A//256 can return a slightly different value than A//(256), but I don't know how to fix that without bloating the code and its hardly noticeable.

I guess these bugs mean that 1.0.0 has to come out sooner than I though...

419
Axe Parser
Epsilon 0.5.3b


The last of the betas for sure.

New Features:
  • Increment and decrement operators!
  • Reciprocal operation for 8.8 fixed point numbers
  • On key will force quit compiling safely.
  • Faster and more optimized DispGraph routines.
  • Significantly faster square root routine.

Changed:
  • Fixed major bug with the Disp command when compiling for apps.
  • Fixed incorrect optimization with Dispgraph to other buffers.
  • Fixed the new numerical constants feature.
  • Fixed bug with nibble storing.
  • Fixed bug with big-endian storing.

EDIT: Fixed a few bugs since there was at least one major one.  If you downloaded it before this edit, please re-download.

420
Axe / Re: Axe Q&A
« on: May 27, 2011, 10:44:08 pm »
That works.  It will automatically make the high byte zero so you'll get the range you're looking for (0 to 255).  That is, unless that's a signed byte, then you can use sign{byte}->VAR to get the -128 to 127 range.

Pages: 1 ... 26 27 [28] 29 30 ... 135