Favourite NES emulator for debugging purposes?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Favourite NES emulator for debugging purposes?
by on (#61692)
Topic says it all. :)

by on (#61702)
- Everyone will say FCEUX (or any other variant of it).

by on (#61704)
I noticed FCEUX didn't like PAL that much. The scanline counter refused to work >240.

by on (#61707)
The scanline counter is broken in debug mode anyway. The real problem is that the code is so messy thay it's difficult to get the current timestamp, and the timestamp of the previous frame.

by on (#61715)
Of course, Rveach's version of Nintendulator (http://rveach.romhack.org/Nintendulator/index2.php) has a few stuff that FCEUX does not:

+ Nametable Character Address from PPU with ROM access display and detection,
+ a Sprite Viewer capable of viewing characters instead of Hex,
+ a more accurate Palette view with Sprite Viewer
+ a more stable Scanline Counter to view in debugger

There is a couple of cons with this emulator for debugging:

- Outdated, unless updates are implented via FCEUX or Quietest's latest version of Nintendulator
- No Hex Editing
- No Sprite Access editing via Hex Editing
- Sprite viewer cannot display 8x16 at it's current state

Another good alternative to FCEUX, but I'm using both!

by on (#61723)
Definitely FCEUXDSP 1.07, for me. The newest, fused version of FCEUX seems to have only partially implemented the debugger present in SP 1.07. It can load my namelist files (generated with nlgen), but does not insert the names or comments between disassembled lines of code; it only shows names in the actual disassembled code. For example, with the same namelist files, SP 1.07 will show me:

Code:
Name:  .proc sound_initialize
Comment: ;enable square 1, square 2, triangle and noise

$D776:A9 0F     LDA #$0F
$D778:8D 15 40  STA $4015 = #$FF
$D77B:A9 00     LDA #$00
$D77D:85 13     STA  apu_data_ready: .res 1 = #$01
$D77F:20 55 DB  JSR  .proc sound_initialize_apu_buffer
$D782:60        RTS


but FCEUX 2.1.3 only does this at the same address:

Code:
07:D776:A9 0F     LDA #$0F
07:D778:8D 15 40  STA $4015 = #$FF
07:D77B:A9 00     LDA #$00
07:D77D:85 13     STA  apu_data_ready: .res 1 = #$01
07:D77F:20 55 DB  JSR  .proc sound_initialize_apu_buffer
07:D782:60        RTS


(though, prefixing with the bank number was a nice addition...)

SP 1.07 allows me to view all labels and comments in my source code, including across multiple prg banks (that is, with exhaustive namelist files). I'm hoping the fused version of FCEUX will eventually re-introduce these features (or document the current one so I can use it; I haven't met anyone yet who has been able to use it the same way as SP 1.07 either).