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 ... 43 44 [45] 46 47 ... 153
661
« on: March 02, 2013, 11:56:50 am »
Just having GDB000 and GDB001 sitting like that isn't including them as data. They get included as code just like any other code sitting on a line outside of any special directives. To include pointers as data, use the Data() directive (token: ∆List()), like this. The superscript r's mark that the values are 2-byte values: .HEADER [000D0917]->GDB000 Data(GDB000ʳ,GDB001ʳ) .MAPDATA [0119000101010001] .more map data
Assuming all headers are 4 bytes and you had a pointer to a map header in S, you could then read the pointer to the previous map header with {S+4}r and read the pointer to the next map header with {S+6}r.
662
« on: March 02, 2013, 11:33:45 am »
Print() doesn't copy the type byte for the variable, because that's not really part of the name. Try changing Print(L1) to Print(L1+1) and put dim()→{L1}r before it.
663
« on: March 02, 2013, 11:28:21 am »
Alright, I'm guessing the issue was just a limitation in the number of replacements the Axiom system could perform in a single command. So not really a bug, but more of a lack of a feature to include infinitely many.
664
« on: March 01, 2013, 11:15:18 am »
Maybe the sheer number of replacements is an issue... Is it possible for you to send me the axiom to test? It doesn't look like I'll be able to just guess the issue, I've used up my simple Q&A tests. If it's something wrong with the axiom system, I doubt I'll guess it, I really need to debug it.
665
« on: March 01, 2013, 11:01:49 am »
Two funky janitorial things to remember when using REP_NEXT in a command: - Add 1 to the calculated command size at the start of the command header for each REP_NEXT used, and add 2 for each OFS_NEXT used. The redefining of the origin backwards in these macros causes this discrepancy.
- Make sure the origin at the start of the command code (the command body, not the command header) is 0.
Are both of these accounted for?
666
« on: February 28, 2013, 08:34:24 pm »
Just read the first and only character of the string: {ptr}.
667
« on: February 26, 2013, 10:35:09 pm »
Since I don't even know what a toroid is... I think you're on your own for this one lol.
EDIT: Didn't see shmibs' post, here's my response to that: Doing the same thing with a custom assembly routine wouldn't be substantially smaller or faster, so I don't see a reason to implement such a command.
668
« on: February 26, 2013, 07:44:38 pm »
I'm not sure I know what you mean by that.
Also I should probably ask, in what situations would you use a command like this? That might give me slightly better insight to the value of something like it.
669
« on: February 26, 2013, 06:56:46 pm »
That would be insanely hard to code. Basically it's like drawing an arbitrarily sized sprite, which is hard enough, but on top of that the source data for the sprite doesn't have to be aligned to byte boundaries, you have to clip off any garbage in the leftmost and rightmost bytes, you have to draw the new sprite either from top to bottom and either from left to right according to the relative positions of the rectangles... It's a big mess.
670
« on: February 26, 2013, 12:09:12 pm »
It still doesn't draw lines whose endpoints are offscreen. Are you planning on changing that or should I stop pestering you about it?
That's a little bit my fault really... Axe needs proper line clipping still, it's just a pain to get right and optimized.
671
« on: February 26, 2013, 12:05:22 pm »
Oh, I think the 24 consecutive calls might be the issue... Perhaps use a loop to do those calls, or absorb that command into the one that calls it so much.
672
« on: February 25, 2013, 07:06:09 pm »
Why can't the two programs be combined? Unfortunately the OS doesn't really allow for programs to call routines in other programs, so there is no simple way to do it.
673
« on: February 25, 2013, 07:00:37 pm »
I'm pretty sure that means that a command in your axiom has too deep of a reference, meaning it references a command which references a command which references a command, etc. I've never really looked at the axioms system because it's a bit of a mess, but I doubt you've actually built a linear chain of references that's long enough to hit the limit (which happens to be 8). I would guess that, more likely, you have a circular chain of references, like one command referencing itself, or two commands referencing each other. In the case of one command referencing itself, you can simply skip the reference replacement system and do a standard load preceded by REP_NEXT, call, or jump. In the case of two or more commands referencing each other... that might not work with the current axiom system. It's something that would have to be fixed in a rewrite, so I can't really promise a fix for it any time soon at all. But if they reference each other, that means you know that you need both of them present if either is called, so can't you combine them into one command?
674
« on: February 25, 2013, 12:33:33 pm »
Is there some reason why you're asking this question? It seems to me that fewer files would always be better. Is there a catch? If not, I see no reason why not to go ahead and make it one file.
675
« on: February 23, 2013, 07:52:09 pm »
I think there might be an issue with HLines() drawn off the screen.
What version of the command are you using? Because the 3-argument version is known to be broken in Axe 1.2.1.
Pages: 1 ... 43 44 [45] 46 47 ... 153
|