Read about our upcoming Code of Conduct on this issue

Commit 28be9689 authored by alex@thinkpad's avatar alex@thinkpad
Browse files

QEMU: emulate ADTGDMA interrupt (used on 100D and EOS M2)

- fixes FA_CaptureTestImage on 100D
- some LiveView screenshots changed on 100D
- color palette in LiveView changed on M2; can be worked around by pressing L (updated menu tests)

--HG--
branch : qemu
parent 93e1c3a8e40e
......@@ -175,6 +175,7 @@ EOSRegionHandler eos_handlers[] =
{ "SDIO86", 0xC8060000, 0xC8060FFF, eos_handle_sdio, 0x86 },
{ "SFIO87", 0xC8070000, 0xC8070FFF, eos_handle_sfio, 0x87 },
{ "SFIO88", 0xC8080000, 0xC8080FFF, eos_handle_sfio, 0x88 },
{ "ADTGDMA", 0xC0500060, 0xC050007F, eos_handle_adtg_dma, 0 },
{ "UartDMA", 0xC05000C0, 0xC05000DF, eos_handle_uart_dma, 0 },
{ "CFDMA0*", 0xC0500000, 0xC05000FF, eos_handle_cfdma, 0x0F },
{ "CFDMA10", 0xC0510000, 0xC051001F, eos_handle_cfdma, 0x10 },
......@@ -4436,6 +4437,47 @@ unsigned int eos_handle_uart_dma ( unsigned int parm, EOSState *s, unsigned int
return ret;
}
unsigned int eos_handle_adtg_dma ( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value )
{
unsigned int ret = 0;
const char * msg = 0;
static uint32_t addr;
static uint32_t count;
static uint32_t status;
switch(address & 0x1F)
{
case 0x00:
case 0x08:
msg = "Transfer memory address";
MMIO_VAR(addr);
break;
case 0x04:
case 0x0C:
msg = "Transfer byte count";
MMIO_VAR(count);
break;
case 0x10:
msg = "Transfer command / status?";
if (value == 0x3000025)
{
eos_trigger_int(s, 0x37, 100);
}
break;
case 0x14:
msg = "DMA status?";
MMIO_VAR(status);
break;
}
io_log("ADTGDMA", s, address, type, value, ret, msg, 0, 0);
return ret;
}
unsigned int eos_handle_cfdma ( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value )
{
unsigned int ret = 0;
......
......@@ -388,6 +388,7 @@ unsigned int eos_handle_jpcore( unsigned int parm, EOSState *s, unsigned int add
unsigned int eos_handle_eeko_comm( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value );
unsigned int eos_handle_memdiv( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value );
unsigned int eos_handle_rom_id( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value );
unsigned int eos_handle_adtg_dma ( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value );
unsigned int eos_handle_digic6 ( unsigned int parm, EOSState *s, unsigned int address, unsigned char type, unsigned int value );
......
0bb52a078f84680f248e7718ca9dc26f frsp.ppm
......@@ -44,9 +44,9 @@ e2cf97b9ee7372c07228ceadb3ee0011 menu41.png
6700b97ea35bdb05723eae95187f0c2d menu43.png
2b4fd9eea5a7e64cdcf4000d7789c293 menu44.png
92ecdfb0255be8591be30c71b3e3c443 menu45.png
2b4fd9eea5a7e64cdcf4000d7789c293 menu46.png
b453fdc6f7fb15dbff7fe4c6bbbcb32b menu47.png
543b20db1f0bf4e3192c3ca900e965db menu48.png
7a942f1f9b92d23015a717c9005ed126 menu46.png
37b80a13d8312b7aae71adda33e0da70 menu47.png
132f4062a001c7c0e4eae2bd9da742a4 menu48.png
8c60007b82df2608939a9ffeb0076a89 menu49.png
132f4062a001c7c0e4eae2bd9da742a4 menu50.png
6700b97ea35bdb05723eae95187f0c2d menu51.png
......
......@@ -20,13 +20,14 @@ d376e16393bd8740013dfb52d1acaad3 menu17.png
983f09b93d868800f1b16cbad0901088 menu19.png
8ccafdbc5d76c3923428a0b03e9def80 menu20.png
d376e16393bd8740013dfb52d1acaad3 menu21.png
497e50ee9b07da3872de7467460909b4 menu22.png
1d4f7776d23aaa2722430477aacec1a7 menu23.png
05a23cc774fc456976de5328b415c793 menu24.png
1d4f7776d23aaa2722430477aacec1a7 menu25.png
4ec358c51fec68abe44a1e3d4ffe9178 menu26.png
2bcd2a804833edb52b131c3cd8a267f0 menu27.png
c76bb936cdb144ebd9b92ceafce6aaf1 menu22.png
497e50ee9b07da3872de7467460909b4 menu23.png
1d4f7776d23aaa2722430477aacec1a7 menu24.png
50e219172a0f58baf6c19ad44b5f0d43 menu25.png
1d4f7776d23aaa2722430477aacec1a7 menu26.png
b1ca841a0275c8afd13999f5e2309ed5 menu27.png
1d4f7776d23aaa2722430477aacec1a7 menu28.png
2b4fd9eea5a7e64cdcf4000d7789c293 menu29.png
d03a5a7080f1ba25d3397d05a69c3510 menu30.png
d376e16393bd8740013dfb52d1acaad3 menu31.png
1d4f7776d23aaa2722430477aacec1a7 menu29.png
2b4fd9eea5a7e64cdcf4000d7789c293 menu30.png
d03a5a7080f1ba25d3397d05a69c3510 menu31.png
d376e16393bd8740013dfb52d1acaad3 menu32.png
......@@ -125,7 +125,7 @@ MENU_SEQUENCE[1100D]="f1 i i m i i left m p p down right space right right space
MENU_SEQUENCE[1200D]="f1 i i m i i space m m p p down right space right right space up right space 9 q 9 q 9 l i q space [ space q l" # drive mode not working
MENU_SEQUENCE[1300D]="f1 i i m i i up up up space m up up space right space down space i m space space m left up space down space m left right space right left space q right space right i q up p p 9 q 9 q 9 l i i q space l"
MENU_SEQUENCE[EOSM]="m up up up space m up space m up space m left down down down space space p p 0 9 9 9 m m i i p p space" # starts in LiveView; Q button not working
MENU_SEQUENCE[EOSM2]="m space space space up up space m up space m up space m up space m right space space m m m i q q 9 0 space i i m" # starts in LiveView
MENU_SEQUENCE[EOSM2]="m space space space up up space m up space m up space m up space m right space space m m m l i q q 9 0 space i i m" # starts in LiveView
FMT_SEQ="space right space f1 space"
FMT_SEQ_5D3="space space right space f1 space space"
......
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