asm6f
asm6f copied to clipboard
support of the various directives from asm6n
asm6n has support for a few directives that mimic ones found in NESASM:
-
inesprg
: Number of 16K PRG-ROM banks -
ineschr
: Number of 8K CHR-ROM banks (or 0 for CHR-RAM) -
inesmir
: (default) Nametable Mirroring -
inesmap
: iNES mapper number (0-255)
Furthermore, an inesins
directive exists to write the header output.
While I personally wouldn't use the directives, it might make the assembler easier to use for people who don't want to figure out a 16 byte sequence (or use various alternatives for header generation/creation). That, as well as making NESASM code a little easier to port. (Well, without the following paragraph, anyways.)
As it stands, I would personally only find them useful under the following conditions:
- Support for NES 2.0 header values. This would require a number of new directives to be added.
- As koitsu mentioned on the NESDev forum, there should be some sensible defaults set (e.g. 16K or 32K PRG-ROM, 8K CHR-ROM, NROM/Mapper 0, flip a coin for mirroring or ask someone what the default should be) that can be substituted in the absence of those directives. This would allow for the removal of
inesins
.
Implementation notes:
- A variable, named
generate_ines_header
(or similar), set to0
by default. Using any of the ines header directives would change this value to1
(which would generate the header at the output pass). - A few variables corresponding to possible values for each directive, populated with sensible defaults (either 16K or 32K NROM/Mapper 0, no SRAM/WRAM, etc.).
You still around to merge my changes in if I refine them some?
yup!
Out of curiosity, have you ever contacted loopy about seeing if he wants any of your changes merged into the "original" asm6?
I recall at one point asking loopy about absolute addressing syntax, but not about merging any of my changes (since this is really largely other people's work aside from the support for undocumented opcodes and ignorenl/endinl :P).
Can we resolve this ticket, given the merges?