NES.app
NES Emulator for iPhone
Version 0.15

Core: InfoNES Project ( based on pNesX ) 
Code: stepwhite, nervegas
Cool: nightwatch (CoreSurfaces), bwhiteman (CoreAudio)

BUILDING

Compile using 'make'. You will need the arm-apple-darwn toolchain. See:
	http://iphone.fiveforty.net/wiki/index.php/Toolchain_Project

This will create a new NES.app package in ./build. 

Upload entire NES.app directory into /Applications folder on iPhone and reboot
the iPhone. It should automatically detect the application and add it to the
springboard. 

CHANGELOG

0.01	[stepwhite] Initial release 
0.02	[nervegas] Implemented frame skip
0.03	[nervegas] Rewrote rendering routines using CoreSurface
0.04	[nervegas] Added multi-touch support to controller
0.05	[nervegas] Further optimizations
0.06	[nervegas] Corrected color palette
0.07	[nervegas] Further controller improvements (dragging, etc)
0.08	[nervegas] Further controller improvements (fixed disconnect, etc)
0.09	[nervegas] Preliminary sound support (see notes below)
0.10	[nervegas] Fixed crashing when returning to file list
0.11	[nervegas] Improved sound quality, both earbuds work now, buffering+
0.12	[nervegas] Enlarged controllers, improved hot spot locations
0.13	[nergegas] Expanded on multitouch control - (see notes below)
0.14 	[nervegas] Added switch for landscape build (see Makefile) 
0.15	[nervegas] Widened landscape mode - removed navBar 

NOTE ON SOUND
Sound required that you disable mediaserverd, and only works through the 
headphones. A couple of easy aliases can be added to your .profile to disable or
re-enable mediaserverd if you are using MobileShell:

alias \
nosound="/bin/launchctl unload /System/Library/LaunchDaemons/coreaudiod.plist"

alias \
sound="/bin/launchctl load /System/Library/LaunchDaemons/coreaudiod.plist"

NOTE ON MULTITOUCH
The multitouch reports mouseDown and mouseDragged events separately, and so
you can run while holding 'B', for example, but the iPhone appears to get
confused about the mouseUp event, and does not report the correct mouseUp.
For this reason, whenever you are holding a direction + button, releasing
the button will cause the direction to stop moving as well. I am working on
finding a way to poll the screen to re-evaluate all the buttons, but until
then, this is the only caveat you'll have to live with.

LICENSE

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; version 2
of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

