Zophar's Message Domain

Go Back   Zophar's Message Domain > Emulation Talk > Rom Hack

Reply
 
Thread Tools Display Modes
Old 05-17-2005, 03:35 PM   #11
Blade556
Senior Member
 
Join Date: Feb 2005
Posts: 803
Default Re: What do you think of this concept?

> Er, yeah, I know what mnemonics (more specifically,
> instructions) are, I just don't seee why a count of them
> sorted alphabetically would be.

Yeah, I guess there is no point, looking back, but I figured (At the time) it might be a good idea...Anyway, just an option I'm leaving on the table.

> I assume that you here mean save states? I'm not too clear
> on what you mean by a "process", either. Tracking stack
> operations would probably be the best way to recognize what
> I think you mean

The initialization is a process. Fading in and out of 2 different screens is a process. In an RPG type game, leaving the city and going to the world map is a process. Every time the processor recieves a big change in Assembly signals is a process. I don't really know how to explain it, I just know what it is...I'm sure you've had that before I'll try later on to figure it out though...Sorry

<P ID="signature"></P>
Blade556 is offline   Reply With Quote
Old 05-17-2005, 05:42 PM   #12
Disch
Senior Member
 
Join Date: Apr 2001
Posts: 4,387
Default Re: What do you think of this concept?

> For some reason, Windows 98 won't display any Japanese
> characters except for the internet and in Word. I thought
> it would be great for translation, but perhaps just using
> text files will be fine.

I doubt many translators use Word for anything translation related. People that have the need to view japanese characters have the means to do so (like with NJStar or something). Like I said not everyone has Word -- but everyone has Notepad or some other text editing program. Besides you can always open .txt files in Word if that's really what you want to do... but you can't really open .doc files in anything else (except for WordPad I guess), so going with .doc would be a big mistake imo.

> And yes, DOS is a pain in the ass to learn.

Command line driven != DOS -- don't confuse the two.

> Enigma will emulate the ROM (Not like an emulator, just to initialize
> it and run it minimally) and log those mnemonic signals. For logging the
> different game processes, they will probably be recorded by appearance.

You can only trace the code so far until it starts polling for user input (or some other system status) and you'll hit a wall. I can't really explain the problem that well, but you'll see what I'm talking about when you try to do this. There's more to emulating the system than just the CPU -- and those other aspects of the system can greatly affect the CPU's execution, making straight code tracing difficult (player input, PPU/GPU status, system/mapper/other hardware IRQs -- even the sound system in extreme cases [*cough* Mig-29 Soviet Fighter])

<P ID="signature"></P>
Disch is offline   Reply With Quote
Old 05-17-2005, 05:57 PM   #13
MooglyGuy
Senior Member
 
Join Date: Mar 2002
Location: Albany, NY
Posts: 4,014
Default Re: What do you think of this concept?

> Every time the processor recieves a big change in Assembly
> signals is a process.

"a big change in Assembly signals"? What the fuck are you talking about? Do you even know what the fuck you're talking about, or are you just spewing technical-sounding bullshit to try to get people to think you have a clue (which you obviously don't)? <img src=smilies/headshake.gif>

<P ID="signature"></P>
MooglyGuy is offline   Reply With Quote
Old 05-17-2005, 06:53 PM   #14
CROcOp
Senior Member
 
Join Date: Sep 2004
Posts: 196
Default Re: What do you think of this concept?

> "a big change in Assembly signals"? What the fuck are you
> talking about? Do you even know what the fuck you're
> talking about, or are you just spewing technical-sounding
> bullshit to try to get people to think you have a clue
> (which you obviously don't)?
>

Chill man, just chill. Enough of fucks, okay. Gee, all the guys here have weak nerves or some frustrations(not talking about you). So, let the guy talk. Eventually he will realize that the idea he just got isn't very much possible, and he will give up. Blade, if the thing you imagined is possible someone would probably make it by now.

<P ID="signature">---
</P>
CROcOp is offline   Reply With Quote
Old 05-17-2005, 07:18 PM   #15
Ugly Joe
Senior Member
 
Ugly Joe's Avatar
 
Join Date: Dec 2003
Posts: 1,461
Default Re: What do you think of this concept?

I didn't read the whole document, so keep that in mind.

It seems like you want to make an all-encompassing rom hacking utility. From the rom hacking I've done (NES and some GBA), this seems near impossible, since each game handles graphics/sounds/whatever in a somewhat different manner. There are obviously similarities, but they seem to be too low level to be useful (for example, I can find in any NES rom where the game is drawing a tile to the screen and where in memory it's pulling the data from, but finding what put that data into that memory location and finding what process decided exactly what data to put into that location are far more difficult).

I think a driver-based tool would make more sense. Like, having a file specify where a pointer table and values are located in the rom, or where the graphic data is located/how it is stored. Basically, have all of the game-specific problems be handled outside of Enigma and let Enigma handle the actual rom editing once the dirty-work has been taken care of.

