|
|
| version 1.1.1.1, 2003/10/16 17:57:51 | version 1.3, 2003/12/08 00:55:32 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "i286.h" | |
| #include "memory.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "sound.h" | #include "sound.h" |
| #include "fmboard.h" | #include "cs4231.h" |
| void DMACCALL dma_dummyout(BYTE data) { | void DMACCALL dma_dummyout(REG8 data) { |
| (void)data; | (void)data; |
| } | } |
| BYTE DMACCALL dma_dummyin(void) { | REG8 DMACCALL dma_dummyin(void) { |
| return(0xff); | return(0xff); |
| } | } |
| BYTE DMACCALL dma_dummyproc(BYTE func) { | REG8 DMACCALL dma_dummyproc(REG8 func) { |
| (void)func; | (void)func; |
| return(0); | return(0); |
| Line 30 void dmac_check(void) { | Line 28 void dmac_check(void) { |
| BOOL workchg; | BOOL workchg; |
| DMACH ch; | DMACH ch; |
| BYTE bit; | REG8 bit; |
| workchg = FALSE; | workchg = FALSE; |
| ch = dmac.dmach; | ch = dmac.dmach; |
| Line 65 void dmac_check(void) { | Line 63 void dmac_check(void) { |
| // ---- I/O | // ---- I/O |
| static void IOOUTCALL dmac_o01(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o01(UINT port, REG8 dat) { |
| DMACH dmach; | DMACH dmach; |
| int lh; | int lh; |
| Line 77 static void IOOUTCALL dmac_o01(UINT port | Line 75 static void IOOUTCALL dmac_o01(UINT port |
| dmach->adrsorg.b[lh] = dat; | dmach->adrsorg.b[lh] = dat; |
| } | } |
| static void IOOUTCALL dmac_o03(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o03(UINT port, REG8 dat) { |
| int ch; | int ch; |
| DMACH dmach; | DMACH dmach; |
| Line 92 static void IOOUTCALL dmac_o03(UINT port | Line 90 static void IOOUTCALL dmac_o03(UINT port |
| dmac.stat &= ~(1 << ch); | dmac.stat &= ~(1 << ch); |
| } | } |
| static void IOOUTCALL dmac_o13(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o13(UINT port, REG8 dat) { |
| dmac.dmach[dat & 3].sreq = dat; | dmac.dmach[dat & 3].sreq = dat; |
| (void)port; | (void)port; |
| } | } |
| static void IOOUTCALL dmac_o15(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o15(UINT port, REG8 dat) { |
| if (dat & 4) { | if (dat & 4) { |
| dmac.mask |= (1 << (dat & 3)); | dmac.mask |= (1 << (dat & 3)); |
| Line 110 static void IOOUTCALL dmac_o15(UINT port | Line 108 static void IOOUTCALL dmac_o15(UINT port |
| (void)port; | (void)port; |
| } | } |
| static void IOOUTCALL dmac_o17(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o17(UINT port, REG8 dat) { |
| dmac.dmach[dat & 3].mode = dat; | dmac.dmach[dat & 3].mode = dat; |
| (void)port; | (void)port; |
| } | } |
| static void IOOUTCALL dmac_o19(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o19(UINT port, REG8 dat) { |
| dmac.lh = DMA16_LOW; | dmac.lh = DMA16_LOW; |
| (void)port; | (void)port; |
| (void)dat; | (void)dat; |
| } | } |
| static void IOOUTCALL dmac_o1b(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o1b(UINT port, REG8 dat) { |
| dmac.mask = 0x0f; | dmac.mask = 0x0f; |
| (void)port; | (void)port; |
| (void)dat; | (void)dat; |
| } | } |
| static void IOOUTCALL dmac_o1f(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o1f(UINT port, REG8 dat) { |
| dmac.mask = dat; | dmac.mask = dat; |
| dmac_check(); | dmac_check(); |
| (void)port; | (void)port; |
| } | } |
| static void IOOUTCALL dmac_o21(UINT port, BYTE dat) { | static void IOOUTCALL dmac_o21(UINT port, REG8 dat) { |
| DMACH dmach; | DMACH dmach; |
| Line 145 static void IOOUTCALL dmac_o21(UINT port | Line 143 static void IOOUTCALL dmac_o21(UINT port |
| dmach->adrs.b[DMA32_HIGH + DMA16_LOW] = dat; | dmach->adrs.b[DMA32_HIGH + DMA16_LOW] = dat; |
| } | } |
| static BYTE IOINPCALL dmac_i01(UINT port) { | static REG8 IOINPCALL dmac_i01(UINT port) { |
| DMACH dmach; | DMACH dmach; |
| int lh; | int lh; |
| Line 156 static BYTE IOINPCALL dmac_i01(UINT port | Line 154 static BYTE IOINPCALL dmac_i01(UINT port |
| return(dmach->leng.b[lh]); | return(dmach->leng.b[lh]); |
| } | } |
| static BYTE IOINPCALL dmac_i03(UINT port) { | static REG8 IOINPCALL dmac_i03(UINT port) { |
| DMACH dmach; | DMACH dmach; |
| int lh; | int lh; |
| Line 167 static BYTE IOINPCALL dmac_i03(UINT port | Line 165 static BYTE IOINPCALL dmac_i03(UINT port |
| return(dmach->adrs.b[lh + DMA32_LOW]); | return(dmach->adrs.b[lh + DMA32_LOW]); |
| } | } |
| static BYTE IOINPCALL dmac_i11(UINT port) { | static REG8 IOINPCALL dmac_i11(UINT port) { |
| (void)port; | (void)port; |
| return(dmac.stat); // ToDo!! | return(dmac.stat); // ToDo!! |