fceux icon indicating copy to clipboard operation
fceux copied to clipboard

Debugger bugs

Open SusiKette opened this issue 2 years ago • 7 comments

I have encountered few bugs in the debugger:

  1. Breakpoints and address bookmarks are not saved
  2. Symbolic debug naming dialog cannot be opened on zero page addresses. You can still get the symbolic name there if you go to the RAM area in the debugger and set it there, but it's a bit inconvenient to do that way. Also the symbolic name is displayed in a strange manner in indirect addressing modes. Current LDA ($5A symbolic_name),Y @ $000D = #$00, and what I think would look better LDA ($5A),Y symbolic_name @ $000D = #$00

These were encountered on FCEUX mscv 1916 x64 release on Windows 10 x64

SusiKette avatar Jan 05 '22 19:01 SusiKette

This issue is on the Qt/SDL version?

mjbudd77 avatar Jan 07 '22 00:01 mjbudd77

How can I check that? I didn't see Qt or SDL mentioned in the 'About' window

SusiKette avatar Jan 08 '22 10:01 SusiKette

If the help menu doesn't have an "About Qt" item. Then you are not using the Qt/SDL version. I recommend giving the win64 Qt/SDL development build a try. The debugger has changed a bit in the Qt/SDL version. You might like it better.

mjbudd77 avatar Jan 08 '22 11:01 mjbudd77

2. Current LDA ($5A symbolic_name),Y @ $000D = #$00, and what I think would look better LDA ($5A),Y symbolic_name @ $000D = #$00

Actually, these lines have two different meanings. LDA ($5A symbolic_name),Y @ $000D = #$00 means that $5A has name symbolic_name, LDA ($5A),Y symbolic_name @ $000D = #$00 means that $0D has name symbolic_name.

Line can contain both of them:

image

Symbolic debug naming dialog cannot be opened on zero page addresses.

Seems like it can't be opened for zero-page addresses when the address already has some symbolic name. I'll check it.

ClusterM avatar Feb 09 '22 13:02 ClusterM

I did some tests.

ORA $01 - dialog cannot be opened ORA $02,X - dialog can be opened only if the address does not already have a name AND $03 - dialog cannot be opened AND $04,X - dialog can be opened only if the address does not already have a name EOR $05 - dialog cannot be opened EOR $06,X - dialog can be opened only if the address does not already have a name ADC $07 - dialog cannot be opened ADC $08,X - dialog can be opened only if the address does not already have a name STA $09 - dialog cannot be opened STA $0A,X - dialog can be opened only if the address does not already have a name LDA $0B - dialog cannot be opened LDA $0C,X - dialog can be opened only if the address does not already have a name CMP $0D - dialog cannot be opened CMP $0E,X - dialog can be opened only if the address does not already have a name SBC $0F - dialog cannot be opened SBC $10,X - dialog can be opened only if the address does not already have a name ASL $11 - dialog cannot be opened ASL $12,X - dialog can be opened only if the address does not already have a name ROL $13 - dialog cannot be opened ROL $14,X - dialog can be opened only if the address does not already have a name LSR $15 - dialog cannot be opened LSR $16,X - dialog can be opened only if the address does not already have a name ROR $17 - dialog cannot be opened ROR $18,X - dialog can be opened only if the address does not already have a name STX $19 - dialog cannot be opened STX $1A,Y - dialog can be opened only if the address does not already have a name LDX $1B - dialog cannot be opened LDX $1C,Y - dialog can be opened only if the address does not already have a name DEC $1D - dialog cannot be opened DEC $1E,X - dialog can be opened only if the address does not already have a name INC $1F - dialog cannot be opened INC $20,X - dialog can be opened only if the address does not already have a name

ClusterM avatar Feb 09 '22 13:02 ClusterM

Dialog can't be opened when there is a space after a two-digit address

image

Because of this check: https://github.com/TASEmulators/fceux/blob/a75c27d517cf8a166e2968918a5846a6d80d84df/src/drivers/win/debugger.cpp#L1713

Need to improve address validation code.

ClusterM avatar Feb 09 '22 14:02 ClusterM

Please try the latest dev build at commit https://github.com/TASEmulators/fceux/commit/132e062d777b193f5d6be4c992ae0bc8eaa84b4d.

ClusterM avatar Feb 09 '22 17:02 ClusterM