13.03.2013 Views

Hacking the Xbox

Hacking the Xbox

Hacking the Xbox

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

46<br />

<strong>Hacking</strong> <strong>the</strong> <strong>Xbox</strong>: An Introduction to Reverse Engineering<br />

The term “dynamic” is applied to RAM that has to be constantly<br />

refreshed in order to preserve <strong>the</strong> integrity of data. For example, <strong>the</strong><br />

RAM used in <strong>the</strong> <strong>Xbox</strong> must have every location read out and written<br />

back about thirty times a second. The performance penalty is not as bad<br />

as it sounds, as special hardware is built into modern DRAM chips that<br />

help optimize <strong>the</strong> process.<br />

The “synchronous” prefix means that inside <strong>the</strong> DRAM, <strong>the</strong> procedure<br />

for data access is broken down into a series of steps. Each of <strong>the</strong>se steps<br />

are independent and can occur in parallel, so that multiple data requests<br />

can be in-flight simultaneously. An external timing signal, known as a<br />

clock, is used to synchronize <strong>the</strong> movement of data access requests<br />

through <strong>the</strong> various steps inside <strong>the</strong> DRAM. As a result, data access<br />

requests flow through each step like water through a pipe, and this<br />

technique is also known as pipelining. Synchronous DRAMs have higher<br />

bandwidth throughput than <strong>the</strong>ir predecessors, because pipelining allows<br />

multiple requests to be processed at once. However, <strong>the</strong> time required<br />

from when an access is first issued to an SDRAM to when <strong>the</strong> data finally<br />

appears on <strong>the</strong> output —<strong>the</strong> access latency — is not improved by<br />

pipelining.<br />

The term “Double Data Rate” refers to <strong>the</strong> way synchronous data is<br />

transferred relative to <strong>the</strong> synchronizing clock. A clock waveform<br />

consists of a repeating pattern of high and low signals. In traditional<br />

systems, data is only transferred on <strong>the</strong> low-to-high transition of a clock<br />

waveform. In a DDR system, data is transferred on both <strong>the</strong> low-to-high<br />

and <strong>the</strong> high-to-low transitions. Thus, for <strong>the</strong> same clock frequency, twice<br />

<strong>the</strong> amount of data can be transferred. The performance mnemonic<br />

quoted by DDR SDRAM vendors, such as DDR266, refers to <strong>the</strong><br />

transfer rate, so <strong>the</strong> actual clock speed is one-half <strong>the</strong> performance<br />

mnemonic, or 133 MHz in this case.<br />

ROM<br />

Every computer needs to have some kind of persistent or non-volatile<br />

memory for storing <strong>the</strong> start-up, or boot, program. The DDR SDRAM<br />

discussed above does not work for this application because all data in a<br />

DDR SDRAM is lost when <strong>the</strong> power is removed. Current versions of<br />

<strong>the</strong> <strong>Xbox</strong> use a FLASH ROM instead to store data that has to persist<br />

even when <strong>the</strong> power is turned off. ROM stands for Read-Only Memory,<br />

and FLASH refers to a specific style of storage element that is electronically<br />

reprogrammable. FLASH style memories are convenient in PCs<br />

because <strong>the</strong>y can be reprogrammed by <strong>the</strong> end user to fix mistakes in <strong>the</strong><br />

boot code. However, in <strong>the</strong> <strong>Xbox</strong>, FLASH ROM programming by <strong>the</strong><br />

end user is purposely disabled. The write signal required for programming<br />

is disconnected by leaving out <strong>the</strong> jumper located on <strong>the</strong> back of<br />

<strong>the</strong> <strong>Xbox</strong> mo<strong>the</strong>rboard at component location R7R4 (see <strong>the</strong> sidebar<br />

titled “Enabling FLASH ROM Programming Hardware” for more<br />

information). In <strong>the</strong> case of <strong>the</strong> <strong>Xbox</strong>, <strong>the</strong> reprogrammability of FLASH<br />

is primarily leveraged as a convenience for Microsoft during development<br />

and production. It is quite likely that in a few months, <strong>the</strong> <strong>Xbox</strong> will

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!