PocketNES, a Free NES emulator for Game Boy Advance by the developer of loopyNES, is scanline-based. Because it's running on a 16.8 MHz CPU, it maps NES video onto GBA video hardware: tiles into tiles, sprites into sprites, palettes into palettes, and timed $2000/$2001/$2005/$2006 writes into HDMA to DISPSTAT, BG0CNT, BG0HOFS, and BG0VOFS. But because the GBA always uses VRAM, it has to do some trickery to get VROM banking to work. And because the GBA PPU runs asynchronously of the emulated NES CPU, it can't do mid-scanline effects (MMC2/MMC4 banking, timed writes to $2000, timed writes to mapper, etc), and because of limitations in raster DMA, it uses the same sort of palettes-onto-palettes mapping that Nesticle used, which might preclude mid-screen palette effects.
At least Jaleco considered PocketNES accurate enough for a classics collection on the GBA, even if Nintendo does use its own emulator (called "acNES" by pirates) for
Animal Crossing, e-reader cards, and the Classic NES Series.