+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Does anyone want my (translation and general purpose) tools?
Pages: [1]
Author Topic: Does anyone want my (translation and general purpose) tools?  (Read 2 times)
sqykly
Guest
« on: November 20, 2009, 06:28:14 am »

Way back when I was a (bigger) newbie, I made a post asking if anyone would be interested in the irregular font viewer I had made in OpenOffice Calc.  If I recall, I said that I'd have plenty of time to user-friendly it up for you since I was done ripping the Brandish 2 script, so my job was basically done.  I hope everyone had a good laugh at that!

Now that the Brandish 2 project is complete, I'm offering up the stuff I wrote to make it happen.  For real this time.  Here's what I have:

-Wield Also (for Brandish 2... get it?!) is a script editing & patching utility that outputs to IPS.  It can output the text in literally any encoding scheme that doesn't involve writing it backwards.  Recalculates pointer tables.  Includes non-text data as raw binary and supports a couple of format conversions that take place on import.  Easy to use once the offsets are in, which only has to be done once, and most of the offsets can be extracted automatically.  Very extensible.  Before I upload it, I'll need to remove some of the stuff that was only applicable to Brandish 2 or expand that functionality to be adaptable, maybe add some user-friendliness.

-CLine views 12x12 and 8x16 packed 1bpp images, such as the Brandish 2 fonts.  This is what I was talking about a long, long time ago.  I still have to tidy it up a bit.

-Image gadget takes a SNES screen-sized bitmap and a SNES format tilemap and outputs a bitplane format image as it should be arranged in VRAM to display like the original bitmap.  Can rip, decompress, and recompress in two formats, does 12x12, 8x16, and 8x32 images to and from bitmaps as well.  The user interface is a little unwieldy at the moment, and I'll have to fix that up.  Works well with Wield Also.

-LookIt is a tool that's integrated with Wield Also and answers the question "will this text I'm editing fit on this line?" in one click.  Will need to make setup easier before it's released, but it runs on the same text encoding engine as Wield Also, so it will be as easy as filling in a table.

-AsmHelper is a disassembler and disassembly management tool.  Rips from ROM or incorporates logs from Geiger's Snes9x debugger (which is generally the better code to start with).  Intelligently traces subroutines, branches, and register size.  Identifies SNES hardware registers.  Can automatically bookmark subroutines and follow branches.  Comes with integrated ASMtoIPS and SNES VRAM calculator.  Will need a few touch ups to interface.

-ASMtoIPS is a 65c816 assembler that can output to append an existing IPS generated by a different tool or start from scratch.  Does batches for testing code with different base IPSs - up to 65534 of them.  Very simple; no macros, but supports labels in both the patch code and in the native ROM, all mnemonics and many aliases, and a total of two error messages.  I'll be expanding on this one in a variety of ways (macros, namespaces, address translation), but it's useful enough to release pretty much as is.

Everything I used for the Brandish 2 project is one of the above, or XVI32, or Geiger's debugging snes9x.  So yeah, you can hack a game with this stuff.

I need to know two things: first, which of these tools will be useful to someone, so I know which ones to polish up and make friendly.  ONE BIG CAVEAT is that all of these tools are written as OpenOffice macro-apps, and thus require OpenOffice.org to work.  They will not work with MS Office.  Personally, I like OOo as a development platform because it lets me crank out working code fast and utilize the existing OOo editing environment as a pre-built front end.  Second, I need to know whether to upload them as documents or as utilities, since the utilities are all embedded in the OOo documents that serve as UI.

If you want to know how easy it is to use this stuff, you should ask denpa; he's the only one that's used it aside from me.  I built it, so of course I think it's easy.

Ready, set, discuss!
Moulinoski
Guest
« Reply #1 on: November 20, 2009, 08:03:55 am »

Why not just submit it to the Utilities section of RHDN so the whole world can use it whenever they need it? I see that as being the best thing you can do to offer people your tools.
sqykly
Guest
« Reply #2 on: November 21, 2009, 05:02:41 am »

That is the plan.  Perhaps I should have put my questions at the top of the post.

To summarize, these tools are presently geared toward hacking Brandish 2 specifically.  Each is either full of Brandish 2 content and edits, or has Brandish-specific functionality (e.g. control codes) built into the software.  None of them has any more than the most basic documentation.  I need to know which of them might actually be useful to you so I can adapt them to other roms and hackers.

In the case of the assembler, it's just a matter of wiping the code sheet clean, and it can be used for any 65x game or software.  In other cases, making the tools work for you will be more involved for me.  Brandish 3 is for the PC98, so I'll end up modifying them all, but not in a way that will be useful to SNES rom hackers.

The other thing I need to know is whether they should be posted as utilities or documents.  They're utilities that are embedded in OpenOffice documents and require OpenOffice.org to work.
FaustWolf
Guest
« Reply #3 on: November 24, 2009, 01:02:40 am »

Say, can the user toss any data into "CLine" and it'll read correctly at 1bpp depth, or does it have to be a Brandish 2 ROM at this point? A number of games seem to use 12x12 fonts or other non 8x8 tile-friendly shapes.

Currently I understand FEIDIAN to be the best option, but since it's a command line tool...

Yes, I know I'm being a baby with the very suggestion, but something capable of reading 12x12 tiles at 1bpp depth while being a GUI would be very niiiice. :laugh:
kingofcrusher
Guest
« Reply #4 on: November 24, 2009, 03:54:55 am »

Djinn Tile Mapper does 12x12 and has a GUI, it's a very useful program.
sqykly
Guest
« Reply #5 on: November 24, 2009, 05:16:34 am »

CLine will do it if the bits are packed right.  The second byte of each three byte pair of rows should have four bits each of two rows, the heavier bits on the upper right, the lighter on the lower left.  I haven't used it in forever, so I think it's still a cut-and-paste job, but I can fix that no problem.  Tomorrow.

November 26, 2009, 12:31:08 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Contributed CLine a few minutes ago.  Can also download at brandish2.googlecode.com.

While it seems like everybody here loves their current assemblers, I'll probably get mine up sometime soon.  I didn't find any that will play nice with an externally generated IPS when I looked, so yeah.
« Last Edit: November 26, 2009, 12:31:08 am by sqykly »
FaustWolf
Guest
« Reply #6 on: December 03, 2009, 12:09:19 am »

sqykly, thanks for uploading CLine and thanks to kingofcrusher for the suggestion. Turns out Barubary's TiledGGD did the trick, but I'll try CLine when it passes the queue and see if it works too, for the heck of it.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC