increment hex bytes with mouse wheel

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
increment hex bytes with mouse wheel
by on (#215810)
Are there any emulators with debuggers / hex editors which allow you to increment / decrement bytes using the mouse wheel or key / mousewheel combination? if this isn't a regular feature it should be. I'm sure many people here have spent hours typing in hexadecimal bytes with their left hand until their whole arm was sore. I've even tried dipping into the FCEUXD SP sourcecode to see if it was remotely possible to make that alteration to the program alas my C++ is worse than my Hebrew. has anyone here found another possible solution to this problem?
Re: increment hex bytes with mouse wheel
by on (#215811)
To the best of my knowledge, this is not a regular feature, no. I've mainly used resedit (18 years ago), hxd and fceux.
Re: increment hex bytes with mouse wheel
by on (#215812)
Not even Mesen, beautiful beast that it is, has this, and it practically has everything. Maybe I should just suck it up and Git Gud at typing :p

funny I can play bass riffs for hours but ask me to type 09 then 0A and I'm crying :'(
Re: increment hex bytes with mouse wheel
by on (#215814)
Sounds like you need a more ergonomic interface:
https://www.ipv6buddy.com/ should do it. :)
Re: increment hex bytes with mouse wheel
by on (#215815)
Nice. I'd buy one if I saw it at a store. But it's still not as easy as scrolling through values with a mouse.
Re: increment hex bytes with mouse wheel
by on (#215816)
the closest solution I can think of for this is to write it into the joypad handler of my NES code, then tie the Windows mouse to the Arkanoid paddle input. but as you all know just dropping a block of code into a NES program isn't always straightforward.
Re: increment hex bytes with mouse wheel
by on (#215817)
ResEdit was before mice made by Apple even routinely had a second button, let alone a scroll wheel. That didn't become common until the Mighty Mouse. Does its successor (Interface Builder in Xcode) bind any editing functions to the wheel?

How would a hex editor distinguish scroll wheel events to change a nibble from scroll wheel events to actually scroll the window? Would it be acceptable to hold a key on the keyboard to enter wheel=increment mode? If you cannot find an existing hex editor as precedent to answer the question of user expectation, do tracker-style music sequencers have a similar binding for the scroll wheel?
Re: increment hex bytes with mouse wheel
by on (#215818)
Quote:
How would a hex editor distinguish scroll wheel events to change a nibble from scroll wheel events to actually scroll the window?


I'd maybe suggest click-hold + y-drag at a ratio of maybe 2 screen pixels = 1 increment/decrement? Guess the comfort zone would depend on mouse dpi as well.

edit: for 0-ff that is. if only changing 0-f, there'd be more space to turn around on.
Re: increment hex bytes with mouse wheel
by on (#215819)
as the scroll wheel is already bound to the scrolling of the hex editor window, it would be ideal to access the function I suggested by holding something like Ctrl or Shift + wheel
Re: increment hex bytes with mouse wheel
by on (#215820)
interestingly enough I have had some success with ResEdit, modifying FCEUXD SP into a "Netbook Edition" when the windows wouldn't fit my 1024 x 600 screen. ( I modified the window size and text positioning in the nametable viewer ) but like tepples said, it's not going to be as easy to use it to change key bindings.
Re: increment hex bytes with mouse wheel
by on (#215823)
FCEUX and Mesen both have built in assemblers, so you could type in assembly code instead of hex, if that's any easier.

Though TBH I'd be curious what you are trying to do that requires typing in a lot of hex digits into an emulator? If you're copying large amounts of data, maybe you could do it with an automated script instead? (Or with existing cut and paste functionality?)
Re: increment hex bytes with mouse wheel
by on (#215824)
On top of my head a romhacker might want to type over raw nametable data (most often static graphics like a title screen or menu). First in RAM to get instant feedback on the edits, then copy (or translate, if it is derived from structures or RLE) the result to ROM to save it.
Re: increment hex bytes with mouse wheel
by on (#215826)
off the top of my head, it would be used for tuning timed code, changing colors or values on the fly, adjusting sounds, other forms of brute-force trial and error which require monitoring output from the program while changing the values that affect it
Re: increment hex bytes with mouse wheel
by on (#215829)
But incrementing or decrementing would be really tedious if the current value in a memory position is too far from the value you want... I don't see how this would be an advantage over directly typing the values you need.
Re: increment hex bytes with mouse wheel
by on (#215830)
It was pretty trivial to implement (4 whole lines of code), so I give it a shot. Build: download

Basically, hold Alt and put your mouse over any byte you want to change, scroll up to increment by 1, down to decrement by 1.
I can't really see myself using this in most scenarios, but considering it's 4 lines of code, I don't mind keeping it in if it's useful to someone :p
Re: increment hex bytes with mouse wheel
by on (#215839)
WWWWHHHHHHHHHHHHHOOOOOOOOOOOAAAA thank you so much I am ecstatic. You have made my day this is amazing.

at first I thought there was a problem because I opened it in the zip file and saw this:
Attachment:
mesenerror.png
mesenerror.png [ 43.91 KiB | Viewed 2473 times ]

But I just dragged it into the program folder after renaming the original exe and everything worked. Thank you, your emulator is literally the best.

the only thing I might change would be making it change the hex nybble that's hilighted in yellow rather than the byte that the mouse hovers over, and making the key combo with Ctrl instead of Alt (or put it in the shortcuts tab of preferences). It's perfect.
Re: increment hex bytes with mouse wheel
by on (#216053)
Just to let you know, I changed the key from alt to shift, to avoid the menu highlight problem you mentioned. So if you update to 0.9.5, you'll need to hold shift to get this behavior.