Como compilar tu propio System Manager, "SM" para los amigos

Como compilar tu propio System Manager, "SM" para los amigos.

"A los mods, si este no es el lugar apropiado para este hilo, favor de mover a su lugar correspondiente."

Pre-carga: Quiero agradecer a Estwald, por su grandioso trabajo y MLT por su magnifico CFW XD


En vista de que muchas personas preguntan como hacerlo, como modificar y compilar su propio SM, me dispongo hacer este pequeño tutorial, de como cambiar los valores que vienen de fabrica, por los que se antoje al usuario.

Lo primero, es que necesitamos, es tener el entorno de compilación de PSL1GHT

Para entorno WINDOWS
http://www.elotrolado.net/hilo_psdk3v2-windows-ps3-sdk-con-psl1ght-v2-tiny3d-y-ps3-soundilb_1867760


Para Linux
http://www.elotrolado.net/hilo_psdk3v2-ubuntu-ps3-sdk-con-psl1ght-v2-tiny3d-ps3-soundlib-oscetool_1886884?hilit=ps3dev#p1732183522

Descargamos el SM desde aquí y descomprimimos. https://mega.co.nz/#!9MFySDpT!Uk7MplIn6kNQe0KXJlbRowTY_KMebC1Td4Nuf2o--XQ

En este caso, nos vamos a basar en el CFW MLT 4.46-Cobra y el SM4.46-4.50_v1.0.

Después, de descomprimir, ir a la carpeta sm_source_code y entrar en la carpeta de payload.

Aqui, abre con tu editor de texto plano favorito, el archivo payload.S
Nos movemos, hasta la linea 210.

Se van a encontrar con estos valores:
// fan control variables offset

fan_control: // FAN SPEEDS
.long 0x5f // from shutdown
.long 0x4d // < temp_control0
.long 0x54 // temp_control0 => temp_control1
.long 0x60 // temp_control0 <= temp_control1
.long 0x68 // >= temp_control1
.long 0x70 // >= temp_control2
.long 0x78 // >= temp_control3
.long 0xA0 // >= temp_control4

temp_control0: // CONTROL TEMPERATURES (ºC)
.long 45
temp_control1:
.long 50
temp_control2:
.long 55
temp_control3:
.long 60
temp_control4:
.long 65
temp_control5:
.long 75


Esto, corresponde a la configuración del SM que tengo para mi consola FAT 80 CECHK04, no pasa de 65 grados con temperatura ambiente de 36 grados *C

En la primera parte, se modifica la velocidad del ventilador y en la segunda parte, la temperatura objetivo de trabajo.

Personalmente, prefiero modificar los valores de la segunda parte, que es la temperatura, ya que es menos liosa y mas fácil de modificar.

Asi, para temp_control0, que vendria siendo la temperatura desde apagado, la tengo setiada 45, el ventilador en ese caso trabaja a 0x5f, pero cuando esta encendida, entonces se pone a 0x4d.

Para Temp_control1 la tengo en 50 grados *C, entonces .long 0x54 // temp_control0 => temp_control1, esto significa, que si temperatura de control0 es mayor o igual a temperatura de control1, el abanico se moverá en la velocidad 0x54. Y así, sucesivamente con los demás valores.

Como se ven, tengo en temp_control5 una temperatura de trabajo de 75 *C y una velocidad agresiva 0xA0 por si llegase a esta temperatura.

Luego de hacer los cambios necesarios, entonces guardamos el archivo y ejecutamos con permisos de administrador el archivo MakeIt.bat, que esta en la mismo carpeta del payload. Para los linuxeros ir al directorio de trabajo, y ejecutar un simple make. Al terminar, va dejar un archivo de nombre payload.bin. Copiamos ese archivo y nos vamos al directorio sm_source_code, desde aquí, nos movemos al directorio datas y sustituimos el archivo payload.bin que se encuentre allí.

Volvemos atrás y entramos al directorio source. Abrimos el archivo main.c y nos movemos hasta la linea 307, que tiene algo parecido a esto:
u32 speed_table[8] = {
0x4d, // < temp_control0
0x54, // temp_control0 => temp_control1
0x60, // temp_control0 <= temp_control1
0x68, // >= temp_control1
0x70, // >= temp_control2
0x78, // >= temp_control3
0xA0, // >= temp_control4
0xff // >= temp_control5

};

u32 temp_control[6] = {
45,
50,
55,
60,
65,
75
};


Aquí, vamos a modificar los valores que modificamos en el archivo payload.S, recordando poner en el mismo orden en como están en el archivo mencionado anteriormente.

Como verán, estos son los valores que tengo establecido para mi PS3 y funcionan a la perfección, teniéndola fresquita como la brisa primavera [carcajad] .

Cuando terminen de hacer los cambios, guardan el archivo y se van otra vez al directorio principal del SM, "sm_source_code". Aquí, abrir ejecutar el archivo con permisos de administrador Make_SELF.bat. Los que estan en Linux, ejecutar el comando make y va generar este archivo sm.self, en algunos casos sale como sm_source_code.self.

Lo importante es que le genere ese archivo, lo renombrar como sm.self y lo instalan en la ps3. Pueden instalarlo, como instalan normalmente.

Confieso, que después de usar el SM, mi ps3 nunca ha llegado a esa temperatura :cool: [poraki]

Cualquier duda, sera con respecto a la compilación, tratare de contestarla por aquí. [rtfm]
Muchas gracias por aprender a la gente, que como yo, no hemos tenido la oportunidad de aprender a programar. Un saludo y gracias de nuevo. [plas]
jlljmansilla escribió:Muchas gracias por aprender a la gente, que como yo, no hemos tenido la oportunidad de aprender a programar. Un saludo y gracias de nuevo. [plas]


Yo no se programar amigo, solo se hacer pequeños cambios. :p
Me podrias modificar el SM de habib? con los valores que tienes puestos aqui? Por que no es igual..:S
Hacker-Esp escribió:Me podrias modificar el SM de habib? con los valores que tienes puestos aqui? Por que no es igual..:S



No dispongo del source amigo [+risas]
5 respuestas