<P ID="signature"></P>
__________________
Ugly Joe is offline   Reply With Quote
Old 05-17-2005, 07:30 PM   #16
Blade556
Senior Member
 
Join Date: Feb 2005
Posts: 803
Default Re: What do you think of this concept?

> I doubt many translators use Word for anything translation
> related. People that have the need to view japanese
> characters have the means to do so (like with NJStar or
> something).

I'll figure out what I'm going to do about dumping Japanese characters as soon as I can't think of anything else to add support for. I've never heard of NJstar, though...

> Command line driven != DOS -- don't confuse the two.

Is there a difference? Perhaps there is, but it doesn't matter. I'm trying to avoid anything DOS-like or command line related with this program.

> You can only trace the code so far until it starts polling
> for user input (or some other system status) and you'll hit
> a wall. I can't really explain the problem that well, but
> you'll see what I'm talking about when you try to do this.

> [*cough* Mig-29 Soviet Fighter])

...A mig fighter?

Enigma can send input signals automatically, for both yes, no, or more input choices that appear for anything.

<P ID="signature"></P>
Blade556 is offline   Reply With Quote
Old 05-17-2005, 07:34 PM   #17
Blade556
Senior Member
 
Join Date: Feb 2005
Posts: 803
Default Re: What do you think of this concept?

That is a grand idea, and I think you've inspired me to do both. But then the drivers have to be made for each different game, until he have hundreds of drivers going around.

In any case, it's a great idea. Definitely something I'm going to put into alot of thought.<img src=smilies/thumb.gif>

<P ID="signature"></P>
Blade556 is offline   Reply With Quote
Old 05-17-2005, 07:35 PM   #18
Blade556
Senior Member
 
Join Date: Feb 2005
Posts: 803
Default Re: What do you think of this concept?

http://filebox.vt.edu/users/rogrubb3...ESINIT.ASM.txt This is what I meant</a>

Sorry for the confusion. <img src=smilies/upeyes.gif>

<P ID="signature"></P>
Blade556 is offline   Reply With Quote
Old 05-17-2005, 09:50 PM   #19
Disch
Senior Member
 
Join Date: Apr 2001
Posts: 4,387
Default Re: What do you think of this concept?

> ...A mig fighter?

It's an NES game. One of the more difficult ones to emulate properly due to its heavy reliance on proper DMC behavior (an area of the NES's sound).

> Enigma can send input signals automatically, for both yes,
> no, or more input choices that appear for anything.

There's an infinite amount of input button presses that trigger different areas of code -- when tripped at different times, and in different orders. Everything in the game flow revolves around which buttons are pressed and when (random number generators are usually driven by user input as well).

A good way to imagine automating this process would be to put in a cartridge in your NES/SNES/whatever and just start hitting random buttons. You won't get very far with it -- and you certainly won't expose most of the code in the game. If you have a hundred computers working together and running around the clock punching in every sequence of player input imaginable it will still take years to expose all the code/data in a game (talking about smaller games -- when you get to larger more complex games it's even worse).

Imagine having a computer try and play through Megaman X or something -- having to press all the right buttons at all the right times (keep in mind the computer has no idea which buttons are right or wrong -- the outcome of the button presses is pretty much only recognizable to a being with a brain)... it'd take forever to even get past the first level. Plus the further in the game you want to expore, the number of sequences grows exponentially. For a game like Final Fantasy 3 US, there's trillions upon trillions upon trillions of input sequences -- only a small handful of which will get you through the game.

<P ID="signature"></P>
Disch is offline   Reply With Quote
Old 05-17-2005, 10:57 PM   #20
Fx3
Regular Member
 
Join Date: Jan 2005
Posts: 31
Default Re: What do you think of this concept?

> There's more to emulating the system than just the CPU --
> and those other aspects of the system can greatly affect the
> CPU's execution, making straight code tracing difficult
> (player input, PPU/GPU status, system/mapper/other hardware
> IRQs -- even the sound system in extreme cases [*cough*
> Mig-29 Soviet Fighter])

Yes, Disch. You're right.
Go figure - you're still replying to this topic??? :|

>1. Open the rom
Yes, 'open the rom'... Actually, you LOAD the rom data.

>2. Locate code
>Once the ROM is opened, and you begin an Assembly Code dump, >the program locates it and will wait for the next instruction. Once >it is found, it will notify the user and provide a Hex address for the >code location.

I don't know, but it might be like the NES. Anyway, it seems you don't know a word of ASM 65816 for writting such statement "and will wait for the next instruction". :|

>3. Execute the ROM and search for ASM processes
Wow... so what's being done up to present moment???

>4. Log a list of Mnemonic calls used by the game
This is called "CPU emulator". The game can or cannot use ALL the instructions (or mnemonics)... Funny.

>5. Log processes in different text files by description
It's not that way; you need to identify subroutines and what they do in the game. Usually, the game has a main loop that calls the subroutines. You said about making drivers for specific games... go hack EVERY game, go analyse EVERY game.

<P ID="signature"></P>
Fx3 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:24 PM.

Contact Us - Zophar's Domain - Archive - Top

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.