|
|
| version 1.2, 2003/10/21 11:22:05 | version 1.3, 2003/12/08 00:55:30 |
|---|---|
| Line 40 enum { | Line 40 enum { |
| COMMNG cm_mpu98; | COMMNG cm_mpu98; |
| static const BYTE mpuirqnum[4] = {3, 5, 6, 12}; | static const UINT8 mpuirqnum[4] = {3, 5, 6, 12}; |
| static const BYTE fd_step1[4][4] = {{0, 0, 0, 0}, {1, 0, 0, 0}, | static const UINT8 fd_step1[4][4] = {{0, 0, 0, 0}, {1, 0, 0, 0}, |
| {1, 0, 1, 0}, {1, 1, 1, 0}}; | {1, 0, 1, 0}, {1, 1, 1, 0}}; |
| static void makeintclock(void) { | static void makeintclock(void) { |
| Line 58 static void makeintclock(void) { | Line 58 static void makeintclock(void) { |
| mpu98.clock = (pc.realclock * 5 / l); // /12 | mpu98.clock = (pc.realclock * 5 / l); // /12 |
| } | } |
| static void sendallclocks(BYTE data) { | static void sendallclocks(REG8 data) { |
| BYTE quarter; | REG8 quarter; |
| int i; | int i; |
| quarter = data >> 2; | quarter = data >> 2; |
| Line 68 static void sendallclocks(BYTE data) { | Line 68 static void sendallclocks(BYTE data) { |
| quarter = 64; | quarter = 64; |
| } | } |
| for (i=0; i<4; i++) { | for (i=0; i<4; i++) { |
| mpu98.fd_step[i] = fd_step1[data & 3][i]; | mpu98.fd_step[i] = quarter + fd_step1[data & 3][i]; |
| mpu98.fd_step[i] += quarter; | |
| } | } |
| mpu98.fd_remain = 0; | mpu98.fd_remain = 0; |
| } | } |
| static void setrecvdata(BYTE data) { | static void setrecvdata(REG8 data) { |
| if (mpu98.cnt < MPU98_RECVBUFS) { | if (mpu98.cnt < MPU98_RECVBUFS) { |
| mpu98.buf[(mpu98.pos + mpu98.cnt) & (MPU98_RECVBUFS - 1)] = data; | mpu98.buf[(mpu98.pos + mpu98.cnt) & (MPU98_RECVBUFS - 1)] = data; |
| Line 90 static void mpu98ii_int(void) { | Line 89 static void mpu98ii_int(void) { |
| static void ch_step(void) { | static void ch_step(void) { |
| int i; | int i; |
| BYTE bit; | REG8 bit; |
| if (mpu98.flag1 & MPU1FLAG_F9) { | if (mpu98.flag1 & MPU1FLAG_F9) { |
| if (mpu98.f9.step) { | if (mpu98.f9.step) { |
| mpu98.f9.step--; | mpu98.f9.step--; |
| } | } |
| } | } |
| for (i=0, bit=1; bit; bit<<=1, i++) { | for (i=0, bit=1; i<8; bit<<=1, i++) { |
| if (mpu98.intch & bit) { | if (mpu98.intch & bit) { |
| if (mpu98.ch[i].step) { | if (mpu98.ch[i].step) { |
| mpu98.ch[i].step--; | mpu98.ch[i].step--; |
| Line 109 static void ch_step(void) { | Line 108 static void ch_step(void) { |
| static BOOL ch_nextsearch(void) { | static BOOL ch_nextsearch(void) { |
| int i; | int i; |
| BYTE bit; | REG8 bit; |
| ch_nextsearch_more: | ch_nextsearch_more: |
| if (mpu98.intreq == 9) { | if (mpu98.intreq == 9) { |
| Line 147 ch_nextsearch_more: | Line 146 ch_nextsearch_more: |
| } | } |
| ch->datas = 0; | ch->datas = 0; |
| } | } |
| setrecvdata((BYTE)(0xf0 + mpu98.intreq)); | setrecvdata((REG8)(0xf0 + mpu98.intreq)); |
| mpu98ii_int(); | mpu98ii_int(); |
| mpu98.recvevent |= MIDIE_STEP; | mpu98.recvevent |= MIDIE_STEP; |
| return(TRUE); | return(TRUE); |
| Line 204 static void midiwait(SINT32 waitclock) { | Line 203 static void midiwait(SINT32 waitclock) { |
| } | } |
| } | } |
| static BOOL sendcmd(BYTE cmd) { | static BOOL sendcmd(REG8 cmd) { |
| BYTE work; | REG8 work; |
| mpu98.cmd = cmd; | mpu98.cmd = cmd; |
| switch(cmd & 0xf0) { | switch(cmd & 0xf0) { |
| Line 338 static BOOL sendcmd(BYTE cmd) { | Line 337 static BOOL sendcmd(BYTE cmd) { |
| return(TRUE); | return(TRUE); |
| } | } |
| static void group_ex(BYTE cmd, BYTE data) { | static void group_ex(REG8 cmd, REG8 data) { |
| switch(cmd) { | switch(cmd) { |
| case 0xe0: // tempo | case 0xe0: // tempo |
| Line 372 static void group_ex(BYTE cmd, BYTE data | Line 371 static void group_ex(BYTE cmd, BYTE data |
| } | } |
| } | } |
| static void senddat(BYTE data) { | static void senddat(REG8 data) { |
| MPUCH *ch; | MPUCH *ch; |
| Line 505 static void senddat(BYTE data) { | Line 504 static void senddat(BYTE data) { |
| } | } |
| static void IOOUTCALL mpu98ii_o0(UINT port, BYTE dat) { | static void IOOUTCALL mpu98ii_o0(UINT port, REG8 dat) { |
| UINT sent; | UINT sent; |
| Line 515 static void IOOUTCALL mpu98ii_o0(UINT po | Line 514 static void IOOUTCALL mpu98ii_o0(UINT po |
| if (cm_mpu98->connect != COMCONNECT_OFF) { | if (cm_mpu98->connect != COMCONNECT_OFF) { |
| if (mpu98.mode) { | if (mpu98.mode) { |
| sent = cm_mpu98->write(cm_mpu98, dat); | sent = cm_mpu98->write(cm_mpu98, (BYTE)dat); |
| } | } |
| else { | else { |
| if ((mpu98.cmd == 0xd0) || (mpu98.cmd == 0xdf)) { | if ((mpu98.cmd == 0xd0) || (mpu98.cmd == 0xdf)) { |
| sent = cm_mpu98->write(cm_mpu98, dat); | sent = cm_mpu98->write(cm_mpu98, (BYTE)dat); |
| } | } |
| else { | else { |
| senddat(dat); | senddat(dat); |
| Line 533 static void IOOUTCALL mpu98ii_o0(UINT po | Line 532 static void IOOUTCALL mpu98ii_o0(UINT po |
| (void)port; | (void)port; |
| } | } |
| static void IOOUTCALL mpu98ii_o2(UINT port, BYTE dat) { | static void IOOUTCALL mpu98ii_o2(UINT port, REG8 dat) { |
| if (cm_mpu98 == NULL) { | if (cm_mpu98 == NULL) { |
| cm_mpu98 = commng_create(COMCREATE_MPU98II); | cm_mpu98 = commng_create(COMCREATE_MPU98II); |
| Line 564 static void IOOUTCALL mpu98ii_o2(UINT po | Line 563 static void IOOUTCALL mpu98ii_o2(UINT po |
| (void)port; | (void)port; |
| } | } |
| static BYTE IOINPCALL mpu98ii_i0(UINT port) { | static REG8 IOINPCALL mpu98ii_i0(UINT port) { |
| if (cm_mpu98 == NULL) { | if (cm_mpu98 == NULL) { |
| cm_mpu98 = commng_create(COMCREATE_MPU98II); | cm_mpu98 = commng_create(COMCREATE_MPU98II); |
| Line 587 static BYTE IOINPCALL mpu98ii_i0(UINT po | Line 586 static BYTE IOINPCALL mpu98ii_i0(UINT po |
| return(0xff); | return(0xff); |
| } | } |
| static BYTE IOINPCALL mpu98ii_i2(UINT port) { | static REG8 IOINPCALL mpu98ii_i2(UINT port) { |
| BYTE ret; | REG8 ret; |
| if (cm_mpu98 == NULL) { | if (cm_mpu98 == NULL) { |
| cm_mpu98 = commng_create(COMCREATE_MPU98II); | cm_mpu98 = commng_create(COMCREATE_MPU98II); |