\r
switch( a ) {\r
case 0: /* address port 0 */\r
+ if (!addr_A1 && ST_address == v)\r
+ return 0; /* address already selected, don't send this command to 940 */\r
ST_address = v;\r
+ /* don't send DAC or timer related address changes to 940 */\r
+ if (!addr_A1 && (v & 0xf0) == 0x20 &&\r
+ (v == 0x24 || v == 0x25 || v == 0x26 || v == 0x2a))\r
+ return 0;\r
addr_A1 = 0;\r
//ret=0;\r
break;\r
break;\r
\r
case 2: /* address port 1 */\r
+ if (addr_A1 && ST_address == v)\r
+ return 0;\r
ST_address = v;\r
addr_A1 = 1;\r
//ret=0;\r
shared_ctl->writebuff1[writebuff_ptr++] = (a<<8)|v;\r
}\r
} else {\r
- printf("warning: writebuff_ptr > 2047\n");\r
+ printf("warning: writebuff_ptr > 2047 ([%i] %02x)\n", a, v);\r
}\r
}\r
\r