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 ... 125 126 [127] 128 129 ... 153
1891
« on: October 16, 2010, 11:34:32 pm »
It's kinda weird since each VAT entry is a different size, but to go to the next VAT entry (backwards), here's what you do. I haven't tested it yet, but it should work.
If A is the VAT pointer pointing at the first byte of the current entry, first subtract 6 to get to NL (the byte that tells you the length of the name of the VAT entry):
:.A is currently at the first byte of the VAT entry :A-6→A
Then subtract the value stored there, which should move you to the end of the VAT entry:
:.A points to a value that tells you how long the rest of the VAT entry is :A-{A}→A
Then subtract one more to get to the first byte of the next entry:
:.A is at the end of the VAT entry :A-1→A
To put it together:
:A-6→A-{A}-1→A
For more info, here's a page that tells you how the VAT basically works.
Umm, I don't think that would work... That's just another way of doing what Quigibo's code that goes to the next entry does.
1892
« on: October 16, 2010, 10:09:40 pm »
that look really good! I'm going to assume this is for loops? btw, how did you get it to look so natural? (the swirl, I mean)
I used the Photoshop for people who don't want to fork over almost a thousand dollars (or any dollars, for that matter) for a piece of software: GIMP.
1893
« on: October 16, 2010, 09:48:53 pm »
Here's a 16-frame rotation for the captured ship sprite SirCmpwn made. The rotation kicks the corners of the sprite out 1 pixel in each direction, so the resulting rotation occupies a 9x9 space, which might be a little tricky to account for. No single sprite is bigger than 8x8, though, so you could try to deal with it by fitting them all into 8x8 sprites and then displaying some of them shifted 1 pixel in the x and y directions.
1894
« on: October 16, 2010, 08:53:51 pm »
Well just because some internet site uses 50x50 images, it doesn't mean you have to for a calculator guide EDIT: OOHHHHHHHH, this is going to be a guide for that site? That makes 100 times more sense now.
1895
« on: October 16, 2010, 07:08:14 pm »
Just wondering, because every time I see this topic I wonder... why 50x50? It might just be how the interface is set up that allows for a 50x50 space for this, but it bugs my semi-OCD side that the X value isn't a multiple of 8
1896
« on: October 16, 2010, 06:59:25 pm »
It's definitely less optimized than that, but I guess it's nice to not have to worry about having a variable to switch them through that you don't need for other things. Although I doubt a program will be using every single byte of safe RAM areas, so it would probably be easiest to just designate a 2-byte pair in a safe RAM area for things like that.
1897
« on: October 16, 2010, 06:23:06 pm »
just found something cool. if you *really* don't have any temp variables to exchange two values, the following code should do the trick:
. "xor" is the 16 bit plotstyle-box xor, not the actual word xor. A xor B->A A xor B->B A xor B->A
Woah, that's a neat trick! I never thought of that. But you could optimize it a bit A xor B->A xor B->B xor A->A
1898
« on: October 15, 2010, 04:29:20 am »
I assume this variable would be a bit like Ans, right?
It wouldn't be like Ans that much, but I guess I see how it could be a bit similar. Pretty much all loading and numerical operations put the result in the hl register, so hl is more like the Ans of Axe. The point of this is having something like a backup Ans that only takes one-byte instructions to load from and store to, as opposed to three-byte instructions with data in RAM. Any use of this would have to be simple and small, as just about any routine or math call would overwrite its value
1899
« on: October 13, 2010, 12:49:32 pm »
I'm not sure how _InsertMem and _DeleteMem work, but couldn't they mess up data pointers in the VAT? I thought they were used only in edit buffers.
Seeing that there's a bcall called InsertMemNoUpdateVAT, I would have to assume that InsertMem (and DelMem) automatically update the VAT.
1900
« on: October 13, 2010, 05:41:22 am »
I have an interesting request. I request that the user variables are moved into L2 so that L1 can be opened up into a 3rd full screen buffer, or a larger span of memory. L2 *is* the location for some interrupt data for MirageOS and Axe alike, but MirageOS does not seem to use the last 56 bytes of L2 and i believe Axe could be restructured in itself. What do you think? Is this possible?
I second this.
1901
« on: October 12, 2010, 08:45:24 pm »
New request (I think): Line(X1,Y1,X2,Y2,)r. Lines draw directly to the back-buffer.
Also I'm not sure how hard it would be but might there be a third buffer sometime in the future? Not for grayscale, but pxl-test to it? Something like this would really help me optimize the game I'm working on (In the sig it says I'm done, but I'm trying to make a more memory-friendly version for the 83PBE)
Ive already asked Quigibo for a line routine for the back buffer but maybe your second request for it will help better convince him to add it. As for a third buffer, Quigibo is limited by the safe RAM areas that exist on the calculator and are big enough to hold 768 bytes, of which there are only three. L 6 and L 3 are two of them, and the third is at L 1-56. The first 56 bytes of this screen storage area are used by the random number generator and the 27 variables. If you wanted to use this area, you would have to avoid the use of the rand function and allocate some other place in RAM for variables (and any other data you might have had in L 1), possibly a different safe RAM area or an appvar. However, this is a bit of a pain, so what I would suggest is creating a 768-byte appvar for the third buffer when your program starts and delete it when exiting. EDIT: How did I know I would get ninja'd on this one...
1902
« on: October 12, 2010, 08:28:40 pm »
The token swap on u, v, and w that becomes appv, grp, and var is happening within text strings as well, causing garbled text to appear in displays.
Version 0.4.4
You shouldn't be using the u, v, and w tokens in strings, that's what the lowercase alpha option is for . The u, v, and w tokens are different than the lowercase letters u, v, and w, and they aren't designed to be used in strings because they don't have ASCII character equivalences.
1903
« on: October 11, 2010, 09:39:29 pm »
I got ninja'd before I could even post. I had the sprites done for my attempt, I was just making a fancy animated GIF so you could see how well they animated.
1904
« on: October 11, 2010, 08:40:23 pm »
* DJ Omnimaga is curious what project is Ztrumpet working on It's one in my sig...
I bet it's Sudoku EDIT: By the way ztrumpet, I don't think you ever mentioned what gray level you wanted.
1905
« on: October 11, 2010, 04:33:51 pm »
int ntg = myRandom.Next(); I believe the problem exists with this line, as you don't specify a range to choose the number from. Without specifying a range, ntg will just equal a random 32-bit integer, and the probability of that being in the range of 1-30 is about 0.0000007%.
Pages: 1 ... 125 126 [127] 128 129 ... 153
|