Diff for /np2/generic/keydisp.c between versions 1.1 and 1.8

version 1.1, 2003/11/21 06:51:11 version 1.8, 2004/04/09 10:52:20
Line 15  const BYTE *data; Line 15  const BYTE *data;
 } KDKEYPOS;  } KDKEYPOS;
   
 typedef struct {  typedef struct {
         BYTE    k[KEYDISP_NOTEMAX];          UINT8   k[KEYDISP_NOTEMAX];
         BYTE    r[KEYDISP_NOTEMAX];          UINT8   r[KEYDISP_NOTEMAX];
         UINT    remain;          UINT    remain;
         BYTE    flag;          UINT8   flag;
         BYTE    padding[3];          BYTE    padding[3];
 } KDCHANNEL;  } KDCHANNEL;
   
 typedef struct {  typedef struct {
         BYTE    ch;          UINT8   ch;
         BYTE    key;          UINT8   key;
 } KDDELAYE;  } KDDELAYE;
   
 typedef struct {  typedef struct {
         UINT    pos;          UINT    pos;
         UINT    rem;          UINT    rem;
         BYTE    warm;          UINT8   warm;
         BYTE    warmbase;          UINT8   warmbase;
 } KDDELAY;  } KDDELAY;
   
 typedef struct {  typedef struct {
         UINT16  fnum[4];          UINT16  fnum[4];
         BYTE    lastnote[4];          UINT8   lastnote[4];
         BYTE    flag;          UINT8   flag;
         BYTE    extflag;          UINT8   extflag;
 } KDFMCTRL;  } KDFMCTRL;
   
 typedef struct {  typedef struct {
         UINT16  fto[4];          UINT16  fto[4];
         BYTE    lastnote[4];          UINT8   lastnote[4];
         BYTE    flag;          UINT8   flag;
         BYTE    mix;          UINT8   mix;
         BYTE    padding[2];          BYTE    padding[2];
 } KDPSGCTRL;  } KDPSGCTRL;
   
Line 63  typedef struct { Line 63  typedef struct {
         KDCHANNEL       ch[KEYDISP_CHMAX];          KDCHANNEL       ch[KEYDISP_CHMAX];
         KDFMCTRL        fmctl[KEYDISP_FMMAX];          KDFMCTRL        fmctl[KEYDISP_FMMAX];
         KDPSGCTRL       psgctl[KEYDISP_PSGMAX];          KDPSGCTRL       psgctl[KEYDISP_PSGMAX];
         BYTE            pal8[KEYDISP_PALS];          UINT8           pal8[KEYDISP_PALS];
         UINT16          pal16[KEYDISP_LEVEL*2];          UINT16          pal16[KEYDISP_LEVEL*2];
         RGB32           pal32[KEYDISP_LEVEL*2];          RGB32           pal32[KEYDISP_LEVEL*2];
         KDKEYPOS        keypos[128];          KDKEYPOS        keypos[128];
Line 409  static void psgmix(BYTE ch, PSGGEN psg)  Line 409  static void psgmix(BYTE ch, PSGGEN psg) 
                         }                          }
                         else if ((!(k->mix & bit)) && (psg->reg.vol[i] & 0x1f)) {                          else if ((!(k->mix & bit)) && (psg->reg.vol[i] & 0x1f)) {
                                 k->flag |= bit;                                  k->flag |= bit;
                                 k->fto[i] = (*(WORD *)(psg->reg.tune[i])) & 0xfff;                                  k->fto[i] = LOADINTELWORD(psg->reg.tune[i]) & 0xfff;
                                 k->lastnote[i] = getpsgnote(k->fto[i]);                                  k->lastnote[i] = getpsgnote(k->fto[i]);
                                 delaysetevent(pos, (BYTE)(k->lastnote[i] | 0x80));                                  delaysetevent(pos, (BYTE)(k->lastnote[i] | 0x80));
                         }                          }
