007 TSOP Flash Kit v1.0 alpha 6 (based on raincoat 0.5)

Coded by Robert ([email protected])
Tested by venturahighway 

NOTE: This is an alpha version, use accordingly.

Brief description:
A TSOP flash kit based on Linux and raincoat 0.5 by [email protected] The xbox
hardware has to be modified according to the "TSOP method", in other words an
xbox with onboard flash write enabled. The original game "007 Agent Under Fire"
is needed to load the "007 TSOP Flash Kit" as a regular gamesave.

Internally supported flash types:
AMD - Am29F040B, Am29F080B, Am29LV800B
Fujitsu - MBM29F080A, MBM29F040C
Hynix - HY29F080
Sharp - LHF08CH1
SST - SST49LF020
ST - M29F080A, M29f002BT
Winbond - W49F020, W49F002U

The xbox hardware has to be modified according to the "TSOP method", in other
words an xbox with onboard flash write enabled. You can use this flash kit with
regular modchip as well, but if you use non M$ bios already I recommend the
latest version of "EurAsia Pro Generic Flash Disc" instead of this flash kit.

You can find info how to make the hardware changes using "TSOP method" here:


You need to open the Xbox and solder two bridges on the motherboard, to disable
the write-protection, as described on Xbox-Scene. Please ignore the paragraph
about modchips and "EvoX", just close the two bridges. 

The "007 TSOP Flash Kit" includes files to be placed in "007 Agent Under Fire"
gamesave dir on your xbox hd. The 4541000d directory structure in zip should be
copied to E:\UDATA. Put your preferred xbox bios named bios.bin (lower case) in
the E:\UDATA\4541000d\000000000000 folder. You can use a modded xbox to
transfer the files via ftp and put the "gamesave" on a regular xbox memorycard
which you load in the xbox you wish to flash. There are also memorycards which
features USB port for direct access via pc to makes it easier. Once you have
the files (007 gamesave) in a memorycard you only need the target xbox and the
original game "007 Agent Under Fire" to flash bios.

When using this kit xbox the video output from Linux don't work with the "007 
exploit" for some reason so all flash output/progress is logged to flash.log 
(lower case) to be found in the E:\UDATA\4541000d\000000000000 folder. Log
entries are appended to flash.log after each flash attempt. To further help
"blind users", flash kit give status as follows:

power led orange => flash kit started/running
flash ok         => xbox power down
flash fail       => xbox dvd tray eject (and xbox reset with M$ bios)

Before the first flash attempt this flash kit use raincoat to back up your
original bios which is saved to E:\original_bios.bin (stored in root/top dir of
UDATA hd partition).

If raincoat.cfg (lower case) is found in E:\UDATA\4541000d\000000000000 it will
be used instead of the internally supported flash types. Note that using
untested flash types is risky. There is no guarantee raincoat supports the
correct command sequence to program the flash. A sample raincoat.cfg file is
included in the zip. The file structure is flash type in hex, "flash
description", flash byte size in hex. 

Here is a sample of the raincoat.cfg syntax:
flash = 0x89a6,"Sharp - LHF08CH1",0x100000;
flash = 0xda8c,"Winbond - W49F020",0x40000;

Note that max 31 flash types can be read by raincoat, the rest ignored. If you
successfully flash new types (not internally supported), please email the 
raincoat.cfg file used to [email protected] so it can be added to the internal
list of flash types eventually.

in-file info:
bios.bin          => flash if found in dir E:\UDATA\4541000d\000000000000
raincoat.cfg      => Used if found in dir E:\UDATA\4541000d\000000000000

out-file info:
flash.log         => stored in dir E:\UDATA\4541000d\000000000000
original_bios.bin => stored in E:\  (root/top dir of UDATA hd partition)

The way raincoat is used in this release you need a bios.bin that have the
same size as your onboard xbox flash. Here is a size table of the internally
supported flash types to help you choose bios of correct size:

"AMD - Am29F040B"          = 524288  Bytes (0x80000)
"AMD - Am29F080B"          = 1048576 Bytes (0x100000)
"AMD - Am29LV800B"         = 1048576 Bytes (0x100000)
"FUJITSU - MBM29F040C"     = 524288  Bytes (0x80000)
"FUJITSU - MBM29F080A"     = 1048576 Bytes (0x100000)
"Hynix - HY29F080"         = 1048576 Bytes (0x100000)
"MACRONIX - MX29F022NTPC"  = 262144  Bytes (0x40000)
"Sharp LHF08CH1"           = 1048576 Bytes (0x100000)
"SST SST49LF020"           = 262144  Bytes (0x40000)
"ST M29f002BT"             = 262144  Bytes (0x40000)
"ST - M29F080A"            = 1048576 Bytes (0x100000)
"Winbond - W49F002U"       = 262144  Bytes (0x40000)
"Winbond W49F020"          = 262144  Bytes (0x40000)

v1.0 alpha 6
+ first public release

TODO (plans for the future):
+ Fix the video output
+ A working ftpd daemon included in the Linux RAM disk.

Please visit http://www.eurasia.nu for news and updates.