|
|
| version 1.5, 2004/01/05 11:46:56 | version 1.6, 2004/01/05 14:16:35 |
|---|---|
| Line 28 void cs4231_setvol(UINT vol) { | Line 28 void cs4231_setvol(UINT vol) { |
| void cs4231_dma(NEVENTITEM item) { | void cs4231_dma(NEVENTITEM item) { |
| DMACH dmach; | |
| REG8 ret; | REG8 ret; |
| SINT32 cnt; | SINT32 cnt; |
| if (item->flag & NEVENT_SETEVENT) { | if (item->flag & NEVENT_SETEVENT) { |
| if (dmac.dmach[0].leng.w) { | if (cs4231.dmach != 0xff) { |
| sound_sync(); | dmach = dmac.dmach + cs4231.dmach; |
| ret = cs4231.proc(); | if (dmach->leng.w) { |
| if ((ret) && (cs4231.reg.pinctrl & 2)) { | sound_sync(); |
| dmac.dmach[0].leng.w = 0; | ret = cs4231.proc(dmach); |
| if (cs4231.dmairq != 0xff) { | if ((ret) && (cs4231.reg.pinctrl & 2)) { |
| cs4231.intflag = 1; | dmach->leng.w = 0; |
| pic_setirq(cs4231.dmairq); | if (cs4231.dmairq != 0xff) { |
| cs4231.intflag = 1; | |
| pic_setirq(cs4231.dmairq); | |
| } | |
| } | } |
| } | } |
| } | } |
| Line 85 void cs4231_update(void) { | Line 89 void cs4231_update(void) { |
| void cs4231_control(UINT index, REG8 value) { | void cs4231_control(UINT index, REG8 value) { |
| DMACH dmach; | |
| *(((BYTE *)(&cs4231.reg)) + index) = value; | *(((BYTE *)(&cs4231.reg)) + index) = value; |
| switch(index) { | switch(index) { |
| case 8: // playback data format | case 8: // playback data format |
| Line 93 void cs4231_control(UINT index, REG8 val | Line 99 void cs4231_control(UINT index, REG8 val |
| break; | break; |
| case 9: | case 9: |
| if ((value & 0x5) == 0x5) { | if (cs4231.dmach != 0xff) { |
| dmac.dmach[0].ready = 1; | dmach = dmac.dmach + cs4231.dmach; |
| } | if ((value & 0x5) == 0x5) { |
| else { | dmach->ready = 1; |
| dmac.dmach[0].ready = 0; | } |
| else { | |
| dmach->ready = 0; | |
| } | |
| dmac_check(); | |
| } | } |
| dmac_check(); | |
| break; | break; |
| } | } |
| } | } |