|
|
| version 1.1.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; |