Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - FCEUXD information | |
Pages: 1 2 3Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
bbitmaster

Koopa
Level: 18

Posts: 5/103
EXP: 25264
For next: 4633

Since: 03-28-04
From: Knoxville, tTN

Since last post: 12 days
Last activity: 7 days
Posted on 08-17-04 03:36 AM Link | Quote
As a many of you may know, for the past 9 or so months I've been working on a special version of fceud while adding many more features. I've never really said much about it publically outside of #rom-hacking, so I decided to finally post something about it. I've added a ton of features so far.

To name a few things: it has a built in trace logger, something special which I call the code/data logger and it can let you directly edit the rom while it is running via a built in hex editor. Actually, that is such a quick overview of the features it doesn't nearly do it justice. After all, DahrkDaiz himself said that it was an invaluable tool in making most complex ASM hacks possible in MA. This thing will make hacking and reverse engineering nes roms much easier than it currently is

Right now, I'd say the whole thing is about 60-70% complete, I have no idea when it will be finished. I'm going to be going to college full time in a couple weeks, so that may slow down progress even more. Anyway, feel free to ask any questions in this thread. I'll probably be posting screenshots later on as well so stay tuned.


(edited by bbitmaster on 08-16-04 06:37 PM)
DahrkDaiz

Red Super Koopa

Acmlm's Mosts 2005
Best ROM Hacker

Level: 45

Posts: 285/885
EXP: 643520
For next: 16644

Since: 03-15-04
From: K-Town

Since last post: 4 hours
Last activity: 4 hours
Posted on 08-17-04 03:43 AM Link | Quote
bbit makes this seem so non-chalant but really, this utility will revolutionize the ASM hacking community for NES hackers.

I was able to do more in a month to SMB3 (which you saw in the Coin Quest demo earlier) with this thing than 6 months spent on Mario Adventure. Once this thing is complete, you won't need any other utility for ASM hacking NES games.

Not only that, I'm sure this would immensely help any budding ASM hacker as it's robust tools will aid in learning ASM, as well as hacking it since it provides so many conveniences.

I won't go into detail on how this will be accomplish, this IS bbit's thread and utility, but take it from me, I've used this baby and still do, it's amazing with this guy has done to a previously simple utility.
KATW

King Yoshi
"If you stare at something long enough, it can be funny."
Level: 86

Posts: 1653/3959
EXP: 6087979
For next: 54128

Since: 03-15-04

Since last post: 7 hours
Last activity: 5 hours
Posted on 08-17-04 04:04 AM Link | Quote
Wow... active hex editor... incredible.

This may open the doors to hacking more NES roms that have been almost untouched. (Kirby Adventure anybody?)

And if DharkDaiz says its good... Ugh, this board needs a drooling smiley SO BADLY!!!


(edited by Kirby ATW on 08-16-04 07:41 PM)
windwaker

Ball and Chain Trooper
WHY ALL THE MAYONNAISE HATE
Level: 61

Posts: 71/1797
EXP: 1860597
For next: 15999

Since: 03-15-04

Since last post: 4 days
Last activity: 6 days
Posted on 08-17-04 04:38 AM Link | Quote
Kirby adventure isn't untouched . Kefka and I found data for it, and it's been released.
Googie

Surarok
Level: 39

Posts: 130/624
EXP: 380784
For next: 23987

Since: 03-15-04
From: Corona Queens New York

Since last post: 3 hours
Last activity: 3 hours
Posted on 08-17-04 04:48 AM Link | Quote
I'll take your'e words for it Bbit master & Dahrk Daiz, I know this'll help me get on the ball with ASM hacking. I can't wait for the finished product. Thank you for the info.
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 381/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 08-17-04 05:57 AM Link | Quote
Damn. Now if only something like this existed for Snes hacking. At least I don't think anything of this magnitude exists.
bbitmaster

Koopa
Level: 18

Posts: 6/103
EXP: 25264
For next: 4633

Since: 03-28-04
From: Knoxville, tTN

Since last post: 12 days
Last activity: 7 days
Posted on 08-17-04 09:18 AM Link | Quote
As promised, here


(edited by bbitmaster on 08-17-04 12:18 AM)
Kyoufu Kawa
I'm not bad. I'm just drawn that way.
Level: 70

Posts: 443/2481
EXP: 3008456
For next: 7355

Since: 03-19-04
From: Catgirl Central

Since last post: 14 hours
Last activity: 13 hours
Posted on 08-17-04 04:25 PM Link | Quote
Originally posted by bbitmaster

I'll talk more about this tomorrow, when you'll find out exactly what "Save Stripped Rom File" means.

Is it a ROM with just the code?
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 382/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 08-17-04 11:49 PM Link | Quote
I would presume that it would be an ordered set of the code that was executed while the player was playing. On the other hand, something of that sort couldn't possibly be complete unless you did everything that was possible in the game in one sitting.
windwaker

Ball and Chain Trooper
WHY ALL THE MAYONNAISE HATE
Level: 61

