Jump to content
NHL'94 Forums

How to update a HEX file programatically (not by hand)


Goldglv

Recommended Posts

Was wondering if anyone could shed some light on how programs like NOSE update the hex file to change player attributes and so forth. Is it all done in the code behind the scenes or is there some tool that is used?

Was considering creating an editor for a different game and was hoping someone could possibly explain how the updating of the hex file is actually done....

Link to comment
Share on other sites

NOSE is written in visual basic 6. I assume it reads the file into a big array of bytes and changes the values then writes it all out to disc. Visual Basic 6 is long-dead, but there's Visual Basic .NET

EARE is written in C++. Same idea.

smozROM is written in Python (which is much quicker to write than C++)

A few very basic descriptions of how to do this in python are here: http://stackoverflow.com/questions/4599835/simple-edit-to-a-binary-file-in-python

Do you have any specific questions?

Link to comment
Share on other sites

The source code for smozROM is included with the program.

http://forum.nhl94.com/index.php/topic/12181-tool-hack-applicator-aka-smozrom/

See the .py files in the src folder.

You can get python here: https://www.python.org/downloads/ (I used version 3.x not 2.7)

Link to comment
Share on other sites

  • 1 month later...

I wrote a very basic editor for Madden and was wondering how to go about automatically updating the rom file. Right now the user has to select the text and paste it into the rom file manually. Not a big deal but would like to get it done automatically. I will take a look at the links you provided and see what I can come up with, thank you.

Also....I know this is an NHL forum but I was trying to figure out a way to remove the passing windows in Madden 93. I know someone who was able to remove the 'defensive catch up' within the game so I would think this would be possible too. Just not sure on where to start to try and find where this is stored. Any ideas on that?

I assume most people here are familiar with Madden but you press A to hike the ball for a pass play then you press A again to bring up the passing windows and then A, B or C to throw to that receiver. Just wondering how difficult it would be to bypass the 2nd button press of A or just to prevent the passing windows from popping up with the 2nd press of A, I'd be ecstatic with that!

Edited by Goldglv
Link to comment
Share on other sites

For editing the file programmatically, you'll want to google reading and writing binary files. What language are you using?

For editing madden.. It won't be straight forward, you'll have to start at the basics of hacking sega games. Here's the tutorial I used when I first got started: http://forum.nhl94.com/index.php/topic/3474-reference-nhl-94-rom-hacking-school/page-2#entry94927

Link to comment
Share on other sites

I wrote the editor in Powerbuilder, I know it's a much older language so I'm not sure if there are commands to read/write binary files but I will look into it.

Yes, I've read over that tutorial a few times and it definitely helps, just going to take me some time figuring out how to read everything since I know nothing about Assembler. Do you think it's possible to eventually get those passing windows removed? Or do you think it's not even possible?

Link to comment
Share on other sites

Getting rid of the passing windows would be quite tough if starting from scratch. If there's a madden forum somewhere, maybe someone there would have more knowledge about the inner workings of the game.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...