Commit 63fc09a3 authored by alex@thinkpad's avatar alex@thinkpad
Browse files

QEMU: MPU status doesn't seem to matter much; simplified to prepare for DIGIC 6 compatibility

todo: cross-check with actual hardware

--HG--
branch : qemu
parent 5154ad0cb505
......@@ -446,12 +446,18 @@ unsigned int eos_handle_mpu(unsigned int parm, EOSState *s, unsigned int address
s->mpu.sending = 0;
}
ret = (s->mpu.sending && !s->mpu.receiving) ? 0x40003 : /* I have data to send */
(!s->mpu.sending && s->mpu.receiving) ? 0x00000 : /* I'm ready to receive data */
(s->mpu.sending && s->mpu.receiving) ? 0x00001 : /* I'm ready to send and receive data */
0x40002 ; /* I believe this is some error code */
ret |= (s->mpu.status & 0xFFFBFFFC); /* The other bits are unknown;
they are set to 0x44 by writing to the register */
/* actual return value doesn't seem to matter much
* Canon code only tests a flag that appears to signal some sort of error
* returning anything other than that flag has no effect
* the following is just a guess that hopefully matches the D4/5 hardware
*/
ret = (s->mpu.sending) ? 1 : 0;
if (s->model->mpu_request_register == s->model->mpu_status_register)
{
ret |= s->mpu.status & ~1;
}
msg = "status (sending=%d, receiving=%d)";
msg_arg1 = s->mpu.sending;
......
8ad1b132ee804da8c66602d38c6b34f4 calls-main.log
961370f5370783cb9ab6092055881402 calls-main.log
27f96caead13efc40a41be7203abda54 calls-main.idc
c0f68972cf139b4dcbe87b9b28f3bad3 calls-main-basic.log
d1d96a9bd0a692043c28b32f20facb2e calls-main-basic.idc
21b903940b824dabae1c9edf203f2571 calls-main.log
23c22c0946034ea5732a8cce1de42ebb calls-main.log
ce16a02dd60d16e87692acb188184ac6 calls-main.idc
7ac227fb9a68d274b9d0f8158af154f0 calls-main-basic.log
18f865355911cbe4961b2466247ec124 calls-main-basic.idc
6d780baaaa7b3cf7ce661df883f0ba13 calls-main.log
4e8c4b3528a0b7eff6b595070d10dc18 calls-main.log
c310c66d6684fd7dc319234b5cf5baf1 calls-main.idc
2a92fdb23583773d7caddf78be8819c4 calls-main-basic.log
19d480bfc9051e3af4b6a5d8657f3f40 calls-main-basic.idc
7b029cee11dc11bc2c59b59b4d0b08dd calls-main.log
f34475a44da55b33c7468361f1a1097c calls-main.log
99896051eaba33b67f4ae69616e7c18b calls-main.idc
de1f1978e684994eb289c398d0fee0fc calls-main-basic.log
8c0a73752f33fc4d71ac64ae26416ca9 calls-main-basic.idc
70d3410a3124e08ba83e8d9f5cc199d1 calls-main.log
e537899da3313a07bf07f2bf7d334b8e calls-main.idc
94d4fc36606f75b51a60464a39e045be calls-main-basic.log
782933910e471a1b7ac7dfcc5606db8d calls-main-basic.idc
030ea5ce2a812c1fa0f635e62de906cf calls-main.log
5c2122c76128857f29b2bbcfc030f53b calls-main.idc
e9b69f1cd8ef78c36b0261daac13afea calls-main-basic.log
8a6da5f2e8e1e573fcaa8a74426c85d4 calls-main-basic.idc
12566281738f9bc890fc8fcce3f1e669 calls-main.log
3864eb971021d5ba388b436f659b4182 calls-main.log
1fe4be234b21e5906adda11ef9d38a26 calls-main.idc
184e60f010c3ed3d29939f5c569cf809 calls-main-basic.log
59fe87a91a993176d420d3c1ece38a3a calls-main-basic.idc
680050298e3d4969eefbc44ab30a8ba7 calls-main.log
cecee8edff29ccb63caac57bd3b182f8 calls-main.log
a54a8661f1867bd88e1d2c1505775796 calls-main.idc
ccaa2a3f691fdd25617cf270dd90de86 calls-main-basic.log
ce21a436f2714a712875800b925c4963 calls-main-basic.idc
984eb3f6b0d25345a31b151c973d4942 calls-main.log
88aaa1f1ba2107fb7805d549cda50107 calls-main.log
0ff92cd01367df5068e7f9338496066f calls-main.idc
0727d328699f748c00f774b27d7cf06c calls-main-basic.log
47ead2914539b37628dc4cc988e22cbf calls-main-basic.idc
3ab5f6b817528823fbd2cd4f934b7522 calls-main.log
3f833c5d18b769f2451c5a0db962807a calls-main.log
23372499fde6c1942d5e0bdf0eea82df calls-main.idc
a0f371b877dc7084ff332ceda8c5722b calls-main-basic.log
e8c25daaf0f0c69d7158e496a17e78af calls-main-basic.idc
4501448740ba11af6e3b554c6008437b calls-main.log
6a84f1d03483d241b7de67e4a5afbf51 calls-main.log
0c50045e8ff698ab27a449d79a12d854 calls-main.idc
682a9760c70e50ac46aeeac874fb42a0 calls-main-basic.log
f3f3a92e5f1388519c9fa6c7d7a93b00 calls-main-basic.idc
b4876ccba0e3dee1ce63d27fd598024f calls-main.log
0f9ff482aab7b09230d3a793e2c08017 calls-main.log
d04b2a589e66c61f0f5038d90c2b70bf calls-main.idc
9f409de41d4cf432393eef8a0bcba71b calls-main-basic.log
df15b7ae9d3df0e1d1edbb1bee1f79e5 calls-main-basic.idc
bb7031a19ceea700223bfa30ce0b3e4c calls-main.log
0de19fce6c5da51405dede3d494a107c calls-main.log
cc2befee42d44f2477a89bf719bcaf45 calls-main.idc
94569693d16bcd1bac68a3eab271d078 calls-main-basic.log
6311299e1380ee2510b15c2ea9640f96 calls-main-basic.idc
d02ec4629d2195120e2b321a52177759 calls-main.log
84267ea061490eb4a4934546b5b15d6d calls-main.log
e4544c20daf1d78430d7c5dfe08c4112 calls-main.idc
d5c44a27dda0d7c711fad3e87e91a53b calls-main-basic.log
62f4ab58a5dc12aa548e8611e563ca1c calls-main-basic.idc
597fa46dbd40e8c1773b1613b64f3715 calls-main.log
c804f3bb5cd4a8d74e6a0922372c135b calls-main.log
be42f7617090cd4d235a186ffe77d14b calls-main.idc
64d8463ce4e1eb3f6b2070e68a50d6b0 calls-main-basic.log
3fda3c755a07568d87e46486c78c62f3 calls-main-basic.idc
905591e00f9aa8b2a58381a8c31d723b calls-main.log
7e1fa5f0aad2343e2de36084d8ea3848 calls-main.log
0483fe01349b60934bd393f9a3a997c8 calls-main.idc
a7ca254109216edf3dca3dbd4c2a0f4c calls-main-basic.log
c79ef47fe21836c8beb45ef0129e129d calls-main-basic.idc
e7ab02b15866580f0b6fd2609b33911d calls-main.log
a4757c2ea079448a997e4a2ee0fa17ac calls-main.log
2a1e54bf5eea64d14c00be9c5efec1ed calls-main.idc
f0c390f0fe9a1716e584bf03fefde9f7 calls-main-basic.log
9524b88161cb55bbb5503ecdb0a2ae3c calls-main-basic.idc
741e770c10eb50fd78f8ee10a0433a2d calls-main.log
21bada1c7a5df1f75e1215a772e58096 calls-main.log
b8f4c08617ddf96f4ef284ea3affc73b calls-main.idc
b67ba20b8b589002a1146689e57c28c8 calls-main-basic.log
48155a3147ab1516525e78f40efa43b7 calls-main-basic.idc
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment