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 ... 70 71 [72] 73 74 ... 135
1066
The Axe Parser Project / Re: Features Wishlist
« on: July 13, 2010, 09:30:54 pm »
No, currently a 3 level grayscale sprite is drawn like this:
00 = White
01 = Gray
10 = Black
11 = Black

and there is no way to do transparency without adding an extra sprite layer.

1067
The Axe Parser Project / Re: Features Wishlist
« on: July 13, 2010, 09:25:21 pm »
Here is the fruit sprite in Pyoro.

Layer 1 is 0 and Layer 2 is 0: Transparent, these pixels will be ignored when the sprite is drawn.
Layer 1 is 0 and Layer 2 is 1: A white pixel will be drawn here.
Layer 1 is 1 and Layer 2 is 0: A gray pixel will be drawn here.
Layer 1 is 1 and Layer 2 is 1: A black pixel will be drawn here.

Layer 1:
01110000
10001110
11100001
00010101
00111011
01101000
01111000
00110000
Layer 2:
01110000
11111110
11111111
00011111
00111011
01111000
01111000
00110000

1068
The Axe Parser Project / Re: Features Wishlist
« on: July 13, 2010, 09:11:16 pm »
@DJ, no you are being clear, I think it is me who is not being clear.  In the example you posted, if someone wants to format their data like that then that's their decision (although kind of a stupid one given you can get much higher efficiencies with your own formats).  My point was that you can't ban certain data layouts just because they resemble BASIC.

Sprite rotation is actually much trickier than flipping, those are both on the wishlist already.

Something I was wondering though, would anyone be interested in specialty sprite routines?  Sprite routines which are designed for very specific applications.  Some ideas I had were:

  • 3 level grayscale compact masking for 8x8 sprites.  I used this in Pyoro, it basically allows you to use the unused bit combination as an extra transparency layer so you can have automatic grayscale masking without needing an extra mask layer. 00=transparent 01=white 10=gray 11=black
  • 16x16 aligned sprite drawing.  Its a super fast and small way to draw 16x16 sprites when they're aligned horizontally and also using a more convenient array for the sprite data than trying to make 4 8x8 sprites.
  • Unclipped unsafe 8x8 sprite drawing.  Speeds up sprite drawing significantly for sprites that are always drawn completely on-screen for applications where speed really matters.  But it would crash/corrupt data for sprites drawn partly or fully off-screen

Would anyone be interested in any of these?  I would probably use the Plot1() - Plot3() tokens.

1069
Axe / Re: Routines
« on: July 13, 2010, 08:47:51 pm »
Its a bug that doesn't allow you to have the last line of code be a command which can possibly use the r modifier, you have to add an extra [Enter] at the end.  I've already fixed it, but it won't be updated until 0.4.0

Nice job DJ!  I think I can optimize it a little though:
Code: [Select]
StoreGDB
For(Z,0,31)
Exch(Z*12+L6,L6+756-(Z*12),12)
End
DispGraph

That way it doesn't need the back buffer.

1070
The Axe Parser Project / Re: Features Wishlist
« on: July 13, 2010, 05:43:11 pm »
DJ, I'm confused.  How would you be able to tell if a BASIC variable was created in Axe or not?  For instance, my music generator creates a BASIC program that can be imported into Axe but suppose someone ran out of room so just left that program in memory and read it from the main program to play the music.  That would be non-Axe generated file but definitely Axe compatible.  Or what if you typed your data file in the TI-BASIC editor and it had a similar format to TI-BASIC for whatever reason?  That would have to be allowed since its data.

The main problem with this is that Axe can generate ANY file with ANY combination of characters inside so technically all files are "Axe Created" and everyone will claim that they are.  It is extremely easy since you can just fill the Data() command with all the tokens you need and then Copy() them into the program.  I think what you're worried about most is that people will find a way to make a BASIC hybrid program somehow.  But let me reassure you this is impossible due to rule #1 since Axe will not support any commands to run BASIC programs or Assembly programs during the duration of the contest (other than the Asm() command which is forbidden).

1071
Other Calculators / Re: Undocumented LCD feature - Flip screen
« on: July 13, 2010, 05:17:16 pm »
Ah, if only i had a better calc to try this on.  Mine is an H from the K factory (or possibly vise versa).  What was the asm code you used in case anyone else wants to try it?

1072
The Axe Parser Project / Re: Features Wishlist
« on: July 13, 2010, 05:58:35 am »
Yeah I'm not sure what DJ is talking about.  Especially for large games, it will become impossible to keep all the data in a single program and it would be silly to have to package data in other axe programs just so they can be extracted.  Unless he is referring specifically to the BASIC language and not to the BASIC variables themselves which I think is what he is referring to but I'm not sure what the rules are about external data and if there are limits or not so please correct me if I'm wrong.  Its possible that external data might be forbidden, that is, entries must be a single program.

