el usuario Stuck estuvo revisando el asm que deje, y el que sabe mas me dijo que quedaria asi:
Código:
include "x.inc"
new_vector_table_ram equ 0x4C02D2CC ; vector_table+10
vector_table equ 0x4C02D2BC ;w800 002: 0x4c04b0c0
func3 equ 0x453B01D8 ; w800 002: 0x4505fe88
patch_reloc equ patch+144 ;patch+144
;ram_func E403044C W200 R4HA
;funciones por buscar y el org 0x44E8399A
func equ 0x44e8f6dc
func2 equ 0x44e8f724
newloc equ 0x44e839a4
org 0x44C599D4
DCD new_vector_table_ram
org 0x44C598BC
DCD new_vector_table_ram
org 0x44C59944
DCD new_vector_table_ram
org 0x44C59C34
DCD new_vector_table_ram
org 0x44E8399A ;falta
LSL R0, R0, 0
LDR R3, _PATCH_
BX R3
_patch_:
org _patch_
DCD 0x45211000+1
org 0x45211000
BL FUNC
BL FUNC2
LDR R1, RAM
LDRB R1, [R1]
CMP R5, 5
BNE LOC_45211030
MOV R2, 0X2C
LDRB R2, [R4,R2]
CMP R2, 0
BNE LOC_45211030
MOV R2, 1
EOR R1, R2
LDR R2, RAM
STRB R1, [R2]
LDR R5, PATCH_RELOC
PUSH {R0,R3,LR}
LDR R0, ICON
BL FUNC3
POP {R0,R3}
POP {R2}
MOV LR, R2
loc_45211030:
CMP R1, 1
BNE LOC_45211054
MOV R1, 0XA
CMP R5, 0X18
BEQ LOC_45211052
MOV R1, 6
CMP R5, 0X12
BEQ LOC_45211052
MOV R1, 0XC
CMP R5, 0X14
BEQ LOC_45211052
MOV R1, 8
CMP R5, 0X16
BEQ LOC_45211052
MOV R1, 5
CMP R5, 0X15
BNE LOC_45211054
loc_45211052:
ADD R5, R1, 0
loc_45211054:
CMP R6, 0
LDR R3, JUMP
BX R3
DCD 0
ram DCD vector_table+4
icon DCD 0xeab8
jump DCD newloc+1
Estos son mis avances en el ASM. Seria cuestion de buscar las 3
funciones y el org que falta, las 3 funciones y el org estan por la
misma area, ram_func que esta comentado es de referencia y te debe
ayudar a encontrar los offsets correctos de las funciones que faltan o
por lo menos eso pienso yo, al haber examinado ayer un rato el del W800.
Eso me dijo, todavia no me puse a buscar las funciones, pero si alguien quiere avanzar, que busque.Saludos.
Stuck, si podes escribinos por aca, gracias.
Marcadores