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 ... 121 122 [123] 124 125 ... 135
1831
The Axe Parser Project / Re: Features Wishlist
« on: March 14, 2010, 06:53:42 pm »
I am definitely adding 90 degree sprite rotation as well as horizontal and vertical flipping.  I'm still looking for some intuitive commands for this though.  To use it, you will want to copy a sprite to free ram and then flip it and draw it from there, otherwise, you might loose track of what direction it has been flipped so far.

1832
News / Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« on: March 14, 2010, 06:49:11 pm »
You can use some pre-made assembly routine so you don't actually have to write it yourself.

1833
The Axe Parser Project / Re: Bug Reports
« on: March 14, 2010, 05:15:40 pm »
Oh yeah, I keep forgetting about that... I'll update it thanks.

1834
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!
« on: March 14, 2010, 05:11:40 pm »
Thanks!  I'll try that :)

What about division?  Clearly I'll need more than just overhead since there's no overflow to loop around.  Is there a more efficient way to do than what I was originally planning with multiplication?

1835
The Axe Parser Project / Re: Assembly Programmers - Help Axe Optimize!
« on: March 14, 2010, 03:23:09 am »
Does anyone know an efficient way to do signed multiplication for a 2's compliment system?  I can't find any tutorials on the internet.  My naive method is to remove and keep track of the sign bit for each term, multiply the positive versions together, and then add the new sign bit.  Is there a better method?

This is what I'm using to get the sign bit out of de and keep track of it with the 'b' register.  b starts at zero, so I can use bit 0 of b as the new sign bit if I repeat this for hl.

Code: [Select]
bit 7,d
jr z,__MulSNotNeg
inc b
xor a
sub e
ld e,a
sbc a,a
sub d
ld d,a
__MulSNotNeg:

I would have to do the same thing for hl and then again at the end when I need to put the bit back so it seems like a lot of extra code...

1836
The Axe Parser Project / Re: Axe Parser
« on: March 13, 2010, 10:40:22 pm »
I use this when writing asm programs for large pictures:

http://www.ticalc.org/archives/files/fileinfo/134/13415.html

Just set the output to hex.

1837
The Axe Parser Project / Re: Axe Parser
« on: March 13, 2010, 10:22:32 pm »
Unfortunately, it does make slightly larger code and it means you can't use the optimizations anymore, but its still a lot less than what Builderboy has been doing.  You can still use the optimizations with unsigned math though.

1838
I think those are all good explanations.  The speed is probably the most major of those issues, but even when its not an issue, how many people have you seen carrying around headphones and plugging them into their calculators to play a game?  Its pretty inconvenient in my opinion since it doesn't really add much to games that are already so limited in color and resolution, it hardly enhances the experience.  I only added it to Pyoro because I thought it would be cool and I always wanted to try it.  Yet I don't even own a pair of those headphones.  I just spliced the link cable so I could bypass a speaker to it.

Axe will for sure have some type of ToneOut() command that will be like the pause command except play a frequency instead of doing nothing.  But that's about all you can do since anything more elaborate really takes a toll on the processing speed.  There is no hardware 'audio driver' so you must use software which makes it really slow.

1839
The Axe Parser Project / Re: Axe Parser
« on: March 13, 2010, 09:57:40 pm »
The looping around effect happens regardless of sign.  0 decrements to 65535 the same way -32768 decrements to 32767.  Like I said, addition and subtraction are not affected by this change.  -1 is still -1.  The only time it would change is when you multiply and divide with numbers larger in magnitude than 32767.  And I should also mention that the inequality operators will also be affected.

The looping goes on forever if you keep passing the limit.  Unlike Basic, you will never get an overflow error, it will just overflow in such a way that only the least significant bits, that is to say the 16 bits on the rightmost side of any result larger than 16 bits, will be returned.  That's why its very important to put caps on things like scores, health, and lives that you definitely DON'T want to loop around once they overflow.

1840
The Axe Parser Project / Re: Axe Parser
« on: March 13, 2010, 03:00:56 pm »
I don't think I'll have an update ready this weekend, I'm really really busy.

I am considering changing all math to signed math and then adding a new command set to do unsigned math.  This will only affect multiplication and division with very large/negative numbers and possibly the modulo operation.  I consider this a major change so I'd like some opinions since it can make some older programs incompatible.  Only minor changes usually need to be made though.  Singed math limits multiplication and division to values between -32768 to 32767 instead of 0 to 65535 so you can divide and multiply negative numbers, but then the maximum magnitude of the numbers is half of what it was.  Don't forget, you can STILL do unsigned math, but it will be a different command.  I think making the default signed instead of unsigned makes the language a little simpler for beginners.  I hope no one will mind the inconvenience of having to rewrite some of their programs that really on unsigned math tricks.

1841
The Axe Parser Project / Re: Logo Contest
« on: March 13, 2010, 02:28:55 pm »
Those are looking great so far! :)

1842
Portal X / Re: Portal X
« on: March 12, 2010, 02:53:50 pm »
I looked at the code for the physics engine and there are A LOT of optimizations you can do.  Most of them you can find in the "Optimization Tips" file and some of them are just program flow stuff.  Let me know if you want me to point some out for you :)  This is a very cool project so far.

1843
The Axe Parser Project / Re: Features Wishlist
« on: March 11, 2010, 08:01:57 pm »
One way to do that is conj(Pic1,L6,768) in the next version if Pic1 contains the hex code of the picture.  I'm still not 100% sure how regular picture support will work in the future though.

All of the other commands suggested so far I plan to add eventually.  School forces me to work slow.  Syntax changes take the longest to add while new commands take less than an hour usually.

1844
News / Re: Axe: a new TI-BASIC-like language for the TI-83+ and 84+
« on: March 11, 2010, 03:55:09 pm »
And to think I was going to work on this in secret until I finished a final version... I thought no one would be interested in an unfinished programming language because everyone would just complain about lack of features until the final version anyway.  I was really wrong about that.  I think giving mini releases has helped me get really good feedback and keeps me motivated.

Thanks for the news feature on this!  I hope to have a stabler beta release in a few weeks, as opposed to just an alpha.

1845
The Axe Parser Project / Re: Features Wishlist
« on: March 11, 2010, 03:41:33 pm »
That's actually really freaky that you mentioned Fill() because I just so happened to have written that command last night  :o

I have working now the Fill() command to fill up data blocks with a particular byte, plus a copy command to copy a number of bytes from a source to a destination and an exchange command to exchange bytes between two ram locations.  The closest thing I could find to copy() was conj() and exchange is expr().  You'll see those in the next version, it should make data manipulation a lot easier, faster, and smaller, but still not as much as when I get arrays working.

Pages: 1 ... 121 122 [123] 124 125 ... 135