audio, improve YM2413 handling

This commit is contained in:
kub 2020-09-25 21:22:40 +02:00
parent 47548249a0
commit 81d54be15d

View file

@ -108,21 +108,21 @@ static unsigned char z80_sms_in(unsigned short a)
elprintf(EL_IO, "z80 port %04x read", a); elprintf(EL_IO, "z80 port %04x read", a);
if((a&0xff)>= 0xf0){ if((a&0xff)>= 0xf0){
switch((a&0xff)) if (PicoIn.opt & POPT_EN_YM2413){
{ switch((a&0xff))
case 0xf0: {
// FM reg port case 0xf0:
break; // FM reg port
case 0xf1: break;
// FM data port case 0xf1:
break; // FM data port
case 0xf2: break;
// bit 0 = 1 active FM Pac case 0xf2:
if (PicoIn.opt & POPT_EN_YM2413){ // bit 0 = 1 active FM Pac
d = ymflag; d = ymflag;
//printf("read FM Check = %02x\n", d); //printf("read FM Check = %02x\n", d);
break;
} }
break;
} }
} }
else{ else{
@ -171,25 +171,25 @@ static void z80_sms_out(unsigned short a, unsigned char d)
elprintf(EL_IO, "z80 port %04x write %02x", a, d); elprintf(EL_IO, "z80 port %04x write %02x", a, d);
if((a&0xff)>= 0xf0){ if((a&0xff)>= 0xf0){
switch((a&0xff)) if (PicoIn.opt & POPT_EN_YM2413){
{ switch((a&0xff))
case 0xf0: {
// FM reg port case 0xf0:
YM2413_regWrite(d); // FM reg port
//printf("write FM register = %02x\n", d); YM2413_regWrite(d);
break; //printf("write FM register = %02x\n", d);
case 0xf1: break;
// FM data port case 0xf1:
YM2413_dataWrite(d); // FM data port
//printf("write FM data = %02x\n", d); YM2413_dataWrite(d);
break; //printf("write FM data = %02x\n", d);
case 0xf2: break;
// bit 0 = 1 active FM Pac case 0xf2:
if (PicoIn.opt & POPT_EN_YM2413){ // bit 0 = 1 active FM Pac
ymflag = d; ymflag = d;
//printf("write FM Check = %02x\n", d); //printf("write FM Check = %02x\n", d);
} break;
break; }
} }
} }
else{ else{