EDIT: Actually, after re-reading the rules, I think its pretty clear that you are allowed to use them as long as they're not being executed or interpreted by the OS.  So I think DJ just misspoke.

I might be able to do the increments in the for loops.  I will see if I can get them optimized enough.

1073
The Axe Parser Project / Re: Axe Parser
« on: July 13, 2010, 02:07:02 am »
Deep Thought, you're exactly correct.  The only thing I might add to that, because its a new feature, is that not all OS Pic variables are created equal.  The ones that are made using StorePic are 756 bytes yes, but many pic vars made on the computer are actually 768 bytes since they can edit the last row and so the amount of data it imports will depend on the picture itself.

As for 0.4.0 features, there will be some small GUI changes probably, I'll try to check off some of those wishlist features, and hopefully there will be some more optimizations to make the code smaller possibly involving a third pass.

1074
The Axe Parser Project / Re: Bug Reports
« on: July 12, 2010, 04:47:11 pm »
EDIT: calcdude, it appears to be another "end of line" bug.  Just make sure you add an extra enter to the end of the program and it should work fine.  I'm fixing that now.

Yeah, DJ is mostly right.  But a pause 9000 is still a pause 9000.  The thing is, it pauses a little first, then subtracts 1 before checking if its done pausing so a pause 0 is actually a pause 65536, which is even longer than a pause 65535.  This is only done for size optimization (obviously not speed since this is a pause command).

1075
ASM / Re: Exiting an APP: bjump _JforceCmdNoChaR isn't working!?
« on: July 12, 2010, 07:00:21 am »
Buckeye, is that trick to use bcall() instead of bjump() always safe to use?  And does that also work with bjump(_Mon)?

1076
The Axe Parser Project / Re: Axe Parser
« on: July 12, 2010, 06:51:05 am »
Its pretty interesting actually.  Let me explain using decimal and then you can extrapolate to hexadecimal.

So say you have two 4 digit numbers, always positive.  If you do a multiplication, what is the largest number you can possibly get?  Well, that's simple to find:

9999 x 9999 = 99980001

Notice how we end up with an 8 digit number.  Since our variables can only hold 4 digit numbers, like the input, we have to decide which 4 digits to keep and which ones to throw away.  We have now have 3 methods to choose (only the underlined part is kept):

9999 *   9999 = 99980001
9999 ** 9999 = 99980001
9999 *^ 9999 = 99980001

There is a little more to ** when you have negative numbers because its signed instead of unsigned, but this is basically how all of these commands works.  Don't forget, you won't get these answers on the calculator because my examples are in base 10 for demonstration.

1077
The Axe Parser Project / Re: Axe Parser
« on: July 12, 2010, 03:16:48 am »
Sorry about the typos in the commands list, I'll fix it next update.

@Builderboy, yeah, its really easy to get 4 lvl gs for the fractal using mod 3, I had it originally, but i thought it was overkill.

1078
ASM / Re: ASM base adress [start adress] in hex
« on: July 12, 2010, 12:45:20 am »
First of all, matthias1992 I can tell you're new to assembly.  The .org is an organization command that keeps track of what to make the jumps, calls, and labels.  If you had .org $9D95 and in your code you were jumping to a label which was $20 bytes past your .org statement, the assembler would know to make the jump address at $9D95 + $20 = $9DB5.  The .org statement itself does not contribute anything to the code, rather it is a command to tell the assembler what to add for each label.  I don't know what compiler you are using, but at this point in time, computer compilers are the only reliable way to compile assembly language programs.  However there are some promising projects in the works.

DJ, quasi_Phthalo was referring to the example code matthias1992 posted which would be like in BASIC: Lbl A:While 1:GotoA:End which just causes a stack overflow and crash.  There isn't really any exploit you would use this for so he is right in questioning his intentions.  I think he just misunderstood that this is just some example code to help explain what he is talking about and not an actual program.

1079
Computer Projects and Ideas / Re: Experimental Game
« on: July 11, 2010, 10:51:23 pm »
No, most likely I was just sloppy about my DirectX coding.  Its probably relying on some dll file that I had to manually download, but I have no idea what it would be.  Either that or its relying on some VS files or something.

1080
News / Re: Some minor site updates
« on: July 11, 2010, 05:51:59 pm »
Out of curiosity, why was the "Forum Users Online In The Last 30 Minutes" bar moved to the top of the page instead of the bottom.  I'm used to seeing it on the bottom in most forums I visit and I kinda liked it there.  I have it minimized now so I can see the new posts at the top of the page.

Pages: 1 ... 70 71 [72] 73 74 ... 135