It is currently Fri Nov 24, 2017 11:47 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 252 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17
Author Message
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sat Sep 09, 2017 5:40 am 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
B00daW wrote:
- I'll check now, but there have been some instances of mesen/debugger crashes with editing RAM in the memory viewer.

I had it crash on me several times when trying to use cheats. Apparently enabling any cheat crashes the emulator for me.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sat Sep 09, 2017 6:01 am 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
B00daW wrote:
- Holding joystick/controller inputs seems to affect keyboard inputs, like holding shift-f* to make a savestate.
- I'll check now, but there have been some instances of mesen/debugger crashes with editing RAM in the memory viewer. i'll report after more extensive usage in 0.9.3.

- Something that seems a bit out of the ordinary is that watch locations do not update in the debugger in real time like other emulators. Watch is nice for seeing addresses in realtime, grouped in a manner the user wishes, without having to scroll up and down through the memory viewer. I know there is logging too, but realtime is good for active gameplay/analysis.
I thought I had mostly taken care of regressions between the new shortcut system and the old one, but there are some cases where it requires you to hit exactly the shortcut and nothing else, if there are potential conflicts with other shortcuts (this logic might not be perfect atm)

The watch has any option to auto-refresh while running Options->Refresh watch while running - or is that option not doing what you are expecting?

Let me know if you find a way to reproduce any crashes, happy to fix them.

tokumaru wrote:
I had it crash on me several times when trying to use cheats.
Are you talking about 0.9.2 or 0.9.3? 0.9.2 had a bug where opening the cheats window caused crashes pretty often. This is fixed in 0.9.3 - I just tried using cheats again to make sure, and it seems to be working normally on my end


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sat Sep 09, 2017 7:14 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19256
Location: NE Indiana, USA (NTSC)
Here's how I'd handle input containing overlapping shortcuts:

There are two kinds of keys: modifier keys and letter keys. Modifier keys are Ctrl, Alt/Option, Shift, Super/⊞/⌘, and joystick buttons. Letter keys are all other keyboard keys, the mouse buttons, and directions on the mouse wheel. In a shortcut, the user would be expected to press modifier keys before the last letter key, such as Ctrl+S not S+Ctrl, or Shift+click not click+Shift.

Shortcut evaluation would follow these steps:

  1. If a shortcut contains a letter key, and the most recently pressed key is a modifier key, do not activate the shortcut's action.
  2. If all keys for a shortcut are pressed, and the shortcut contains a letter key, and there is no shortcut that consists of the currently held keys plus additional letter keys, activate the shortcut's action on key-down.
  3. If all keys for a shortcut are pressed, there is no shortcut that consists of the currently held keys plus additional keys, activate the shortcut's action on key-down.
  4. Otherwise, save the shortcut's action and activate it on key-up if there are no intervening key-downs.

For example, if someone defines Ctrl+R and Ctrl+Shift+R:

  1. Ctrl down: Ctrl is modifier key; no shortcuts match
  2. Ctrl and R down: R is letter key; Matches subset of Ctrl+R and Ctrl+Shift+R; matches all of Ctrl+R; Ctrl+R activated

If anyone else can think of a set of shortcut bindings that might conflict, I'll run them through this logic.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sun Sep 10, 2017 10:21 am 
Offline
User avatar

Joined: Thu Jan 03, 2008 1:48 pm
Posts: 543
Sour: Oh yeah I see the refreshing Watch list now. Great! However, if you have refresh watch list checked, you cannot remove a Watch by right-clicking while it's updating. It's greyed out and will not let you.

Also, is there a way to give an address in Watch a nickname? For example: [$17E] "Spawn Checkpoint" ?

Tried using a "Label" in the debugger. UI is a bit weird with it... Can only right-click and label something highlighted at times. Also after giving a label to something you can no longer search for the original address name; just in case you forgot your label.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sun Sep 10, 2017 12:52 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
The delete button being grayed out in the watch is a bug (because the auto-refresh feature is clearing out the list's selection on each refresh) - I'll fix it.

Right-clicking on an address to add a label seems to be working properly for me? Do you mean the "Edit Label" option is grayed out even though you right-clicked on an address?

You can also add labels by right-clicking the label list on the right and choosing "Add" - so in your example, if you set a label for InternalRam to $17E and call it Spawn_Checkpoint, then you can write [Spawn_Checkpoint] in the watch window instead of [$17E].

Good point about the search, not sure that there is any simple solution other than adding a "Disable all labels" toggle that would force the code window to ignore labels. On the other hand, you can sort the label list on the right by clicking on the columns, so it shouldn't be that hard to find the label matching a given address in most cases.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sun Sep 10, 2017 2:59 pm 
Offline
User avatar

Joined: Thu Jan 03, 2008 1:48 pm
Posts: 543
OK; cool... I tried the labels before, but the Watch didn't update the name once if was already labeled in the Watch section as the true address. It's a little awkward but as long as it works somehow. :)

