Writing To and Reading From an Xbox
Possible Writing Methods
There is no shortage of ways to write to an Xbox.  For reading files from an
Xbox,
it's pretty much the same information as writing to an Xbox, although there may
be a little bit more easy options for reading from the Xbox (such as Linux
running an httpd server.)
	Although there is no shortage of ways to write to an Xbox, there are fewer
	ways to actually write to an unhacked Xbox, especially without access to
	another Xbox that is hacked.  For those without a hacked Xbox, skip right past
	the Ethernet section because it is, initially, not all too useful.
This chart is massive because there are quite a few ways to write to an Xbox,
	and quite a few details that may be useful in selecting which way you want
	to use.  This page continues to have information past the chart.
- 
	
	Ethernet connection
	Mod Chips
 
		- The BIOS of an Xbox can include software such as an FTP server.  The
				official BIOS software from Microsoft does not have this.  Some Mod
				Chips have the ability to connect to them, or use the Xbox's
				Ethernet port.  The X-ecutor2 4978 family of BIOS's had an FTP server
				built in.  For more information on any particular mod chip, check the
				details of the mod chip.  Some of the information in the software
				section may be useful for people trying to connect to an FTP server.
		
 
		Software-only
 
		-  
			 Most people's favorite method of writing to an Xbox is using software and
			 an Ethernet connection.  This requires running software on an Xbox
			 as well as another device to connect to an Xbox.  (Becuase it requires
			 running software on the Xbox, the software-only solution may be best but
			 you'll likely find that it can not be first.)  Examples include:
			 		
- 
							FTP : Requires a client and a server.  One device runs a client,
								and another runs a server.  Familiarize yourself with your
								client's ability to send a raw literal QUOTe command, as the
								servers that run on Xboxes tend to be able to take advantage of
								that.
							
- Cleints
									
- Xbox running AvaLaunch
									
 - Windows 95 and later comes with a cleint called FTP
									
 - Web browsers, such as Microsoft Internet Explorer can
											generally download from an FTP server pretty easily.  A
											day came along when browsers started supporting uploading
											too, via extentions and then built in, but this is often
											less intuitive (and might be http upload only)
									
 - Specialized FTP programs exist, including:
										
- the
											free-for-personal/educational-use WS_FTP
										
 - 
											the popular FlashFXP
										
 
									 
							 - Servers
									
- Some mod-chips have these built in, I think.  The
											X-ecutor2 4978 BIOS does.
									
 - Remote systems
									
 - Many alternate dashboards for the Xbox come with
											servers, including at least the following:
											
- 
												UnleashX
											
 - AvaLaunch
											
 - Evolution-X RemoteX
											
 
									 
 
							
 
																				 
					 
 - Qwix
 
							- I'm not sure just what this is.  I think it's a sort of speed
									enhancement to AvaLaunch's FTP capabilities, and therefore
									shouldn't be in its own category on this chart like it is.
							
 
					- TFTP (Tiny FTP)
							
- A tftp client comes with the Xbox Linux Live Plugin System
							
 - A
								tftp
									server for Windows can be more difficult to find. 
							
 
					 - Linux supported protocols.  You can probably http upload if
							you know what you're doing.
					
 
		
		- 
			
Hardware needed for Ethernet
		 
			- 
				
- 
				Wireless
				
 
					- 
					Microsoft does manufacture a Wireless Adapter that will allow for
						802.11b or 802.11g wireless networking.
					802.11g devices can talk to any 802.11b device, but they can transmit
						data better (faster, I believe) to other 802.11g devices.  I don't
						actually have experience with wireless networking yet, so do seek
						elsewhere for advice on that.  It would be good to get information
						about wireless security before setting up such a network, especially
						if you live in a complex like an apartment building, as it is
						apparently an enjoyable activity for some people to locate wireless
						networking signals and then try to (ab)use a network they find.  If
						some trouble-making teenager got full FTP access to an Xbox then it
						would be simple for them to delete critical files from the Xbox so
						that it cannot boot 0.
						off of the hard drive.
					
 
				- Ethernet Wires
 
					- 
					
				Hardware: You'll need an Ethernet cable, and something (like an Ethernet
					jack, possibly on a "Network Interface Card" ("NIC")
					in your computer) to plug the Ethernet cable in.  More specifically on
					the cables, you'll need
					an RJ45 CAT5 ethernet cable, but RJ45 CAT5 cables have been the only
					very common type for a long time.  (RJ45 basically means a hole that
					looks like RJ11/RJ12, a common phone line jack, but is wider.)
					There are some newer standards coming out: CAT5e and CAT6 which are
					designed for faster networking (1000Mbps instead of 10 or
					100Mbps), and I don't know how compatible these cables are or are not
					to regular CAT5.  It seems CAT5e isn't too different:
					"
					The reality is that most CAT5 cable is in fact CAT5e cable just not
					certified as such." 
					
					
					CAT5 Ethernet cables come in two varieties:
					
