MEMISOSTART - How do I know? - DryOS Development - CHDK Forum supplierdeeply

MEMISOSTART - How do I know?

  • 1 Replies
  • 3421 Views
MEMISOSTART - How do I know?
« on: 08 / August / 2009, 21:24:32 »
Advertisements
I have tried to find a clear explination of how to determine this value (and it's partners) but alas I don't get it.  I beleive the attached area of code will tell me but I don't know how.


Can someone tell me how I get MEMBASEADDR, RESTARTSTART, and most importantly MEMISOSTART from this dump?

Thanks
HarpoMa
Code: [Select]
ROM:FF810000 loc_FF810000                            ; CODE XREF: sub_FF828B98+D4j
ROM:FF810000                                         ; DATA XREF: ROM:off_FF822440o ...
ROM:FF810000                 B       loc_FF81000C
ROM:FF810000 ; END OF FUNCTION CHUNK FOR sub_FF828B98
ROM:FF810000 ; ---------------------------------------------------------------------------
ROM:FF810004 aGaonisoy       DCB "gaonisoy"
ROM:FF81000C ; ---------------------------------------------------------------------------
ROM:FF81000C ; START OF FUNCTION CHUNK FOR sub_FF828B98
ROM:FF81000C
ROM:FF81000C loc_FF81000C                            ; CODE XREF: sub_FF828B98:loc_FF810000j
ROM:FF81000C                 LDR     R1, =0xC0410000
ROM:FF810010                 MOV     R0, #0
ROM:FF810014                 STR     R0, [R1]
ROM:FF810018                 MOV     R1, #0x78
ROM:FF81001C                 MCR     p15, 0, R1,c1,c0
ROM:FF810020                 MOV     R1, #0
ROM:FF810024                 MCR     p15, 0, R1,c7,c10, 4
ROM:FF810028                 MCR     p15, 0, R1,c7,c5
ROM:FF81002C                 MCR     p15, 0, R1,c7,c6
ROM:FF810030                 MOV     R0, #0x3D
ROM:FF810034                 MCR     p15, 0, R0,c6,c0
ROM:FF810038                 MOV     R0, #0xC000002F
ROM:FF81003C                 MCR     p15, 0, R0,c6,c1
ROM:FF810040                 MOV     R0, #0x33
ROM:FF810044                 MCR     p15, 0, R0,c6,c2
ROM:FF810048                 MOV     R0, #0x40000033
ROM:FF81004C                 MCR     p15, 0, R0,c6,c3
ROM:FF810050                 MOV     R0, #0x80000017
ROM:FF810054                 MCR     p15, 0, R0,c6,c4
ROM:FF810058                 LDR     R0, =0xFF80002D
ROM:FF81005C                 MCR     p15, 0, R0,c6,c5
ROM:FF810060                 MOV     R0, #0x34
ROM:FF810064                 MCR     p15, 0, R0,c2,c0
ROM:FF810068                 MOV     R0, #0x34
ROM:FF81006C                 MCR     p15, 0, R0,c2,c0, 1
ROM:FF810070                 MOV     R0, #0x34
ROM:FF810074                 MCR     p15, 0, R0,c3,c0
ROM:FF810078                 LDR     R0, =0x3333330
ROM:FF81007C                 MCR     p15, 0, R0,c5,c0, 2
ROM:FF810080                 LDR     R0, =0x3333330
ROM:FF810084                 MCR     p15, 0, R0,c5,c0, 3
ROM:FF810088                 MRC     p15, 0, R0,c1,c0
ROM:FF81008C                 ORR     R0, R0, #0x1000
ROM:FF810090                 ORR     R0, R0, #4
ROM:FF810094                 ORR     R0, R0, #1
ROM:FF810098                 MCR     p15, 0, R0,c1,c0
ROM:FF81009C                 MOV     R1, #0x80000006
ROM:FF8100A0                 MCR     p15, 0, R1,c9,c1
ROM:FF8100A4                 MOV     R1, #6
ROM:FF8100A8                 MCR     p15, 0, R1,c9,c1, 1
ROM:FF8100AC                 MRC     p15, 0, R1,c1,c0
ROM:FF8100B0                 ORR     R1, R1, #0x50000
ROM:FF8100B4                 MCR     p15, 0, R1,c1,c0
ROM:FF8100B8                 LDR     R2, =0xC0200000
ROM:FF8100BC                 MOV     R1, #1
ROM:FF8100C0                 STR     R1, [R2,#0x10C]
ROM:FF8100C4                 MOV     R1, #0xFF
ROM:FF8100C8                 STR     R1, [R2,#0xC]
ROM:FF8100CC                 STR     R1, [R2,#0x1C]
ROM:FF8100D0                 STR     R1, [R2,#0x2C]
ROM:FF8100D4                 STR     R1, [R2,#0x3C]
ROM:FF8100D8                 STR     R1, [R2,#0x4C]
ROM:FF8100DC                 STR     R1, [R2,#0x5C]
ROM:FF8100E0                 STR     R1, [R2,#0x6C]
ROM:FF8100E4                 STR     R1, [R2,#0x7C]
ROM:FF8100E8                 STR     R1, [R2,#0x8C]
ROM:FF8100EC                 STR     R1, [R2,#0x9C]
ROM:FF8100F0                 STR     R1, [R2,#0xAC]
ROM:FF8100F4                 STR     R1, [R2,#0xBC]
ROM:FF8100F8                 STR     R1, [R2,#0xCC]
ROM:FF8100FC                 STR     R1, [R2,#0xDC]
ROM:FF810100                 STR     R1, [R2,#0xEC]
ROM:FF810104                 STR     R1, [R2,#0xFC]
ROM:FF810108                 LDR     R1, =0xC0400008
ROM:FF81010C                 LDR     R2, =0x430005
ROM:FF810110                 STR     R2, [R1]
ROM:FF810114                 MOV     R1, #1
ROM:FF810118                 LDR     R2, =0xC0243100
ROM:FF81011C                 STR     R2, [R1]
ROM:FF810120                 LDR     R2, =0xC0242010
ROM:FF810124                 LDR     R1, [R2]
ROM:FF810128                 ORR     R1, R1, #1
ROM:FF81012C                 STR     R1, [R2]
ROM:FF810130                 LDR     R0, =unk_FFB513B0
ROM:FF810134                 LDR     R1, =0x1900
ROM:FF810138                 LDR     R3, =0xCDAC
ROM:FF81013C
ROM:FF81013C loc_FF81013C                            ; CODE XREF: sub_FF828B98-18A50j
ROM:FF81013C                 CMP     R1, R3
ROM:FF810140                 LDRCC   R2, [R0],#4
ROM:FF810144                 STRCC   R2, [R1],#4
ROM:FF810148                 BCC     loc_FF81013C
ROM:FF81014C                 LDR     R1, =0x146B8C
ROM:FF810150                 MOV     R2, #0
ROM:FF810154
ROM:FF810154 loc_FF810154                            ; CODE XREF: sub_FF828B98-18A3Cj
ROM:FF810154                 CMP     R3, R1
ROM:FF810158                 STRCC   R2, [R3],#4
ROM:FF81015C                 BCC     loc_FF810154
ROM:FF810160                 B       loc_FF8101A0
ROM:FF810160 ; END OF FUNCTION CHUNK FOR sub_FF828B98
Canon Models - SD300, SD780, & SX210

*

Offline reyalp

  • ******
  • 14110
Re: MEMISOSTART - How do I know?
« Reply #1 on: 08 / August / 2009, 22:31:00 »
See http://chdk.wikia.com/wiki/Adding_support_of_a_new_camera#platform.2F.3Ccamera.3E.2Fsub.2F.3Cversion.3E.2Fmakefile.inc

and http://chdk.setepontos.com/index.php/topic,3623.msg33858.html#msg33858

In your code pasted above, the first loop (loc_FF81013) is copying initialized data from FFB513B0 (ROM) to 0x1900 (RAM, this is MEMBASEADDR), until it reaches 0xCDAC (meaning 0xCDAC-0x1900 = 46252 bytes). The next loop (loc_FF810154) initializes the canon firmware BSS up to 0x146B8C with 0. MEMISOSTART is at the end of the canon BSS, so is also 0x146B8C.
Don't forget what the H stands for.

 

Related Topics


SimplePortal 2.3.6 © 2008-2014, SimplePortal