Read about our upcoming Code of Conduct on this issue

Commit 9d741961 authored by alex@thinkpad's avatar alex@thinkpad
Browse files

QEMU: identified more MPU spells, corrected a few others

- experimentally (playing around in menus)
- brute-forcing MPU messages to identify properties
- cross-checked names and IDs in startup logs and ROM strings
- still, it's impossible not to find a few incorrect ones

--HG--
branch : qemu
parent 1699165b9188
......@@ -3,11 +3,11 @@
*/
static struct mpu_init_spell mpu_init_spells_450D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_SELECT */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.2 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_EXTENSION */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.2, PROP_AE_MODE_CUSTOM */
{ 0x14, 0x12, 0x02, 0x04, 0x0d, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 },/* reply #1.3, PROP_CFN */
{ 0x06, 0x05, 0x01, 0x20, 0x00, 0x00 }, /* reply #1.4, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x01, 0x00 }, /* reply #1.5, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x20, 0x00, 0x00 }, /* reply #1.4, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x01, 0x00 }, /* reply #1.5, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x22, 0x00, 0x00 }, /* reply #1.6, PROP_CARD3_EXISTS */
{ 0x06, 0x05, 0x03, 0x0c, 0x01, 0x00 }, /* reply #1.7, PROP_CARD1_RECORD */
{ 0x06, 0x05, 0x03, 0x0d, 0x01, 0x00 }, /* reply #1.8, PROP_CARD2_RECORD */
......@@ -15,46 +15,46 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ 0x08, 0x06, 0x01, 0x23, 0x00, 0x00, 0x00 }, /* reply #1.10, PROP_CARD1_STATUS(00) */
{ 0x08, 0x06, 0x01, 0x24, 0x00, 0x00, 0x00 }, /* reply #1.11, PROP_CARD2_STATUS(00) */
{ 0x08, 0x06, 0x01, 0x25, 0x00, 0x00, 0x00 }, /* reply #1.12, PROP_CARD3_STATUS(00) */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #1.13 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.14, PROP_CARD_SELECT */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #1.13, PROP_SAVE_MODE */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.14, PROP_CARD_EXTENSION */
{ 0x06, 0x05, 0x01, 0x2c, 0x02, 0x00 }, /* reply #1.15, PROP_CURRENT_MEDIA */
{ 0x06, 0x05, 0x03, 0x20, 0x01, 0x00 }, /* reply #1.16 */
{ 0x06, 0x05, 0x01, 0x42, 0x00, 0x00 }, /* reply #1.17, PROP_STUDIO_MODE */
{ 0x06, 0x05, 0x01, 0x43, 0x00, 0x00 }, /* reply #1.18 */
{ 0x06, 0x05, 0x01, 0x44, 0x00, 0x00 }, /* reply #1.19 */
{ 0x06, 0x05, 0x01, 0x46, 0x00, 0x00 }, /* reply #1.20 */
{ 0x06, 0x05, 0x03, 0x20, 0x01, 0x00 }, /* reply #1.16, PROP_STARTUP_CONDITION */
{ 0x06, 0x05, 0x01, 0x42, 0x00, 0x00 }, /* reply #1.17, PROP_PHOTO_STUDIO_MODE */
{ 0x06, 0x05, 0x01, 0x43, 0x00, 0x00 }, /* reply #1.18, PROP 80040017 */
{ 0x06, 0x05, 0x01, 0x44, 0x00, 0x00 }, /* reply #1.19, PROP 80040018 */
{ 0x06, 0x05, 0x01, 0x46, 0x00, 0x00 }, /* reply #1.20, PROP_PHOTO_STUDIO_ENABLE_ISOCOMP */
{ 0x06, 0x05, 0x01, 0x3a, 0x01, 0x00 }, /* reply #1.21 */
{ 0x08, 0x06, 0x01, 0x47, 0x0a, 0x04, 0x00 }, /* reply #1.22, PROP_SELFTIMER_CONTINUOUS_NUM */
{ 0x2c, 0x2a, 0x02, 0x00, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x14, 0x50, 0x00, 0x00, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x65, 0x38, 0x01 },/* reply #1.23, Init */
{ 0x06, 0x05, 0x03, 0x04, 0x00, 0x00 }, /* reply #1.24, PROP_POWER_KIND */
{ 0x06, 0x05, 0x03, 0x05, 0x02, 0x00 }, /* reply #1.25, PROP_POWER_LEVEL */
{ 0x14, 0x13, 0x03, 0x30, 0x6c, 0x6c, 0x6c, 0x21, 0x6c, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00 },/* reply #1.26 */
{ 0x0e, 0x0c, 0x03, 0x2e, 0x00, 0x00, 0x8d, 0x44, 0x00, 0x00, 0x9e, 0x56, 0x00 },/* reply #1.27 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.28 */
{ 0x06, 0x05, 0x01, 0x38, 0x00, 0x00 }, /* reply #1.29 */
{ 0x06, 0x05, 0x01, 0x39, 0x00, 0x00 }, /* reply #1.30, PROP_EXTERNAL_FLASH_SETTINGS */
{ 0x08, 0x06, 0x01, 0x0a, 0x00, 0x01, 0x00 }, /* reply #1.31 */
{ 0x14, 0x13, 0x03, 0x30, 0x6c, 0x6c, 0x6c, 0x21, 0x6c, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00 },/* reply #1.26, PROP 8003002A */
{ 0x0e, 0x0c, 0x03, 0x2e, 0x00, 0x00, 0x8d, 0x44, 0x00, 0x00, 0x9e, 0x56, 0x00 },/* reply #1.27, PROP_SHUTTER_COUNTER */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.28, PROP_SPECIAL_OPTION */
{ 0x06, 0x05, 0x01, 0x38, 0x00, 0x00 }, /* reply #1.29, PROP 80040005 */
{ 0x06, 0x05, 0x01, 0x39, 0x00, 0x00 }, /* reply #1.30, PROP 80040006 */
{ 0x08, 0x06, 0x01, 0x0a, 0x00, 0x01, 0x00 }, /* reply #1.31, PROP_AFPOINT */
{ 0x06, 0x05, 0x03, 0x23, 0x19, 0x00 }, /* reply #1.32 */
{ 0x1e, 0x1d, 0x03, 0x24, 0x45, 0x46, 0x2d, 0x53, 0x31, 0x38, 0x2d, 0x35, 0x35, 0x6d, 0x6d, 0x20, 0x66, 0x2f, 0x33, 0x2e, 0x35, 0x2d, 0x35, 0x2e, 0x36, 0x20, 0x49, 0x53, 0x00, 0x00 },/* reply #1.33, PROP_LENS_NAME: EF-S18-55mm f/3.5-5.6 IS */
{ 0x06, 0x04, 0x03, 0x25, 0x00 }, /* reply #1.34 */
{ 0x08, 0x06, 0x01, 0x45, 0x00, 0x10, 0x00 }, /* reply #1.35, PROP_METERING_TIMER */
{ 0x08, 0x06, 0x01, 0x45, 0x00, 0x10, 0x00 }, /* reply #1.35, PROP_METERING_TIMER_FOR_LV */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00 }, .description = "Complete WaitID = 0x80000006 Init", .out_spells = { /* spell #2 */
{ 0x06, 0x05, 0x01, 0x09, 0x00, 0x00 }, /* reply #2.1, PROP_FEC */
{ 0x06, 0x05, 0x01, 0x0d, 0x00, 0x00 }, /* reply #2.2, PROP_WB_MODE_PH */
{ 0x06, 0x05, 0x01, 0x3e, 0x00, 0x00 }, /* reply #2.3, PROP_SILENT_SHOOTING */
{ 0x06, 0x05, 0x01, 0x3e, 0x00, 0x00 }, /* reply #2.3, PROP_ELECTRIC_SHUTTER_MODE */
{ 0x06, 0x05, 0x01, 0x3f, 0x00, 0x00 }, /* reply #2.4, PROP_FLASH_ENABLE */
{ 0x06, 0x05, 0x01, 0x40, 0x00, 0x00 }, /* reply #2.5 */
{ 0x06, 0x05, 0x01, 0x41, 0x00, 0x00 }, /* reply #2.6 */
{ 0x06, 0x05, 0x01, 0x40, 0x00, 0x00 }, /* reply #2.5, PROP_STROBO_ETTLMETER */
{ 0x06, 0x05, 0x01, 0x41, 0x00, 0x00 }, /* reply #2.6, PROP_STROBO_CURTAIN */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, { /* spell #3 */
{ { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, .description = "PROP_ICU_AUTO_POWEROFF", .out_spells = { /* spell #3 */
{ 0 } } },
{ { 0x06, 0x05, 0x04, 0x0e, 0x01, 0x00 }, { /* spell #4 */
{ { 0x06, 0x05, 0x04, 0x0e, 0x01, 0x00 }, .description = "PROP 8002000D", .out_spells = { /* spell #4 */
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00 }, .description = "PROP 80030007", .out_spells = { /* spell #5 */
{ 0 } } },
{ { 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, { /* spell #6 */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #6.1 */
{ { 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, .description = "PROP_SAVE_MODE", .out_spells = { /* spell #6 */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #6.1, PROP_SAVE_MODE */
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00 }, .description = "PROP_AVAIL_SHOT", .out_spells = { /* spell #7 */
{ 0 } } },
......@@ -90,9 +90,9 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ { 0x08, 0x07, 0x01, 0x2a, ARG0, ARG1, 0x00, ARG2 }, .description = "PROP_CARD2_FILE_NUMBER", .out_spells = { /* spell #21 */
{ 0 } } },
{ { 0x06, 0x05, 0x02, 0x0a, 0x00, 0x00 }, { /* spell #22 */
{ 0x0a, 0x08, 0x03, 0x00, 0x61, 0x00, 0x00, 0x2b, 0x00 },/* reply #22.1 */
{ 0x0a, 0x08, 0x03, 0x00, 0x61, 0x00, 0x00, 0x2b, 0x00 },/* reply #22.1, PROP 80030000 */
{ 0x14, 0x12, 0x03, 0x15, 0x01, 0x30, 0x5b, 0x00, 0x30, 0x00, 0x12, 0x00, 0x37, 0x91, 0x75, 0x92, 0x1f, 0x00, 0x00 },/* reply #22.2, PROP_LENS */
{ 0x06, 0x05, 0x03, 0x17, 0x98, 0x00 }, /* reply #22.3 */
{ 0x06, 0x05, 0x03, 0x17, 0x98, 0x00 }, /* reply #22.3, PROP_EFIC_TEMP */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x07, 0x0c, 0x00 }, .description = "PROP_BURST_COUNT", .out_spells = { /* spell #23 */
{ 0 } } },
......@@ -122,14 +122,14 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ { 0x06, 0x05, 0x03, 0x19, 0x00, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #33 */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x00, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #34 */
{ 0x06, 0x04, 0x05, 0x00, 0x00 }, /* reply #34.1, EVENTID_METERING_START */
{ 0x06, 0x04, 0x05, 0x00, 0x00 }, /* reply #34.1, EVENTID_METERING_START_SW1ON */
{ 0x0c, 0x0a, 0x0a, 0x08, 0x02, 0x00, 0x01, 0x01, 0x00, 0x60, 0x00 },/* reply #34.2, PD_NotifyOlcInfoChanged */
{ 0x0a, 0x08, 0x0a, 0x08, 0x01, 0x00, 0x02, 0x00, 0x00 },/* reply #34.3, PD_NotifyOlcInfoChanged */
{ 0x0c, 0x0b, 0x0a, 0x08, 0x00, 0x02, 0x01, 0x01, 0x00, 0x20, 0x00, 0x00 },/* reply #34.4, PD_NotifyOlcInfoChanged */
{ 0x0c, 0x0b, 0x0a, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 },/* reply #34.5, PD_NotifyOlcInfoChanged */
{ 0x0c, 0x0a, 0x0a, 0x08, 0x02, 0x00, 0x01, 0x01, 0x00, 0x63, 0x00 },/* reply #34.6, PD_NotifyOlcInfoChanged */
{ 0x06, 0x04, 0x05, 0x01, 0x00 }, /* reply #34.7, SHUTTER_RELEASE_START */
{ 0x2a, 0x29, 0x05, 0x02, 0x62, 0x38, 0x63, 0x38, 0x60, 0x00, 0x72, 0x72, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x99, 0x92, 0x70, 0x77, 0x00, 0x00, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 },/* reply #34.8 */
{ 0x06, 0x04, 0x05, 0x01, 0x00 }, /* reply #34.7, EVENTID_RELEASE_ON */
{ 0x2a, 0x29, 0x05, 0x02, 0x62, 0x38, 0x63, 0x38, 0x60, 0x00, 0x72, 0x72, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x99, 0x92, 0x70, 0x77, 0x00, 0x00, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 },/* reply #34.8, EVENTID_RELEASE_DATA_SW2ON */
{ 0x0a, 0x08, 0x0a, 0x08, 0x01, 0x00, 0x04, 0x00, 0x00 },/* reply #34.9, PD_NotifyOlcInfoChanged */
{ 0x12, 0x10, 0x0a, 0x08, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #34.10, PD_NotifyOlcInfoChanged */
{ 0 } } },
......@@ -144,16 +144,16 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x06, 0x00, 0x00, 0x01, 0x31, 0x00 }, .description = "PROP_AVAIL_SHOT", .out_spells = { /* spell #39 */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x11, 0x02, 0x00 }, { /* spell #40 */
{ { 0x06, 0x05, 0x03, 0x11, 0x02, 0x00 }, .description = "PROP_ICU_AUTO_POWEROFF", .out_spells = { /* spell #40 */
{ 0x0c, 0x0a, 0x0a, 0x08, 0x10, 0x00, 0x04, 0x02, 0x01, 0x31, 0x00 },/* reply #40.1, PD_NotifyOlcInfoChanged */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x0d, 0x01, 0x00 }, .description = "PROP_CARD2_RECORD", .out_spells = { /* spell #41 */
{ 0x06, 0x05, 0x03, 0x0d, 0x01, 0x00 }, /* reply #41.1, PROP_CARD2_RECORD */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x01, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #42 */
{ 0x32, 0x30, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x00, 0x25, 0x00, 0x21, 0x0c, 0x23, 0x7c, 0xbc, 0x7c, 0x00, 0x00, 0x94, 0xde, 0x9d, 0x5a, 0xa4, 0x21, 0x00 },/* reply #42.1, PROP_ORIENTATION */
{ 0x06, 0x04, 0x05, 0x04, 0x00 }, /* reply #42.2, SHUTTER_RELEASE_END */
{ 0x06, 0x04, 0x05, 0x0b, 0x00 }, /* reply #42.3, EVENTID_METERING_TIMER_START */
{ 0x32, 0x30, 0x05, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x00, 0x25, 0x00, 0x21, 0x0c, 0x23, 0x7c, 0xbc, 0x7c, 0x00, 0x00, 0x94, 0xde, 0x9d, 0x5a, 0xa4, 0x21, 0x00 },/* reply #42.1, EVENTID_AFTER_RELEASE_DATA */
{ 0x06, 0x04, 0x05, 0x04, 0x00 }, /* reply #42.2, EVENTID_RELEASE_OFF_SW2OFF */
{ 0x06, 0x04, 0x05, 0x0b, 0x00 }, /* reply #42.3, EVENTID_METERING_TIMER_START_SW1OFF */
{ 0x0c, 0x0a, 0x0a, 0x08, 0x02, 0x00, 0x01, 0x01, 0x00, 0x60, 0x00 },/* reply #42.4, PD_NotifyOlcInfoChanged */
{ 0x0a, 0x08, 0x0a, 0x08, 0x01, 0x00, 0x03, 0x00, 0x00 },/* reply #42.5, PD_NotifyOlcInfoChanged */
{ 0x0c, 0x0b, 0x0a, 0x08, 0x00, 0x02, 0x01, 0x01, 0x00, 0x20, 0x00, 0x00 },/* reply #42.6, PD_NotifyOlcInfoChanged */
......@@ -162,7 +162,7 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x00, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #44 */
{ 0x0c, 0x0a, 0x0a, 0x08, 0x02, 0x00, 0x01, 0x01, 0x00, 0x63, 0x00 },/* reply #44.1, PD_NotifyOlcInfoChanged */
{ 0x06, 0x04, 0x05, 0x07, 0x00 }, /* reply #44.2, EVENTID_METERING_STOP */
{ 0x06, 0x04, 0x05, 0x07, 0x00 }, /* reply #44.2, EVENTID_ACCUMULATION_STOP */
{ 0x0e, 0x0c, 0x0a, 0x08, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #44.3, PD_NotifyOlcInfoChanged */
{ 0x0c, 0x0b, 0x0a, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #44.4, PD_NotifyOlcInfoChanged */
// { 0x06, 0x05, 0x06, 0x0c, 0x01, 0x00 }, /* reply #44.5, BGMT_PRESS_SET, GUI_Control:4, bindReceiveSwitch(12, 1) */
......@@ -175,8 +175,8 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ { 0x06, 0x04, 0x04, 0x13, 0x00 }, { /* spell #47 */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x04, 0x0c, 0x00 }, .description = "Complete WaitID = 0x80040004", .out_spells = { /* spell #48 */
{ 0x08, 0x06, 0x09, 0x0a, 0x70, 0x73, 0x00 }, /* reply #48.1 */
{ 0x08, 0x06, 0x09, 0x0d, 0x00, 0x00, 0x00 }, /* reply #48.2 */
{ 0x08, 0x06, 0x09, 0x0a, 0x70, 0x73, 0x00 }, /* reply #48.1, PROP_LV_BV */
{ 0x08, 0x06, 0x09, 0x0d, 0x00, 0x00, 0x00 }, /* reply #48.2, PROP_LV_DOF_PREVIEW */
{ 0 } } },
{ { 0x06, 0x05, 0x09, 0x0b, 0x02, 0x00 }, .description = "PROP_LV_AF_RESULT", .out_spells = { /* spell #49 */
{ 0 } } },
......@@ -184,7 +184,7 @@ static struct mpu_init_spell mpu_init_spells_450D[] = {
{ 0x3c, 0x3a, 0x09, 0x00, 0x3b, 0x31, 0xc0, 0x00, 0x40, 0x7a, 0xa0, 0x00, 0x3d, 0x60, 0x60, 0x00, 0xb9, 0xae, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0x5d, 0x60, 0x00, 0xba, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x54, 0x0b, 0x0a, 0x31, 0x30, 0x5b, 0x59, 0x01, 0x4a, 0x77, 0x77, 0x00, 0x35, 0x00, 0x25, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #50.1, PROP_LV_LENS */
{ 0 } } },
{ { 0x06, 0x05, 0x09, 0x04, 0x31, 0x00 }, { /* spell #51 */
{ 0x0a, 0x08, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #51.1, PROP_LV_EMD_DRIVE_RESULT */
{ 0x0a, 0x08, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #51.1, PROP_LV_LENS_STABILIZE */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x01, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #52 */
{ 0 } } },
......
......@@ -6,4 +6,4 @@
+ */
static struct mpu_init_spell mpu_init_spells_450D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_SELECT */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_EXTENSION */
......@@ -3,12 +3,12 @@
*/
static struct mpu_init_spell mpu_init_spells_500D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.1 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.2, PROP_CARD_SELECT */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.3 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.1, PROP_SPECIAL_OPTION */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.2, PROP_CARD_EXTENSION */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.3, PROP_AE_MODE_CUSTOM */
{ 0x14, 0x12, 0x02, 0x04, 0x0d, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.4, PROP_CFN */
{ 0x06, 0x05, 0x01, 0x20, 0x00, 0x00 }, /* reply #1.5, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x01, 0x00 }, /* reply #1.6, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x20, 0x00, 0x00 }, /* reply #1.5, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x01, 0x00 }, /* reply #1.6, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x22, 0x00, 0x00 }, /* reply #1.7, PROP_CARD3_EXISTS */
{ 0x06, 0x05, 0x03, 0x0c, 0x00, 0x00 }, /* reply #1.8, PROP_CARD1_RECORD */
{ 0x06, 0x05, 0x03, 0x0d, 0x01, 0x00 }, /* reply #1.9, PROP_CARD2_RECORD */
......@@ -16,40 +16,40 @@ static struct mpu_init_spell mpu_init_spells_500D[] = {
{ 0x08, 0x06, 0x01, 0x23, 0x00, 0x01, 0x00 }, /* reply #1.11, PROP_CARD1_STATUS(01) */
{ 0x08, 0x06, 0x01, 0x24, 0x00, 0x00, 0x00 }, /* reply #1.12, PROP_CARD2_STATUS(00) */
{ 0x08, 0x06, 0x01, 0x25, 0x00, 0x00, 0x00 }, /* reply #1.13, PROP_CARD3_STATUS(00) */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #1.14 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.15, PROP_CARD_SELECT */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #1.14, PROP_SAVE_MODE */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.15, PROP_CARD_EXTENSION */
{ 0x06, 0x05, 0x01, 0x2c, 0x02, 0x00 }, /* reply #1.16, PROP_CURRENT_MEDIA */
{ 0x06, 0x05, 0x03, 0x20, 0x00, 0x00 }, /* reply #1.17 */
{ 0x06, 0x05, 0x01, 0x42, 0x00, 0x00 }, /* reply #1.18, PROP_STUDIO_MODE */
{ 0x06, 0x05, 0x01, 0x43, 0x00, 0x00 }, /* reply #1.19 */
{ 0x06, 0x05, 0x01, 0x44, 0x00, 0x00 }, /* reply #1.20 */
{ 0x06, 0x05, 0x01, 0x46, 0x00, 0x00 }, /* reply #1.21 */
{ 0x06, 0x05, 0x01, 0x48, 0x01, 0x00 }, /* reply #1.22, PROP_LIVE_VIEW_ENABLE */
{ 0x06, 0x05, 0x01, 0x49, 0x01, 0x00 }, /* reply #1.23, PROP_LIVE_VIEW_AF_MODE */
{ 0x06, 0x05, 0x01, 0x4b, 0x01, 0x00 }, /* reply #1.24, PROP_LIVE_VIEW_MOVIE_SELECT */
{ 0x06, 0x05, 0x03, 0x20, 0x00, 0x00 }, /* reply #1.17, PROP_STARTUP_CONDITION */
{ 0x06, 0x05, 0x01, 0x42, 0x00, 0x00 }, /* reply #1.18, PROP_PHOTO_STUDIO_MODE */
{ 0x06, 0x05, 0x01, 0x43, 0x00, 0x00 }, /* reply #1.19, PROP 80040017 */
{ 0x06, 0x05, 0x01, 0x44, 0x00, 0x00 }, /* reply #1.20, PROP 80040018 */
{ 0x06, 0x05, 0x01, 0x46, 0x00, 0x00 }, /* reply #1.21, PROP_PHOTO_STUDIO_ENABLE_ISOCOMP */
{ 0x06, 0x05, 0x01, 0x48, 0x01, 0x00 }, /* reply #1.22, PROP_LIVE_VIEW_MOVIE_SELECT */
{ 0x06, 0x05, 0x01, 0x49, 0x01, 0x00 }, /* reply #1.23, PROP_LIVE_VIEW_AF_SYSTEM */
{ 0x06, 0x05, 0x01, 0x4b, 0x01, 0x00 }, /* reply #1.24, PROP_LIVE_VIEW_VIEWTYPE_SELECT */
{ 0x08, 0x06, 0x01, 0x47, 0x0a, 0x02, 0x00 }, /* reply #1.25, PROP_SELFTIMER_CONTINUOUS_NUM */
{ 0x06, 0x05, 0x03, 0x37, 0x00, 0x00 }, /* reply #1.26 */
{ 0x06, 0x05, 0x03, 0x37, 0x00, 0x00 }, /* reply #1.26, PROP_MIRROR_DOWN_IN_MOVIE_MODE */
{ 0x2c, 0x2a, 0x02, 0x00, 0x03, 0x03, 0x03, 0x00, 0x03, 0x00, 0x00, 0x48, 0x01, 0x00, 0x00, 0x0a, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x83, 0x06, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x24, 0xaa },/* reply #1.27, Init */
{ 0x06, 0x05, 0x03, 0x04, 0x00, 0x00 }, /* reply #1.28, PROP_POWER_KIND */
{ 0x06, 0x05, 0x03, 0x05, 0x01, 0x00 }, /* reply #1.29, PROP_POWER_LEVEL */
{ 0x1e, 0x1c, 0x03, 0x30, 0x1b, 0x1b, 0x21, 0x65, 0x65, 0x65, 0x47, 0x65, 0x10, 0x3a, 0x10, 0x3a, 0x10, 0x3a, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x00, 0x00 },/* reply #1.30 */
{ 0x06, 0x05, 0x01, 0x38, 0x00, 0x00 }, /* reply #1.31 */
{ 0x06, 0x05, 0x01, 0x39, 0x00, 0x00 }, /* reply #1.32, PROP_EXTERNAL_FLASH_SETTINGS */
{ 0x0c, 0x0b, 0x01, 0x0a, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.33 */
{ 0x0e, 0x0c, 0x03, 0x2e, 0x00, 0x00, 0x22, 0x81, 0x00, 0x00, 0x26, 0x89, 0x00 },/* reply #1.34 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.35 */
{ 0x1e, 0x1c, 0x03, 0x30, 0x1b, 0x1b, 0x21, 0x65, 0x65, 0x65, 0x47, 0x65, 0x10, 0x3a, 0x10, 0x3a, 0x10, 0x3a, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x1d, 0x00, 0x00, 0x00 },/* reply #1.30, PROP 8003002A */
{ 0x06, 0x05, 0x01, 0x38, 0x00, 0x00 }, /* reply #1.31, PROP 80040005 */
{ 0x06, 0x05, 0x01, 0x39, 0x00, 0x00 }, /* reply #1.32, PROP 80040006 */
{ 0x0c, 0x0b, 0x01, 0x0a, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.33, PROP_AFPOINT */
{ 0x0e, 0x0c, 0x03, 0x2e, 0x00, 0x00, 0x22, 0x81, 0x00, 0x00, 0x26, 0x89, 0x00 },/* reply #1.34, PROP_SHUTTER_COUNTER */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.35, PROP_SPECIAL_OPTION */
{ 0x06, 0x05, 0x03, 0x23, 0x01, 0x00 }, /* reply #1.36 */
{ 0x06, 0x05, 0x03, 0x24, 0x00, 0x00 }, /* reply #1.37, PROP_LENS_NAME: */
{ 0x06, 0x04, 0x03, 0x25, 0x00 }, /* reply #1.38 */
{ 0x08, 0x06, 0x01, 0x45, 0x00, 0x10, 0x00 }, /* reply #1.39, PROP_METERING_TIMER */
{ 0x08, 0x06, 0x01, 0x45, 0x00, 0x10, 0x00 }, /* reply #1.39, PROP_METERING_TIMER_FOR_LV */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00 }, .description = "Complete WaitID = 0x80000001 Init", .out_spells = { /* spell #2 */
{ 0x06, 0x05, 0x01, 0x09, 0x00, 0x00 }, /* reply #2.1, PROP_FEC */
{ 0x06, 0x05, 0x01, 0x0d, 0x00, 0x00 }, /* reply #2.2, PROP_WB_MODE_PH */
{ 0x06, 0x05, 0x01, 0x3e, 0x00, 0x00 }, /* reply #2.3, PROP_SILENT_SHOOTING */
{ 0x06, 0x05, 0x01, 0x3e, 0x00, 0x00 }, /* reply #2.3, PROP_ELECTRIC_SHUTTER_MODE */
{ 0x06, 0x05, 0x01, 0x3f, 0x00, 0x00 }, /* reply #2.4, PROP_FLASH_ENABLE */
{ 0x06, 0x05, 0x01, 0x40, 0x00, 0x00 }, /* reply #2.5 */
{ 0x06, 0x05, 0x01, 0x41, 0x00, 0x00 }, /* reply #2.6 */
{ 0x06, 0x05, 0x01, 0x40, 0x00, 0x00 }, /* reply #2.5, PROP_STROBO_ETTLMETER */
{ 0x06, 0x05, 0x01, 0x41, 0x00, 0x00 }, /* reply #2.6, PROP_STROBO_CURTAIN */
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00 }, .description = "PROP_AVAIL_SHOT", .out_spells = { /* spell #3 */
{ 0 } } },
......@@ -57,12 +57,12 @@ static struct mpu_init_spell mpu_init_spells_500D[] = {
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x07, 0xff, 0x00 }, .description = "PROP_BURST_COUNT", .out_spells = { /* spell #5 */
{ 0 } } },
{ { 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, { /* spell #6 */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #6.1 */
{ { 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, .description = "PROP_SAVE_MODE", .out_spells = { /* spell #6 */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #6.1, PROP_SAVE_MODE */
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00 }, .description = "PROP 80030007", .out_spells = { /* spell #7 */
{ 0 } } },
{ { 0x06, 0x05, 0x04, 0x0e, 0x01, 0x00 }, { /* spell #8 */
{ { 0x06, 0x05, 0x04, 0x0e, 0x01, 0x00 }, .description = "PROP 8002000D", .out_spells = { /* spell #8 */
{ 0 } } },
{ { 0x08, 0x06, 0x01, 0x24, 0x00, ARG0, 0x00 }, .description = "PROP_CARD2_STATUS", .out_spells = { /* spell #9 */
{ 0x08, 0x06, 0x01, 0x24, 0x00, ARG0, 0x00 }, /* reply #9.1, PROP_CARD2_STATUS(01) */
......@@ -76,13 +76,13 @@ static struct mpu_init_spell mpu_init_spells_500D[] = {
{ 0 } } },
{ { 0x08, 0x07, 0x01, 0x2a, ARG0, ARG1, 0x00, ARG2 }, .description = "PROP_CARD2_FILE_NUMBER", .out_spells = { /* spell #13 */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, { /* spell #14 */
{ { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, .description = "PROP_ICU_AUTO_POWEROFF", .out_spells = { /* spell #14 */
{ 0 } } },
{ { 0x06, 0x05, 0x02, 0x0a, 0x00, 0x00 }, { /* spell #15 */
{ 0x06, 0x05, 0x03, 0x37, 0x00, 0x00 }, /* reply #15.1 */
{ 0x0a, 0x08, 0x03, 0x00, 0x4a, 0x00, 0x00, 0x01, 0x00 },/* reply #15.2 */
{ 0x06, 0x05, 0x03, 0x37, 0x00, 0x00 }, /* reply #15.1, PROP_MIRROR_DOWN_IN_MOVIE_MODE */
{ 0x0a, 0x08, 0x03, 0x00, 0x4a, 0x00, 0x00, 0x01, 0x00 },/* reply #15.2, PROP 80030000 */
{ 0x14, 0x12, 0x03, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #15.3, PROP_LENS */
{ 0x06, 0x05, 0x03, 0x17, 0x9a, 0x00 }, /* reply #15.4 */
{ 0x06, 0x05, 0x03, 0x17, 0x9a, 0x00 }, /* reply #15.4, PROP_EFIC_TEMP */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x0d, 0x00, 0x00 }, .description = "PROP_CARD2_RECORD", .out_spells = { /* spell #16 */
{ 0x06, 0x05, 0x03, 0x0d, 0x00, 0x00 }, /* reply #16.1, PROP_CARD2_RECORD */
......
......@@ -6,4 +6,4 @@
+ */
static struct mpu_init_spell mpu_init_spells_500D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.1 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.1, PROP_SPECIAL_OPTION */
......@@ -3,14 +3,14 @@
*/
static struct mpu_init_spell mpu_init_spells_50D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_SELECT */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.2 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_EXTENSION */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.2, PROP_AE_MODE_CUSTOM */
{ 0x0e, 0x0c, 0x02, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.3, PROP_CFN_1 */
{ 0x0a, 0x09, 0x02, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.4, PROP_CFN_2 */
{ 0x14, 0x12, 0x02, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.5, PROP_CFN_3 */
{ 0x0e, 0x0d, 0x02, 0x08, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.6, PROP_CFN_4 */
{ 0x06, 0x05, 0x01, 0x20, 0x01, 0x00 }, /* reply #1.7, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x00, 0x00 }, /* reply #1.8, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x20, 0x01, 0x00 }, /* reply #1.7, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x00, 0x00 }, /* reply #1.8, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x22, 0x00, 0x00 }, /* reply #1.9, PROP_CARD3_EXISTS */
{ 0x06, 0x05, 0x03, 0x0c, 0x01, 0x00 }, /* reply #1.10, PROP_CARD1_RECORD */
{ 0x06, 0x05, 0x03, 0x0d, 0x01, 0x00 }, /* reply #1.11, PROP_CARD2_RECORD */
......@@ -18,41 +18,41 @@ static struct mpu_init_spell mpu_init_spells_50D[] = {
{ 0x08, 0x06, 0x01, 0x23, 0x00, 0x00, 0x00 }, /* reply #1.13, PROP_CARD1_STATUS(00) */
{ 0x08, 0x06, 0x01, 0x24, 0x00, 0x00, 0x00 }, /* reply #1.14, PROP_CARD2_STATUS(00) */
{ 0x08, 0x06, 0x01, 0x25, 0x00, 0x00, 0x00 }, /* reply #1.15, PROP_CARD3_STATUS(00) */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #1.16 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.17, PROP_CARD_SELECT */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #1.16, PROP_SAVE_MODE */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.17, PROP_CARD_EXTENSION */
{ 0x06, 0x05, 0x01, 0x2c, 0x01, 0x00 }, /* reply #1.18, PROP_CURRENT_MEDIA */
{ 0x06, 0x05, 0x03, 0x20, 0x01, 0x00 }, /* reply #1.19 */
{ 0x06, 0x05, 0x01, 0x42, 0x00, 0x00 }, /* reply #1.20, PROP_STUDIO_MODE */
{ 0x06, 0x05, 0x01, 0x43, 0x00, 0x00 }, /* reply #1.21 */
{ 0x06, 0x05, 0x01, 0x44, 0x00, 0x00 }, /* reply #1.22 */
{ 0x06, 0x05, 0x01, 0x46, 0x00, 0x00 }, /* reply #1.23 */
{ 0x06, 0x05, 0x01, 0x48, 0x02, 0x00 }, /* reply #1.24, PROP_LIVE_VIEW_ENABLE */
{ 0x06, 0x05, 0x01, 0x49, 0x00, 0x00 }, /* reply #1.25, PROP_LIVE_VIEW_AF_MODE */
{ 0x06, 0x05, 0x01, 0x4b, 0x00, 0x00 }, /* reply #1.26, PROP_LIVE_VIEW_MOVIE_SELECT */
{ 0x06, 0x05, 0x03, 0x20, 0x01, 0x00 }, /* reply #1.19, PROP_STARTUP_CONDITION */
{ 0x06, 0x05, 0x01, 0x42, 0x00, 0x00 }, /* reply #1.20, PROP_PHOTO_STUDIO_MODE */
{ 0x06, 0x05, 0x01, 0x43, 0x00, 0x00 }, /* reply #1.21, PROP 80040017 */
{ 0x06, 0x05, 0x01, 0x44, 0x00, 0x00 }, /* reply #1.22, PROP 80040018 */
{ 0x06, 0x05, 0x01, 0x46, 0x00, 0x00 }, /* reply #1.23, PROP_PHOTO_STUDIO_ENABLE_ISOCOMP */
{ 0x06, 0x05, 0x01, 0x48, 0x02, 0x00 }, /* reply #1.24, PROP_LIVE_VIEW_MOVIE_SELECT */
{ 0x06, 0x05, 0x01, 0x49, 0x00, 0x00 }, /* reply #1.25, PROP_LIVE_VIEW_AF_SYSTEM */
{ 0x06, 0x05, 0x01, 0x4b, 0x00, 0x00 }, /* reply #1.26, PROP_LIVE_VIEW_VIEWTYPE_SELECT */
{ 0x08, 0x06, 0x01, 0x47, 0x0a, 0x01, 0x00 }, /* reply #1.27, PROP_SELFTIMER_CONTINUOUS_NUM */
{ 0x06, 0x05, 0x01, 0x04, 0x00, 0x00 }, /* reply #1.28, PROP_AF_MODE */
{ 0x06, 0x05, 0x01, 0x06, 0x30, 0x00 }, /* reply #1.29, PROP_APERTURE */
{ 0x2c, 0x2a, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x09, 0x13, 0x88, 0x00, 0x00, 0x00, 0x00, 0x84, 0x06, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x03, 0x06, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x3c, 0x00, 0x63, 0x30, 0x01 },/* reply #1.30, Init */
{ 0x06, 0x05, 0x03, 0x04, 0x00, 0x00 }, /* reply #1.31, PROP_POWER_KIND */
{ 0x06, 0x05, 0x03, 0x05, 0x02, 0x00 }, /* reply #1.32, PROP_POWER_LEVEL */
{ 0x1e, 0x1c, 0x03, 0x30, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x20, 0x20, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0xe0, 0x00, 0xe0, 0x00 },/* reply #1.33 */
{ 0x06, 0x05, 0x01, 0x38, 0x00, 0x00 }, /* reply #1.34 */
{ 0x06, 0x05, 0x01, 0x39, 0x00, 0x00 }, /* reply #1.35, PROP_EXTERNAL_FLASH_SETTINGS */
{ 0x08, 0x06, 0x01, 0x0a, 0x00, 0x01, 0x00 }, /* reply #1.36 */
{ 0x0e, 0x0c, 0x03, 0x2e, 0x00, 0x00, 0x2e, 0x13, 0x00, 0x00, 0x2e, 0xce, 0x00 },/* reply #1.37 */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.38 */
{ 0x1e, 0x1c, 0x03, 0x30, 0x51, 0x51, 0x51, 0x51, 0x51, 0x51, 0x20, 0x20, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0xe0, 0x00, 0xe0, 0x00 },/* reply #1.33, PROP 8003002A */
{ 0x06, 0x05, 0x01, 0x38, 0x00, 0x00 }, /* reply #1.34, PROP 80040005 */
{ 0x06, 0x05, 0x01, 0x39, 0x00, 0x00 }, /* reply #1.35, PROP 80040006 */
{ 0x08, 0x06, 0x01, 0x0a, 0x00, 0x01, 0x00 }, /* reply #1.36, PROP_AFPOINT */
{ 0x0e, 0x0c, 0x03, 0x2e, 0x00, 0x00, 0x2e, 0x13, 0x00, 0x00, 0x2e, 0xce, 0x00 },/* reply #1.37, PROP_SHUTTER_COUNTER */
{ 0x0a, 0x08, 0x03, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00 },/* reply #1.38, PROP_SPECIAL_OPTION */
{ 0x06, 0x05, 0x03, 0x23, 0x16, 0x00 }, /* reply #1.39 */
{ 0x1c, 0x1a, 0x03, 0x24, 0x45, 0x46, 0x2d, 0x53, 0x31, 0x38, 0x2d, 0x35, 0x35, 0x6d, 0x6d, 0x20, 0x66, 0x2f, 0x33, 0x2e, 0x35, 0x2d, 0x35, 0x2e, 0x36, 0x00, 0x00 },/* reply #1.40, PROP_LENS_NAME: EF-S18-55mm f/3.5-5.6 */
{ 0x06, 0x04, 0x03, 0x25, 0x00 }, /* reply #1.41 */
{ 0x08, 0x06, 0x01, 0x45, 0x00, 0x10, 0x00 }, /* reply #1.42, PROP_METERING_TIMER */
{ 0x08, 0x06, 0x01, 0x45, 0x00, 0x10, 0x00 }, /* reply #1.42, PROP_METERING_TIMER_FOR_LV */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x02, 0x00, 0x00 }, .description = "Complete WaitID = 0x80000001 Init", .out_spells = { /* spell #2 */
{ 0x06, 0x05, 0x01, 0x09, 0x00, 0x00 }, /* reply #2.1, PROP_FEC */
{ 0x06, 0x05, 0x01, 0x0d, 0x09, 0x00 }, /* reply #2.2, PROP_WB_MODE_PH */
{ 0x06, 0x05, 0x01, 0x3e, 0x00, 0x00 }, /* reply #2.3, PROP_SILENT_SHOOTING */
{ 0x06, 0x05, 0x01, 0x3e, 0x00, 0x00 }, /* reply #2.3, PROP_ELECTRIC_SHUTTER_MODE */
{ 0x06, 0x05, 0x01, 0x3f, 0x00, 0x00 }, /* reply #2.4, PROP_FLASH_ENABLE */
{ 0x06, 0x05, 0x01, 0x40, 0x00, 0x00 }, /* reply #2.5 */
{ 0x06, 0x05, 0x01, 0x41, 0x00, 0x00 }, /* reply #2.6 */
{ 0x06, 0x05, 0x01, 0x40, 0x00, 0x00 }, /* reply #2.5, PROP_STROBO_ETTLMETER */
{ 0x06, 0x05, 0x01, 0x41, 0x00, 0x00 }, /* reply #2.6, PROP_STROBO_CURTAIN */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x0e, 0x00, 0x00 }, .description = "PROP_CARD3_RECORD", .out_spells = { /* spell #3 */
{ 0x06, 0x05, 0x03, 0x0e, 0x00, 0x00 }, /* reply #3.1, PROP_CARD3_RECORD */
......@@ -63,17 +63,17 @@ static struct mpu_init_spell mpu_init_spells_50D[] = {
{ { 0x08, 0x06, 0x01, 0x25, 0x00, ARG0, 0x00 }, .description = "PROP_CARD3_STATUS", .out_spells = { /* spell #5 */
{ 0x08, 0x06, 0x01, 0x25, 0x00, ARG0, 0x00 }, /* reply #5.1, PROP_CARD3_STATUS(00) */
{ 0 } } },
{ { 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, .description = "PROP_CARD_SELECT", .out_spells = { /* spell #6 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #6.1, PROP_CARD_SELECT */
{ 0x0a, 0x08, 0x01, 0x34, 0x00, 0x00, 0x06, 0x03, 0x01 },/* reply #6.2, PROP_PIC_QUALITY1 */
{ { 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, .description = "PROP_CARD_EXTENSION", .out_spells = { /* spell #6 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #6.1, PROP_CARD_EXTENSION */
{ 0x0a, 0x08, 0x01, 0x34, 0x00, 0x00, 0x06, 0x03, 0x01 },/* reply #6.2, PROP_CARD1_IMAGE_QUALITY */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x01, 0x34, 0x00 }, .description = "Complete WaitID = 0x8000002F PROP_PIC_QUALITY1", .out_spells = { /* spell #7 */
{ 0x0a, 0x08, 0x01, 0x35, 0x00, 0x00, 0x01, 0x03, 0x01 },/* reply #7.1, PROP_PIC_QUALITY2 */
{ { 0x08, 0x06, 0x00, 0x00, 0x01, 0x34, 0x00 }, .description = "Complete WaitID = 0x8000002F PROP_CARD1_IMAGE_QUALITY", .out_spells = { /* spell #7 */
{ 0x0a, 0x08, 0x01, 0x35, 0x00, 0x00, 0x01, 0x03, 0x01 },/* reply #7.1, PROP_CARD2_IMAGE_QUALITY */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x01, 0x35, 0x00 }, .description = "Complete WaitID = 0x80000030 PROP_PIC_QUALITY2", .out_spells = { /* spell #8 */
{ 0x0a, 0x08, 0x01, 0x36, 0x00, 0x00, 0x06, 0x03, 0x01 },/* reply #8.1, PROP_PIC_QUALITY3 */
{ { 0x08, 0x06, 0x00, 0x00, 0x01, 0x35, 0x00 }, .description = "Complete WaitID = 0x80000030 PROP_CARD2_IMAGE_QUALITY", .out_spells = { /* spell #8 */
{ 0x0a, 0x08, 0x01, 0x36, 0x00, 0x00, 0x06, 0x03, 0x01 },/* reply #8.1, PROP_CARD3_IMAGE_QUALITY */
{ 0 } } },
{ { 0x08, 0x06, 0x00, 0x00, 0x01, 0x36, 0x00 }, .description = "Complete WaitID = 0x80000031 PROP_PIC_QUALITY3", .out_spells = { /* spell #9 */
{ { 0x08, 0x06, 0x00, 0x00, 0x01, 0x36, 0x00 }, .description = "Complete WaitID = 0x80000031 PROP_CARD3_IMAGE_QUALITY", .out_spells = { /* spell #9 */
{ 0x08, 0x06, 0x05, 0x0d, 0x11, 0xa4, 0x00 }, /* reply #9.1 */
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00 }, .description = "PROP_AVAIL_SHOT", .out_spells = { /* spell #10 */
......@@ -83,13 +83,13 @@ static struct mpu_init_spell mpu_init_spells_50D[] = {
{ { 0x06, 0x05, 0x03, 0x07, 0xff, 0x00 }, .description = "PROP_BURST_COUNT", .out_spells = { /* spell #12 */
{ 0x06, 0x05, 0x06, 0x13, 0x00, 0x00 }, /* reply #12.1, bindReceiveSwitch(19, 0) */
{ 0 } } },
{ { 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, { /* spell #13 */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #13.1 */
{ { 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, .description = "PROP_SAVE_MODE", .out_spells = { /* spell #13 */
{ 0x06, 0x05, 0x01, 0x2e, 0x01, 0x00 }, /* reply #13.1, PROP_SAVE_MODE */
{ 0 } } },
{ { 0x0a, 0x08, 0x03, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00 }, .description = "PROP 80030007", .out_spells = { /* spell #14 */
{ 0 } } },
{ { 0x06, 0x05, 0x04, 0x0e, 0x00, 0x00 }, { /* spell #15 */
{ 0x06, 0x05, 0x04, 0x0e, 0x00, 0x00 }, /* reply #15.1 */
{ { 0x06, 0x05, 0x04, 0x0e, 0x00, 0x00 }, .description = "PROP 8002000D", .out_spells = { /* spell #15 */
{ 0x06, 0x05, 0x04, 0x0e, 0x00, 0x00 }, /* reply #15.1, PROP 8002000D */
{ 0 } } },
{ { 0x08, 0x06, 0x01, 0x25, 0x00, ARG0, 0x00 }, .description = "PROP_CARD3_STATUS", .out_spells = { /* spell #16 */
{ 0x08, 0x06, 0x01, 0x25, 0x00, ARG0, 0x00 }, /* reply #16.1, PROP_CARD3_STATUS(00) */
......@@ -111,13 +111,13 @@ static struct mpu_init_spell mpu_init_spells_50D[] = {
{ 0 } } },
{ { 0x08, 0x07, 0x01, 0x29, ARG0, ARG1, 0x00, ARG2 }, .description = "PROP_CARD1_FILE_NUMBER", .out_spells = { /* spell #23 */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, { /* spell #24 */
{ { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, .description = "PROP_ICU_AUTO_POWEROFF", .out_spells = { /* spell #24 */
{ 0 } } },
{ { 0x06, 0x05, 0x02, 0x0a, 0x00, 0x00 }, { /* spell #25 */
{ 0x0a, 0x08, 0x03, 0x00, 0x51, 0x00, 0x00, 0x20, 0x00 },/* reply #25.1 */
{ 0x0a, 0x08, 0x03, 0x00, 0x51, 0x00, 0x00, 0x20, 0x00 },/* reply #25.1, PROP 80030000 */
{ 0x14, 0x12, 0x03, 0x15, 0x01, 0x29, 0x54, 0x00, 0x2d, 0x00, 0x12, 0x00, 0x37, 0x91, 0x25, 0x02, 0x10, 0x00, 0x00 },/* reply #25.2, PROP_LENS */
{ 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #25.3 */
{ 0x06, 0x05, 0x01, 0x3d, 0x00, 0x00 }, /* reply #25.4 */
{ 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #25.3, PROP_EFIC_TEMP */
{ 0x06, 0x05, 0x01, 0x3d, 0x00, 0x00 }, /* reply #25.4, PROP_TEMP_STATUS */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x01, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #26 */
{ 0 } } },
......@@ -156,7 +156,7 @@ static struct mpu_init_spell mpu_init_spells_50D[] = {
//{ 0x08, 0x06, 0x05, 0x0d, 0x11, 0xa4, 0x00 }, /* reply #40.1 */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x01, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #42 */
{ 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #42.1 */
{ 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #42.1, PROP_EFIC_TEMP */
{ 0 } } },
/* MENU->Format selected here */
......
......@@ -6,7 +6,7 @@
+ */
static struct mpu_init_spell mpu_init_spells_50D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_SELECT */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_EXTENSION */
@@ -90,13 +93,13 @@
{ 0 } } },
{ { 0x08, 0x06, 0x01, 0x25, 0x00, ARG0, 0x00 }, .description = "PROP_CARD3_STATUS", .out_spells = { /* spell #16 */
......@@ -44,7 +44,7 @@
+ //{ 0x08, 0x06, 0x05, 0x0d, 0x11, 0xa4, 0x00 }, /* reply #40.1 */
{ 0 } } },
{ { 0x06, 0x05, 0x03, 0x19, 0x01, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #42 */
{ 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #42.1 */
{ 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #42.1, PROP_EFIC_TEMP */
- // { 0x06, 0x05, 0x06, 0x00, 0x01, 0x00 }, /* reply #42.2, BGMT_MENU, GUI_Control:5, bindReceiveSwitch(0, 1) */
- { 0 } } },
- // { { 0x06, 0x05, 0x04, 0x00, 0x01, 0x00 }, .description = "NotifyGUIEvent", .out_spells = {
......@@ -65,7 +65,7 @@
- // { 0x06, 0x05, 0x06, 0x0e, 0x01, 0x00 }, /* reply #44.3, BGMT_WHEEL_DOWN, GUI_Control:1, bindReceiveSwitch(14, 1) */
- // { 0x06, 0x05, 0x06, 0x0c, 0x01, 0x00 }, /* reply #44.4, BGMT_PRESS_SET, GUI_Control:4, bindReceiveSwitch(12, 1) */
- // { 0 } } },
- { { 0x06, 0x05, 0x03, 0x11, 0x02, 0x00 }, { /* spell #44 */
- { { 0x06, 0x05, 0x03, 0x11, 0x02, 0x00 }, .description = "PROP_ICU_AUTO_POWEROFF", .out_spells = { /* spell #44 */
- { 0 } } },
- // { { 0x06, 0x05, 0x03, 0x16, 0x01, 0x00 }, .description = "PROP_BATTERY_CHECK", .out_spells = {
- // { 0x06, 0x05, 0x03, 0x16, 0x00, 0x00 }, /* reply #45.1, PROP_BATTERY_CHECK */
......@@ -103,22 +103,22 @@
- // { { 0x06, 0x05, 0x04, 0x01, ARG0, 0x00 }, .description = "PROP_ICU_UILOCK", .out_spells = {
- // { 0x06, 0x05, 0x04, 0x01, ARG0, 0x00 }, /* reply #56.1, PROP_ICU_UILOCK(00) */
- // { 0 } } },
- { { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, { /* spell #56 */
- { { 0x06, 0x05, 0x03, 0x11, 0x01, 0x00 }, .description = "PROP_ICU_AUTO_POWEROFF", .out_spells = { /* spell #56 */
- { 0 } } },
- // { { 0x06, 0x05, 0x04, 0x01, ARG0, 0x00 }, .description = "PROP_ICU_UILOCK", .out_spells = {
- // { 0x06, 0x05, 0x04, 0x01, ARG0, 0x00 }, /* reply #57.1, PROP_ICU_UILOCK(7f) */
- // { 0 } } },
- { { 0x06, 0x04, 0x04, 0x07, 0x00 }, { /* spell #57 */
- { 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #57.1 */
- { 0x06, 0x05, 0x03, 0x17, 0x9b, 0x00 }, /* reply #57.1, PROP_EFIC_TEMP */
- { 0 } } },
- // { { 0x06, 0x05, 0x04, 0x01, ARG0, 0x00 }, .description = "PROP_ICU_UILOCK", .out_spells = {
- // { 0x06, 0x05, 0x04, 0x01, ARG0, 0x00 }, /* reply #58.1, PROP_ICU_UILOCK(00) */
- // { 0x06, 0x05, 0x02, 0x0b, 0x00, 0x00 }, /* reply #58.2 */
- // { 0x06, 0x05, 0x02, 0x0b, 0x00, 0x00 }, /* reply #58.2, PROP_TERMINATE_SHUT_REQ */
- // { 0 } } },
- { { 0x06, 0x05, 0x03, 0x19, 0x01, 0x00 }, .description = "PROP_TFT_STATUS", .out_spells = { /* spell #58 */
- { 0 } } },
- { { 0x06, 0x05, 0x02, 0x0b, 0x02, 0x00 }, { /* spell #59 */
- // { 0x06, 0x05, 0x03, 0x17, 0x9d, 0x00 }, /* reply #59.1, delayed by 1869 ms, likely external input */
- { { 0x06, 0x05, 0x02, 0x0b, 0x02, 0x00 }, .description = "PROP_TERMINATE_SHUT_REQ", .out_spells = { /* spell #59 */
- // { 0x06, 0x05, 0x03, 0x17, 0x9d, 0x00 }, /* reply #59.1, PROP_EFIC_TEMP, delayed by 1869 ms, likely external input */
+
+ /* MENU->Format selected here */
+
......
......@@ -3,11 +3,11 @@
*/
static struct mpu_init_spell mpu_init_spells_550D[] = {
{ { 0x06, 0x04, 0x02, 0x00, 0x00 }, .description = "Init", .out_spells = { /* spell #1 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_SELECT */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.2 */
{ 0x06, 0x05, 0x01, 0x37, 0x00, 0x00 }, /* reply #1.1, PROP_CARD_EXTENSION */
{ 0x08, 0x07, 0x01, 0x33, 0x00, 0x00, 0x00, 0x00 }, /* reply #1.2, PROP_AE_MODE_CUSTOM */
{ 0x12, 0x11, 0x02, 0x04, 0x0c, 0x00, 0x01, 0x02, 0x00, 0x03, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 },/* reply #1.3, PROP_CFN */
{ 0x06, 0x05, 0x01, 0x20, 0x00, 0x00 }, /* reply #1.4, PROP_CARD2_EXISTS */
{ 0x06, 0x05, 0x01, 0x21, 0x01, 0x00 }, /* reply #1.5, PROP_CARD1_EXISTS */
{ 0x06, 0x05, 0x01, 0x20, 0x00, 0x00 }, /* reply #1.4, PROP_CARD1_EXISTS */