I wonder is PostLogicalEventToUI will help getting the GUI up to date after overriding some of these things..or is it even necessary (haven't tried anything yet)?
..below is a message list from a570 100e firmware, a lot to try there...
I see some difference between a710 and a570.
cat messagestrings.asm | grep -A 1 '\":' |grep -v "\-\-" |cut -f 1 |sed s/\"/\#/ |tr -d '\n' |tr '#' '\n' |tr ':' ' ' |tr -d \" > messagestrings------------------------cat codes.asm |cut -f 2 |sed s/^ffe/\#ffe/ |tr '\n' ' ' |tr '#' '\n' > messagecodes------------------------sort -k 2 messagestrings >strings.sortedsort messagecodes > codes.sortedpaste codes.sorted strings.sorted > codesstrings-------------------------cat codesstrings |tr '\t' ' ' |sed s/\ \ \*/\ /g |cut -d ' ' -f 2-4 > a570_postcodes.txt
PressRightButton, 0x81C, 0UnpressRightButton, 0x81D, 1PressLeftButton, 0x81E, 0UnpressLeftButton, 0x81F, 1PressUpButton, 0x820, 0UnpressUpButton, 0x821, 1PressDownButton, 0x822, 0UnpressDownButton, 0x823, 1HoldDownButton, 0x824, 3PressMenuButton, 0x825, 0UnpressMenuButton, 0x826, 1HoldMenuButton, 0x827, 3PressFuncButton, 0x828, 0UnpressFuncButton, 0x829, 1PressExpButton, 0x82A, 0UnpressExpButton, 0x82B, 1PressWBButton, 0x82C, 0UnpressWBButton, 0x82D, 1PressAEFELockButton, 0x82E, 0UnpressAEFELockButton, 0x82F, 1PressMacroButton, 0x830, 0UnpressMacroButton, 0x831, 1HoldMacroButton, 0x832, 3PressJumpButton, 0x833, 0UnpressJumpButton, 0x834, 1PressMultiButton, 0x835, 0UnpressMultiButton, 0x836, 1PressFlashButton, 0x837, 0UnpressFlashButton, 0x838, 1PressDispButton, 0x839, 0UnpressDispButton, 0x83A, 1HoldDispButton, 0x83B, 3RotateElectronicMainDialRight, 0x83C, 2RotateElectronicMainDialLeft, 0x83D, 2PressPonButton, 0x83E, 0UnpressPonButton, 0x83F, 1PressSpotButton, 0x840, 0UnpressSpotButton, 0x841, 1PressEraseButton, 0x842, 0UnpressEraseButton, 0x843, 1PressSoundButton, 0x844, 0UnpressSoundButton, 0x845, 1HoldSoundButton, 0x846, 3PressMFButton, 0x847, 0UnpressMFButton, 0x848, 1PressDriveButton, 0x849, 0UnpressDriveButton, 0x84A, 1PressTeleButton, 0x84B, 0UnpressTeleButton, 0x84C, 1PressMagButton, 0x84D, 0UnpressMagButton, 0x84E, 1PressWideButton, 0x84F, 0UnpressWideButton, 0x850, 1PressReductionButton, 0x851, 0UnpressReductionButton, 0x852, 1PressSetButton, 0x853, 0UnpressSetButton, 0x854, 1HoldSetButton, 0x855, 3PressAFFrameButton, 0x856, 0UnpressAFFrameButton, 0x857, 1HoldAFFrameButton, 0x858, 3PressISButton, 0x859, 0UnpressISButton, 0x85A, 1HoldISButton, 0x85B, 3PressShortcutButton, 0x85C, 0UnpressShortcutButton, 0x85D, 1PressPrintShareButton, 0x85E, 0UnpressPrintShareButton, 0x85F, 1HoldPrintShareButton, 0x860, 3PressAvExpButton, 0x861, 0UnpressAvExpButton, 0x862, 1HoldAvExpButton, 0x863, 3RotateJogDialRight, 0x864, 2RotateJogDialLeft, 0x865, 2PressISOButton, 0x866, 0UnpressISOButton, 0x867, 1PressDpButton, 0x868, 0UnpressDpButton, 0x869, 1PressFeatherRightButton, 0x86A, 2UnpressFeatherRightButton, 0x86B, 2PressFeatherLeftButton, 0x86C, 2UnpressFeatherLeftButton, 0x86D, 2PressFeatherUpButton, 0x86E, 2UnpressFeatherUpButton, 0x86F, 2PressFeatherDownButton, 0x870, 2UnpressFeatherDownButton, 0x871, 2TransitFeatherRight, 0x872, 2TransitFeatherLeft, 0x873, 2TransitFeatherUp, 0x874, 2TransitFeatherDown, 0x875, 2PressRemoteMultiButton, 0x901, 0UnpressRemoteMultiButton, 0x902, 1PressRemoteMagnifyButton, 0x903, 0UnpressRemoteMagnifyButton, 0x904, 1PressRemoteDispButton, 0x905, 0UnpressRemoteDispButton, 0x906, 1PressRemoteReleaseButton, 0x907, 0UnpressRemoteReleaseButton, 0x908, 1PressRemoteSetButton, 0x909, 0UnpressRemoteSetButton, 0x90A, 1PressRemoteUpButton, 0x90B, 0UnpressRemoteUpButton, 0x90C, 1PressRemoteDownButton, 0x90D, 0UnpressRemoteDownButton, 0x90E, 1PressRemoteRightButton, 0x90F, 0UnpressRemoteRightButton, 0x910, 1PressRemoteLeftButton, 0x911, 0UnpressRemoteLeftButton, 0x912, 1PressRemoteMenuButton, 0x913, 0UnpressRemoteMenuButton, 0x914, 1PressRemoteDpButton, 0x915, 0UnpressRemoteDpButton, 0x916, 1PressSetAndMenu, 0x931, 3PressSetAndUp, 0x932, 3PressSetAndDown, 0x933, 3PressSetAndLeft, 0x934, 3PressSetAndRight, 0x935, 3PressSetAndJump, 0x936, 3PressSetAndDisp, 0x937, 3PressSetAndTele, 0x938, 3PressSetAndWide, 0x939, 3PressSetAndPs, 0x93A, 3PressMFAndUp, 0x93B, 3PressMFAndDown, 0x93C, 3PressSw1AndAE, 0x93D, 3PressSw1AndAELock, 0x93E, 3PressSw1AndMF, 0x93F, 3PressSw2AndSet, 0x940, 3PressSw2AndErase, 0x941, 3PressSw2AndDisp, 0x942, 3PressSw2AndFunc, 0x943, 3PressSw2AndSound, 0x944, 3PressSw2AndTele, 0x945, 3PressSw2AndWide, 0x946, 3PressSw1AndShortcut, 0x947, 3PressDispAndRightButton, 0x948, 3PressSw1AndAF, 0x949, 3PressPsAndRight, 0x94A, 3PressPsAndLeft, 0x94B, 3PressMenuAndSetAndPs, 0x94C, 3PressUpExpButton, 0x94D, 0UnpressUpExpButton, 0x94E, 1PressDownWBButton, 0x94F, 0UnpressDownWBButton, 0x950, 1PressAEFELockEraseButton, 0x951, 0UnpressAEFELockEraseButton, 0x952, 1PressMacroJumpButton, 0x953, 0UnpressMacroJumpButton, 0x954, 1PressFlashMultiButton, 0x955, 0UnpressFlashMultiButton, 0x956, 1PressMFSoundButton, 0x957, 0UnpressMFSoundButton, 0x958, 1PressTeleMagButton, 0x959, 0UnpressTeleMagButton, 0x95A, 1PressWideReductionButton, 0x95B, 0UnpressWideReductionButton, 0x95C, 1PressSetAFFrameButton, 0x95D, 0UnpressSetAFFrameButton, 0x95E, 1HoldSetAFFrameButton, 0x95F, 3RepeatUpButton, 0x960, 2RepeatDownButton, 0x961, 2RepeatRightButton, 0x962, 2RepeatLeftButton, 0x963, 2PressSw2AndMenu, 0x964, 3PressSwOne, 0x981, 0UnpressSwOne, 0x982, 1PressSwTwo, 0x983, 0UnpressSwTwo, 0x984, 1PressMovieButton, 0x985, 0UnpressMovieButton, 0x986, 1PressRecButton, 0x1001, 0UnpressRecButton, 0x1002, 1PressPBButton, 0x1003, 0UnpressPBButton, 0x1004, 1PressOffButton, 0x1005, 0UnpressOffButton, 0x1006, 1ChangeMainDial, 0x1007, 2PressPowerButton, 0x1008, 0UnpressPowerButton, 0x1009, 1ModeLeverPlay, 0x100A, 2ModeLeverMovieRec, 0x100B, 2ModeLeverStillRec, 0x100C, 2ModeDialToM, 0x1052, 2ModeDialToAv, 0x1053, 2ModeDialToTv, 0x1054, 2ModeDialToP, 0x1055, 2ModeDialToAuto, 0x1056, 2ModeDialToPortrait, 0x1057, 2ModeDialToLandscape, 0x1058, 2ModeDialToNightScene, 0x1059, 2ModeDialToStitchAssist, 0x105A, 2ModeDialToMovie, 0x105B, 2ModeDialToC1, 0x105C, 2ModeDialToC2, 0x105D, 2ModeDialToC, 0x105E, 2ModeDialToFastShutter, 0x105F, 2ModeDialToSlowShutter, 0x1060, 2ModeDialToPlay, 0x1061, 2ModeDialToCamera, 0x1062, 2ModeDialToSCN, 0x1063, 2ModeDialToFunColor, 0x1064, 2ModeDialToRec, 0x1065, 2ModeDialToSport, 0x1068, 2IsoDialToAuto, 0x1069, 2IsoDialToHighAuto, 0x106A, 2IsoDialToMinSpd, 0x106B, 2IsoDialTo100, 0x106C, 2IsoDialTo200, 0x106D, 2IsoDialTo400, 0x106E, 2IsoDialTo800, 0x106F, 2IsoDialToMaxSpd, 0x1070, 2RotateIsoDialRight, 0x1071, 2RotateIsoDialLeft, 0x1072, 2ConnectVideoCable, 0x1081, 2DisconnectVideoCable, 0x1082, 2ConnectACCable, 0x1083, 2DisconnectACCable, 0x1084, 2ConnectUSBCable, 0x1085, 2DisconnectUSBCable, 0x1086, 2MountExtFlash, 0x1087, 2UnmountExtFlash, 0x1088, 2OpenBatteryCover, 0x1089, 2CloseBatteryCover, 0x108A, 2InsertBattery, 0x108B, 2RemoveBattery, 0x108C, 2OpenMediaCover, 0x108D, 2CloseMediaCover, 0x108E, 2OpenBatMediaCover, 0x108F, 2CloseBatMediaCover, 0x1090, 2InsertMedia, 0x1091, 2RemoveMedia, 0x1092, 2WriteProtectMedia, 0x1093, 2WriteEnableMedia, 0x1094, 2AttachCradle, 0x1095, 2DetachCradle, 0x1096, 2OpenLensCover, 0x1097, 2CloseLensCover, 0x1098, 2OpenLensCoverHalf, 0x1099, 2CloseLensCoverHalf, 0x109A, 2PressRemotePcPlayButton, 0x109B, 0UnpressRemotePcPlayButton, 0x109C, 1PressPcPlayButton, 0x109D, 0UnpressPcPlayButton, 0x109E, 1
Well, I have made two uBasic commands .. 'movie_mode' and 'record_mode' and a little script that switches to movie mode for five seconds and then returns to record mode .... except it does not return.After exiting the script I am still in movie mode even though the dial is on Manual.Do I have to manipulate the 'magic numbers' in some way ?
I wonder what happens if you take that other number from the table and stick it as the second argument to PostLogicalEventForNotPowerType()?
The screen went blank when I 'connected the video cable'.It never came back on
How about switching between record and playback modes, it works?
"Magic" variable @0x722C is found using memory browser, but it present, for example, is sub_FFD9CE8C ("_DecideModeDial").
I do not have memory browser in SDM so I will use CHDK.Does it only display a few bytes ?If so, ow did you use it to find the 'magic' variable ?
ROM:FFD774F0 STMFD SP!, {R4,R5,LR}ROM:FFD774F4 MOV R0, #0x20ROM:FFD774F8 MOV R4, R1ROM:FFD774FC LDR R1, =a_decidemodediaROM:FFD77500 BL PutsCameraLogROM:FFD77504 LDR R3, =0x7D58ROM:FFD77508 LDR R2, [R3]ROM:FFD7750C LDR R1, =0x7D3CROM:FFD77510 MOV R3, #0ROM:FFD77514 CMP R2, #0ROM:FFD77518 STR R3, [R1]ROM:FFD7751C LDMNEFD SP!, {R4,R5,PC}ROM:FFD77520 LDR R2, =0x7DA0ROM:FFD77524 LDR R3, [R2]ROM:FFD77528 CMP R3, R4......