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
« on: June 01, 2011, 09:54:04 pm »
I have a feature request. I was thinking it would be cool if I could modify the certificate page 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
« 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
« 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
« 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:
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
« 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
« 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
« 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
« 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
« 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
« 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
« 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
« 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
« 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 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
« on: May 28, 2011, 06:10:17 am »
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
« 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
|