| version 1.10, 2003/11/21 06:51:14 | version 1.12, 2005/02/07 15:39:27 | 
| Line 63  enum { | Line 63  enum { | 
 | }; | }; | 
 |  |  | 
 | typedef struct { | typedef struct { | 
| WORD    idc[ID_MAX]; | UINT16          idc[ID_MAX]; | 
| COMMNG  *cm; | COMMNG          *cm; | 
| COMCFG  *cfg; | COMCFG          *cfg; | 
| const WORD      *com_item; | const UINT16    *com_item; | 
| const WORD      *midi_item; | const UINT16    *midi_item; | 
| UINT    update; | UINT            update; | 
 | } DLGCOM_P; | } DLGCOM_P; | 
 |  |  | 
 |  |  | 
| static const WORD com1serial[8] = { | static const UINT16 com1serial[8] = { | 
 | IDC_COM1STR00, IDC_COM1STR01, IDC_COM1STR02, IDC_COM1STR03, | IDC_COM1STR00, IDC_COM1STR01, IDC_COM1STR02, IDC_COM1STR03, | 
 | IDC_COM1STR04, IDC_COM1STR05, IDC_COM1STR06, IDC_COM1STR07}; | IDC_COM1STR04, IDC_COM1STR05, IDC_COM1STR06, IDC_COM1STR07}; | 
 |  |  | 
| static const WORD com1rsmidi[3] = { | static const UINT16 com1rsmidi[3] = { | 
 | IDC_COM1STR10, IDC_COM1STR11, IDC_COM1STR12}; | IDC_COM1STR10, IDC_COM1STR11, IDC_COM1STR12}; | 
 |  |  | 
 | static const DLGCOM_P res_com1 = | static const DLGCOM_P res_com1 = | 
| Line 88  static const DLGCOM_P res_com1 = | Line 88  static const DLGCOM_P res_com1 = | 
 | com1serial, com1rsmidi, SYS_UPDATESERIAL1}; | com1serial, com1rsmidi, SYS_UPDATESERIAL1}; | 
 |  |  | 
 |  |  | 
| static const WORD com2serial[8] = { | static const UINT16 com2serial[8] = { | 
 | IDC_COM2STR00, IDC_COM2STR01, IDC_COM2STR02, IDC_COM2STR03, | IDC_COM2STR00, IDC_COM2STR01, IDC_COM2STR02, IDC_COM2STR03, | 
 | IDC_COM2STR04, IDC_COM2STR05, IDC_COM2STR06, IDC_COM2STR07}; | IDC_COM2STR04, IDC_COM2STR05, IDC_COM2STR06, IDC_COM2STR07}; | 
 |  |  | 
| static const WORD com2rsmidi[3] = { | static const UINT16 com2rsmidi[3] = { | 
 | IDC_COM2STR10, IDC_COM2STR11, IDC_COM2STR12}; | IDC_COM2STR10, IDC_COM2STR11, IDC_COM2STR12}; | 
 |  |  | 
 | static const DLGCOM_P res_com2 = | static const DLGCOM_P res_com2 = | 
| Line 104  static const DLGCOM_P res_com2 = | Line 104  static const DLGCOM_P res_com2 = | 
 | com2serial, com2rsmidi, SYS_UPDATESERIAL1}; | com2serial, com2rsmidi, SYS_UPDATESERIAL1}; | 
 |  |  | 
 |  |  | 
| static const WORD com3serial[8] = { | static const UINT16 com3serial[8] = { | 
 | IDC_COM3STR00, IDC_COM3STR01, IDC_COM3STR02, IDC_COM3STR03, | IDC_COM3STR00, IDC_COM3STR01, IDC_COM3STR02, IDC_COM3STR03, | 
 | IDC_COM3STR04, IDC_COM3STR05, IDC_COM3STR06, IDC_COM3STR07}; | IDC_COM3STR04, IDC_COM3STR05, IDC_COM3STR06, IDC_COM3STR07}; | 
 |  |  | 
| static const WORD com3rsmidi[3] = { | static const UINT16 com3rsmidi[3] = { | 
 | IDC_COM3STR10, IDC_COM3STR11, IDC_COM3STR12}; | IDC_COM3STR10, IDC_COM3STR11, IDC_COM3STR12}; | 
 |  |  | 
 | static const DLGCOM_P res_com3 = | static const DLGCOM_P res_com3 = | 
| Line 120  static const DLGCOM_P res_com3 = | Line 120  static const DLGCOM_P res_com3 = | 
 | com3serial, com3rsmidi, SYS_UPDATESERIAL1}; | com3serial, com3rsmidi, SYS_UPDATESERIAL1}; | 
 |  |  | 
 |  |  | 
