+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Romhacking on Linux
Pages: [1]
Author Topic: Romhacking on Linux  (Read 2 times)
Psychedelic-Squid
Guest
« on: January 06, 2009, 07:00:31 pm »

Hello, new poster here.

I was wondering if anyone on RHDN would be able to help with a query. Namely, what romhacking tools are available for Linux?

Don't be afraid to recommend tools that must be compiled from source, I migrated long enough ago to be used to (most of) the quirks of my chosen distro.

Ideally, I'd like to have at least what I refer to as a DIE-CAT set of tools (I know, terrible name):
  • Disassembler(s)
  • Script Inserter
  • Script Extractor
  • Corrupter
  • Assembler(s)
  • Tile Editor

Where utilities are platform specific (i.e., assembler for NES obviously wouldn't work w/ SNES romhacking), I tend to focus on NES, SNES, Genesis/MegaDrive, GB/GBC and GBA (though I have dabbled with N64 - yes, I may very well be a closet Nintendo fanboi), if that info makes it easier to point out good/appropriate tools.

As I said, any information at all would be very much appreciated. Thanks in advance.
Sliver X
Guest
« Reply #1 on: January 06, 2009, 07:12:54 pm »

Unfortunately, I basically have to use Win32/DOS utilities under Linux to get much accomplished...

* Disassembler(s): The closest I come to this is FCEUX's debugger/logger.
* Script Inserter: Thingy (DOS)
* Script Extractor: Windhex.
* Corrupter: Again, FCEUX, but I don't corrupt that much anymore (Compared to tracing, it's like using C4 to remove a tumor instead of scalpel).
* Assembler(s): FCEUX. I hand code my assembly routines straight into its Hex Editor.
* Tile Editor: YY-CHR, fo' sho'.

The Win32 utilities run fine under Wine or something like VirtualBox, and I run Thingy under DOSBox.
Psychedelic-Squid
Guest
« Reply #2 on: January 06, 2009, 08:32:04 pm »

Quote from: Sliver X on January 06, 2009, 07:12:54 pm
Unfortunately, I basically have to use Win32/DOS utilities under Linux to get much accomplished...

*sigh* Never been a huge fan of Wine. But, if it gets the job done...

Quote from: Sliver X on January 06, 2009, 07:12:54 pm
* Corrupter: Again, FCEUX, but I don't corrupt that much anymore (Compared to tracing, it's like using C4 to remove a tumor instead of scalpel).

Tracing? I haven't really been following the rh scene for the last few years, but finally got back into it. Unfortunately, this means that I have zero knowledge of tracing. I'll go check the documents database, but if you could recommend anything specific, that would improve matters considerably.

Thankyou for your swift reply!  Grin
Azkadellia
Guest
« Reply #3 on: January 06, 2009, 11:06:52 pm »

Hmm, for Windoze I use:

FCEUX - Debugger and stuff
Jair's Script Inserter and Extractor (unfortunately, it can't handle compressed scripts or DTE encoding Undecided\\\)
YY-CHR/Tile Molester - Tile stuff
Sliver X
Guest
« Reply #4 on: January 07, 2009, 02:12:39 am »

Quote
Tracing?

Short for Tracing Routines: Basically, using a debugger to walk through code to find what you're looking for. This requires at least a basic grasp of the assembly language and peripheral hardware (like the PPU registers in the NES) your target platform uses.

The NES and SNES have fairly decent debuggers (FCEUX and Geiger's SNES9x), while the Gameboy's best debugger is probably a combination of BGB and VBA.

Mednafen also has a pretty good debugger for the PC Engine that I've used to great success, and it even has a native Linux build. Mednafen's debugger keys are kind of arcane, though, so you'll want to read the readme!

I am aware that there a lot of other emulators with debuggers, but these are the only ones I have used and can personally vouch for.
« Last Edit: January 07, 2009, 02:17:45 am by Sliver X »
Psychedelic-Squid
Guest
« Reply #5 on: January 07, 2009, 05:15:39 am »

Oh! So that's tracing. So I actually do know a little about it then. Last time I was following the scene it was an unnamed, clearly evil, form of assembly-level hacking. I feel so old...

But thanks anyway!
Karatorian
Guest
« Reply #6 on: January 30, 2009, 12:39:30 am »

Here's what I use, it's mostly un*x native stuff:

Patching - uips, diff, patch
Hex Editor - hexedit (the one by prez)
Corrupting - dd (good for all sorts of stuff)
Assembler - as65 (part of the cc65 package)
Disassembler - dcc6502 (kind sucks, I need a better one)
Custom Tools - python, csh
Build System - make
Version Mangement - svn
Graphics Viewing - bnuview, tilemolester, mototile (not realeased, yet)
Graphics Editing - tilemolseter, gimp, mototile
Script Dumping - romjuice
Relative Search - pysr
Text Editing - gedit
Emulation - fceu (several versions), ines (buggy as hell, but fast)
Archiving - tar, bz2, unzip, unrar

I'm sure I forgot a few things, but that's most of them.
BRPXQZME
Guest
« Reply #7 on: January 30, 2009, 01:09:10 am »

Back when I was younger and crazier (psh! as if!), I had hacked together some stuff to work with P65 for my assembler. Had to do with using MML and stuff. Don’t really remember now.

I wish I knew where the heck I put all that stuff away....
Next gen Cowboy
Guest
« Reply #8 on: January 30, 2009, 01:12:36 am »

Did you check the closet? If so then try under the bed, or the freezer!

I often find I leave hard drives, laying around in the weirdest places.
Karatorian
Guest
« Reply #9 on: January 30, 2009, 03:22:46 am »

Quote from: BRPXQZME on January 30, 2009, 01:09:10 am
Back when I was younger and crazier (psh! as if!), I had hacked together some stuff to work with P65 for my assembler.

I actually have p65 in my tools directory and used it a bit before I discovered cc65. It's not bad, but not the greatest either.
BRPXQZME
Guest
« Reply #10 on: January 30, 2009, 12:16:39 pm »

At the time, I was a high school freshman with absolutely no knowledge of how to compile a C program and keep it in ~/usr/bin and stuff like that. p65’s advantage for me strictly was “runs on Linux, uses one file, keepable in home directory”.
Pages: [1]  


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