Language…
17 users online:  Atari2.0, codfish1002,  Deeke, Domokun007, gemstonezVA, iamtheratio, Macrophaje, mario90, mathie, Maw, nonamelol1,  nycvega,  Ringo,  Segment1Zone2, SirMystic, synthie_cat, xMANGRAVYx - Guests: 273 - Bots: 349
Users: 64,795 (2,375 active)
Latest user: mathew

Thread number one (SHex)

Tool

  • Pages:
  • 1
  • 2
SHex (Pronounced "Shh ex") is a SNES Hex (hence SHex) Editor. This is mostly a beta as I didn't have time to put some super polish on this yet. But its mostly bug free™. I'm open to feature requests and bug reports, though many features and bugs are planned/known.

Features:
* Tab based
* Supports lorom, hirom, sa1rom, sfxrom, and preliminary stubs for more
* Full metadata editor
* Many options for copy formats
* Paste/Paste raw for whatever your needs
* Character mapping (uses the xkas/asar format for cross compatibility)
* Built in disassembler for SNES and SPC code -- SuperFx and Cx4 support planned
* Bookmark system -- can give the disassembler extra hints too
* goto system
* Branch and jump following
* Basic obvious features: Save, save as, open, new, etc
* Undo/Redo support
* select all/range
* Dynamic scroll bar modes (normal and adaptive)
* Settings manager (you can actually change things!)
* Hot keys for pretty much every feature
* Find and replace
* Adaptive to system themes when possible

There are many more features planned as I get time to add them too :).


Youtube video: https://www.youtube.com/watch?v=3JOgOb7Dpeg
Beta Download: http://bin.smwcentral.net/u/6944/shex.7z
Source Download: http://caffie.net:31415/root/shex/repository/archive.zip

If I have time I'll be sure to do a thread 2. Works a bitch eh?
Oh and on a side note: I will do a static build for the full release which will drastically reduce download sizes.

In the mean time here is a bookmark file of the entire known SMW ROM map: http://bin.smwcentral.net/u/6944/SMW.sbl
Honestly, I appreciate this as I don't like a lot of available hex editors. This one looks and seems really efficient, especially since it is geared towards the SNES. Good work.




I'd use something like this just fine. Really slick stuff there.
My Website on Neocities
Quote
Built in disassembler for SNES and SPC code -- SuperFx and Cx4 support planned

Cool, now I can check the LM patched smw version of the dissembly to find where certain codes moved to due to LM hijacks (like this forum I had a problem to deal with making the screen focused onto the player centered rather than having 2 lines that moves the screen if the player crosses it. #smw{>:|}) Also helps on the new rom map I was hoping for since several asm/hex editing coders have experienced LM hijacks conflicts also.

Good work!#smw{:peace:}

(When you mean by that, did you mean it outputs a txt file of all the codes as asm (including addresses), like smwdisc/all.log? ...but without the comments (because it doesn't know what a particular block/section purpose is for)?)

Also are you gunna submit this to the tools section once you're done fixing the issue and polishing it?
Give thanks to RPG hacker for working on Asar.
Solid tools are always amazing. Bookmarks and in-application disassembling are fantastic features.

Originally posted by p4plus2
In the mean time here is a bookmark file of the entire known SMW ROM map: http://bin.smwcentral.net/u/6944/SMW.sbl

Is this file still my fault? :P
Show the opcodes's hex bytes it take up, (you see on all.log/smw.disc; the numbers between the address (far left) and the opcodes (middle)).
Give thanks to RPG hacker for working on Asar.
Add a way to compare two roms and it's golden.
Originally posted by GreenHammerBro
Show the opcodes's hex bytes it take up, (you see on all.log/smw.disc; the numbers between the address (far left) and the opcodes (middle)).


It is a single column disassembler. I don't like the all.log format so I won't add it
What about comparing ROMs? Would you add that?
Originally posted by S.R.H.
What about comparing ROMs? Would you add that?


I wouldn't mind that, I just don't know how I want to do that interface wise. I'll be thinking about that for sure.
Originally posted by p4plus2
Originally posted by S.R.H.
What about comparing ROMs? Would you add that?


I wouldn't mind that, I just don't know how I want to do that interface wise. I'll be thinking about that for sure.

Dhex uses 2 panes that are synced to the same position and highlights the bytes that are different. Could do something like that, works pretty good for me.
Originally posted by HuFlungDu
Originally posted by p4plus2
Originally posted by S.R.H.
What about comparing ROMs? Would you add that?


I wouldn't mind that, I just don't know how I want to do that interface wise. I'll be thinking about that for sure.

Dhex uses 2 panes that are synced to the same position and highlights the bytes that are different. Could do something like that, works pretty good for me.


I don't think that would work very well if the ROMs desync greatly, though in SMW ROMs things done tend to move very much I guess.
I'll see if I can convince shex to do this, it really wasn't really designed for that sort of interaction, so it may require a lot more effort than its worth honestly.... It may work slightly better if I do a stacked panel though... hmmm...
It gets to be useless if you add code, but doing a meld type comparison would be basically useless for hex anyway. At least this can give you differences in hijacks and pointers and whatnot.

Stacked panels is what they do in dhex. Not that I know how your code works, but theoretically just having two panel objects that sync their start/end offsets would be pretty easy.
What about the snes address on left column? will you include that?
Give thanks to RPG hacker for working on Asar.
Originally posted by GreenHammerBro
What about the snes address on left column? will you include that?



Did you even look at the tool?
Originally posted by HuFlungDu
It gets to be useless if you add code, but doing a meld type comparison would be basically useless for hex anyway. At least this can give you differences in hijacks and pointers and whatnot.

Stacked panels is what they do in dhex. Not that I know how your code works, but theoretically just having two panel objects that sync their start/end offsets would be pretty easy.


I had designed it to only have at most one active editor (mostly because of the menus and dialogues). But, so long as one is purely visual and non intractable I think it will work perfectly fine. I'll poke around with it.

EDIT: Actually it works far better than I thought. Sometimes past self amazing current self. Took maybe 5 minutes and they synced up and even shared selection drawing. All I need to do now is provide an interface for selecting the two files and then do the highlighting.
You can ignore my theme (its adaptive to the user theme when possible) but diffs can now be done.

Is there a way to jump to the next difference?
Originally posted by HuFlungDu
Is there a way to jump to the next difference?

Not yet, I didn't have the opportunity to do it last night. Any hotkey preferences? I'm thinking ctrl < and > (really . And , but for same of visualisation <>).

Edit: I should also mention the compared for is read only. I could change that but I figured it wasn't necessary. The primary file of course may be edited (and live updates the diff).
  • Pages:
  • 1
  • 2

Tool