Been noticing some strange things given the breakpoints when you right-click the breakpoint section in the debugger and add a range. For instance, I had a range of $5000-$5FFF (without adding the $ symbol of course.) Sometimes I got an "OK" button; other times it was greyed out. I had "execute" and "write" checked, and tried unchecking both; rechecking, etc. Only worked after I closed the window and tried again. Not sure what happens time to time... Seems intermittent.

Another thing is the Memory Editor. Worked on a game where I edited a RAM location and changed the nibbles in the byte. There was a specific routine that seemed to be on the very intimate to the main loop so it updated instantly on a nibble entered; and did not update to the desired effect. In that instance it needed a full byte value updated instantly. Would be good if the cursor jumped to and from bytes instead of nibbles and then waited for each character to be changed.

Love your work and I'm critical of the things I love... You're a gem.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Sun Sep 10, 2017 7:21 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
It would be hard to update the watch expressions based on labels, given the complexity of the expressions that can be used - a simple find and replace wouldn't be reliable.

The breakpoint validation logic is pretty simple - if you had one of the types checked and your range made sense (e.g start < end), then the only thing left would be that you had a badly formed condition in the condition field. Next time it happens, take a screenshot of the window, would probably help figure out what is wrong.

Forcing whole bytes to be edited would be sort of annoying when you do only need to modify half of it, though (and keeping track of this state would require a fair bit of extra logic for the control) - I'd suggest just breaking the execution before making changes to memory if you need to do this.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Tue Sep 12, 2017 11:45 am 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
Sour wrote:
tokumaru wrote:
I had it crash on me several times when trying to use cheats.
Are you talking about 0.9.2 or 0.9.3? 0.9.2 had a bug where opening the cheats window caused crashes pretty often. This is fixed in 0.9.3 - I just tried using cheats again to make sure, and it seems to be working normally on my end

It was 0.9.2, but I'm now using 0.9.3 and still getting errors when using the cheat finder. I got these after pressing the "reset" button:

Attachment:
mesen-cheats-1.png
mesen-cheats-1.png [ 21.44 KiB | Viewed 788 times ]

Attachment:
mesen-cheats-2.png
mesen-cheats-2.png [ 16.42 KiB | Viewed 788 times ]


Clicking "OK" just shows the same error window over and over.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Tue Sep 12, 2017 5:56 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
Thanks for the report, was a small bug in the UI's code - it's fixed.


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Tue Sep 12, 2017 9:58 pm 
Offline
User avatar

Joined: Thu Aug 13, 2015 4:40 pm
Posts: 115
Location: Rio de Janeiro - Brazil
There is one thing that is bothering me a bit. I'm not sure if it's just on my PC, but when I pause the emulator, hold a button on the keyboard (X, which I configured to be the NES "A" button), and hit left control (which is my hotkey for "Run single frame"), the game doesn't advance a frame. In fact, it will only work if I'm not pressing any key while I press control, which kind of beats the purpose of pausing the emulator to test something specific in the game. Is this a setting or just how it is?

_________________
http://nesrocks.com/blog/superpitfall30th/


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Wed Sep 13, 2017 3:58 am 
Online
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10118
Location: Rio de Janeiro - Brazil
I don't know what the deal is with keyboard input interfering with other emulation controls, but doesn't the debugger have a virtual controller that you can use in situations like this?


Top
 Profile  
 
 Post subject: Re: Mesen - NES Emulator
PostPosted: Wed Sep 13, 2017 4:22 am 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
nesrocks wrote:
In fact, it will only work if I'm not pressing any key while I press control, which kind of beats the purpose of pausing the emulator to test something specific in the game.
This is probably the same issue as the one mentioned a few posts back related to shortcuts - the whole shortcut handling changed drastically in 0.9.3, and there are still some minor issues with it that I need to fix. For now, try setting the "Run Single Frame" shortcut to use a key that is not used by any other shortcut - the behavior you're getting is most likely due to the Ctrl key being used in other shortcuts (e.g Ctrl-O)

And also, like tokumaru said, there is a virtual controller in the debugger as well as another unrelated "Execute single frame" option mapped to (I believe) F8, you could also try using that instead (although ideally both ways should work!).


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 252 posts ]  Go to page Previous  1 ... 13, 14, 15, 16, 17

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group