  ___                __        ___ _   ____         
 / _ \ _ __   ___ _ _\ \      / (_|_) |___ \  __  __
| | | | '_ \ / _ \ '_ \ \ /\ / /| | |   __) | \ \/ /
| |_| | |_) |  __/ | | \ 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/