Posts: 72/1797
EXP: 1860597
For next: 15999

Since: 03-15-04

Since last post: 4 days
Last activity: 6 days
Posted on 08-18-04 06:04 AM Link | Quote
Originally posted by Kawa-oneechan
Originally posted by bbitmaster

I'll talk more about this tomorrow, when you'll find out exactly what "Save Stripped Rom File" means.

Is it a ROM with just the code?


This is what I thought, as well.
DahrkDaiz

Red Super Koopa

Acmlm's Mosts 2005
Best ROM Hacker

Level: 45

Posts: 292/885
EXP: 643520
For next: 16644

Since: 03-15-04
From: K-Town

Since last post: 4 hours
Last activity: 4 hours
Posted on 08-18-04 06:43 AM Link | Quote
Originally posted by MathOnNapkins
I would presume that it would be an ordered set of the code that was executed while the player was playing. On the other hand, something of that sort couldn't possibly be complete unless you did everything that was possible in the game in one sitting.


That's the cool stuff about this, it doesn't have to be in 1 sitting. I think from what bbit has told me, you could have several people play it and combine the logs. You could easily make a demo for a hack by just playing certain parts of a game. You could also find data for this by doing everything in a game, like playing all levels except for 1 of them, then seeing what data wasn't logged to find it. It's very cool stuff.


(edited by DahrkDaiz on 08-17-04 09:44 PM)
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 383/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 08-18-04 07:01 AM Link | Quote
Even then you might not find certain hidden routines and data. I know of at least a couple routines in Zelda 3 that are never used but would be cool if they were used. The one i have in mind is the routine that checks the second player port for input. The data i have in mind are the unused enemies in Super Metroid.
jman2050

Red Koopa
Level: 19

Posts: 16/123
EXP: 33172
For next: 2605

Since: 03-21-04

Since last post: 10 days
Last activity: 103 days
Posted on 08-18-04 07:18 AM Link | Quote
*Looks at third screenshot*

! That's my away message at the bottom of the IRC window ! Seriously though, from what I've heard this tool can revolutionize the way NES roms are hacked. When people learn to use this to the fullest, I predict a breakout of new advancements in hacking. Now, get the source code to SNES9X and make the same tools for the SNES. Hacking Super Metroid using my current methods is very frustrating XD
bbitmaster

Koopa
Level: 18

Posts: 7/103
EXP: 25264
For next: 4633

Since: 03-28-04
From: Knoxville, tTN

Since last post: 12 days
Last activity: 7 days
Posted on 08-18-04 08:08 AM Link | Quote
The Code/Data logger is a special feature I came up with. Actually, FCEUXD started one day when I had a brainstorm about how something like it could work. These other features are just extras I've put in along the way due to other brainstorms The basic Idea is this: if you know what bytes in the game are code or data along with a few other things (which will be logged also), you could make a nice disassembly of it. Disch actually used this same method to come up with that FF1 source code that was released a while back, he put together something like my code/data logger in his own emulator, and had a friend play through the game and send him the log. The result was that source code. He got the idea from me when I was talking about fceuxd.

And yes I realize that you have to play through every part of the game, and something could be easily missed, but as Dahrkdaiz mentioned, these logs can be combined. Just have 5 or 6 people play through the game a few times and log everything they can, then combine them all and you've got yourself a pretty good log. When you think of the possibilities this would bring, of having the game in a fully editable source file, asm hacking would get a LOT easier. Of course, I have yet to start working on a disassembler which makes use of these logs, but hopefully that won't take too long once I get started.

MathOnNapkins; Sure, its possible that there is unused stuff in the rom That will never be logged. But in such cases I could put an option in my disassembler to add comments saying something like "This section was never logged as being accessed." How hard would it be to go through such sections and manually figure out what they are? You'd have to do this anyway, but only now you'd know for sure it wasn't ever used. In fact, you'd have every unused portion in the rom sitting right there marked as unused! Who knows what all goodies you might find while looking through that.

