|
"You mentioned concern about the name "A65"; I don't mind, and even if I did, I don't think I'd have a right to. =)"
Thanks :). Note that this is a NES specific assembler. (Support for non-NES systems would be "feature", not something standard. This was another reason for my question regarding the name...)
(Each of my bullet (dash) points will correspond to yours. I was originally c/p'ing 2 points at a time to here, putting them in quotes and replying, but that would have made the post unnecessarily large(r).)
-Once I get to macros (There's bound to be more quirks in the basic workings that I haven't found yet.), the question is whether to have macros as part of the "pre-processor"-thing (currently, the pre-processor just does one level of .include), or require macros to be defined before they are used. -OK, I've implemented IRQ:, seems that no games use BRK (FCEU doesn't even emulate them (I tried creating one of those software interrupt interfaces using the padding byte..)), not that I know anything about it, but does sound use the IRQ vector or something (seen things I don't understand in docs... the usual :))? -Anonymous labels are currently just a variable that contains the address of the last one and any references to '-' are resolved using a specially rewritten version of the "label apply'er" routine, So each * can only be used by -'s past it, and only until another * is found. A '>-' (forward reference to the next one) probably would be too hard, and if I decide to do it, would be the extent of any anonymous label functionality. -#< and #> have been implemented. -Didn't think of that, good idea. Not sure what you mean by "also fit in well with your RAM map mode". .RAM is essentially so that it can be known ahead of time whether a label is zero page or not, so I choose zero page or absolute on the spot. Being able to do things like make a label for (example) $2001, is a plus. -Yep strings, wanted my .db to be like almost all other assemblers. -I have a .dw in my latest version, from the current readme: .DW - Like .DB except with words (16-bit value) and no strings in .DW. Note that the values are inserted as you put them (i.e. $2002 is not changed to $02,$20). I constantly thinking of changing that to what you'd expect it to do on a 6502 assembler, and then adding that .dw.be... -I have a .pad, which adds a certain number of bytes onto the internal address counter. I will have a ".advance"-like item implemented soon; I agree that it is a necessary addition.
I will package the lastest verion (v1.95), so that the readme can be looked at.
I'm eager to see if Robo finds the UNIF spec, as I got pretty far figuring it out from looking at a simple UNIF demo in a hex editor. But it doesn't run yet (FCEU doesn't give any errors about the header anymore though.).
Thanks for the thoughts and ideas and comments! :) (I feel like I forgot something, but I always feel like that, so I'll post again if I realize later that I actually did...)
|