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
« 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
« on: June 11, 2010, 09:31:24 pm »
ERR: UNKNOWN ERR
:.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
« 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
« 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
« on: June 11, 2010, 04:22:57 pm »
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
« 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
« 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
« 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:
:.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.
: 3→K : 3-Xsub(M4)→W
Can be:
: 3→K-Xsub(M4)→W
: 0→D : 2→K
Can be:
: 0→D+2→K
I'll add more stuff later.
1344
« 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
« 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
« 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
« on: June 09, 2010, 09:59:04 pm »
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
« 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
« 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
« 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
|