nesdev.com
http://forums.nesdev.com/

asm6 + ines = asm6n
http://forums.nesdev.com/viewtopic.php?f=2&t=14194
Page 2 of 2

Author:  B00daW [ Sun May 08, 2016 8:28 pm ]
Post subject:  Re: asm6 + ines = asm6n

The potential for NSF(2) and FDS headers could be interesting as well.

Author:  nicklausw [ Mon May 09, 2016 5:59 am ]
Post subject:  Re: asm6 + ines = asm6n

B00daW wrote:
The potential for NSF(2) and FDS headers could be interesting as well.

"FDS", 0x1A, a byte for disk sides and a bunch of zeroes to make it even? Sounds simple enough.

The NSF header is a lot more complicated, though; I think I'll do iNES 2 first.

Author:  nicklausw [ Mon May 09, 2016 6:40 am ]
Post subject:  Re: asm6 + ines = asm6n

koitsu wrote:
There should be defaults for each of the respective pseudo-ops as well (the default values should be documented), so that you could literally have a program that just says .inesprg 1 (with no other .inesXXX directives) and gets you a .NES ROM.

This is already true; the directives default to 0. The readme now says so.

The code does warn if INESINS is used before all 4 other iNES directives, though, to prevent confusion as to when to use the directive. Should I take out the warning?

Author:  tepples [ Mon May 09, 2016 8:22 am ]
Post subject:  Re: asm6 + ines = asm6n

If anything, the warning should depend on the value of inesmap. For mappers commonly used with CHR RAM, it should not warn for a missing ineschr except in verbose mode, in which case it may warn "assuming CHR RAM". And for mappers that control mirroring, it should not warn for a missing inesmir. My ca65 macro pack uses default values (horizontal mirroring, no WRAM, and no CHR ROM) if not specified, and it guesses CHR RAM size as 0 or 8K based on whether or not there's CHR ROM.

Author:  nicklausw [ Mon May 09, 2016 12:03 pm ]
Post subject:  Re: asm6 + ines = asm6n

tepples wrote:
If anything, the warning should depend on the value of inesmap. For mappers commonly used with CHR RAM, it should not warn for a missing ineschr except in verbose mode, in which case it may warn "assuming CHR RAM". And for mappers that control mirroring, it should not warn for a missing inesmir. My ca65 macro pack uses default values (horizontal mirroring, no WRAM, and no CHR ROM) if not specified, and it guesses CHR RAM size as 0 or 8K based on whether or not there's CHR ROM.

I like the "Assuming CHR RAM" idea, but asm6 lacks a verbose mode, it just has a quiet mode. I dunno about having the program go:
Code:
pass 1..
pass 2..
assuming chr ram.
pineight.nes written (however many bytes).


I don't think it'll bother anyone (I usually have asm6 on quiet mode anyway, since it doesn't conform to the output of other tools in my makefile).

Can someone give an example of a game where a discrepancy requires the use of iNES 2? I need a good way to test and make sure I'm implementing it right.

Author:  nicklausw [ Sat Apr 08, 2017 7:26 pm ]
Post subject:  Re: asm6 + ines = asm6n

Just throwing this out there, asm6n's functionality has been added to freem's fork of asm6. The main difference is that it doesn't require INESINS or a flag to the command line. Turns out the assembler works differently than I initially thought a few months back.

asm6n isn't updated with this improved functionality simply because I want to encourage people to use the fork that already has plenty of NES-specific features, now including header directives.

Page 2 of 2 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/