  ___                __        ___ _   ____         
 / _ \ _ __   ___ _ _\ \      / (_|_) |___ \  __  __
| | | | '_ \ / _ \ '_ \ \ /\ / /| | |   __) | \ \/ /
| |_| | |_) |  __/ | | \ V  V / | | |  / __/ _ >  < 
 \___/| .__/ \___|_| |_|\_/\_/  |_|_| |_____(_)_/\_\
      |_|              Place Witty Slogan Goes Here!


OpenWii universal modchip program, various notes...
    Yet another modchip program! This one is based on
    compatibility between microcontrollers and pin configurations.

    build any of these you will need appropriate gcc tools
    and might need to edit the makefiles... so get clue

 This is a major rewrite over previous versions! Some of the changes are:
    * majority of the code is compiled for the mn10200 microcontroller located on the drive itself,
      uploaded apon reset by the modchip, and then activated during the discLogin phase. This was
      done to allow for more control over the drive's operation and because the 32 bit processor
      inside the drive allows for more code in less space than the 8 bit modchip.
    * region freeness, woot!
    * improved makefiles to allow quicker compiling for different targets, and eliminate redundancys

Directories/Files:
common  - contains stuff used by everything
    main.c  - well umm its the main part
    common.h - defines and prototypes used elsewhere
    serial.c - handles bitbanging and reading data to and from the drive
    serial.h - defines and protos for serial
symtbls - the two files in here contain a list of symbols associated with function or data addresses
          in this way when we write loginStatus==0x7 the compiler/linker knows that discLogin variable
          should be read from 0x40ba06.
    dms.jsym - just symbols file for dms/d2a drives
    d2b.jsym - just symbols file for d2b drives
These files are required to be in each processor specific dir:
    machdep.h - this are mostly macros change depending on the microprocessor and pin configs used
    machdep.c - mostly microprocessor dependant functions
avr     - WiiP! (ATs902313) AVR good place to base other avr designs.   http://www.tcniso.net/Nav/Wiip/
chiip   - Chiip (ATmega8L8) another atmel design using different chips. http://chiip.descrambler.de/
msp430  - files specific to the mps430 microcontroller

to make:
 from the umod directory type:
 make -chip=YOURMODCHIPTYPE -drive=YOURDRIVETYPE
 where YOURMODCHIPTYPE is replaced with what kinda chip you got like avr (wiip), chiip, or msp430
 and YOURDRIVETYPE is what kinda drive u have either dms (this means d2a also) or d2b
examples:
 make -chip=avr -drive=dms
 make -chip=chiip -drive=dms
 make -chip=chiip -drive=d2b

other userful make options
 make -chip=avr -drive=dms CROSS_COMPILE_PATH=/usr/local/avrtools/bin 
 this will use the specified path for the modchip's cross compiler toochain, you can do something simular for the mn10200 code with
 make -chip=avr -drive=dms MN10200_COMPILE_PATH=/my/path/to/mn10200-elf/bin/

 to clean up you can use:
  make -chip=chiip -drive=d2b clean
 to clean out everything or:
  make -chip=chiip -drive=d2b cleanchip
 to just clean the chip dir, or :
  make -chip=chiip -drive=d2b mn10200
 to just clean the mn10200 code directory

and finally:
How to install avr tools in various linux:
 http://www.cs.hut.fi/Studies/T-106.530/2006/installation.html
installing mps430:
 http://r-smith.net/lca2007/index.html 
mn10200 tools (we have some code for this we will be releasing soon):
 http://www.anatifero.us/weblog/2004/09/
