******************************************************************
       GGG         SSSSS        CCCC        CCCC        CCCC      
     GGGGGGG     SSSSSSSSS    CCCCCCCC    CCCCCCCC    CCCCCCCC    
    GGGGGGGGG   SSSSS   SSS  CCC    CCC  CCC    CCC  CCC    CCC   
    GGG          SSSSS       CCC         CCC         CCC          
    GGG  GGGGG     SSSSS     CCC         CCC         CCC          
    GGG   GGG        SSSSS   CCC         CCC         CCC          
    GGGGGGGGG   SSS   SSSSS  CCC    CCC  CCC    CCC  CCC    CCC   
     GGGGGGG     SSSSSSSSS    CCCCCCCC    CCCCCCCC    CCCCCCCC    
       GGG         SSSSS        CCCC        CCCC        CCCC      
------------------------------------------------------------------
      Game      Software        Code      Creators      Club      
------------------------------------------------------------------

Faq written by Code Master
Bryan Black - brianj@htc.net - President
******************************************************************
N64 Enable Code FAQ!! Version 1.10 - Last Updated On 01-21-00
******************************************************************
Version Notes:
 1.00 - Initial Release, may have spelling errors, etc.. :)
Webmasters & FAQ Writers:
 Do NOT add this to any other FAQ. You may add it for download on
your wepage, provided you do not change anything, and you do not
add it to any other FAQ, html page, etc..

******************************************************************
Welcome to the second GSCCC Faq!!
******************************************************************
 This faq is designed to help people learn some info about the
N64 Enable Codes, why and how they work. This is a senstitive
subject, as I'm sure that the Big N doesnt want us to know this
kind of information. But, with us being crackers, we have figured
this information out. The information contained in this FAQ is
100% knowledge of Code Master, no help/ideas from anyone are in
this FAQ.

******************************************************************
Information That Is Needed To Know Before Tackling This Code
******************************************************************
 ASM - aka Assembly Language knowledge is good to know, because
these codes that are being written are in fact ASM codes. Well,
let's cut to the chase, what could Nintendo possibly be doing
to cause a problem with the Cheat Device. Not only does it disable the
Code Generator's Button to goto the In-Game Menu, but no codes will
work without an Enable Code either. This means that they are doing
something that disables how the Cheat Device works. Well, here's some
information that not many know, and I have figured this info out
over my time with hacking N64. Cheat Device Pro (Version 3.0 & Higher)
uses WatchLo & WatchHi Co-Processor break points to know when to
activate the codes that have been turned on. Well, obviously, if
they changed the WatchLo & WatchHi Co-Processor registers, it would
make Cheat Device not be able to set its own 'Break Points' to know
when to activate the codes, thus disabling the Cheat Device.

******************************************************************
The Actual Searching Method!!
******************************************************************
 Well, obviously if you cant use the In-Game Code Generator, then
you cant dump memory to the PC, so you ask, how do I search for
this? Well, simple, you must have an Illegal Rom copy of the
cartridge :P (Well, having a 'Backup' copy of an N64 rom is not
illegal in all places if you own the original cartridge, but for
the sake of argument we'll just say it is.) In the rom file, you
need to get yourself a Disassembler, to disassemble the N64 Rom
into R4300i coding. (aka ASM) I recommend either N64PSX.EXE by
Nagr, or Niew by Titanik. Both are good, and can be used to help
find this command. Well, now what is the command that we are
looking for? Obviously, if they want to change a Co-Processor
register, you would just set the register equal to something else
right? Exactly, there is a Co-Processor opcode called 'mtc0',
which means, 'Move To Co-Processor 0'. Well, you need to find an
line that is something like, 'mtc0 $v0,$s2' or 'mtc0 $v0,$s3'.
In this opcode, the first register can be 'anything', $at, $v0,
$v1, $a0, etc.. But the 2nd register must be $s2 or $s3. Why must
it be that register? Simple, the opcode is moving a register to
the Co-Processor registers, which have different names as well.
So, in essense, $s2 is equal to WatchLo, and $s3 is equal to
WatchHi. Make sense now? They are setting WatchLo or WatchHi
with this 'mtc0 xxx,$s2/$s3' line. It also happens that the
Cheat Device needs both WatchLo & WatchHi to function properly. So
they can change either WatchLo or WatchHi to make the Cheat Device
not set its own break point to turn on codes, or check to see if
the GS Button was pressed, etc..
 OK, now I know the 'mtc0 xxx,$s2/$s3' line in the ROM, how do I
make that into a Cheat Device code? Simple enough. Write down the rom
address of the line, lets say the line was 0005A278h. Now you need
to goto the rom address 00000008h in your disassembler, this is
where the game's 'Entry Point' is stored. For most games, it will
have 80000400h at this line. So, take this address you just got
from 00000008h in the rom, and add the 0005A278h to it, and your
total is 8005A678h and then subract 1000h from it and the address
becomes 80059678h. And to make the Final Enable Code, change the
beginning of the code to F1, so you have F1059678h. And last, but
not least add 2400 to the end of that and there you have it,
F1059678 2400, your final 'Enable Code'.
 
******************************************************************
Tips & Tricks Of The Trade
******************************************************************
 Now, there are some key tips to finding this type of code.
1) None really here, unless u make your own program to disassemble
the rom yourself and check for the 'mtc0 xxx,$s2/$s3' line. If you
can and do this, it becomes very simple to make an Enable Code.

******************************************************************
And There You Have It...
******************************************************************
 There you have it!! The first EVER N64 Enable Code FAQ on how to
make them. Note that the codes will only work on Cheat Device 3.0
Or Higher because of the F1 at the beginning of the code means
that the Cheat Device activates before the game even starts to run.

******************************************************************
Credits & Greetz!!
******************************************************************
Credits:
 FAQ 100% Written By Code Master (So Far)
  Game Software Code Creators Club
  http://www.cmgsccc.com/
Proofreading Credits:
 Y2Kola
--------
Greetz:
  GSCCC Members:
  - ViperByte, NiteStash, Infected, Cain, Netsewn, Crono, Chaotic,
  - CzarDragon, CodeShark, Alanlav, Raysurx, Number 12, FNG
  - (http://www.cmgsccc.com/)
  GSC Members:
  - Kong, ShadowKnight, Crocc, Macrox, FoxDie, Zapdos, AdultLink
  -(http://www.gscentral.com/)
(I know I have missed a lot of members, but those are the ones I know :))
  Other:
  - Thunder2

*************************************************************************
-------------------------------------------------------------------------
         Game      Software        Code      Creators      Club          
-------------------------------------------------------------------------
*************************************************************************
If you find any mistakes in this FAQ, Spelling, Methods, Or Have anything
to add to it, please send the updates to brianj@htc.net. So I can add
them. Yes, your name will be in the credits and you will get credit for
your new ideas. If its just a spelling error, I guess I can add a credit
for "Spelling Errors Fixed"? LOL
-------------------------------------------------------------------------
If you like this FAQ, and would find more FAQ's like these useful in the
future, please email your thoughts to brianj@htc.net and GSCCC might
write some more FAQ's in the future.
-------------------------------------------------------------------------
So, until next time, keep those PC's hacking and Cheat Devices cracking.
And Most of ALL, THANX FOR SUPPORTING GSCCC!!!
*************************************************************************
----------------- http://www.cmgsccc.com --------------------------------
*************************************************************************