notaz.gp2x.de
/
libpicofe.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
docs updated, gfx_cd works(?)
[libpicofe.git]
/
gp2x
/
940ctl.c
diff --git
a/gp2x/940ctl.c
b/gp2x/940ctl.c
index
48ebfa0
..
b035591
100644
(file)
--- a/
gp2x/940ctl.c
+++ b/
gp2x/940ctl.c
@@
-99,7
+99,13
@@
int YM2612Write_940(unsigned int a, unsigned int v)
\r
switch( a ) {
\r
case 0: /* address port 0 */
\r
\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
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
addr_A1 = 0;
\r
//ret=0;
\r
break;
\r
@@
-162,6
+168,8
@@
int YM2612Write_940(unsigned int a, unsigned int v)
break;
\r
\r
case 2: /* address port 1 */
\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
ST_address = v;
\r
addr_A1 = 1;
\r
//ret=0;
\r
@@
-186,7
+194,7
@@
int YM2612Write_940(unsigned int a, unsigned int v)
shared_ctl->writebuff1[writebuff_ptr++] = (a<<8)|v;
\r
}
\r
} else {
\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
}
\r
}
\r
\r