asm6f icon indicating copy to clipboard operation
asm6f copied to clipboard

support of the various directives from asm6n

Open freem opened this issue 8 years ago • 4 comments

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:

  1. Support for NES 2.0 header values. This would require a number of new directives to be added.
  2. 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 to 0 by default. Using any of the ines header directives would change this value to 1 (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.).

freem avatar May 09 '16 04:05 freem

You still around to merge my changes in if I refine them some?

nicklausw avatar Mar 24 '17 19:03 nicklausw

yup!

freem avatar Mar 24 '17 19:03 freem

Out of curiosity, have you ever contacted loopy about seeing if he wants any of your changes merged into the "original" asm6?

nicklausw avatar Mar 24 '17 19:03 nicklausw

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).

freem avatar Mar 24 '17 20:03 freem

Can we resolve this ticket, given the merges?

koitsu avatar Jan 22 '23 11:01 koitsu