|
|
| version 1.3, 2004/01/05 09:31:25 | version 1.4, 2004/01/05 11:46:56 |
|---|---|
| Line 7 | Line 7 |
| #include "fmboard.h" | #include "fmboard.h" |
| static const UINT8 cs4231dma[] = {0xff,0x00,0x01,0x03,0xff,0xff,0xff,0xff}; | |
| static const UINT8 cs4231irq[] = {0xff,0x03,0x06,0x0a,0x0c,0xff,0xff,0xff}; | |
| static void IOOUTCALL csctrl_oc24(UINT port, REG8 dat) { | static void IOOUTCALL csctrl_oc24(UINT port, REG8 dat) { |
| cs4231.portctrl = dat; | cs4231.portctrl = dat; |
| Line 77 void cs4231io_reset(void) { | Line 81 void cs4231io_reset(void) { |
| cs4231.enable = 1; | cs4231.enable = 1; |
| cs4231.port = 0xf40; | cs4231.port = 0xf40; |
| cs4231.adrs = 0x21; | cs4231.adrs = 0x21; |
| cs4231.dmach = 0; | cs4231.dmairq = cs4231irq[(cs4231.adrs >> 3) & 3]; |
| cs4231.dmairq = 0x0c; | cs4231.dmach = cs4231dma[cs4231.adrs & 7]; |
| cs4231.step = 22050; | cs4231.step = 22050; |
| dmac_attach(DMADEV_CS4231, 0); | if (cs4231.dmach != 0xff) { |
| dmac_attach(DMADEV_CS4231, cs4231.dmach); | |
| } | |
| } | } |
| void cs4231io_bind(void) { | void cs4231io_bind(void) { |
| Line 98 void IOOUTCALL cs4231io_w8(UINT port, RE | Line 104 void IOOUTCALL cs4231io_w8(UINT port, RE |
| switch(port & 0x0f) { | switch(port & 0x0f) { |
| case 0: | case 0: |
| #if 0 | |
| cs4231.adrs = value; | cs4231.adrs = value; |
| cs4231.dmairq = dmairq[(value >> 3) & 3]; | cs4231.dmairq = cs4231irq[(value >> 3) & 3]; |
| cs4231.dmach = dmach[value & 7]; | cs4231.dmach = cs4231dma[value & 7]; |
| #endif | dmac_detach(DMADEV_CS4231); |
| if (cs4231.dmach != 0xff) { | |
| dmac_attach(DMADEV_CS4231, cs4231.dmach); | |
| } | |
| break; | break; |
| case 4: | case 4: |