News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Is there a program...  (Read 2626 times)

joe73ffdq

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Is there a program...
« on: December 13, 2015, 01:07:00 am »
Are there any programs for people like myself who dont know real programming. Something that I can insert sections from a hex editor, and just create my own labels as I go along. Basically, I am asking if there is a utility, that isnt specific to any particular game, but lets me place chunks of code, or even graphics, and then label it accordingly.

I would be looking for something that works like game specific editors, only I will program the functions and labels.

Here is an example, so I can find the best option. Say I want to take a chunk of code that runs from 10330 to 1034f. I would name the label, and then set whatever function I want for (each or any amount of bytes). Whether it is a single byte, 2 bytes, 3 bytes, or larger assembled sections.

I want to take everything off of notepad, and turn it into a working utility.

chillyfeez

  • Hero Member
  • *****
  • Posts: 836
    • View Profile
Re: Is there a program...
« Reply #1 on: December 13, 2015, 01:49:58 am »
I'm not sure I'm clear about the essence of what you're trying to do.
Tell me if I'm right - you've written some code (in hex, maybe?) In a notepad file and you want to copy it from there and insert it into an existing ROM?
I think there are some hex editors out there that let you copy from notepad and paste into them, but I've never seen it done. It seems to make more sense just to write the stuff in a hex editor to begin with.
Also, do you know that simply inserting new assembly into empty space in a ROM won't change the behavior of the game unless you jump to that new code from somewhere in the original code? That would be like putting 100 yards of train track in some random spot and expecting a train to travel down them even though they don't connect to any existing rail lines.
As for labeling these new sections that you want to insert - no, that doesn't exist and probably never will. I guess I can conceive of a specially-programmed hex editor that makes use of some kind of proprietary secondary data file to help you keep your ROM organized, but the application of such a thing would be pretty limited in the grand scheme of things.
Then again, maybe I'm completely misunderstanding what you want to do, so maybe let's start here: what, specifically, are you trying to accomplish?
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

joe73ffdq

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Is there a program...
« Reply #2 on: December 13, 2015, 02:43:37 am »
I knew I didnt explain it right.

I know how code interaction works, and how to set it up.

I just dont have the patience to learn c++, and create my own editors.

Is there a 6502 (non game specific) pre built utility, that will load the rom, and let me determine where edits are made.


chillyfeez

  • Hero Member
  • *****
  • Posts: 836
    • View Profile
Re: Is there a program...
« Reply #3 on: December 13, 2015, 02:58:59 am »
Um... I don't think so?
How do you suppose a non-game specific editor would be able to tell the difference between original code and edited code?
I suppose you could make an IPS and open that up in a program like IPS Peek, which allows you to view the individual changes a particular patch makes to its applied ROM.
It still sounds like what you want is some sort of hex editor that uses a secondary file to index parts of the ROM. The convenience of which probably would not justify the time its creation would require. I mean, you could just keep a changelog, right?
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

joe73ffdq

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Is there a program...
« Reply #4 on: December 13, 2015, 04:41:26 am »
Here is specifically what I am looking for.

I have a decent amount of data for Dragon Warrior 2, and I would like to release something better then documents, when I am done.

More importantly, something for FF1. Some type of hackster program, that lets you set the given ranges, of which code is doing what.

chillyfeez

  • Hero Member
  • *****
  • Posts: 836
    • View Profile
Re: Is there a program...
« Reply #5 on: December 13, 2015, 09:27:00 am »
I think my previous post still applies.
To wit - a document is only useful at all if the person trying to read it knows how. If the program you're talking about does in fact exist, I've never seen it. And despite (I presume) searching for it, you've never seen it. The conclusion we can draw from this is that if it does exist, then it is obscure, and therefore the convenience of a file created with it would be eclipsed by the inconvenience of the necessity of figuring out how to read it. By comparison, a changelog written in notepad could be read by practically anybody who's ever used a computer and its depth would be limited only by the amount of effort you'd be willing to spend on it.
Ongoing project: "Final Fantasy IV: A Threat From Within"

Latest Demo

FAST6191

  • Hero Member
  • *****
  • Posts: 3104
    • View Profile
Re: Is there a program...
« Reply #6 on: December 13, 2015, 09:28:09 am »
A guy named keshire did a lot of work with hex workshop and jump ultimate stars on the DS ( https://gbatemp.net/entry/jump-ultimates-move-file.2740/ ), similar some editors like XVI32 include considerable scripting capabilities.
Hex workshop has some of the best file compare functions I have seen, though I do need to handle shifted data where that is less common on older consoles (assuming you are not playing with the MSX version of dragon warrior that is), and you could probably do a file compare and also have the markup/scripting from hex workshop carry you through.

That said using a scripting engine like this feels like painting yourself into a corner. C++ is a pain, no argument there -- it is somewhere between a performance language and a library based affair, is old enough to not be streamlined but at the same time have had loads of development and has its own quirks and oddities on top of it all. This however is why we have things like Python. Python and co are not fast but if you just need something to read a few hundred kilobytes of binary data and do the odd bit of logic on it then it is more than suitable for task.
If you are familiar with ROM hacking then learning languages, especially if you are not that versed in coding to begin with, can be a pain as you sit there bored to tears as it takes 4 pages to explain hex or something but keeps peppering it with syntax and the logic used such that you can not skip it. In those cases I suggest finding another book. I quite often find the suggestions of http://programming-motherfucker.com/become.html to be good, for python in particular then http://learnpythonthehardway.org/book/
Alternatively you might consider lua, if only because things like FCEUX and other hacker focused emulators will often use it as a scripting language.

tvtoon

  • Sr. Member
  • ****
  • Posts: 371
    • View Profile
Re: Is there a program...
« Reply #7 on: December 13, 2015, 11:40:13 am »
Here is specifically what I am looking for.

I have a decent amount of data for Dragon Warrior 2, and I would like to release something better then documents, when I am done.

More importantly, something for FF1. Some type of hackster program, that lets you set the given ranges, of which code is doing what.
Why don't you take a while to learn wiki codes and paste all that stuff in Data Crystal? By spreading your knowledge, I am sure others will make tools for your needs.

abw

  • Hero Member
  • *****
  • Posts: 575
    • View Profile
Re: Is there a program...
« Reply #8 on: December 13, 2015, 03:32:24 pm »
Why don't you take a while to learn wiki codes and paste all that stuff in Data Crystal? By spreading your knowledge, I am sure others will make tools for your needs.

+1 for adding your information on Data Crystal. The RHDN message boards do get pruned every now and then, so any information that only exists here runs the risk of being permanently lost. Besides that, I think people are more likely to check the wiki first than to search through the message boards for old posts. Also, the wiki code isn't at all complicated and will probably take you no more than 5 minutes to get the hang of.

Back to your original question, it sounds like what you might be looking for is an assembler. Have you ever tried using something like xkas for asm hacks before?

Specifically for Final Fantasy 1, have you seen Disch's FF1 Disassembly? It basically lets you add/remove/modify any code or data you want, and then you can use an assembler to reassemble everything back into a working ROM.

joe73ffdq

  • Full Member
  • ***
  • Posts: 200
    • View Profile
Re: Is there a program...
« Reply #9 on: December 15, 2015, 12:14:34 am »
I just realized that I am complicating what I am trying to do.

Documents can be just as good as a utility, if I label and organize them well.

I will look into the data crystal when my work on DW2 is done. I will release the documents, and then I can also give a short hand version in the data crystal.