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 - Runer112
Pages: 1 ... 89 90 [91] 92 93 ... 153
1351
« on: April 10, 2011, 12:59:03 pm »
I believe the reason the root is ending up in the denominator is simply because it's combining like terms. The √X in the numberator is being combined with the X in the denominator, giving √X in the denominator. I could be wrong, but that's my hypothesis at least.
1352
« on: April 10, 2011, 11:01:27 am »
I've been waiting for you to show up in IRC since Friday so I could give you this routine, but since I haven't seen you yet there, here it is! It returns strings like the OS would when displaying numbers on the home screen with the Float setting. It perfectly mimics the OS routine for every reasonable input I've tried, even when using hacked float variables that have exponents above 99. The only thing it doesn't perfectly mimic is hacked floats that contain invalid hexadecimal characters. But that shouldn't happen too often.
Anyway, you said you wanted this for speed. Good news! The OS routine appears to take an average of about 5500 cycles in my tests, whereas my routine takes an average of about 1600 cycles. It'll cost you 244 bytes, but the choice is yours.
And anyone besides Hot_Dog, feel free to grab this routine as well. Note though, that because I made this routine to Hot_Dog's specifications, it has a few weird quirks. The location of the string returned has to be a constant, but you can change that. Right now it's set to OP4. You'll also probably want to get rid of the ld (hl),20 \ inc l at the start of the routine, another weird quirk Hot_Dog said he needed. Also, note that the string returned is a null-terminated string of tokens, not characters. You should be able to change this though by simply changing all the token values in the routine to ASCII values.
1353
« on: April 10, 2011, 01:32:03 am »
Haha you know what the problem is? The ° "command" isn't checking whether or not the next token is actually a valid variable that can be dereferenced. So in your code, it's parsing X° , as loading the value of X and then loading the pointer to , even though the latter makes no sense. So there's a bug for you to fix after all, Quigibo.
1354
« on: April 09, 2011, 09:24:01 pm »
I would suggest changing the token replacement to Block(). Feeding 1 argument would create a block of the specified size filled with zeroes. Feeding 2 arguments would create a block of the specified size filled with a specified value.
I like that idea. It would make it compatible with previous versions.
That's the idea.
1355
« on: April 09, 2011, 08:59:14 pm »
Can we have a feature like "Zeros()," but for any data. For instance, something like this: Command(1,12) would be the same as [010101010101010101010101] Command([56],4) would be the same as [56565656] Command(127,6) would be the same as Data(127,127,127,127,127,127) Potentially, this command could even be used for repeating sets of data. For instance: Command([010203],12) would be the same as [010203010203010203010203] Command("Text"[00],15) would be the same as "Text"[00]"Text"[00]"Text"[00]
So, what do you think? Could this be a command? I think it's a good idea, to avoid situations like this.
I really like that idea. What about changing Zeros( (det() to something more universal?
I would suggest changing the token replacement to Block(). Feeding 1 argument would create a block of the specified size filled with zeroes. Feeding 2 arguments would create a block of the specified size filled with a specified value. Maybe you could even add a Block()r command for creating a block filled with a specified word while you're at it, although this probably isn't as necessary as a normal byte-filling block command.
1356
« on: April 09, 2011, 02:33:59 pm »
Could you add an option to the options menu for expert users that would turn off the scope checking? Because I can definitely think of times when I wanted to be able to push/pop across multiple lines for extreme optimizations.
EDIT: Also Quigibo, do you want to put up that poll that you had proposed earlier about the GetCalc() functions?
1357
« on: April 08, 2011, 03:50:01 pm »
I voted no. Bots use colors and bold/underline tags to help their outputs be more easily read, as they often consist of multiple fields that could otherwise be hard to separate and decipher by readers. For a person who is just using IRC to chat, though, colors don't really serve a useful purpose. Colored text also helps distinguish people from bots by relying on bots talking in colored text and humans talking in plain text, a theme I have noticed in a number of IRC channels that I find very helpful. And just like you don't text or email people with lots of colors, you shouldn't IRC to them with lots of colors. If I did receive an email with lots of colored text, I would immediately think: spam. Which is also the only possible use for colors in OmnomIRC that I can think of.
1358
« on: April 07, 2011, 04:26:00 pm »
If you're only moving a few bytes, it's best to just move them with individual load/store commands, like:
{L₃}ʳ→X
The reason that's giving you an error, though, is because the degree modifier needs to precede variables.
1359
« on: April 06, 2011, 11:12:05 pm »
[/offtopic] We can twist the law too! http://bash.org/?577451 <DmncAtrny> I will write on a huge cement block "BY ACCEPTING THIS BRICK THROUGH YOUR WINDOW, YOU ACCEPT IT AS IS AND AGREE TO MY DISCLAIMER OF ALL WARRANTIES, EXPRESS OR IMPLIED, AS WELL AS DISCLAIMERS OF ALL LIABILITY, DIRECT, INDIRECT, CONSEQUENTIAL OR INCIDENTAL, THAT MAY ARISE FROM THE INSTALLATION OF THIS BRICK INTO YOUR BUILDING." <DmncAtrny> And then hurl it through the window of a Sony officer <DmncAtrny> and run like hell
1360
« on: April 06, 2011, 11:50:59 am »
For that matter, a lot of things could still use optimized immediate value versions. Pretty much every comparison could, as well as a few other operators. For instance, p_BoolOrImm, p_BoolAndImm, and p_BoolXorImm have been sitting in Commands.inc since Axe 0.4.7 and I would love to see them implemented. Constant bit setting and resetting would also be awesome. Unfortunately none of these things can be achieved with an Axiom, or I would be all over this.
1361
« on: April 05, 2011, 04:59:46 pm »
I believe this bug was fixed in Axe 0.5.1. Are you using the latest version of Axe?
1362
« on: April 04, 2011, 03:35:40 am »
I don't notice any speed difference at all. Holding down an arrow key for 2 seconds and then letting go, the sprite moved the exact same number of pixels in both grayscale modes.
And I'm not entirely sure how a general overclocking discussion would be pertinent to the Axe Bug Reports thread.
1363
« on: April 04, 2011, 03:18:18 am »
If changing the clock speed doesn't harm the CPU, then why is overclocking so bad?
The z80 processor in the calculators supporting 15MHz mode was designed to be able to operate at 15MHz. Setting it to 15MHz isn't overclocking it. In fact, the calculator normally runs at 15MHz, so it would be more realistic to say that setting it to 6MHz is underclocking it. And there would be no damage from changing the CPU speed, that's just like changing the value of any other internal data or port in the calculator. As for your speed discrepancy, I'm guessing you're seeing it because the DispGraphrr routine is slower than the DispGraphr routine.
1364
« on: April 04, 2011, 02:44:49 am »
I assure you that the speed of the Pt-Change() routine, as well as every other Axe routine, is affected only by itself and the arguments passed to it. The simple presence of other routines in your code will not affect the routine. Also, because I don't really think rapid-fire clock-changing is conducive to a long and happy CPU life, could it be possible to, while compiling, keep track of what speed the clock is set at and change the routine used accordingly?
Changing the clock speed doesn't harm the CPU.
1365
« on: April 04, 2011, 02:23:06 am »
That's not a bug, and it doesn't only happen when you're using DispGraphrr.
Pages: 1 ... 89 90 [91] 92 93 ... 153
|