PDA

Ver la versión completa : Parche SAMM A2



Fernandodks
15/12/2010, 14:51:36
Hola a todos. En poco tiempo formateare mi pc, y recorde que tenia un proyecto sin finalizar del SAMM A2.
Hace mucho tiempo que no me meto a algun foro de SE, no se si ya este el SAMM A2 o algo por el estilo pero quiero compartir con ustedes lo que hice hace ya algun tiempo.

Estaba trabajando en un SAMM para los A2.
No lo termine, me quede en hacer pruebas y mas pruebas. Todo es creacion mia, solo esta basado en el trabajo de myrzeug, pero nada es copia de el. No encontraran archivos ni contenido suyo.

Si alguien quiere continuar con el parche y elf adelante tienen todo el permiso. El parche lo que hace es agregar un item mas al momento de seleccionar el skin en su A2. Funciona junto con el elf que encontraran los source ( codigo fuente) sin terminar
aqui (http://www.topsony.com/forum_es/desarrollo-elfs-f201/samm-a2-codigo-fuente-t129167.html#post766814).

(C)FeRnAnDoDkS

NOTA: el asm por si se pregunta esta creado para W995 R1ha035

Sin mas comentarios lo dejo abajo:

include "x.inc"

org 0x1551848A
ADD R1,R0,1 ; agrega item al menu seleccion de layout

;------------------------------ get gui MainMenu
org 0x142F39FC;0x1412956E
LDR R3, off_JUMP
BLX R3
B _salto
align 4
off_JUMP DCD My_JUMP+1
_salto:


;----------------------------- layout menu get gui
org 0x155184D6
LDR R3, off_layoutjump
BLX R3
B salto
align 4
off_layoutjump DCD layout_+1


salto:



;------------------------------------ establece texto al los items

org 0x15518568
LDR R3, off_text_jump
BLX R3
B _salto_texto


align 4
off_text_jump DCD texto_jump+1
_salto_texto:

;---------------------------------- establece una opcion la seleccionada
org 0x155184C6
LDR R3, off_setcheck
BLX R3
B _salto_check


align 4
off_setcheck DCD check+1
_salto_check:

;-------------------------------- envia señal al elf que se sleccinono la 5 opcion skins

org 0x15518592
LDR R3, off_jump_signal
BLX R3
; B salto_segnal5


align 4
off_jump_signal DCD challangeditm+1
;salto: no aba




;-----------------------------------
org 0x15EE6630

My_JUMP:
STR R0, [R5,4]
CMP R0, 0
BEQ retorno_

PUSH {LR}
BL _send_signal_to_elf
MOVL R0, 0x11A
ADD R2, R4, R0
POP {PC}


retorno_:
NOP
LDR R3, off_loc_14129598
BX R3
align 4
off_loc_14129598 DCD 0x142F3A26+1
;-----------------------------------
_send_signal_to_elf:


PUSH {LR}
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ _fin_


;ADD R0, 0x30
;LDR R1, [R5, 4] ;GUI
;STR R1, [R0] ;GUI in BOOK

MOV R1,R0
LDR R0, [R5, 4] ;GUI
LDR R1, [R1, 0x18]; void func(GUI *g)
BLX R1

;// STR R1, [R0] ;GUI in BOOK


_fin_:
POP {PC}

;-------------------------------------------------------
Is_My_Book_elf:
PUSH {LR}
CMP R0,0
BEQ _Error
LDR R0, [R0]
LDR R0, [R0, 4]
adr R1, dw_ElfName
BL off_strcmp
CMP R0, 0
BEQ _Exit
_Error:
MOV R0, 0
POP {PC}
_Exit:
MOV R0, 1
POP {PC}
;-------------------------------------------------------------------------------------------------------------------
layout_:
PUSH {LR}

LDR R1, off_uno
LDR R2, off_dos
LDR R0,[R4,0x18]
BL Sub_setaction
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ _fin_
MOV R3,R0
LDR R0, [R4,0x18] ;GUIlist layout
LDR R1, [R5,0x10]
ADD R2,R7,0
LDR R3, [R3, 0x1C]; void func(GUI *g)
BLX R3

LDR R2, off_tres
LDR R0,[R4,0x18]
POP{PC}
;-------------------------------------------------------------- ------------------------------------------------

texto_jump:
PUSH {LR}

ADD R0,R5,0
BL itemindex
CMP R0,4
BEQ item_cuatro
CMP R0,3
BEQ item_tres
CMP R0,2
BEQ item_dos
CMP R0,1
BEQ item_uno
LDR R1,dword____
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos

item_cuatro:
adr R0, aAuthor
MOV R1, 6
LDR R2, off_0xffff
BL sub_15D77D4C; str2id
MOV R1,R0
ADD R0,R5,0
BL Sub_settext

B seguir
item_tres:
LDR R1,dword___
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos
item_dos:
LDR R1,dword__
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos
item_uno:
LDR R1,dword_
ADD R0,R5,0
BL Sub_settext
B fin_establecertextos

seguir:

LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0,0
BNE fin_establecertextos
MOV R1,1
ADD R0,R5,0
BL subseitemdisabled
adr R0, dword_BookManagerLite
MOV R1, 6
LDR R2, off_0xffff
BL sub_15D77D4C
MOV R1,R0
ADD R0,R5,0
BL Subsetunavalible_

fin_establecertextos:
LDR R3,[R7]


POP {PC}
align 4
dword_ DCD 0x794; rotating
dword__ DCD 0x795;single icon
dword___ DCD 0x78C ;from theme
dword____ DCD 0x78D ; grid
;-------------------------------------------------------------------


challangeditm:

ADD R0, R5, 0
BL msggetbook_
LDR R0, [R0,0x18]
BL getselected
MOV R6,1
CMP R0,4
BEQ signal_
B signal2



setdefaultlayout:

ADD R0, R5, 0
BL msggetbook_
LDR R0, [R0,0x18]
BL getselected
ADD R1,R0,0
LDR R0, [R4,0x10]
BL listget
LDR R1,[R0]
LDR R0,off_text
BL func

B terminar






signal2:

LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ fin_signal2
MOV R3,R0
MOV R0,0
LDR R3, [R3, 0x20]; void func3(bool b)
BLX R3


fin_signal2:
B setdefaultlayout


signal_:

LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0, 0
BEQ terminar
MOV R3,R0
MOV R0,1
LDR R3, [R3, 0x20]; void func3(bool b)
BLX R3




terminar:
ADD R0,R6,0
POP {R4-R7,PC}









check:
PUSH {LR}
LDR R0, off_Is_My_Book_elf
BL Sub_FindBook
CMP R0,0
BNE selected
ADD R1, R7, 0
B cotinue

selected:

LDR R0, [R0, 0x24];
CMP R0,1
BEQ siactivo_
ADD R1, R7, 0
B cotinue

siactivo_:

MOV R1,4


cotinue:
LDR R0, [R4,0x18]
BL Subsetchecked
LDR R1, setmessage_off

POP {PC}





;------------------------------------------


align 4
dw_ElfName DB "SAMMA2",0
align 4
aAuthor DB "Skins",0
align 4
atitle DB "Select Skin"


align 4
Sub_FindBook:
LDR R3, off_Sub_FindBook
BX R3


off_strcmp:
LDR R3, off_off_strcmp
BX R3

Sub_setaction:
LDR R3, off_Sub_setaction
BX R3


SetText:
LDR R3, off_Sub_settext
BX R3

SetVisible:
LDR R3, off_Sub_setvisible
BX R3

sub_15D77D4C:
LDR R3, off_str2id
BX R3
Sub_settext:
LDR R3, off_Sub_settext_
BX R3



guifree:
LDR R3, off_guifree
BX R3

listget:
LDR R3, off_getlist
BX R3

func:
LDR R3, function_
BX R3

Submessage:
LDR R3, message
BX R3
Subsetchecked:
LDR R3, off_setchecked
BX R3

subseitemdisabled:
LDR R3, itemsisabled
BX R3

Subsetunavalible_:
LDR R3, settextunavalible
BX R3


itemindex:
LDR R3, getitemindex
BX R3

getselected:
LDR R3, oneofmanygeselected
BX R3

msggetbook_:
LDR R3, getbook
BX R3

align 4

dword_BookManagerLite DCB "SAMMA2 is turned off",0x0A,0x0A,"please turn on it first",0



Align 4
off_Sub_settext_ DCD 0x142F0CFC+1
off_getlist DCD 0x1416E958+1
getbook DCD 0x142F1290+1
off_text DCD 0x15B53A80
function_ DCD 0x14E870A0+1
message DCD 0x142DA720+1
itemsisabled DCD 0x142593D8+1
settextunavalible DCD 0x14FA5DDC+1
getitemindex DCD 0x142F1284+1
setmessage_off DCD 0x15518540+1
oneofmanygeselected DCD 0x1509EAB8+1
off_uno DCD 0xFC2
off_0xffff dw 0xFFFF
off_dos DCD 0x155185BC+1
off_guifree DCD 0x14512BE0+1
off_tres DCD 0x15518424+1
off_CreateOneOfMany DCD 0x140F6A6C+1
off_getfirstfree DCD 0x1416E96C+1
off_Setstyle DCD 0x14132D3C+1
off_setchecked DCD 0x141117A0+1
off_showgui DCD 0x144ACC2C+1
off_itemcount DCD 0x150CE954+1
off_settitletext DCD 0x141105C8+1
off_Sub_setmessage DCD 0x142DA720+1
off_Sub_setaction DCD 0x14105420+1
off_Sub_FindBook DCD 0x1416E970+1
off_off_strcmp DCD 0x14D3B45C+1
off_Is_My_Book_elf DCD Is_My_Book_elf+1
off_str2id DCD 0x142D8380+1
offaction2 DCD 0x1551803C+1
off_Sub_settext DCD 0x14105150+1
off_Sub_setvisible DCD 0x141053FC+1
off_getselectitem_ DCD 0x4BA071B0+1