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 ... 88 89 [90] 91 92 ... 135
1336
The Axe Parser Project / Re: Your Projects - Post and Critique
« on: June 11, 2010, 09:55:23 pm »
I will probably add horizontal and vertical line routine eventually since the current line method is pretty slow for that.  That's why I made the 3dracer demo only draw pixel by pixel instead of using line().

1337
The Axe Parser Project / Re: Bug Reports
« on: June 11, 2010, 09:31:24 pm »
ERR: UNKNOWN ERR
Code: [Select]
:.TANGENT
:Lbl T
:  sin(→A)*256//cos(A)

Thank you very much.  That was a very easy error to fix.  I forgot to add signed division to the list of commands to perform as a stack operator (operates on parenthesis).  I hope more people will provide snippets of code that fail so I can see what it is that's a problem.  So far, I haven't been able to replicate any of the other errors, and I'm using it a lot on real hardware too.  If you just archive your program before compiling, it will save even after a ram clear, so you'll be able to post the error.  You can always email me if the code needs to be private.

EDIT: calc84, I'm looking into that too.

EDIT2: Yup, forgot about that.  Now a close parenthesis, enter, colon, or eof will assume it.

1338
TI Z80 / Re: Project... i'll need help
« on: June 11, 2010, 04:39:44 pm »
Do you have a cable you can salvage that can connect to the linkport?  Like a phone headset?

1339
Axe / Re: platform collision question.
« on: June 11, 2010, 04:35:49 pm »
If you're using xor logic in Pt-Change() the blocks won't get erased.  That's the beauty of using xor.  It does however cause the pixels of the intersection to get inverted while the sprite passes through it.  Another way to avoid redrawing the screen is to just use a backbuffer.  Its just as fast recalling the backbuffer as it is to do a ClrDraw.

1340
Oh, I see!  So you mean move all the variables to the end, not separate 8-bit variables.  That's actually a really good idea then.  And I don't think this would cause any compatibility issues assuming no one is abusing the Asm() feature.  The only drawback is that buffer overflows will flow into the A-Z variables making debugging that difficult, but that's really a non-issue.  In fact, its probably far safer than overflowing into some random ram values as far as stability.

I'll wait until I add the feature before moving the variables though.

1341
The Axe Parser Project / Re: Axe Parser
« on: June 11, 2010, 04:11:06 pm »
Next release will be around Wednesday June 16 if all goes as planned.  Yes, I am extremely busy with finals.  I probably won't log on here much until Monday.

1342
Axe / Re: Why doesn't my Map Drawer Work?
« on: June 10, 2010, 03:27:31 pm »
You're reading from an 8x16 grid.  Don't forget, each hex digit is half a byte.  You need them in pairs unless you're doing half-byte compression.

1343
The Axe Parser Project / Re: Sprite Helpers
« on: June 10, 2010, 03:34:11 am »
You can start a new thread if you want.  It doesn't have to be in the Axe subforum either.

By the way, I looked at the code and there are a lot of optimizations possible.  I'll mention a few:

You should NEVER find yourself having to make big lists of non-data.  I noticed this in the Help routine.  I know its doted out, but if you want to do it efficiently, try this:

Code: [Select]
:.HELP
:If K=53
:  Fix 0
:  -1→A
:  Repeat sub(15)
:    sub(DT)
:    sub(GK)
:    If Ksub(1)→T and (A+1<number_you_will_need_to_determine)
:      While {A+1→A+Str00}:End
:    End
:    If K=4 and (A≠-1)
:      While {A-1→A+Str00}:End
:    End
:  End
:  sub(L)
:End


:.Draw Text
:Lbl DT
:  A→B
:  ClrDraw
:  For(J,0,9)
:    While {B+1→B+Str00}
:      Text(0,J*6+3,{B+Str00}►Frac)
:    End
:  End
:  DispGraph
:Return

You can then get rid of all those extra text subroutines.  I don't know if this routine works its untested, but you can probably see how it works.  Also, add a det(1) before Str00.

Code: [Select]
:      3→K
:      3-Xsub(M4)→W

Can be:

:      3→K-Xsub(M4)→W