Besides that, the Code/Data logger allows for a few other slightly useful things, one which you saw in the screenshots in my earlier post where it can tell the trace logger to only log newly executed stuff (similar to a feature in evil peer's snes9x tracer).It'll also allow code and data to appear in different colors in the built in hex editor. Also, if anyone ever wants to make one, a rom corruptor that only corrupts data would certainly be possible.

The save stripped ines rom is probably more of a novelty than anything else. Basically, it takes the original rom, plus the code/data log, and creates a new rom that only includes code and data that was executed. What's the point of this? Well take a look and see for yourself:

Apply this patch to a Megaman 3 rom.
http://bitmaster.panicus.org/misc/topman3.ips

To create this, I took a few minutes and played through the topman stage in megaman 3 then saved a stripped nes rom. So, all that is playable in this rom is the topman stage. It's interesting to try some things that I never logged and see how the game reacts. For example: Try selecting the password option on the main menu, or try going to another stage, or try hitting the instant death spikes which are now harmless. All because the information behind that stuff is missing - It was never logged. A word of warning though, I never jumped off the first ladder in topman's stage, so if you do so the game will crash. Be Sure to Climb off of that ladder. You may find other odd glitches if you do things I never logged.

If you look at this rom in a hex editor, you'll see it is almost entirely made up of 00's, only about 16% of the prg-rom is even present! Amazingly, the game runs fine in this state, because only what was logged as being accessed while I played is there. This may possibly be useful for hacking if someone wanted a rom that had everything stripped out of it except for what they were looking for, but it probably has more of a novelty use if someone wanted to release a small demo of their hack. I actually considered getting with Dahrkdaiz to create a fake smb3 beta rom for April Fools

jman: I really have thought about attempting this for snes, I have my hands full right now, but it isn't out of the question for later, so just keep hoping.

More to come later.


(edited by bbitmaster on 08-18-04 10:03 AM)
(edited by bbitmaster on 08-18-04 10:03 AM)
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 384/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 08-18-04 08:26 AM Link | Quote
I have been working on something like this for snes hacking, though I have been delayed over the summer since I've been away from my school computer.

bbitmaster: I don't know if differentiating between code and data is sufficient. You should also add the category of a jump pointer, though I don't know if such stuff exists for NES asm. For instance, JMP ($000E) is an indirect jump to the address stored at $000E. If such an opcode were executed, it should record the value in $000E (in the snes case, the current program bank as well), and add it to a list of jump pointers.

The hex annotator, as I have come to call it, will not run in real time. It will more of a markup tool for figuring out what is what in a rom file. But good luck on your future releases.
bbitmaster

Koopa
Level: 18

Posts: 8/103
EXP: 25264
For next: 4633

Since: 03-28-04
From: Knoxville, tTN

Since last post: 12 days
Last activity: 7 days
Posted on 08-18-04 08:30 AM Link | Quote
heh, see that address label logger in the screenshot? I haven't started working on it yet, but it should do just that. I think I have it all figured out in my mind, I just need to code it though.
MathOnNapkins

Math n' Hacks
Level: 67

Posts: 385/2189
EXP: 2495887
For next: 96985

Since: 03-18-04
From: Base Tourian

Since last post: 1 hour
Last activity: 32 min.
Posted on 08-18-04 08:43 AM Link | Quote
Yeah. That's usually my biggest problem. I switched to Delphi and thought it would fix a lot of problems, but I've been having to learn quite a bit about the Delphi class structure to compensate.
bbitmaster

Koopa
Level: 18

Posts: 9/103
EXP: 25264
For next: 4633

Since: 03-28-04
From: Knoxville, tTN

Since last post: 12 days
Last activity: 7 days
Posted on 08-19-04 08:26 AM Link | Quote
Another feature is the built in hex editor, which among other things allows editing and freezing the ram.

This shows the ram while playing Milon's Secret Castle
http://bitmaster.panicus.org/images/FCEUXD4.png

Of course Ram freezing will be cool also. When you right click on a ram location it turns blue, and as you can see it just adds it to the cheat console.
http://bitmaster.panicus.org/images/FCEUXD5.png

The hex editor's ability to edit the rom while it is running is such an awesome ability that I think I'll save showing it off for later. Right now, lets take a look at another method of editing the rom while it is running which parasyte put in.
http://bitmaster.panicus.org/images/FCEUXD6.png

Parasyte himself, the extremely talented coder behind fceud, put in this long awaited inline assembler, which was never quite finished in fceud. So if you don't like coding in machine language like me or dahrkdaiz then this thing is definitely for you. It will patch and save the rom for you as well. A Special thanks goes to parasyte for doing this.

More later...
Gavin

Fuzzy
Rhinoceruses don't play games. They fucking charge your ass.
Level: 43

Posts: 114/799
EXP: 551711
For next: 13335

Since: 03-15-04
From: IL, USA

Since last post: 13 hours
Last activity: 13 hours
Posted on 08-19-04 08:31 AM Link | Quote
*Gavin just about sheds tears of happiness*

i can't even imagine how long i've been waiting for an emu/debugger to have a non-fucking-shitty RAM viewer. Not to mention the 100+ other features you've been hard implimenting bbit. Really, just an amazing job
BMF98567
BLACK HAS BUILT A SILLY DICE-MAZE!
GO!

Current list of BURNING FURY >8( recipients:
- Yiffy Kitten (x2)
- Xkeeper
Level: 53

Posts: 307/1261
EXP: 1094149
For next: 62970

Since: 03-15-04
From: Blobaria
Special Move: Rising Meatloaf Backhand Combo

Since last post: 21 hours
Last activity: 1 hour
Posted on 08-19-04 02:05 PM Link | Quote
Originally posted by MathOnNapkins
I know of at least a couple routines in Zelda 3 that are never used but would be cool if they were used. The one i have in mind is the routine that checks the second player port for input.
Whoa, whoa, whoa...where is this, exactly? Have you examined it at all? Most 1-player games that look for second controller input have (or did have) debugging features of some kind...
Pages: 1 2 3Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - FCEUXD information | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.018 seconds.