A fun trip down memory lane! The Xbox is what really started to get me engaged with computers and, while nothing ever professionally came of it, I discovered a lifetime hobby of hardware and OS...
Exemplary
A fun trip down memory lane! The Xbox is what really started to get me engaged with computers and, while nothing ever professionally came of it, I discovered a lifetime hobby of hardware and OS tinkering.
Hardware Overviews
If anyone is interested in a great online write-up that further explores the Xbox hardware, have a look at:
Rusel DeMaria, author of the somewhat famous High Score! (and the Myst strategy guide!!), took the time to chronicle and interview key players in the design and creation of the Xbox, which he compiled into two volumes:
Game of X, Vol. I (The Idea of an American Console, the Demise of Sega, Doing without Asking, and the Dawn of Xbox) Game of X, Vol. II (Founding the M$ Games Division, Cutler's New Tech, Corporate Vulture Culture, and the 3D Wars)
More recently in the background of gaming journalism controversies, Dean Takahashi previously authored a rather celebrated book on the launch of the Xbox, following many of the same figures:
But my personal favorite is a multi-platform, full machine emulator based on Qemu, which seeks to emulate as much of the hardware experience as possible:
For this one, you are going to need a copy of complex4627v1.03.rar, a bootable Xbox kernel (yo-ho, yo-ho: Xbins mirrors under Console Based Applications).
Name
MD5
SHA-1
(1mb) Complex 4627 v1.03
21445C6F28FCA7285B0F167EA770D1E5
358A20E61EC1A2387127B1FA92113034FB279F9B
(256k) Complex 4627 v1.03
3D2C1A663C523F08389180A868B3D335
01E62FB823F9631A35F6F2FEB562D02C4A5EC7CF
If you plan to run with 128MB of RAM, you will need the debug version of that kernel:
Name
MD5
SHA-1
(1mb) Complex 4627 v1.03 Debug
B701B33BD1281E9541970AD9112161C6
BDF9B5A4C7145942BDC8516FD8C5B017D2979BC2
(512k) Complex 4627 v1.03 Debug
187A539C08E027CF72D9F5821EBE2230
C1061E12B049FD432A9C44621639D07D5891927E
You will also need a copy of mcpx_1.0.bin, the MCPX v1.0 bootloader (sometimes called MCPX X3 1.0; usually found in the same galleon, with original BIOSes).
Name
MD5
SHA-1
MCPX X3 v1.0 1bl ROM
D49C52A4102F6DF7BCF8D0617AC475ED
5D270675B54EB8071B480E42D22A3015AC211CEF
(Note: X2 chips, such as on Chihiro arcade boards, do not contain a first-stage bootloader. Also, Xemu does not support X3 1.1 1bls yet.)
Optionally, if you're feeling nostalgic, you may want to look for a copy of Xbox Dashboard 5960. The Internet Archive might be your friend there.
Game Information
You're on your own to find the games, but for the most comprehensive index of Xbox game disc information, with complete file content listings and hashes, you cannot go wrong with:
And if you like this index, feel free to send an email to the admin. They really like hearing from the community and don't get enough love for their hard work (in my opinion).
This is an invaluable resource to help in figuring out what version of an Xbox game you might have.
Essential Tools
Some essential tools for working with Xemu:
qemu-img - .qcow2 image conversion to help Windows users convert and mount their virtual harddrive. Example:
FatXplorer 3 (TRIAL) - for Windows users who want to mount the filesystem stored within the virtual harddrive (or a physical one, too). NOTE: This is trialware and you will be prompted to purshase a license at some point, but the developer is really involved and dedicated. However, if you don't want to purchase a license, there are alternatives worth exploring like xbox-winfsp. If on linux, have a look at fatx info.
Xbox EEPROM Editor - This is helpful for setting things like your hardware type ("Debug" for extended memory support), region, resolution, HDD key, and more.
XBEExplorer - An excellent tool for reading Xbox executable information such as linked libraries, certificate info, runtime flags, and more.
Hacking
If you want to get into some fun projects:
An increasing number of people are interested in manually patching games to support progressive scan, widescreen, and higher resolutions (but do know that performance may dip and vary). Have a look at some of the links in:
There is some microcode errata present in all Xbox kernels, as noted in this forum thread. While this has no real-world value and does not affect nor improve the performance of the system or games in any way, it's a fun project to learn how to unpack the kernel image. You will need:
MCExtractor, to dump the unpacked kernel's microcode info
A Hex editor (like HxD) to find the old microcode block in the kernel image and replace it
Microcode Repository, for copies of the old and new microcode blocks for comparison and replacement
Old block cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin is to be replaced with cpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin
Old block cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin is to be replaced with cpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin
Pro tip: A packed Retail Xbox BIOS image is 256K in size. A 1MB image is that same 256K but concatenated four times. A packed Debug Xbox BIOS image is 512K in size. A 1MB image is that same 512K but concatenated twice.
Complex 4627 versions 1.02 and 1.03 are signed with a standard Retail RC4 key (also called the MCPX 1.0 key):
With XBTool, this key is set in Config\XBOX 1.0.ini and/or Config\Debug.ini, under
RC4_key_encrypt=2
RC4_KEY=
(Also, expect some antivirus false positives when scanning XBTool -- this thing is ancient.)
More Hacking
One YouTube commenter asked whether the memory leaks in Morrowind were ever resolved: to my knowledge, no.
If you do want some increased performance for Morrowind and your Xbox has 128MB of RAM, you can dump the game with extract-xiso, and then patch Morrowind.xbe with a RAM delimiter tool such as dexbe (simply load your .xbe and uncheck Limit Dev-Kit Mem. to 64 MB, then save and quit) or delimit (a commandline app that you point at the .xbe).
(Note: default.xbe is already delimited, and just a stub for the main runtime anyway).
If your Xbox only has the standard 64MB, or you do not have access to a 128MB kernel, others have suggested making edits to the Morrowind.ini configuration file by finding and changing key entries such as:
Using extended RAM, I have personally opted to skip changing these.
Now, there is also a bug present in all versions of Morrowind (PC and Xbox) where, over a long period of time, actors will move slightly to the left. This is due to an error with the base character animation files; the idle animation loop begins and ends in a different position and because cell changes do not reset an actor's position, there is nothing to stop them from moving indefinitely.
You can place these two files under the following path of your game disc
Data Files\Meshes\xbase_anim.kf
Data Files\Meshes\xbase_anim_female.kf
These will override the broken mesh files stored in Data Files\Morrowind.bsa.
Finally, if you are using Game of the Year Edition and want to experiment with loading .esp plugin mods but you run into dependency issues, you can create two text files next to Data Files\Morrowind.esm, and name them Tribunal.esm and Bloodmoon.esm. Their sole contents should be the following string:
TES3
(This is the magic num at the beginning of .esm and .esp headers.) These should spoof relatively simple .esps into accepting that their dependencies have been met. However, you will want to make sure that the file modification date stamps match your desired load order, with the oldest dates being earliest to be loaded. In Windows, you could use something like BulkFileChanger, or perhaps PowerShell:
Oh wow, I almost forgot! To force the game to read its data from the disc path (D:) instead of the cache path (Z:), you should change a few offsets in Morrowind.xbe:
BS00101A (US)
US02102E (EU)
BS00503A (US, GotY)
BS00505E (EU, GotY)
Old Value
New Value
000C664F
000C670F
000C485F
000C4EDF
5A
44
0034E70C
0035370C
0035B714
0035C714
5A
44
003527E4
003577F4
0035FA0C
00360A0C
5A
44
00352B90
00357BCC
0035FE04
00360E04
5A
44
Yikes, I really got into the weeds on modding Morrowind, huh? Well, let's get back on track, then.
Even More Hacking
A handful of games used the EEPROM's HDD key to restrict save sharing. If you find yourself stuck importing a save from real hardware or somewhere on the internet, you may have to resign it for your current virtual or physical Xbox.
If you are on Xemu and transferring from physical hardware, one thing you could do is dump that Xbox's hardware EEPROM and then use it to boot Xemu.
On the other hand, if you do not have access to the physical Xbox from which the save was retrieved, you may be able to resign them with the help of some tools.
Xemu's HDD Key, which you can fetch from its generated eeprom.bin, using XboxEepromEditor
The particular game's SigKey and AuthKey. You can fetch/generate these keys from the respective game's default.xbe file or see if they are either already in XSaveSig's list orthis GitHub archive of expanded XSaveSig list entries.
If you have to manually fetch these all important keys for your particular game, you need to dump your game disc with extract-xiso. Once you have a copy of your default.xbe file, open it up with XBEExplorer. To find your SigKey, navigate to XBE Header > Certificate. The entry you are looking for is bzSignatureKey.
To obtain this .xbe's AuthKey, grab a copy of xboxsig.py, a python tool. If you're on Windows, ensure you have a version of Python3 installed and available in the $PATH for your command-line of choice, then run the script like so:
What you need to do next is grab your Xemu eeprom.bin file, open it with XboxEepromEditor, and fetch the HDD Key. (Note: if you have nulled your HDD key for some reason, you can use the 32-char 0 value instead.) Copy that HDD Key into XSaveSig's xbhddkey.ini file.
Lastly, you need to add the SigKey and AuthKey to XSaveSig's resign.ini file. After that, you should be able to run it and resign your save.
There's also a set of easy-to-use command-line tools for resigning the gamesaves of particular titles, if your needs are more specific and limited:
Unpacking and microcode patching not enough for your thirst? How about building the Xbox kernel from source? Have a look at this (hosted by M$'s very own GitHub):
If you are interested in amateur kernel development and want to get some overview on the NT 5.0 kernel that serves as the xboxkrnl base, have a look at:
IMPORTANT: Your HDD key must not be nulled. Also, if you are using an older softmod or a hardmod whose kernel blocks Xbox Live, you will either need to update your exploit or disable the block by means of the BIOS tool appropriate to your modchip.
EDIT: Fixed some spelling errors and clarified a few sentences.
EDIT2: Added SHA-1 sums of files, and byte offsets for all other Morrowind versions.
I have been sort of checking this post for while, wondering if someone was going to comment on it. It sure seemed like it was going to fall into obscurity with nary a comment. Then this. I have...
I have been sort of checking this post for while, wondering if someone was going to comment on it. It sure seemed like it was going to fall into obscurity with nary a comment.
Then this.
I have nothing to add, so mark it as fluff, but just wanted to say “wow”.
Good "wow"? :D While Microsoft should never be trusted to do anything beyond "Embrace, Extend, Extinguish", the original Xbox marked a very exciting time in my life. In 2002, I had saved up enough...
Exemplary
Good "wow"? :D
While Microsoft should never be trusted to do anything beyond "Embrace, Extend, Extinguish", the original Xbox marked a very exciting time in my life. In 2002, I had saved up enough cash to upgrade my computer to a PII-400, and buy an Xbox. It was the perfect compromise: in CentOS, I could burn CDs all day with K3b and watch Quicktime trailers in Mplayer without much stuttering; in Win98, I could play Half-Life at a decent framerate; on Xbox, I had immediate access to next-gen games -- which I could play with a controller! It was as though the whole world had met my finger-tips.
Admittedly, I still couldn't afford a lot of games, so much of my play time was spent consuming a friend's discarded OXM demo discs, but this system nonetheless blew my mind, even well into 2006. My first taste of Xbox Live was playing Return to Castle Wolfenstein, especially Beach Invasion, Norway, and Trench Toast -- remember how fun those maps/modes were? Holy cow! I also remember anticipating that Doom 3 was going to graphically blow my mind, that is until I picked up Chronicles of Riddick on a whim over the summer of '04. The original Splinter Cell with it's moody soundtrack still just fills me with waves of nostalgia. Plus, the fact that I not only had access to Morrowind, but also Arx Fatalis, Bauldur's Gate: DA, Star Wars: KotOR, and Fable all in one place had me busy for months at a time. This doesn't even scratch the amazing action games like Psi Ops, Otogi (by the FromSoftware), 007: Nightfire, The Thing, Breakdown, Area 51 (starring David Duchovny, lol), The Suffering, Judge Dredd, Star Wars: Jedi Academy, and Timesplitters 2, or adventure games like Syberia, Indigo Prophecy, Jade Empire, Thief: Deadly Shadows, Still Life, Dreamfall, and Beyond Good and Evil. I'm one of those weirdos who actually liked Deus Ex: Infinity War (but probably because I played it before the original, heh), and loved getting the spookies from Call of Cthulhu.
I didn't even mention Halo: CE yet, which in early 2002, wow.
Discovering just how much I could do with the Xbox became icing on the cake. There was even a short period of time from 2007 to early 2009 that Hulu could be streamed via a plugin for XBMC. Remember XBMC, the Xbox Media Center? It went on to become Kodi (but has never felt the same without that old ProjectMayhem skin). For a while there, the Xbox was the best, most versatile media player that money could buy.
EDIT: Oh right, so the video mentions that Morrowind's runtime (Morrowind.xbe) would issue an api call to jettison the current process in order to free memory handles and then rerun it's shim loader (default.xbe) with a pointer to any preserved data that was to be passed down to the new runtime instance. Well, fun fact: this same technique is also used in other games such as Deus Ex: Invisible War (and you can observe a similar functionality by watching it's parent/child processes in the Windows version, too; every time a load screen occurs, the child process is dropped and restarted).
I thought at the time that the 360 was premature and was pretty annoyed how the original got dropped just as it was hitting its stride. BTW there was an early game Blinkx which was advertised as...
I thought at the time that the 360 was premature and was pretty annoyed how the original got dropped just as it was hitting its stride.
BTW there was an early game Blinkx which was advertised as using the hard drive to store your gameplay as it ran which allowed you to rewind and fast-forward.
I have an original Xbox with the box, controllers, a DVD remote, and probably a few games sitting somewhere in my closet. It worked perfectly before I put it away for good. I should probably see...
I have an original Xbox with the box, controllers, a DVD remote, and probably a few games sitting somewhere in my closet. It worked perfectly before I put it away for good. I should probably see what I could sell it for.
There is a fatal flaw that affects most production models from hardware revision 1.0 to 1.4. Instead of a 2032 button battery to keep the system time across power losses, the Xbox used a charged...
There is a fatal flaw that affects most production models from hardware revision 1.0 to 1.4. Instead of a 2032 button battery to keep the system time across power losses, the Xbox used a charged capacitor. This "clock cap", located under the DVD drive and near the first controller port, is prone to leaking after a decade of life and its acidic contents can eat through the surface of the motherboard.
It might be worth checking your serial number and opening the unit up with a T20 torx bit to see if your clock cap has leaked. If it hasn't you can desolder it with no ill effects, save for losing the time on power loss. (Only the 1.6 model requires its presence to boot, but that one doesn't use the cap type that leaks.)
A fun trip down memory lane! The Xbox is what really started to get me engaged with computers and, while nothing ever professionally came of it, I discovered a lifetime hobby of hardware and OS tinkering.
Hardware Overviews
If anyone is interested in a great online write-up that further explores the Xbox hardware, have a look at:
Xbox Architecture - A Practical Analysis by Rodrigo Copetti
For historic context, readers may also be interested in reading about the Xbox's evolutionary ancestor:
Dreamcast Architecture - A Practical Analysis
Another fun hardware dive that served as an early bible for Xbox hardware reference is:
Hacking the Xbox by Andrew Huang (free .pdf copy from the author)
Still a fun, if dated read, AnandTech did a pretty good review of the Xbox's hardware just days after its launch in 2001:
Hardware Behind the Consoles - Microsoft's Xbox
A longtime community-lead source on documenting the Xbox's hardware and its revisions:
XboxDevWiki
With a larger userbase, and a more broad scope, the ConsoleMods wiki is also a valuable source of hardware information:
Original Xbox Mods Wiki
RacketBoy is a website geared toward retro-gaming enthusiasts and collectors. They often put out and update cansual overview guides such as:
Xbox 101: A Beginner's Guide to Microsoft's Original Console
Xbox History
Rusel DeMaria, author of the somewhat famous High Score! (and the Myst strategy guide!!), took the time to chronicle and interview key players in the design and creation of the Xbox, which he compiled into two volumes:
Game of X, Vol. I (The Idea of an American Console, the Demise of Sega, Doing without Asking, and the Dawn of Xbox)
Game of X, Vol. II (Founding the M$ Games Division, Cutler's New Tech, Corporate
VultureCulture, and the 3D Wars)More recently in the background of gaming journalism controversies, Dean Takahashi previously authored a rather celebrated book on the launch of the Xbox, following many of the same figures:
Opening the Xbox
There is also a six-part documentary series released by M$ for the 20th anniversary of Xbox:
Power On: The Story of Xbox
Emulation
If you don't have access to Xbox hardware, but want to jump into playing, there is a Windows-only (or Wine) runtime wrapper/partial emulator:
Cxbx-Reloaded
But my personal favorite is a multi-platform, full machine emulator based on Qemu, which seeks to emulate as much of the hardware experience as possible:
Xemu
For this one, you are going to need a copy of
complex4627v1.03.rar
, a bootable Xbox kernel (yo-ho, yo-ho: Xbins mirrors underConsole Based Applications
).If you plan to run with 128MB of RAM, you will need the debug version of that kernel:
You will also need a copy of
mcpx_1.0.bin
, the MCPX v1.0 bootloader (sometimes called MCPX X3 1.0; usually found in the same galleon, with original BIOSes).(Note: X2 chips, such as on Chihiro arcade boards, do not contain a first-stage bootloader. Also, Xemu does not support X3 1.1 1bls yet.)
Optionally, if you're feeling nostalgic, you may want to look for a copy of
Xbox Dashboard 5960
. The Internet Archive might be your friend there.
Game Information
You're on your own to find the games, but for the most comprehensive index of Xbox game disc information, with complete file content listings and hashes, you cannot go wrong with:
dbox.tools
And if you like this index, feel free to send an email to the admin. They really like hearing from the community and don't get enough love for their hard work (in my opinion).
This is an invaluable resource to help in figuring out what version of an Xbox game you might have.
Essential Tools
Some essential tools for working with Xemu:
qemu-img -
.qcow2
image conversion to help Windows users convert and mount their virtual harddrive. Example:FatXplorer 3 (TRIAL) - for Windows users who want to mount the filesystem stored within the virtual harddrive (or a physical one, too). NOTE: This is trialware and you will be prompted to purshase a license at some point, but the developer is really involved and dedicated. However, if you don't want to purchase a license, there are alternatives worth exploring like xbox-winfsp. If on linux, have a look at fatx info.
Xbox EEPROM Editor - This is helpful for setting things like your hardware type ("Debug" for extended memory support), region, resolution, HDD key, and more.
XBEExplorer - An excellent tool for reading Xbox executable information such as linked libraries, certificate info, runtime flags, and more.
Hacking
If you want to get into some fun projects:
An increasing number of people are interested in manually patching games to support progressive scan, widescreen, and higher resolutions (but do know that performance may dip and vary). Have a look at some of the links in:
Xbox-Scene - Widescreen Patches Megathread
You could always try your hand at patching the retail dashboard to have extended features:
UIX-Ultra-Lite
There is some microcode errata present in all Xbox kernels, as noted in this forum thread. While this has no real-world value and does not affect nor improve the performance of the system or games in any way, it's a fun project to learn how to unpack the kernel image. You will need:
cpu0068A_plat10_ver00000001_2000-11-02_PRD_80FC9E3B.bin
is to be replaced withcpu006B1_plat10_ver0000001C_2001-02-15_PRD_6506E1CF.bin
cpu00686_plat10_ver00000008_2000-05-05_PRD_EA2B7B61.bin
is to be replaced withcpu006B4_plat10_ver00000001_2002-01-10_PRD_58213E6A.bin
Pro tip: A packed Retail Xbox BIOS image is 256K in size. A 1MB image is that same 256K but concatenated four times. A packed Debug Xbox BIOS image is 512K in size. A 1MB image is that same 512K but concatenated twice.
Complex 4627 versions 1.02 and 1.03 are signed with a standard Retail RC4 key (also called the MCPX 1.0 key):
With XBTool, this key is set in
Config\XBOX 1.0.ini
and/orConfig\Debug.ini
, under(Also, expect some antivirus false positives when scanning XBTool -- this thing is ancient.)
More Hacking
One YouTube commenter asked whether the memory leaks in Morrowind were ever resolved: to my knowledge, no.
If you do want some increased performance for Morrowind and your Xbox has 128MB of RAM, you can dump the game with extract-xiso, and then patch
Morrowind.xbe
with a RAM delimiter tool such as dexbe (simply load your.xbe
and uncheckLimit Dev-Kit Mem. to 64 MB
, then save and quit) or delimit (a commandline app that you point at the.xbe
).(Note:
default.xbe
is already delimited, and just a stub for the main runtime anyway).If your Xbox only has the standard 64MB, or you do not have access to a 128MB kernel, others have suggested making edits to the
Morrowind.ini
configuration file by finding and changing key entries such as:Click to Expand
Using extended RAM, I have personally opted to skip changing these.
Now, there is also a bug present in all versions of Morrowind (PC and Xbox) where, over a long period of time, actors will move slightly to the left. This is due to an error with the base character animation files; the idle animation loop begins and ends in a different position and because cell changes do not reset an actor's position, there is nothing to stop them from moving indefinitely.
Enter Idle Animation Fix, a pair of meshes that correct the bug.
You can place these two files under the following path of your game disc
These will override the broken mesh files stored in
Data Files\Morrowind.bsa
.Finally, if you are using Game of the Year Edition and want to experiment with loading
.esp
plugin mods but you run into dependency issues, you can create two text files next toData Files\Morrowind.esm
, and name themTribunal.esm
andBloodmoon.esm
. Their sole contents should be the following string:(This is the magic num at the beginning of
.esm
and.esp
headers.) These should spoof relatively simple.esp
s into accepting that their dependencies have been met. However, you will want to make sure that the file modification date stamps match your desired load order, with the oldest dates being earliest to be loaded. In Windows, you could use something like BulkFileChanger, or perhaps PowerShell:Or using a *nix environment:
Oh wow, I almost forgot! To force the game to read its data from the disc path (D:) instead of the cache path (Z:), you should change a few offsets in
Morrowind.xbe
:000C664F
000C670F
000C485F
000C4EDF
5A
44
0034E70C
0035370C
0035B714
0035C714
5A
44
003527E4
003577F4
0035FA0C
00360A0C
5A
44
00352B90
00357BCC
0035FE04
00360E04
5A
44
Yikes, I really got into the weeds on modding Morrowind, huh? Well, let's get back on track, then.
Even More Hacking
A handful of games used the EEPROM's HDD key to restrict save sharing. If you find yourself stuck importing a save from real hardware or somewhere on the internet, you may have to resign it for your current virtual or physical Xbox.
If you are on Xemu and transferring from physical hardware, one thing you could do is dump that Xbox's hardware EEPROM and then use it to boot Xemu.
On the other hand, if you do not have access to the physical Xbox from which the save was retrieved, you may be able to resign them with the help of some tools.
You will need a few things first:
XSaveSig, an original Xbox save resigner program.
Xemu's HDD Key, which you can fetch from its generated
eeprom.bin
, using XboxEepromEditorThe particular game's SigKey and AuthKey. You can fetch/generate these keys from the respective game's
default.xbe
file or see if they are either already in XSaveSig's list or this GitHub archive of expanded XSaveSig list entries.If you have to manually fetch these all important keys for your particular game, you need to dump your game disc with extract-xiso. Once you have a copy of your
default.xbe
file, open it up with XBEExplorer. To find your SigKey, navigate toXBE Header > Certificate
. The entry you are looking for isbzSignatureKey
.To obtain this
.xbe
's AuthKey, grab a copy of xboxsig.py, a python tool. If you're on Windows, ensure you have a version of Python3 installed and available in the $PATH for your command-line of choice, then run the script like so:This will generate your AuthKey.
What you need to do next is grab your Xemu
eeprom.bin
file, open it with XboxEepromEditor, and fetch the HDD Key. (Note: if you have nulled your HDD key for some reason, you can use the 32-char0
value instead.) Copy that HDD Key into XSaveSig'sxbhddkey.ini
file.Lastly, you need to add the SigKey and AuthKey to XSaveSig's
resign.ini
file. After that, you should be able to run it and resign your save.There's also a set of easy-to-use command-line tools for resigning the gamesaves of particular titles, if your needs are more specific and limited:
Original Xbox Gamesave Resigners
Kernel Building
Unpacking and microcode patching not enough for your thirst? How about building the Xbox kernel from source? Have a look at this (hosted by M$'s very own GitHub):
Easy-Build for Xbox
If you are interested in amateur kernel development and want to get some overview on the NT 5.0 kernel that serves as the xboxkrnl base, have a look at:
Inside Microsoft Windows 2000
Xbox Lives
Learned what you like from the hacking scene and ready to hop back online? Sign up for an account on this Xbox Live replacement:
Insignia
IMPORTANT: Your HDD key must not be nulled. Also, if you are using an older softmod or a hardmod whose kernel blocks Xbox Live, you will either need to update your exploit or disable the block by means of the BIOS tool appropriate to your modchip.
EDIT: Fixed some spelling errors and clarified a few sentences.
EDIT2: Added SHA-1 sums of files, and byte offsets for all other Morrowind versions.
I have been sort of checking this post for while, wondering if someone was going to comment on it. It sure seemed like it was going to fall into obscurity with nary a comment.
Then this.
I have nothing to add, so mark it as fluff, but just wanted to say “wow”.
Good "wow"? :D
While Microsoft should never be trusted to do anything beyond "Embrace, Extend, Extinguish", the original Xbox marked a very exciting time in my life. In 2002, I had saved up enough cash to upgrade my computer to a PII-400, and buy an Xbox. It was the perfect compromise: in CentOS, I could burn CDs all day with K3b and watch Quicktime trailers in Mplayer without much stuttering; in Win98, I could play Half-Life at a decent framerate; on Xbox, I had immediate access to next-gen games -- which I could play with a controller! It was as though the whole world had met my finger-tips.
Admittedly, I still couldn't afford a lot of games, so much of my play time was spent consuming a friend's discarded OXM demo discs, but this system nonetheless blew my mind, even well into 2006. My first taste of Xbox Live was playing Return to Castle Wolfenstein, especially Beach Invasion, Norway, and Trench Toast -- remember how fun those maps/modes were? Holy cow! I also remember anticipating that Doom 3 was going to graphically blow my mind, that is until I picked up Chronicles of Riddick on a whim over the summer of '04. The original Splinter Cell with it's moody soundtrack still just fills me with waves of nostalgia. Plus, the fact that I not only had access to Morrowind, but also Arx Fatalis, Bauldur's Gate: DA, Star Wars: KotOR, and Fable all in one place had me busy for months at a time. This doesn't even scratch the amazing action games like Psi Ops, Otogi (by the FromSoftware), 007: Nightfire, The Thing, Breakdown, Area 51 (starring David Duchovny, lol), The Suffering, Judge Dredd, Star Wars: Jedi Academy, and Timesplitters 2, or adventure games like Syberia, Indigo Prophecy, Jade Empire, Thief: Deadly Shadows, Still Life, Dreamfall, and Beyond Good and Evil. I'm one of those weirdos who actually liked Deus Ex: Infinity War (but probably because I played it before the original, heh), and loved getting the spookies from Call of Cthulhu.
I didn't even mention Halo: CE yet, which in early 2002, wow.
Discovering just how much I could do with the Xbox became icing on the cake. There was even a short period of time from 2007 to early 2009 that Hulu could be streamed via a plugin for XBMC. Remember XBMC, the Xbox Media Center? It went on to become Kodi (but has never felt the same without that old ProjectMayhem skin). For a while there, the Xbox was the best, most versatile media player that money could buy.
EDIT: Oh right, so the video mentions that Morrowind's runtime (
Morrowind.xbe
) would issue an api call to jettison the current process in order to free memory handles and then rerun it's shim loader (default.xbe
) with a pointer to any preserved data that was to be passed down to the new runtime instance. Well, fun fact: this same technique is also used in other games such as Deus Ex: Invisible War (and you can observe a similar functionality by watching it's parent/child processes in the Windows version, too; every time a load screen occurs, the child process is dropped and restarted).Yes, I could have been more clear: good wow.
I thought at the time that the 360 was premature and was pretty annoyed how the original got dropped just as it was hitting its stride.
BTW there was an early game Blinkx which was advertised as using the hard drive to store your gameplay as it ran which allowed you to rewind and fast-forward.
I have an original Xbox with the box, controllers, a DVD remote, and probably a few games sitting somewhere in my closet. It worked perfectly before I put it away for good. I should probably see what I could sell it for.
There is a fatal flaw that affects most production models from hardware revision 1.0 to 1.4. Instead of a 2032 button battery to keep the system time across power losses, the Xbox used a charged capacitor. This "clock cap", located under the DVD drive and near the first controller port, is prone to leaking after a decade of life and its acidic contents can eat through the surface of the motherboard.
It might be worth checking your serial number and opening the unit up with a T20 torx bit to see if your clock cap has leaked. If it hasn't you can desolder it with no ill effects, save for losing the time on power loss. (Only the 1.6 model requires its presence to boot, but that one doesn't use the cap type that leaks.)
Thank you! I will check that out. It is one of the earlier Xbox's that was produced. Came with the huge, clunky controller.