 |
 |
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1729
 |
Posted: Fri Jan 08, 2010 8:33 am Post subject: Command LIne and Debugger |
 |
|
Goldeneye command line options? Debug console?
Yes, funny enough, found the memory range for the debug console and command line options for GE! At the heart of this is the routine 7000A5C0.
First, I should mention that hardware detection has been disabled. Originally, 7000CEA8 returned 0 if the debugger was present. At the moment, it forcefully returns 1.
However, at one time, if present, a string would be copied from the debugger to allow toggling on certain command line options. In fact, an enterprising individual can still activate them (to a certain degree), but I'll get to that later.
First, GE's command line options:
Code: | -d debugger on
-s sound disabled
-j japanese |
Now, the "-j" one is already rather obvious, since it does the same thing as that 1-liner code I madea while ago to force japanese.
"-s" is more interesting. It sets 1 to 800243F8, which disables all sound effects and music routines I've ever seen. They simply exit without doing anything.
"-d" is a little more cryptic though. It handles some processor status flags and whatnot, and presumably sets up the debug console interface. I don't think we'll get that working any time soon, so stray away from this flag.
However, if you did want to trigger the japanese or soundkill flags, you can directly alter the addresses they affect. Unfortunately, the string itself is read from 80064C30, which gets zero written to it. The GS can't overwrite the value before the read, so you can't just copy the string in.
+_+
Technical stuff:
The hardware itself was apparently found from 0xFFB000. A string of up to 0x280 in size was copied from here to the 80064C30 string address, then tokenized and tested for command line arguments.
The interesting bit is that, assuming the test were changed, an expanded cartridge would cover this address range. It woudl then copy from ROM to RDRAM, which woudl allow command line arguments to be used. Not like this would in any way be a useful feature--oh, far from it.
Needless to say, this is not the only time this harware address range is used. Expect something more to pop up sometime. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
 |
 |
 |
 |
 |
Dragonsbrethren Hacker


Joined: 23 Mar 2007 Posts: 3058
 |
Posted: Fri Jan 08, 2010 1:02 pm Post subject: |
 |
|
Very cool; shame there's no possible way of getting it working. |
|
|
|
|
|
 |
 |
 |
 |
 |
zoinkity 007


Joined: 24 Nov 2005 Posts: 1729
 |
Posted: Wed Jan 20, 2010 11:32 am Post subject: |
 |
|
Oh yeah there is!
You can use a GS to intercept the block and trigger the effectsturns out, and theoretically could do so on reset as well using an in-game debugger. In fact, I was thinking of rewritting the language thing to read the language code flags in NSNA to do full language swapping via reload to get around the evils of the language menu memory leak. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
 |
 |
 |
 |
 |
EternallyAries 007

Joined: 05 Oct 2009 Posts: 1943 Location: Las Vegas  |
Posted: Wed Jan 20, 2010 12:39 pm Post subject: |
 |
|
Thats cool but what is the gs code to make it work zoinkity _________________ There totally nothing to read here. |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
 |