Friday 28 November 2014

Cross Flashing X-Fi sound cards

Introduction:
Was searching around for more mods for x-fi and found the link below.
Credit: jh1523 @ http://www.hardwareheaven.com/community/threads/preparing-hardware-mod-of-x-fi-cards-information-needed.199890/

Very interesting as i have the same Dell OEM X-Fi (MASB467) and wanted to try it out. Seemed easy to just read the EEPROM and modify the SubSystemID as the original author did and the card will become retail version 460.

Cross Flash:
I have Dell OEM 467 so i will need to change the SubSystemID from "1003" to "0021"
Dell OEM XtremeMusic (SB0467) to retail XtremeMusic (SB0460)

If you read the orignal thread you will find that the author also changed the SubSystemID of 
XtremeGamer Fatal1ty Pro to Fatal1ty FPS and the changes he did were "002C" to "0023".

Advantages:
You card will become full retail version (DELL Oem) with all the functions enabled and working correctly, including the Dolby/DTS decoder (which were disabled previously).

Skill Required:
Soldering/De-Soldering SOIC8 chip

Tools Needed:
I2C EEPROM Reader
PonyProg
SOIC-8 to DIP-8  Adapter

The CSI 24FC32 EEPROM on the SB X-Fi
Pin one is near the small dot/notch. Pin 1 through pin4 are connected togather.

Proper way/tools:
Get a I2C  EEPROM reader
Read the contents of the EEPROM and make the changes accordinly.

But here is how i did it the Poor Mans Way with new parts and some junk.

Building Easy I2C Bus Interface
Schematic
Parts:
  • DB25 Male x 1
  • 2.2 K Ohm x 2
  • 4.7 K Ohm x 2
  • 10 K Ohm x 1
  • BC 337 x 2 ( could not find them so i used BC 547)
  • 8 Pin IC Base (round pin preferred)
  • Jumper or Switch
Here is the finished interface.
Looks ugly and it is too :p


 This DB25 has seen better days

Did not had any other power source so used the USB interface to get power.

now comes the hard part, could not locate any SOIC-8 to DIP-8 Adapter in local market so made myself one. Cut down a circuit which had SOIC-8 IC and removed all the components  which were on it, used very thin wire to solder the pads to the DIP-8 Base.
here is the DIY adapter







Start Pony Prog:
Following the following settings
Setup ==> Interface Setup

Tick Parallel ==> Select EasyI2C I/O ==> LPT1 (or any other port to which the interface is connected) ==> OK

Device ==> I2C Bus 16bit eeprom ==> 2432

Click the Read All button or Command ==> Read All

 if everything is fine the interface will load the contents of ROM file.
The Vender ID of creative is 1102 and Subsystem ID of the current card is 1003, but the eeprom is in different endian so reversed  11 02 as 02 11 and 10 03 as 03 10. Now to edit follow these steps
Click Edit ==> Edit Buffer enabled
in the buffer window
Click 03 ==> a  new dialog will appear change the 03 in the hex field to 21 == > click OK
Click 10 ==> change the 10 to 00 ==> click OK

Click the write all button or Commands ==> write all
Click Yes
wait for it to finish and click ok.
Exit from ponyprog and we are done, solder the eeprom back on the card. 
Uninstall the previous driver and reinstall the sound driver and all should be fine.

here are screen shot of the pony prog process