Title:			HexenDS
Version:		0.1
Author:			Rich Whitehouse
Date:			2005-08-09
Homepage:		http://www.telefragged.com/thefatal/
Additional thanks:	Authors of NDSLib/LibNDS
			Ravensoft for releasing the Hexen code to the public.
			Everyone else who has constributed to the wealth of knowledge
			available for DS homebrewing
-------------------------------------------------------------------------------------
What you need:
 -The wad from the full version of Hexen (shareware not supported natively by code
  released by Raven, may be integrated in later versions).
 -A flashcart big enough to hold the binary with wad (well over 128mbit).
 -gbfs by Damian Yerrick for appending the wad to the HexenDS binary. You can obtain
  it here: http://www.pineight.com/gba/
 -A way of getting your DS to boot off of said flash cart, which also allows the arm9
  code to access the cart's rom. I personally use wmb and a F2A 256mbit cart.

How to use:
 -Place your full version Hexen wad in the bin directory where makewadgbfs.bat is,
  along with the ds and ds.gba files. Also make sure you have gbfs, lsgbfs, padbin,
  and cat somewhere on your path.
 -After fulfilling the above requirements run makewadgbfs.bat, if all goes well you
  will end up with hexends_wad.nds and hexends_wad.nds.gba files.
 -Flash the .gba file to your flash cart, use the method of your choice to get your
  DS to run arm9 code off of the cart. This method must support access of the flash
  cart's rom section or HexenDS will not run.

What is broken:
 -Saves. Hexen save data is huge and needs work to be cut down. For the time being,
  a warp menu has been added under the "ds" section of the main menu for playing
  around.
 -Memory. Occasionally the zone may get too fragmented and the game may run out of
  memory. This is indicated by the game freezing in place in a while loop. I have
  added more cache swapping for asset types and have not seen this occuring lately,
  but it's still possible.
 -Speed. It's generally playable but does not run at full speed. More routines are
  already being converted to ARM assembly and optimized so this will continue to
  improve.

Controls:
 -Use the touchscreen to look around and the dpad to move.
 -L button fires.
 -R button jumps.
 -Y button cycles through inventory.
 -X button cycles through weapons.
 -B button uses objects (doors, switches).
 -A button uses the selected inventory item.
 -Select brings up the menu and exits out of it (acts as escape).
 -Start selects menu items, or toggles the automap when not in a menu.
 -B+Up/Down on dpad flies up/down while in fly mode.
Touch screen sensitivity has replaced mouse sensitivity in the options menu. In
addition, there is a special ds menu on the main menu which has a gamma option and
other ds-specific things (such as warp and give all cheats).

Source code:
Source is included. There are a lot of warnings I've been too lazy to fix, but
otherwise it's relatively clean. Most of my changes will be marked with rww.
Additionally, a solution for building a Win32 HexenDS binary is included. I use
this often for testing trivial functional behaviour changes so that I don't need
to reflash my cart every time.


Version 0.1 notes:
------------------
-First release. Includes sound, touchscreen and automap support.
