| version 1.1, 2003/10/16 17:58:08 | version 1.4, 2003/12/08 00:55:33 | 
| Line 6 | Line 6 | 
 | #include        "fmboard.h" | #include        "fmboard.h" | 
 |  |  | 
 |  |  | 
 |  | extern  CS4231CFG       cs4231cfg; | 
 |  |  | 
 |  |  | 
 | // ---- 補完くらいしようよ… | // ---- 補完くらいしようよ… | 
 |  |  | 
| BYTE cs4231_nodecode(void) { | REG8 cs4231_nodecode(void) { | 
 |  |  | 
 | return(0); | return(0); | 
 | } | } | 
 |  |  | 
| static BYTE cs4231_pcm8s(void) { | static REG8 cs4231_pcm8s(void) { | 
 |  |  | 
 | SINT32  leng; | SINT32  leng; | 
 | UINT    indatas; | UINT    indatas; | 
| Line 29  static BYTE cs4231_pcm8s(void) { | Line 32  static BYTE cs4231_pcm8s(void) { | 
 | addr = dmac.dmach[0].adrs.d; | addr = dmac.dmach[0].adrs.d; | 
 | do { | do { | 
 | while(ctime < cs4231.step) { | while(ctime < cs4231.step) { | 
| ctime += opna_rate; | ctime += cs4231cfg.rate; | 
 | leng -= 2; | leng -= 2; | 
 | if (leng < 0) { | if (leng < 0) { | 
 | leng = 0; | leng = 0; | 
 | goto p8s_stop; | goto p8s_stop; | 
 | } | } | 
| cs4231.pcmdata[0] = (i286_memoryread(addr+0) ^ 0x80) << 8; | cs4231.pcmdata[0] = (i286_memoryread(addr + 0) ^ 0x80) << 8; | 
| cs4231.pcmdata[1] = (i286_memoryread(addr+1) ^ 0x80) << 8; | cs4231.pcmdata[1] = (i286_memoryread(addr + 1) ^ 0x80) << 8; | 
 | addr += 2; | addr += 2; | 
 | } | } | 
 | ctime -= cs4231.step; | ctime -= cs4231.step; | 
| Line 55  p8s_stop: | Line 58  p8s_stop: | 
 | return((leng < 2)?1:0); | return((leng < 2)?1:0); | 
 | } | } | 
 |  |  | 
| static BYTE cs4231_pcm8m(void) { | static REG8 cs4231_pcm8m(void) { | 
 |  |  | 
 | SINT32  leng; | SINT32  leng; | 
 | UINT    indatas; | UINT    indatas; | 
| Line 72  static BYTE cs4231_pcm8m(void) { | Line 75  static BYTE cs4231_pcm8m(void) { | 
 | addr = dmac.dmach[0].adrs.d; | addr = dmac.dmach[0].adrs.d; | 
 | do { | do { | 
 | while(ctime < cs4231.step) { | while(ctime < cs4231.step) { | 
| ctime += opna_rate; | ctime += cs4231cfg.rate; | 
 | leng -= 1; | leng -= 1; | 
 | if (leng < 0) { | if (leng < 0) { | 
 | leng = 0; | leng = 0; | 
| Line 99  p8m_stop: | Line 102  p8m_stop: | 
 | return((leng == 0)?1:0); | return((leng == 0)?1:0); | 
 | } | } | 
 |  |  | 
| static BYTE cs4231_pcm16s(void) { | static REG8 cs4231_pcm16s(void) { | 
 |  |  | 
 | SINT32  leng; | SINT32  leng; | 
 | UINT    indatas; | UINT    indatas; | 
| Line 117  static BYTE cs4231_pcm16s(void) { | Line 120  static BYTE cs4231_pcm16s(void) { | 
 | // TRACEOUT(("addr: %x", addr)); | // TRACEOUT(("addr: %x", addr)); | 
 | do { | do { | 
 | while(ctime < cs4231.step) { | while(ctime < cs4231.step) { | 
| ctime += opna_rate; | ctime += cs4231cfg.rate; | 
 | leng -= 4; | leng -= 4; | 
 | if (leng < 0) { | if (leng < 0) { | 
 | leng = 0; | leng = 0; | 
| Line 145  p16s_stop: | Line 148  p16s_stop: | 
 | return((leng < 4)?1:0); | return((leng < 4)?1:0); | 
 | } | } | 
 |  |  | 
| static BYTE cs4231_pcm16m(void) { | static REG8 cs4231_pcm16m(void) { | 
 |  |  | 
 | SINT32  leng; | SINT32  leng; | 
 | UINT    indatas; | UINT    indatas; | 
| Line 162  static BYTE cs4231_pcm16m(void) { | Line 165  static BYTE cs4231_pcm16m(void) { | 
 | addr = dmac.dmach[0].adrs.d; | addr = dmac.dmach[0].adrs.d; | 
 | do { | do { | 
 | while(ctime < cs4231.step) { | while(ctime < cs4231.step) { | 
| ctime += opna_rate; | ctime += cs4231cfg.rate; | 
 | leng -= 2; | leng -= 2; | 
 | if (leng < 0) { | if (leng < 0) { | 
 | leng = 0; | leng = 0; |