Apologies for the necro, but in the hopes some enterprising individual finds this handy or somewhat inspiring in the future:
ON FOG OF WAR:
In my experimentation thus far I tend to favor selective palette swapping with a code loop. Two important caveats though:
1) This is far easier in NesMaker v4.1.5 than in more modern iterations (purely based on personal experience, others may differ)
2) This is kind of a stupid and CPU-heavy approach to it, but I absolutely adore the resulting visual effect.
In short-- If you know how to palette swap individual tiles, then you can simply loop through relevant proximal tiles to remove light and add light as appropriate by quickly swapping from a colorful palette to a darkened palette. The tricky part is doing so in a manner consistent with the movement of your character (i.e. when you move to the right the 3 tiles 32px behind you go dark and the 3 tiles 32px ahead of you go light etc.). You can slim this down by skipping irrelevant tiles using their X/Y bounds, and by making shorthand functions of the 'Darken' and 'Lighten' values for using in the palette swap function / script.
For enemies, if they are objects you can simply make sprite sets for dark / half lit / fully lit and adjust it based on their proximity to the player character. This allows some interesting art possibilities, like having glowing eyes when they are half lit in the dark tiles surrounding the player etc. Having a proximity script of this kind in your subroutines could also allow multiple light sources, as you could integrate such a function into the palette swap loop to skip tile values already overlapping other light radii.
I have a lot going on in my life at present and have larger projects I am way behind on that are not NES-related, so I won't likely be able to illustrate all these concepts working 100% or provide code unfortunately, but I have included a brief gif of some of these things in action on a prototype I made a while ago in 4.1.5 so folks can see an example of what I mean, and maybe see the potential merits to such an odd approach. I love tile-constrained roguelike movement and ZX-esque aesthetics, but you could easily adapt such an approach to smoother movement with prettier lighting.