Line 540  static void setpsghdl(BYTE items) { Line 540  static void setpsghdl(BYTE items) {
         }          }
 }  }
   
 void keydisp_setfmboard(BYTE b) {  void keydisp_setfmboard(UINT b) {
   
         keydisp.keymax = 0;          keydisp.keymax = 0;
         keydisp.fmmax = 0;          keydisp.fmmax = 0;
Line 645  static int getdispkeys(void) { Line 645  static int getdispkeys(void) {
   
 static void clearrect(CMNVRAM *vram, int x, int y, int cx, int cy) {  static void clearrect(CMNVRAM *vram, int x, int y, int cx, int cy) {
   
           CMNPAL  col;
   
         switch(vram->bpp) {          switch(vram->bpp) {
 #if defined(SUPPORT_8BPP)  #if defined(SUPPORT_8BPP)
                 case 8:                  case 8:
                         cmndraw8_fill(vram, x, y, cx, cy, keydisp.pal8[KEYDISP_PALBG]);                          col.pal8 = keydisp.pal8[KEYDISP_PALBG];
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_16BPP)  #if defined(SUPPORT_16BPP)
                 case 16:                  case 16:
                         cmndraw16_fill(vram, x, y, cx, cy, keydisp.pal16[KEYDISP_LEVEL]);                          col.pal16 = keydisp.pal16[KEYDISP_LEVEL];
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_24BPP)  #if defined(SUPPORT_24BPP)
                 case 24:                  case 24:
                         cmndraw24_fill(vram, x, y, cx, cy, keydisp.pal32[KEYDISP_LEVEL]);  
                         break;  
 #endif  #endif
 #if defined(SUPPORT_32BPP)  #if defined(SUPPORT_32BPP)
                 case 32:                  case 32:
                         cmndraw32_fill(vram, x, y, cx, cy, keydisp.pal32[KEYDISP_LEVEL]);  #endif
   #if defined(SUPPORT_24BPP) || defined(SUPPORT_32BPP)
                           col.pal32 = keydisp.pal32[KEYDISP_LEVEL];
                         break;                          break;
 #endif  #endif
                   default:
                           return;
         }          }
           cmndraw_fill(vram, x, y, cx, cy, col);
 }  }
   
 static void drawkeybg(CMNVRAM *vram) {  static void drawkeybg(CMNVRAM *vram) {
   
           CMNPAL  bg;
           CMNPAL  fg;
         int             i;          int             i;
   
         switch(vram->bpp) {          switch(vram->bpp) {
 #if defined(SUPPORT_8BPP)  #if defined(SUPPORT_8BPP)
                 case 8:                  case 8:
                         for (i=0; i<10; i++) {                          bg.pal8 = keydisp.pal8[KEYDISP_PALBG];
                                 cmndraw8_setpat(vram, keybrd1, i * KEYDISP_KEYCX, 0,                          fg.pal8 = keydisp.pal8[KEYDISP_PALFG];
                                         keydisp.pal8[KEYDISP_PALBG], keydisp.pal8[KEYDISP_PALFG]);  
                         }  
                         cmndraw8_setpat(vram, keybrd2, 10 * KEYDISP_KEYCX, 0,  
                                         keydisp.pal8[KEYDISP_PALBG], keydisp.pal8[KEYDISP_PALFG]);  
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_16BPP)  #if defined(SUPPORT_16BPP)
                 case 16:                  case 16:
                         for (i=0; i<10; i++) {                          bg.pal16 = keydisp.pal16[KEYDISP_LEVEL];
                                 cmndraw16_setpat(vram, keybrd1, i * KEYDISP_KEYCX, 0,                          fg.pal16 = keydisp.pal16[0];
                                                         keydisp.pal16[KEYDISP_LEVEL], keydisp.pal16[0]);  
                         }  
                         cmndraw16_setpat(vram, keybrd2, 10 * KEYDISP_KEYCX, 0,  
                                                         keydisp.pal16[KEYDISP_LEVEL], keydisp.pal16[0]);  
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_24BPP)  #if defined(SUPPORT_24BPP)
                 case 24:                  case 24:
                         for (i=0; i<10; i++) {                          bg.pal32 = keydisp.pal32[KEYDISP_LEVEL];
                                 cmndraw24_setpat(vram, keybrd1, i * KEYDISP_KEYCX, 0,                          fg.pal32 = keydisp.pal32[0];
                                                         keydisp.pal32[KEYDISP_LEVEL], keydisp.pal32[0]);  
                         }  
                         cmndraw24_setpat(vram, keybrd2, 10 * KEYDISP_KEYCX, 0,  
                                                         keydisp.pal32[KEYDISP_LEVEL], keydisp.pal32[0]);  
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_32BPP)  #if defined(SUPPORT_32BPP)
                 case 32:                  case 32:
                         for (i=0; i<10; i++) {                          bg.pal32 = keydisp.pal32[KEYDISP_LEVEL];
                                 cmndraw32_setpat(vram, keybrd1, i * KEYDISP_KEYCX, 0,                          fg.pal32 = keydisp.pal32[0];
                                                         keydisp.pal32[KEYDISP_LEVEL], keydisp.pal32[0]);  
                         }  
                         cmndraw32_setpat(vram, keybrd2, 10 * KEYDISP_KEYCX, 0,  
                                                         keydisp.pal32[KEYDISP_LEVEL], keydisp.pal32[0]);  
                         break;                          break;
 #endif  #endif
                   default:
                           return;
         }          }
           for (i=0; i<10; i++) {
                   cmndraw_setpat(vram, keybrd1, i * KEYDISP_KEYCX, 0, bg, fg);
           }
           cmndraw_setpat(vram, keybrd2, 10 * KEYDISP_KEYCX, 0, bg, fg);
 }  }
   
 static BOOL draw1key(CMNVRAM *vram, KDCHANNEL *kdch, UINT n) {  static BOOL draw1key(CMNVRAM *vram, KDCHANNEL *kdch, UINT n) {
   
         KDKEYPOS        *pos;          KDKEYPOS        *pos;
         UINT            pal;          UINT            pal;
         BYTE            pal8;          CMNPAL          fg;
   
         pos = keydisp.keypos + (kdch->k[n] & 0x7f);          pos = keydisp.keypos + (kdch->k[n] & 0x7f);
         pal = kdch->r[n] & 0x7f;          pal = kdch->r[n] & 0x7f;
Line 729  static BOOL draw1key(CMNVRAM *vram, KDCH Line 726  static BOOL draw1key(CMNVRAM *vram, KDCH
 #if defined(SUPPORT_8BPP)  #if defined(SUPPORT_8BPP)
                 case 8:                  case 8:
                         if (pal != (KEYDISP_LEVEL - 1)) {                          if (pal != (KEYDISP_LEVEL - 1)) {
                                 pal8 = keydisp.pal8[(pos->pals)?KEYDISP_PALBG:KEYDISP_PALFG];                                  fg.pal8 = keydisp.pal8[
                                 cmndraw8_setfg(vram, pos->data, pos->posx, 0, pal8);                                                                          (pos->pals)?KEYDISP_PALBG:KEYDISP_PALFG];
                                   cmndraw_setfg(vram, pos->data, pos->posx, 0, fg);
                                 kdch->r[n] = 0;                                  kdch->r[n] = 0;
                                 return(TRUE);                                  return(TRUE);
                         }                          }
                         cmndraw8_setfg(vram, pos->data, pos->posx, 0,                          fg.pal8 = keydisp.pal8[KEYDISP_PALHIT];
                                                                                                 keydisp.pal8[KEYDISP_PALHIT]);  
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_16BPP)  #if defined(SUPPORT_16BPP)
                 case 16:                  case 16:
                         cmndraw16_setfg(vram, pos->data, pos->posx, 0,                          fg.pal16 = keydisp.pal16[pal + pos->pals];
                                                                                         keydisp.pal16[pal + pos->pals]);  
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_24BPP)  #if defined(SUPPORT_24BPP)
                 case 24:                  case 24:
                         cmndraw24_setfg(vram, pos->data, pos->posx, 0,                          fg.pal32 = keydisp.pal32[pal + pos->pals];
                                                                                         keydisp.pal32[pal + pos->pals]);  
                         break;                          break;
 #endif  #endif
 #if defined(SUPPORT_32BPP)  #if defined(SUPPORT_32BPP)
                 case 32:                  case 32:
                         cmndraw32_setfg(vram, pos->data, pos->posx, 0,                          fg.pal32 = keydisp.pal32[pal + pos->pals];
                                                                                         keydisp.pal32[pal + pos->pals]);  
                         break;                          break;
 #endif  #endif
                   default:
                           return(FALSE);
         }          }
           cmndraw_setfg(vram, pos->data, pos->posx, 0, fg);
         return(FALSE);          return(FALSE);
 }  }
   
Line 917  void keydisp_getsize(int *width, int *he Line 914  void keydisp_getsize(int *width, int *he
         if (width) {          if (width) {
                 *width = KEYDISP_WIDTH;                  *width = KEYDISP_WIDTH;
         }          }
         if (*height) {          if (height) {
                 *height = (getdispkeys() * KEYDISP_KEYCY) + 1;                  *height = (getdispkeys() * KEYDISP_KEYCY) + 1;
         }          }
         keydisp.dispflag &= ~KEYDISP_FLAGSIZING;          keydisp.dispflag &= ~KEYDISP_FLAGSIZING;
Line 957  BOOL keydisp_paint(CMNVRAM *vram, BOOL r Line 954  BOOL keydisp_paint(CMNVRAM *vram, BOOL r
 kdpnt_exit:  kdpnt_exit:
         return(draw);          return(draw);
 }  }
   
 #endif  #endif
   

Removed from v.1.1  
changed lines
  Added in v.1.8


RetroPC.NET-CVS <cvs@retropc.net>