Diff for /xmil/io/cgrom.c between versions 1.1 and 1.2

version 1.1, 2004/08/01 05:31:30 version 1.2, 2004/08/05 04:53:15
Line 6 Line 6
   
 void IOOUTCALL cgrom_o(UINT port, REG8 value) {  void IOOUTCALL cgrom_o(UINT port, REG8 value) {
   
         switch(port & 0x0f) {          switch(port) {
                 case 0:                         // 0x0e80                  case 0x0e80:
                         cgrom.reg[0] = value;                          cgrom.reg[0] = value;
                         break;                          break;
   
                 case 1:                         // 0x0e81                  case 0x0e81:
                         cgrom.reg[1] = value;                          cgrom.reg[1] = value;
                         break;                          break;
   
                 case 2:                         // 0x0e82                  case 0x0e82:
                         cgrom.face = (LOADINTELWORD(cgrom.reg) & (~15));                          cgrom.face = (LOADINTELWORD(cgrom.reg) & (~15));
                         break;                          break;
         }          }
Line 25  REG8 IOINPCALL cgrom_i(UINT port) { Line 25  REG8 IOINPCALL cgrom_i(UINT port) {
   
         REG8    ret;          REG8    ret;
   
           if ((port & (~1)) != 0x0e80) {
                   return(0xff);
           }
         ret = 0;          ret = 0;
         port &= 0x000f;  
         if (cgrom.reg[1]) {          if (cgrom.reg[1]) {
                 switch(port) {                  if (!(port & 1)) {              // 0x0e80
                         case 0:                 // 0x0e80                          ret = font_knjx1[cgrom.face + cgrom.count];
                                 ret = font_knjx1[cgrom.face + cgrom.count];                          cgrom.flag |= 1;
                                 cgrom.flag |= 1;                  }
                                 break;                  else {                                  // 0x0e81
                           ret = font_knjx1[cgrom.face + cgrom.count + FONTX1_LR];
                         case 1:                 // 0x0e81                          cgrom.flag |= 2;
                                 ret = font_knjx1[cgrom.face + cgrom.count + FONTX1_LR];  
                                 cgrom.flag |= 2;  
                                 break;  
                 }                  }
                 if (cgrom.flag == 3) {                  if (cgrom.flag == 3) {
                         cgrom.flag = 0;                          cgrom.flag = 0;
Line 45  REG8 IOINPCALL cgrom_i(UINT port) { Line 44  REG8 IOINPCALL cgrom_i(UINT port) {
                 }                  }
         }          }
         else {          else {
                 if (port == 0) {                        // 0x0e80                  if (!(port & 1)) {              // 0x0e80
                         if (cgrom.reg[0] >= 0x30) {                          if (cgrom.reg[0] >= 0x30) {
                                 ret = 0x40 + ((cgrom.reg[0] - 0x30) * 6);                                  ret = 0x40 + ((cgrom.reg[0] - 0x30) * 6);
                         }                          }

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


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