| static void dlgcom_show(HWND hWnd, int ncmd, const WORD *item, int items) { | static void dlgcom_show(HWND hWnd, int ncmd, const UINT16 *item, int items) { | 
 |  |  | 
 | while(items--) { | while(items--) { | 
 | ShowWindow(GetDlgItem(hWnd, *item++), ncmd); | ShowWindow(GetDlgItem(hWnd, *item++), ncmd); | 
| Line 144  static void dlgcom_items(HWND hWnd, cons | Line 144  static void dlgcom_items(HWND hWnd, cons | 
 | static LRESULT CALLBACK dlgitem_proc(HWND hWnd, UINT msg, | static LRESULT CALLBACK dlgitem_proc(HWND hWnd, UINT msg, | 
 | WPARAM wp, LPARAM lp, const DLGCOM_P *m) { | WPARAM wp, LPARAM lp, const DLGCOM_P *m) { | 
 |  |  | 
| DWORD   d; | UINT32  d; | 
| BYTE    b; | UINT8   b; | 
 | LRESULT r; | LRESULT r; | 
 | union { | union { | 
 | char    mmap[MAXPNAMELEN]; | char    mmap[MAXPNAMELEN]; | 
| Line 164  static LRESULT CALLBACK dlgitem_proc(HWN | Line 164  static LRESULT CALLBACK dlgitem_proc(HWN | 
 | SETLISTUINT32(hWnd, m->idc[ID_CHARS], rscharsize); | SETLISTUINT32(hWnd, m->idc[ID_CHARS], rscharsize); | 
 | SETLISTSTR(hWnd, m->idc[ID_PARITY], rsparity); | SETLISTSTR(hWnd, m->idc[ID_PARITY], rsparity); | 
 | SETLISTSTR(hWnd, m->idc[ID_SBIT], rsstopbit); | SETLISTSTR(hWnd, m->idc[ID_SBIT], rsstopbit); | 
| for (d=0; d<(sizeof(cmserial_speed)/sizeof(UINT32))-1; d++) { | for (d=0; d<(NELEMENTS(cmserial_speed) - 1); d++) { | 
 | if (cmserial_speed[d] >= cfg->speed) { | if (cmserial_speed[d] >= cfg->speed) { | 
 | break; | break; | 
 | } | } | 
| Line 198  static LRESULT CALLBACK dlgitem_proc(HWN | Line 198  static LRESULT CALLBACK dlgitem_proc(HWN | 
 | SetDlgItemText(hWnd, m->idc[ID_DEFF], cfg->def); | SetDlgItemText(hWnd, m->idc[ID_DEFF], cfg->def); | 
 |  |  | 
 | d = cfg->port; | d = cfg->port; | 
| if (d >= (sizeof(rsport)/sizeof(char *))) { | if (d >= NELEMENTS(rsport)) { | 
 | d = 0; | d = 0; | 
 | } | } | 
 | SendDlgItemMessage(hWnd, m->idc[ID_PORT], | SendDlgItemMessage(hWnd, m->idc[ID_PORT], | 
| Line 227  static LRESULT CALLBACK dlgitem_proc(HWN | Line 227  static LRESULT CALLBACK dlgitem_proc(HWN | 
 | r = SendDlgItemMessage(hWnd, m->idc[ID_PORT], | r = SendDlgItemMessage(hWnd, m->idc[ID_PORT], | 
 | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| if ((UINT)r >= (sizeof(rsport)/sizeof(char *))) { | if ((UINT)r >= NELEMENTS(rsport)) { | 
 | r = 0; | r = 0; | 
 | } | } | 
| if (cfg->port != (BYTE)r) { | if (cfg->port != (UINT8)r) { | 
| cfg->port = (BYTE)r; | cfg->port = (UINT8)r; | 
 | update |= SYS_UPDATEOSCFG; | update |= SYS_UPDATEOSCFG; | 
 | update |= m->update; | update |= m->update; | 
 | } | } | 
| Line 239  static LRESULT CALLBACK dlgitem_proc(HWN | Line 239  static LRESULT CALLBACK dlgitem_proc(HWN | 
 | r = SendDlgItemMessage(hWnd, m->idc[ID_SPEED], | r = SendDlgItemMessage(hWnd, m->idc[ID_SPEED], | 
 | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| if ((UINT)r >= (sizeof(cmserial_speed)/sizeof(UINT32))) { | if ((UINT)r >= NELEMENTS(cmserial_speed)) { | 
 | r = 0; | r = 0; | 
 | } | } | 
 | if (cfg->speed != cmserial_speed[r]) { | if (cfg->speed != cmserial_speed[r]) { | 
| Line 253  static LRESULT CALLBACK dlgitem_proc(HWN | Line 253  static LRESULT CALLBACK dlgitem_proc(HWN | 
 | r = SendDlgItemMessage(hWnd, m->idc[ID_CHARS], | r = SendDlgItemMessage(hWnd, m->idc[ID_CHARS], | 
 | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| b |= (BYTE)(((UINT)r & 3) << 2); | b |= (UINT8)(((UINT)r & 3) << 2); | 
 | } | } | 
 | r = SendDlgItemMessage(hWnd, m->idc[ID_PARITY], | r = SendDlgItemMessage(hWnd, m->idc[ID_PARITY], | 
 | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
 | if ((UINT)r) { | if ((UINT)r) { | 
 | b |= 0x10; | b |= 0x10; | 
| b |= (BYTE)((((UINT)r - 1) & 1) << 5); | b |= (UINT8)((((UINT)r - 1) & 1) << 5); | 
 | } | } | 
 | } | } | 
 | r = SendDlgItemMessage(hWnd, m->idc[ID_SBIT], | r = SendDlgItemMessage(hWnd, m->idc[ID_SBIT], | 
 | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | CB_GETCURSEL, (WPARAM)0, (LPARAM)0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| b |= (BYTE)((((UINT)r + 1) & 3) << 6); | b |= (UINT8)((((UINT)r + 1) & 3) << 6); | 
 | } | } | 
 | if (cfg->param != b) { | if (cfg->param != b) { | 
 | cfg->param = b; | cfg->param = b; | 
| Line 333  static LRESULT CALLBACK Com3Proc(HWND hW | Line 333  static LRESULT CALLBACK Com3Proc(HWND hW | 
 |  |  | 
 | // -------------------------------------------------------------------- | // -------------------------------------------------------------------- | 
 |  |  | 
| static  BYTE    pc9861_s[3]; | static  UINT8   pc9861_s[3]; | 
| static  BYTE    pc9861_j[6]; | static  UINT8   pc9861_j[6]; | 
 |  |  | 
 | typedef struct { | typedef struct { | 
 | int             idc_speed; | int             idc_speed; | 
 | int             idc_int; | int             idc_int; | 
 | int             idc_mode; | int             idc_mode; | 
| BYTE    *dip_mode; | UINT8   *dip_mode; | 
| BYTE    *dip_int; | UINT8   *dip_int; | 
| BYTE    sft_int; | UINT8   sft_int; | 
 | } PC9861MODE_T; | } PC9861MODE_T; | 
 |  |  | 
 | static const PC9861MODE_T pc9861mode[2] = { | static const PC9861MODE_T pc9861mode[2] = { | 
| Line 383  static const UINT pc9861d2int[] = {0, 2, | Line 383  static const UINT pc9861d2int[] = {0, 2, | 
 | static void pc9861getspeed(HWND hWnd, const PC9861MODE_T *m) { | static void pc9861getspeed(HWND hWnd, const PC9861MODE_T *m) { | 
 |  |  | 
 | LRESULT r; | LRESULT r; | 
| BYTE    mode; | UINT8   mode; | 
 |  |  | 
 | mode = *(m->dip_mode); | mode = *(m->dip_mode); | 
 | r = SendDlgItemMessage(hWnd, m->idc_speed, CB_GETCURSEL, 0, 0); | r = SendDlgItemMessage(hWnd, m->idc_speed, CB_GETCURSEL, 0, 0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| DWORD speed = r; | UINT speed = r; | 
| if (speed > ((sizeof(pc9861k_speed) / sizeof(UINT32)) - 1)) { | if (speed > (NELEMENTS(pc9861k_speed) - 1)) { | 
| speed = (sizeof(pc9861k_speed) / sizeof(UINT32)) - 1; | speed = NELEMENTS(pc9861k_speed) - 1; | 
 | } | } | 
 | if (mode & 2) { | if (mode & 2) { | 
 | speed += 3; | speed += 3; | 
| Line 413  static void pc9861getint(HWND hWnd, cons | Line 413  static void pc9861getint(HWND hWnd, cons | 
 |  |  | 
 | r = SendDlgItemMessage(hWnd, m->idc_int, CB_GETCURSEL, 0, 0); | r = SendDlgItemMessage(hWnd, m->idc_int, CB_GETCURSEL, 0, 0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| for (i=0; i<(sizeof(pc9861d2int)/sizeof(UINT)); i++) { | for (i=0; i<NELEMENTS(pc9861d2int); i++) { | 
 | if (pc9861d2int[i] == (UINT)(r & 3)) { | if (pc9861d2int[i] == (UINT)(r & 3)) { | 
 | *(m->dip_int) &= ~(0x03 << (m->sft_int)); | *(m->dip_int) &= ~(0x03 << (m->sft_int)); | 
| *(m->dip_int) |= (BYTE)(i << (m->sft_int)); | *(m->dip_int) |= (UINT8)(i << (m->sft_int)); | 
 | break; | break; | 
 | } | } | 
 | } | } | 
| Line 426  static void pc9861getint(HWND hWnd, cons | Line 426  static void pc9861getint(HWND hWnd, cons | 
 | static void pc9861getmode(HWND hWnd, const PC9861MODE_T *m) { | static void pc9861getmode(HWND hWnd, const PC9861MODE_T *m) { | 
 |  |  | 
 | LRESULT r; | LRESULT r; | 
| BYTE    i; | UINT8   i; | 
 |  |  | 
 | r = SendDlgItemMessage(hWnd, m->idc_mode, CB_GETCURSEL, 0, 0); | r = SendDlgItemMessage(hWnd, m->idc_mode, CB_GETCURSEL, 0, 0); | 
 | if (r != CB_ERR) { | if (r != CB_ERR) { | 
| for (i=0; i<(sizeof(pc9861d2sync)/sizeof(UINT)); i++) { | for (i=0; i<NELEMENTS(pc9861d2sync); i++) { | 
 | if (pc9861d2sync[i] == (UINT)(r & 3)) { | if (pc9861d2sync[i] == (UINT)(r & 3)) { | 
 | *(m->dip_mode) &= (~3); | *(m->dip_mode) &= (~3); | 
 | *(m->dip_mode) |= i; | *(m->dip_mode) |= i; | 
| Line 442  static void pc9861getmode(HWND hWnd, con | Line 442  static void pc9861getmode(HWND hWnd, con | 
 |  |  | 
 | static void pc9861setmode(HWND hWnd, const PC9861MODE_T *m) { | static void pc9861setmode(HWND hWnd, const PC9861MODE_T *m) { | 
 |  |  | 
| DWORD   speed; | UINT    speed; | 
| DWORD   mode; | UINT    mode; | 
| DWORD   intnum; | UINT    intnum; | 
| BYTE    modedip; | UINT8   modedip; | 
 |  |  | 
 | modedip = *(m->dip_mode); | modedip = *(m->dip_mode); | 
 | speed = (((~modedip) >> 2) & 0x0f) + 1; | speed = (((~modedip) >> 2) & 0x0f) + 1; | 
| Line 457  static void pc9861setmode(HWND hWnd, con | Line 457  static void pc9861setmode(HWND hWnd, con | 
 | speed = 0; | speed = 0; | 
 | } | } | 
 | } | } | 
| if (speed > ((sizeof(pc9861k_speed) / sizeof(UINT32)) - 1)) { | if (speed > (NELEMENTS(pc9861k_speed) - 1)) { | 
| speed = (sizeof(pc9861k_speed) / sizeof(UINT32)) - 1; | speed = NELEMENTS(pc9861k_speed) - 1; | 
 | } | } | 
 |  |  | 
 | SendDlgItemMessage(hWnd, m->idc_speed, | SendDlgItemMessage(hWnd, m->idc_speed, | 
| Line 478  static void pc9861cmddipsw(HWND hWnd) { | Line 478  static void pc9861cmddipsw(HWND hWnd) { | 
 | RECT    rect1; | RECT    rect1; | 
 | RECT    rect2; | RECT    rect2; | 
 | POINT   p; | POINT   p; | 
| BYTE    bit; | UINT8   bit; | 
 |  |  | 
 | GetWindowRect(GetDlgItem(hWnd, IDC_PC9861DIP), &rect1); | GetWindowRect(GetDlgItem(hWnd, IDC_PC9861DIP), &rect1); | 
 | GetClientRect(GetDlgItem(hWnd, IDC_PC9861DIP), &rect2); | GetClientRect(GetDlgItem(hWnd, IDC_PC9861DIP), &rect2); | 
| Line 534  static LRESULT CALLBACK pc9861mainProc(H | Line 534  static LRESULT CALLBACK pc9861mainProc(H | 
 | WPARAM wp, LPARAM lp) { | WPARAM wp, LPARAM lp) { | 
 |  |  | 
 | HWND    sub; | HWND    sub; | 
| BYTE    r; | UINT8   r; | 
 | UINT    update; | UINT    update; | 
 |  |  | 
 | switch (msg) { | switch (msg) { |