Code: [Select]
:      0→D
:      2→K

Can be:

:      0→D+2→K


I'll add more stuff later.

1344
The Axe Parser Project / Re: Axe Parser
« on: June 09, 2010, 10:37:31 pm »
@cooliojazz
I'm not sure what those addresses you're reading from are, maybe the ones to get the free ram?  Those would be 16-bit numbers, not bytes so you have to read them with the r modifier at the end to get the whole thing.  I'm guessing that should fix the error.

@Runner112
Yes and Yes.

1345
The Axe Parser Project / Re: Bug Reports
« on: June 09, 2010, 10:28:52 pm »
i accidentally press enter while at home screen. ( last prog run before failed compile was the successful compiled prog )

Whoa, whoa hold up!  Something already sounds really wrong with that.  When Axe fails to compile a program and there were errors, the original program is supposed to be deleted even if it existed before.  Is it not getting deleted then?  That could be a clue as to what the problem might be, let me know.  Also, could you tell me the type of calculator you're using and maybe some other info like archive free, OS, other apps, etc.

1346
The Axe Parser Project / Re: Sprite Helpers
« on: June 09, 2010, 10:18:34 pm »
Hey that is really cool!  Definitely will consider adding this to the Axe Tools, with your permission of course.

1347
Hmm, remember when I suggested you could use IX as a pointer to the variables for easier access when doing 8-bit operations? That would be too much of a hassle, we agreed. But what if you moved the variables to the END of savesscreen? Then they would be within the range of the IY register (which points 4 bytes after the end of savesscreen). Just something to consider :)
Hmm... interesting proposition.  Although it would optimize some operations like addition and subtraction, there is still one key advantage to using the existing variable slots.  By using only the least significant bytes of those variables, you never need to do "conversions" when you switch from word to byte mode.  You have to get input and output somehow otherwise there's not much advantage to the new mode.  By being able to skip the conversions, I think that will save more memory in the long run than by using the iy or ix registers.

By the way, I've further optimized that grayscale command and its basically the same size as my original now except way faster which is excellent.

@ztrumpet: I'm not sure if it actually works, I'm going to assume calc83manic tested it on his hardware and got it to work since he proposed it, but the main issue here is compatibility.  This isn't the only sacrifice I've had to make.  There are a few other places where undocumented commands could make routines more efficient, but that wouldn't please the Nspire users.  I could add waste instructions to the super fast routine, but it really adds a lot to the size since I have to add 3 times as many.

1348
The Axe Parser Project / Re: Bug Reports
« on: June 09, 2010, 01:08:21 am »
@Deep Thought, that sounds too strange to be an internal error.  Something must have gotten overridden.  I think a ram clear would be a sufficient fix but I don't know.

I'd like to request that from now on, please give your calculator type and OS version when reporting any major bugs.  This is becasue I am adding a lot of calculator specific stuff next version.  Also but from 0.3.0 on, when you receive an unexpected error "ERR: UNKNOWN" it will also give a 7 digit code that I can use to find where and when the error occurred.

1349
Axe / Re: Help on collision for tilemaps
« on: June 09, 2010, 12:53:37 am »
No, just the opposite.  Graphic intensive programs are going to be doing a lot of sprite drawing, especially when they have to draw to 2 layers, so those are going to be sped up and the screen is only updated at the end of all that.  On the other hand, if you only draw a few sprites, but still update the screen constantly, you won't get much of a speed increase using Full since most of the cycles are being spent refreshing the screen which takes a fixed amount of time regardless of speed.

1350
Axe / Re: Help on collision for tilemaps
« on: June 08, 2010, 11:59:03 pm »
The normal and Full commands are negligible.  I think they're 10-20 clock cycles whereas the grayscale drawing is in the order of tens of thousands of clock cycles.  Also, all the drawing commands, both monochrome full speed, monochrome normal, 3-level grayscale, and 4-level grayscale take very close to the same amount of clock cycles since the LCD requires the same delay no matter what you're drawing.  The ones that are currently slower are fixed in the next version.  The only real slowdowns are going to be from drawing the sprites.

Pages: 1 ... 88 89 [90] 91 92 ... 135