- Crossover
 
						- It is necessary for the connection to have a couple of the wires
							have different positions on the ends.  One end of one wire goes to
							the send spot on card #1, and the other end of the same wire gets
							connected to the receive spot of card #2
 
						- Straight-through
 							
							- Because some devices, such as switches and hubs, do the
							crossing of wires for you, some CAT5 cables are striaght-through.
							(This was the original setup, and makes some sense when connecting
							more than two machines to one hub: All machines are
							straight-through to the hub, and then the hub crosses all
							connections.  Crossover cables were a cheap, obvious, intuitive
							invention to mimic a hub's effects without requiring a hub.)
							
 													
						
 
						If you bought an Link Cable with packaging indicating that it was
							designed for Xboxes, you probably just overpaid for a crossover
							cable.																		
				 
				
			
		
		
	Memory Unit (also referred to as a "Memory Card")
	- 
		First you must possess something that acts like an Official Microsoft Xbox
			Memory unit.  Details on the different possible memory units are listed
			here, followed by some more memory unit information which isn't as
			specific to one type of memory unit.
		
- Official Microsoft Xbox Memory Unit
				
- Works like a charm.  You'll need a way to get data onto the
						memory unit, though.
						
- You can use your own Xbox, once you have the software on
								your Xbox.
						
 - You can use anyone else's Xbox that has the software on it.
								One example is to get someone from the
								Xbox-Linux project's Users Helping Users page
								to put MechInstaller on a memory card for you.
								The other Xbox doesn't even need to be hacked: If the other
								Xbox has hacked save games properly positioned on the hard drive
								in a spot
								accessible by Microsoft's official dashboard than that dashboard
								can copy the files.								
						
 
					 
				 - Unofficial Xbox Memory Unit
						
- Some are just like the official Microsoft Xbox Memory Unit.
								Unsurprisingly, generic memory units have been found to work
									just as well as the official thing and tend to be cheaper.
									See the data by the official memory unit for information.
						
 - 
								The really cool third party
									memory units may have
								a USB port on them, or some such way to connect to your
								computer.
								
- 
									Mega X-Key includes a USB
									port.  If you have such a device, you should be able to use
									the software available at
									http://MegaXKey.Com.
								
 - 
									"Game Shark/Action Replay" device.
										Action Replay comes with a
										"supplied
										docking station, which is connected to your PC’s USB
										port."
										Now the question is, does this docking station work with any
										Xbox memory unit or only Action Replays? 
										This just handles saved data, and does not alter real-time
										memory (RAM) the way these sort of devices have done on
										other systems.
								
 - 
									gameshark.com/xbox
									"Included are a disc, instructions, and a USB dongle that connects your memory card to your Windows-based PC."
									"Seamlessly drag and drop game saves between your PC and memory card (not included)"
								
 - 
										I believe one of these devices is responsible for the existance of
										GAME.ID files (or whatever the filename is) bundled in with
										some packages: That the MegaXKey software uses that file
										somehow.  (The GAME_ID.TXT file, or whatever it is called,
										is NOT required to go onto the Xbox.  Nor does it really
										cause any problems beyond a tiny amount of disk space used.
										The real trouble is the time people waste thinking that file
										is important.)  
								
 - 
									AR
								
 
						 
				 - USB Memory Device
						
- You'll need a working standard USB to Xbox USB adapter.
							Available adapters include:
								
- 
									Hand-made:
										Make it yourself.
										(I haven't tried this myself)
        							
										
								
 - 
									
									Quality Manufactured (3rd Party)
									
      									from lik-sang
      							(I keep getting them at the
      							substantial bulk
      							discount rate, five at $3.90 each for $19.50 total, instead of
      							one for $12.50 total.  (A similar discount exists for the
      							converter))
      							that lets you plug your Xbox controller into a USB PC.
      					
									
    						
 - Manufactured by Microsoft (meant for use with Phantasy
    									Star Online, this also works for memory units)
    															Microsoft's Xbox USB Keyboard Adapter (meant for Phantasy
    							Star Online), available only in USA and Canada for $6.95
    							shipping and handling (they consider this device being given away
    							for free). This
    							page on Xbox.com says "Offer will expire on December 31, 2004."
    							and links to
    							an
    							order page URL which redirects to 
    							Another
    							page which redircts  to
    							an
    							actual order page.  I don't like this one as much as
    							lik-sang's: This adapter I use for a memory device doesn't plug
    							into the system, rather one must make sure that the correct
    							memory unit port is used on the controller that is plugged into
    							the correct controller port on the system.  But it works.
     
								
 
								This USB adapter can also be used to allow a USB device, such as a
							USB Keyboard, to be used by supporting software
								- Phantasy Star Online
								
 - AvaLaunch
								
 - I do believe Linux
								
 
								
						 - You'll need a compatible device
								
								- The XboxUsbCompatibilityList - Linux on Xbox Wiki
										has a list.  This list indicates that sometimes some devices
											are compatible or incompatible depending on what sort of
											media is placed in the device.
								
 - For what it's worth, this is how I originally did it.
									The D-550 Olympus digital camera belonging to the roommate I
									had at the time, along with SmartMedia flash cards, worked
									perfectly.  (Thank goodness...  I may have
									never gotten around some of the other problems I encountered
									bumbling my way through this if I didn't even have working
									hardware.)
								
 - I've since tried at least half a dozen other flash card
										readers.  None worked!  If your time is worth at least
										minimum wage, it may be most economical to buy a
										Xbox-specific memory unit.
								
 
						 - 
							You can plug it into the Xbox and
								the Xbox will be able to either:
								
- 
									Read files from the USB memory device and write files to the
									USB memory cevice, if the USB memory device's data is stored
									using the FATX file system.  This clearly means the device is
									compatible with the Xbox (when using the
									standard-USB-to-Xbox-USB adapter).
								
 - 
									Format the file system on the device so that it starts to use
									FATX, and then the Xbox can successfully treat it like any
									other FATX memory unit.  This also indicates the device is
									compatible with the Xbox (when using the
									standard-USB-to-Xbox-USB adapter).
								
 - 
									Have the dashboard try to initialize the memory unit, realize
										that it is not working, and display a message on the screen
										communicating that the Xbox cannot read and write files to
										the device.  (The message displayed on the screen will call
										the device "damaged" even if that is not true.
										The Xbox just noticed that trying to access the device did
										not work as expected.)  This means the device is not
										compatible with the Xbox.
								
 - 
									The Xbox may flash the screen white and play a sound as it
									tries to initialize the device, but for some reason fail and
									decide to repeat the process, causing the Xbox to repeatedly
									flash the screen and repeatedly make the noise until something
									is done to interfere with this repeated action, such as
									removing the memory unit.  This means the device is not
									compatible with the Xbox.
								
 
																		
						 - 
							You can then copy data to and from the Xbox using the USB memory
								device with a standard-USB-to-Xbox-USB adapter, and you can copy
								data to and from a USB-equipped computer using the USB memory
								device and not using the standard-USB-to-Xbox-USB adapter.
								
- 
									As computers do not generally come with FATX support, you will
										need to find a way to get your computer to recognize a FATX
										file system.
										
- 
											I was able to get assistance from the roommate I had at
												the time, who got Linux to be able to read and write to
												files on a USB device formatted to use FATX.		
										
 
								 
						 
			 
	 - Once	you have a memory unit, you'll need to find out how to write a
		file to the memory unit.  Details are included above.  The memory unit
		stores data in sub-folders, such as H:\4541000d\000000000000\default.xbe.
		Files can then be copied from H:\ to E:\UDATA\ using the Microsoft
		dashboard.  For example, H:\4541000d\000000000000\default.xbe (on the memory
		unit) would be copied to E:\UDATA\4541000d\000000000000\default.xbe (on the
		hard drive).  Some people have seen
		a downloaded archive (a package of files) meant to be copied to a hard
		drive, with information stored in
		UDATA\some-Game-Directory\SomeSaveGameDirectory\files\.  Do not copy the
		UDATA\ directory to the memory unit.  Only copy the stuff under the UDATA\
		directory.  That won't work.
	
 - 
		It seems different dashboards have different expectations regarding what
			files are in a save folder.  With some dashboards, a missing icon or
			title file (I forget which I experienced) would result in the information
			simply being unavailable (a pointless title, or a generic Xbox icon).  In
			another version of Microsoft's official dashboard, this may cause the
			saved game to be uncopiable, so the data cannot be copied from the memory
			unit to the hard drive.  Conclusion: Make sure you include any possibly
			needed icon files if you are distributing saves.
	
		
	
 
					
	Primary IDE cable
			- 
				
				You can open up your Xbox, unhook the hard drive from the standard IDE
				cable, and connect the hard drive to an IDE cable that's connected to
				a computer.  Note that the Xbox's hard drive uses FATX, so it's not as
				simple for a Windows user as plugging in the hard drive and seeing
				Windows show you another drive letter.  You'll also want to make sure
				you can fulfill any requirements the Xbox kernel has, such as hard
				drive locking (which is less of an issue if you're using a replacement
				kernel).
				
				(Note: I haven't tested this.)
					
- 
						Advantage: Do not need to buy uncommon equipment.  Any computer using IDE
									oughtta do the trick. 
							
- 
								This could be a money saver for those with a computer, even a
								really old one (80386 based).
							
 - 
								Do not need to wait for the uncommon equipment to be shipped to
								you.
							
 
 
					 - 
						Disadvantage
							
- 
				I do fully believe the statements that this could cause damage to your
				Xbox hard drive, your Xbox, or probably worse yet, your computer's
				hard drive or your computer.
							
 
					 
				You may find
						some useful inforamtion from
						xbox-scene.com tutorials.
						(Note: I haven't tested this.)						
					
						
			 - 
				You'll need some software that can write to the hard drive
				
- This could be a computer running Linux with FATX support compiled in
				
 - There might, or might not be software for Windows to allow a
					machine running Windows to easily read/write to a FATX file system
				
 
			 - 
				You'll need to know how to handle problems that can result from the
				hard drive lock issue.
					
- 
				no Mod Chip HDD swap
				says "I’ve noticed in all other tutorials that you need a lockable
				drive; however, I have yet to encounter a harddrive that was not
				lockable. You should be safe with a newer drive."
					
 - 
						Then again, a forum post entitled
						List Of Hard Disks And "lockability"
						says some aren't lockable.  Then again, some people probably came to
						false conclusions.
					
 - 
						"The
						Western Digital WD800BB and WD1200JB appear to carry a bit of a risk
						when locking. There are many reports of lockability and unable to be
						locked."
						Western Digital makes (or at least they made) drives that go in some
						Xboxes.  Maybe this comment is referring to drives that some Xboxes
						have shipped with!						
					
 - Still, I would back up your original hard drive's key before
						removing it.  This key may be needed to get the new drive working
						or in the event that your efforts turn from enhancement-experiments
						to disaster-recovery.
					
 
			 - 
				If you're dealing with a hard drive over 120MB or over 137MB (probably
				the same number of MB, just counting a different way), make sure any
				LBA48 problems are resolved.  Hopefully the computer running Windows has
				any LBA48 issues with it resolved arleady: Familiarize yourself with any
				LBA48 issues related to hard drives over 120GB on an Xbox if you are
				using a hard drive over 120GB on an Xbox.  Not all Xbox programs support
				LBA48, those that do usually refer to a G: partition.
				Some useful
				information may be here
			
 
	
    
      
      	- 
      	
Secondary IDE cable
      	 - 
      			You can copy data to the Xbox Hard Drive by just copying data from the
      				DVD Drive.  However, the official Microsoft dashboard doesn't have the
      				ability to do this built into the program.  One can either execute a
      				program from the hard drive which will allow data to be copied from the
      				DVD drive, or run a program from the DVD drive which will allow data to
      				be copied from the DVD drive.  The problem is that the Xbox won't allow
      				a program to be run unless Microsoft has approved the code, and
      				Microsoft doesn't approve of people copying code from a DVD drive unless
      				very specific rules are followed (like DOA3 costumes must go into a
      				directory that the Xbox can tell is related to DOA3).  So, in order to
      				do this, signature checking must be defeated.  Once the problems related
      				to signature checking are worked around, an FTP server could be run.
      				See the details of running an FTP server under the section detailing
      				getting software to an Xbox using Ethernet, as the processes will be
      				quite similar.  Note that there are at least three different
      				manufacturers of Xbox DVD drives, and some Xbox DVD drives are not as
      				capable of reading certain not-approved-by-Microsoft-for-Xbox-use media,
      				such as CD-RW's and DVD+R's, as other Xboxes.
    			
        
       | 
    
  
Using the Memory Unit
	How to put files onto the Xbox varies based on the software and hardware being
		used.  See the above chart for details.
Misc Info
Comment on Ethernet cables
The way I like to write to an Xbox is by plugging an Ethernet cable into the
Xbox.  (Note: You'll need to make sure you correctly use whichever is needed,
either a "straight-through" Ethernet cable or a "crossover"
cable.  A cross-over is generally necessary, although depending on what you hook
your Xbox to, the device may cross-over for you, and crossing over twice results
in the same sort of connection as a straight-through.)  I generally use FTP,
which means running an FTP client and an FTP server.
Comment on saved data location
The main place that people new to Xbox software modifying will want to write to
is saved game exploits, so that they can continue on with the process of running
any unsigned code of their choosing.  This data will go into subdirectories
under E:\UDATA\ (most of it being at least two deep under E:\UDATA\.)  For
example, the James Bond 007: Agent Under Fire saved data gets stored in
E:\UDATA\4541000d\000000000000.  Some audio hack data may get stored in
E:\TDATA.
?
If you're copying from a memory card, the data goes into subdirectories off of
root.  For example, 007: Agent Uner Fire could be stored in
H:\4541000d\000000000000\.  Using Microsoft's original dashboard (or UnleashX)
you should be able to copy the saved games from H:\4541000d\ to the hard drive,
and then they will go into E:\UDATA\4541000d\.  Note that Microsoft's original
dashboard will not find the saved games on a memory card if they are placed in a
UDATA directory (H:\UDATA\4541000d\);
How:
The biggest thing you'll need a reference for is: What data to write, and where
to write it to?  You may need more help than that, but that is the least that
you'll likely need.  Exploits based on the audio hack are generally considered
safer, though possibly less convenient, than those requiring a font hack, for a
couple of reasons.  First, they are manually initiated, which means they don't
execute unless you tell them to, and so you probably won't get in trouble if
something unexpected happens, such as your Xbox losing track of time and asking
you to input it again.  Second, the font hack can be done entirely by writing to
the E: (although the most popular thing to run, Phoenix BIOS Loader, may load a
BIOS that wants a dashboard on C:, you can still run PBL without using the C:
and see that it works).  If you do write to the E: and delete a file or even
cause partition corruption, you're may lose your saved games.  On the other
hand, problems on the C: can result in your Xbox system failing to boot.  I'm
more comfortable modifying my list of custom soundtracks (especially since I had
none) than boot files that the Xbox relies on.
- 
		Ethernet
		
 - 
		Memory Unit
		
 - 
		Writing to Xbox hard drive