Assembla home | Assembla project page
 

Changeset 402

Show
Ignore:
Timestamp:
05/20/08 22:06:33 (2 years ago)
Author:
DataGhost
Message:

Branch dataghost:
+ Added TX1 support (1.00g and 1.01b)
Note: orientation sensor readings might fail, function is not present in firmware so it was engineered.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/dataghost/platform/tx1/sub/100g/boot.c

    r388 r402  
    162162} 
    163163 
     164void __attribute__((naked,noinline)) dg_tx1_EViA() { 
     165        asm volatile( 
     166                "STR     LR, [SP,#-4]!\n" 
     167                "BL      dg_tx1_EViA_cont\n" 
     168                "MOV     R0, R0,LSL#16\n" 
     169                "MOV     R0, R0,LSR#16\n" 
     170                "LDR     PC, [SP],#4\n" 
     171        ); 
     172} 
     173 
     174void __attribute__((naked,noinline)) dg_tx1_EViA_cont() { 
     175        asm volatile ( 
     176                "MOV     R0, #0x6C\n" 
     177                "STR     LR, [SP,#4]!\n" 
     178                "BL      sub_FFB08E20\n" 
     179                "MOV     R0, R0,LSL#16\n" 
     180                "MOV     R0, R0,LSR#16\n" 
     181                "LDR     PC, [SP],#4\n" 
     182        ); 
     183} 
     184 
     185void __attribute__((naked,noinline)) dg_tx1_EViB() { 
     186        asm volatile( 
     187                "STR     LR, [SP,#-4]!\n" 
     188                "BL      dg_tx1_EViB_cont\n" 
     189                "MOV     R0, R0,LSL#16\n" 
     190                "MOV     R0, R0,LSR#16\n" 
     191                "LDR     PC, [SP],#4\n" 
     192        ); 
     193} 
     194 
     195void __attribute__((naked,noinline)) dg_tx1_EViB_cont() { 
     196        asm volatile ( 
     197                "MOV     R0, #0x6D\n" 
     198                "STR     LR, [SP,#4]!\n" 
     199                "BL      sub_FFB08E20\n" 
     200                "MOV     R0, R0,LSL#16\n" 
     201                "MOV     R0, R0,LSR#16\n" 
     202                "LDR     PC, [SP],#4\n" 
     203        ); 
     204} 
     205 
     206 
  • branches/dataghost/platform/tx1/sub/100g/stubs_auto.S

    r388 r402  
    3131STUB(FFA4D7B0) 
    3232STUB(FFB057F8) 
     33STUB(FFB08E20) 
    3334STUB(FFB1CF10) 
    3435STUB(FFB2535C) 
  • branches/dataghost/platform/tx1/sub/100g/stubs_entry_2.S

    r388 r402  
    2929NHSTUB(PutInNdFilter, 0xffa63994) 
    3030NHSTUB(PutOutNdFilter, 0xffa639DC) 
     31 
     32 
     33/////////// 
     34// Following functions are for dgmod 
     35// nullsub_1 is at 0xFF8117E8 
     36NHSTUB(GetISPitchPWM,                             0xFFA6D39C) 
     37NHSTUB(GetISYawPWM,                               0xFFA6D3B0) 
     38NHSTUB(GetISShiftLensPitchPosition,               0xFFA6D3C4) 
     39NHSTUB(GetISShiftLensYawPosition,                 0xFFA6D3D8) 
     40NHSTUB(SetISPitchPWM,                             0xFFA6D138) 
     41NHSTUB(SetISYawPWM,                               0xFFA6D148) 
     42NHSTUB(MoveISLensToTopLimitPosition,              0xFFA6D02C) 
     43NHSTUB(MoveISLensToBottomLimitPosition,           0xFFA6D01C) 
     44NHSTUB(MoveISLensToLeftLimitPosition,             0xFFA6D00C) 
     45NHSTUB(MoveISLensToRightLimitPosition,            0xFFA6CFFC) 
     46NHSTUB(MoveISLensToCentralPosition,               0xFFA6D270) 
     47 
     48NHSTUB(GetISHallDevicePitchOffset,                0xFFA6D33C) 
     49NHSTUB(GetISHallDeviceYawOffset,                  0xFFA6D34C) 
     50NHSTUB(GetISHallDevicePitchGain,                  0xFFA6D35C) 
     51NHSTUB(GetISHallDeviceYawGain,                    0xFFA6D36C) 
     52NHSTUB(GetISGyroPitchOffset,                      0xFFA6CFB4) 
     53NHSTUB(GetISGyroYawOffset,                        0xFFA6CFAC) 
     54NHSTUB(GetISGyroPitchGain,                        0xFFA6D37C) 
     55NHSTUB(GetISGyroYawGain,                          0xFFA6D38C) 
     56NHSTUB(GetISLensCenterShiftAaxis,                 0xFFA6CF80) 
     57NHSTUB(GetISLensCenterShiftBaxis,                 0xFFA6CF88) 
     58NHSTUB(GetISLensEViAaxis,                         dg_tx1_EViA) // Hack something 
     59NHSTUB(GetISLensEViBaxis,                         dg_tx1_EViB) // Hack something 
     60NHSTUB(GetISLensDampAaxis,                        0xFF8117E8) // nullsub 
     61NHSTUB(GetISLensDampBaxis,                        0xFF8117E8) // nullsub 
     62 
     63// Second set of IS lens controls 
     64NHSTUB(GetISDriveAaxis,                           0xFFB06AB8) 
     65NHSTUB(GetISDriveBaxis,                           0xFFB06AEC) 
     66NHSTUB(GetISPositionAaxis,                        0xFFB06B24) 
     67NHSTUB(GetISPositionBaxis,                        0xFFB06B5C) 
     68NHSTUB(GetISHallOffsetAaxis,                      0xFFB06B98) 
     69NHSTUB(GetISHallOffsetBaxis,                      0xFFB06BD4) 
     70NHSTUB(GetISHallGainAaxis,                        0xFFB06C0C) 
     71NHSTUB(GetISHallGainBaxis,                        0xFFB06C44) 
     72NHSTUB(GetISGyroGainAaxis,                        0xFFB06C7C) 
     73NHSTUB(GetISGyroGainBaxis,                        0xFFB06CB4) 
     74NHSTUB(GetISCoefficientP_A,                       0xFFB07140) 
     75NHSTUB(GetISCoefficientP_B,                       0xFFB07180) 
     76NHSTUB(GetISCoefficientI_A,                       0xFFB071C0) 
     77NHSTUB(GetISCoefficientI_B,                       0xFFB07200) 
     78NHSTUB(GetISCoefficientD_A,                       0xFFB07240) 
     79NHSTUB(GetISCoefficientD_B,                       0xFFB07280) 
     80NHSTUB(GetISPLFAaxis,                             0xFFB06FBC) 
     81NHSTUB(GetISPLFBaxis,                             0xFFB06FEC) 
     82NHSTUB(GetISLPFAaxis,                             0xFFB0703C) 
     83NHSTUB(GetISLPFBaxis,                             0xFFB0706C) 
     84NHSTUB(GetISDbgData,                              0xFFB06D78) 
     85NHSTUB(GetISADData,                               0xFFB06DBC) 
     86NHSTUB(GetISDampAaxis,                            0xFFB06F0C) 
     87NHSTUB(GetISDampBaxis,                            0xFFB06F44) 
     88NHSTUB(GetISEViAaxis,                             dg_tx1_EViA) // Hack something 
     89NHSTUB(GetISEViBaxis,                             dg_tx1_EViB) // Hack something 
     90NHSTUB(GetISHallOut1Amp,                          0xFFB06EAC) 
     91NHSTUB(ISActive,                                  0xFFB072A4) 
     92 
     93NHSTUB(GetWBStruct,                               0xFF8117E8) // nullsub, not useful 
     94 
     95NHSTUB(MuteOffPhysicalScreen,                     0xFF848AD4) 
     96 
     97 
     98//NHSTUB(PostLEDMessage,                  0xFFA4290C) // Already in TX1 
     99 
     100NHSTUB(TurnOnDisplay,                             0xFF8489E4) 
     101NHSTUB(TurnOffDisplay,                            0xFF848A10) 
     102NHSTUB(TurnOnBackLight,                           0xFF848A3C) 
     103NHSTUB(TurnOffBackLight,                          0xFF848A6C) 
     104NHSTUB(SwitchOnDisplay,                           0xFFA6A444) 
     105NHSTUB(SwitchOffDisplay,                          0xFFA6A410) 
     106 
     107NHSTUB(StopContinuousVRAMData,                    0xFF8117E8) // nullsub, not useful 
     108 
     109NHSTUB(GetShutterReadyStateVar,                   0xFF8117E8) // nullsub, not useful 
     110 
  • branches/dataghost/platform/tx1/sub/100g/stubs_min.S

    r388 r402  
    1010DEF(focus_busy, 0x8F1A0) 
    1111DEF(led_table, 0x64DC0) 
     12 
     13// Found in PutsCameraLogEvent, right before calling the actual 'puts' function 
     14// ROM:FF815A44   LDR     R3, =0xE8EC 
     15// ROM:FF815A48   LDR     R0, [R3] 
     16// ROM:FF815A4C   BL      LogPutsToBuffer 
     17DEF(dg_cameralog_base, 0xE8EC) 
     18 
  • branches/dataghost/platform/tx1/sub/101b/boot.c

    r388 r402  
    162162} 
    163163 
     164void __attribute__((naked,noinline)) dg_tx1_EViA() { 
     165        asm volatile( 
     166                "STR     LR, [SP,#-4]!\n" 
     167                "BL      dg_tx1_EViA_cont\n" 
     168                "MOV     R0, R0,LSL#16\n" 
     169                "MOV     R0, R0,LSR#16\n" 
     170                "LDR     PC, [SP],#4\n" 
     171        ); 
     172} 
     173 
     174void __attribute__((naked,noinline)) dg_tx1_EViA_cont() { 
     175        asm volatile ( 
     176                "MOV     R0, #0x6C\n" 
     177                "STR     LR, [SP,#4]!\n" 
     178                "BL      sub_FFB08EA0\n" 
     179                "MOV     R0, R0,LSL#16\n" 
     180                "MOV     R0, R0,LSR#16\n" 
     181                "LDR     PC, [SP],#4\n" 
     182        ); 
     183} 
     184 
     185void __attribute__((naked,noinline)) dg_tx1_EViB() { 
     186        asm volatile( 
     187                "STR     LR, [SP,#-4]!\n" 
     188                "BL      dg_tx1_EViB_cont\n" 
     189                "MOV     R0, R0,LSL#16\n" 
     190                "MOV     R0, R0,LSR#16\n" 
     191                "LDR     PC, [SP],#4\n" 
     192        ); 
     193} 
     194 
     195void __attribute__((naked,noinline)) dg_tx1_EViB_cont() { 
     196        asm volatile ( 
     197                "MOV     R0, #0x6D\n" 
     198                "STR     LR, [SP,#4]!\n" 
     199                "BL      sub_FFB08EA0\n" 
     200                "MOV     R0, R0,LSL#16\n" 
     201                "MOV     R0, R0,LSR#16\n" 
     202                "LDR     PC, [SP],#4\n" 
     203        ); 
     204} 
     205 
     206 
  • branches/dataghost/platform/tx1/sub/101b/stubs_auto.S

    r388 r402  
    3131STUB(FFA4D830) 
    3232STUB(FFB05878) 
     33STUB(FFB08EA0) 
    3334STUB(FFB1CF90) 
    3435STUB(FFB253DC) 
  • branches/dataghost/platform/tx1/sub/101b/stubs_entry_2.S

    r388 r402  
    2525NHSTUB(SetPropertyCase, 0xFF81BC20) 
    2626NHSTUB(PostLEDMessage, 0xFFA4290C) 
     27 
     28 
     29/////////// 
     30// Following functions are for dgmod 
     31// nullsub_1 is at 0xFF8117E8 
     32NHSTUB(GetISPitchPWM,                             0xFFA6D41C) 
     33NHSTUB(GetISYawPWM,                               0xFFA6D430) 
     34NHSTUB(GetISShiftLensPitchPosition,               0xFFA6D444) 
     35NHSTUB(GetISShiftLensYawPosition,                 0xFFA6D458) 
     36NHSTUB(SetISPitchPWM,                             0xFFA6D1B8) 
     37NHSTUB(SetISYawPWM,                               0xFFA6D1C8) 
     38NHSTUB(MoveISLensToTopLimitPosition,              0xFFA6D0AC) 
     39NHSTUB(MoveISLensToBottomLimitPosition,           0xFFA6D09C) 
     40NHSTUB(MoveISLensToLeftLimitPosition,             0xFFA6D08C) 
     41NHSTUB(MoveISLensToRightLimitPosition,            0xFFA6D07C) 
     42NHSTUB(MoveISLensToCentralPosition,               0xFFA6D2F0) 
     43 
     44NHSTUB(GetISHallDevicePitchOffset,                0xFFA6D3BC) 
     45NHSTUB(GetISHallDeviceYawOffset,                  0xFFA6D3CC) 
     46NHSTUB(GetISHallDevicePitchGain,                  0xFFA6D3DC) 
     47NHSTUB(GetISHallDeviceYawGain,                    0xFFA6D3EC) 
     48NHSTUB(GetISGyroPitchOffset,                      0xFFA6D034) 
     49NHSTUB(GetISGyroYawOffset,                        0xFFA6D02C) 
     50NHSTUB(GetISGyroPitchGain,                        0xFFA6D3FC) 
     51NHSTUB(GetISGyroYawGain,                          0xFFA6D40C) 
     52NHSTUB(GetISLensCenterShiftAaxis,                 0xFFA6D000) 
     53NHSTUB(GetISLensCenterShiftBaxis,                 0xFFA6D008) 
     54NHSTUB(GetISLensEViAaxis,                         dg_tx1_EViA) // Hack something 
     55NHSTUB(GetISLensEViBaxis,                         dg_tx1_EViB) // Hack something 
     56NHSTUB(GetISLensDampAaxis,                        0xFF8117E8) // nullsub 
     57NHSTUB(GetISLensDampBaxis,                        0xFF8117E8) // nullsub 
     58 
     59// Second set of IS lens controls 
     60NHSTUB(GetISDriveAaxis,                           0xFFB06B38) 
     61NHSTUB(GetISDriveBaxis,                           0xFFB06B6C) 
     62NHSTUB(GetISPositionAaxis,                        0xFFB06BA4) 
     63NHSTUB(GetISPositionBaxis,                        0xFFB06BDC) 
     64NHSTUB(GetISHallOffsetAaxis,                      0xFFB06C18) 
     65NHSTUB(GetISHallOffsetBaxis,                      0xFFB06C54) 
     66NHSTUB(GetISHallGainAaxis,                        0xFFB06C8C) 
     67NHSTUB(GetISHallGainBaxis,                        0xFFB06CC4) 
     68NHSTUB(GetISGyroGainAaxis,                        0xFFB06CFC) 
     69NHSTUB(GetISGyroGainBaxis,                        0xFFB06D34) 
     70NHSTUB(GetISCoefficientP_A,                       0xFFB071C0) 
     71NHSTUB(GetISCoefficientP_B,                       0xFFB07200) 
     72NHSTUB(GetISCoefficientI_A,                       0xFFB07240) 
     73NHSTUB(GetISCoefficientI_B,                       0xFFB07280) 
     74NHSTUB(GetISCoefficientD_A,                       0xFFB072C0) 
     75NHSTUB(GetISCoefficientD_B,                       0xFFB07300) 
     76NHSTUB(GetISPLFAaxis,                             0xFFB0703C) 
     77NHSTUB(GetISPLFBaxis,                             0xFFB0706C) 
     78NHSTUB(GetISLPFAaxis,                             0xFFB070BC) 
     79NHSTUB(GetISLPFBaxis,                             0xFFB070EC) 
     80NHSTUB(GetISDbgData,                              0xFFB06DF8) 
     81NHSTUB(GetISADData,                               0xFFB06E3C) 
     82NHSTUB(GetISDampAaxis,                            0xFFB06F8C) 
     83NHSTUB(GetISDampBaxis,                            0xFFB06FC4) 
     84NHSTUB(GetISEViAaxis,                             dg_tx1_EViA) // Hack something 
     85NHSTUB(GetISEViBaxis,                             dg_tx1_EViB) // Hack something 
     86NHSTUB(GetISHallOut1Amp,                          0xFFB06F2C) 
     87NHSTUB(ISActive,                                  0xFFB07324) 
     88 
     89NHSTUB(GetWBStruct,                               0xFF8117E8) // nullsub, not useful 
     90 
     91NHSTUB(MuteOffPhysicalScreen,                     0xFF8883D0) 
     92 
     93 
     94//NHSTUB(PostLEDMessage,                  0xFFA4290C) // Already in TX1 
     95 
     96NHSTUB(TurnOnDisplay,                             0xFF8489E4) 
     97NHSTUB(TurnOffDisplay,                            0xFF848A10) 
     98NHSTUB(TurnOnBackLight,                           0xFF848A3C) 
     99NHSTUB(TurnOffBackLight,                          0xFF848A6C) 
     100NHSTUB(SwitchOnDisplay,                           0xFFA6A4C4) 
     101NHSTUB(SwitchOffDisplay,                          0xFFA6A490) 
     102 
     103NHSTUB(StopContinuousVRAMData,                    0xFF8117E8) // nullsub, not useful 
     104 
     105NHSTUB(GetShutterReadyStateVar,                   0xFF8117E8) // nullsub, not useful 
     106 
  • branches/dataghost/platform/tx1/sub/101b/stubs_min.S

    r388 r402  
    1010DEF(focus_busy, 0x8F1A0) 
    1111DEF(led_table, 0x64DC0) 
     12 
     13// Found in PutsCameraLogEvent, right before calling the actual 'puts' function 
     14// ROM:FF815A44   LDR     R3, =0xE8EC 
     15// ROM:FF815A48   LDR     R0, [R3] 
     16// ROM:FF815A4C   BL      LogPutsToBuffer 
     17DEF(dg_cameralog_base, 0xE8EC) 
     18