I was hoping to just tap into the I2C bus on the console, which would allow me to not only control power cycling, but control things like reading/writing the EEPROM, change LED colors, control fan speed, etc. Next I will need a way to turn the console on and off. When I plug the console in, the pi is powered and boots up. I simply tapped one of the 5v SB lines and a GND line right from the PSU connector port on the motherboard, and backfed one of the 5v and GND GPIOs on the pi. On my console, and others I looked at, the orange wires coming off of the PSU are 5v SB. I was able to find a 5v SB power line on the power connector for the motherboard. Lastly, I will need to tap the D0 wire to make the LPC port active. I will also want a way to turn the console on and off via the Pi to make testing easier. The Raspberry Pi must be fully booted before the xbox console is turned on, which means I need to tap a 5v power line that is powered at standby. What I want to try and do is have the Raspberry Pi act as a LPC device and feed the console a BIOS image from a file on the Pi's SD card.īefore I can even start playing around with the LPC port I needed to do some preparations. Yup, a single chip with a couple of wires soldered to it, nothing more. The first generation of modchips were nothing more than a replacement flash chip that supported LPC. Once the image has been read the console will attempt to boot into it. The modchips in your console will wait for the LPC port to become active and then feed the BIOS image to the console using the protocol as specified by the LPC specification. When the xbox boots and sees that the D0 line is pulled low, it knows to load the BIOS from the LPC port rather than the onboard flash chip. The port is activated when a certain pin (D0) on the motherboard is pulled low (grounded). This is the LPC port, and most modchips will attach to it. If you have ever opened your xbox console you might have seen this port. LPC ( Low Pin Count) is an interface used to connect legacy peripherals and boot ROMs to the cpu of a computer. So how do xbox modchips work? Well the xbox console has a debug port called the LPC port on the motherboard. If you are already familiar with the process then this section can be skipped. It will then boot the console into that BIOS image.įor those of you who don't know how the xbox loads alternate BIOS images from your modchips this part might be of interest.
![how to dump xbox 360 bios how to dump xbox 360 bios](https://www.ontikka.com/wp-content/uploads/2019/08/motherboard-bios-x401a.jpg)
Essentially I want to be able to SSH into the pi, run a script/program and give it the file name of the BIOS image I want to boot. My end goal is to be able to feed the console a BIOS image of choice through the LPC port using a raspberry pi. This is really just a test to see if I can do it and if it will work, I'm not trying to do anything new here.
#HOW TO DUMP XBOX 360 BIOS CODE#
I'll post my progress here, and if everything works out in the end I will post schematics and code needed to reproduce it. So I decided to start working on it earlier today. I've been tossing around the idea of seeing if I can make a modchip using the raspberry pi to feed the console a BIOS image over the LPC port. So I've been playing around with my Raspberry Pi's for a while now making all sorts of cool stuff.