Diff for /np2/io/cgrom.c between versions 1.8 and 1.9

version 1.8, 2004/02/07 21:23:22 version 1.9, 2004/03/28 19:50:25
Line 27  static void cgwindowset(CGROM cr) { Line 27  static void cgwindowset(CGROM cr) {
                                 cgwindow.writable |= 1;                                  cgwindow.writable |= 1;
                                 high += cr->lr;                                  high += cr->lr;
                         }                          }
                           else if ((code >= 0x08) && (code < 0x0c)) {
                                   if (cr->lr) {
                                           high = low;
                                   }
                           }
                         else if (((code >= 0x0c) && (code < 0x10)) ||                          else if (((code >= 0x0c) && (code < 0x10)) ||
                                 ((code >= 0x58) && (code < 0x60))) {                                  ((code >= 0x58) && (code < 0x60))) {
                                 high += cr->lr;                                  high += cr->lr;
                         }                          }
                         else if ((code < 0x08) || (code >= 0x10)) {                          else {
                                 low = high;                                  low = high;
                                 high += 0x800;                                  high += 0x800;
                         }                          }
Line 80  static void IOOUTCALL cgrom_oa5(UINT por Line 85  static void IOOUTCALL cgrom_oa5(UINT por
         CGROM   cr;          CGROM   cr;
   
         cr = &cgrom;          cr = &cgrom;
         cr->line = dat & 0x0f;          cr->line = dat & 0x1f;
         cr->lr = ((~dat) & 0x20) << 6;          cr->lr = ((~dat) & 0x20) << 6;
         cgwindowset(cr);          cgwindowset(cr);
         (void)port;          (void)port;
Line 94  static void IOOUTCALL cgrom_oa9(UINT por Line 99  static void IOOUTCALL cgrom_oa9(UINT por
         cr = &cgrom;          cr = &cgrom;
         if ((cr->code & 0x007e) == 0x0056) {          if ((cr->code & 0x007e) == 0x0056) {
                 fontrom[((cr->code & 0x7f7f) << 4) +                  fontrom[((cr->code & 0x7f7f) << 4) +
                                                         cr->lr + cr->line] = (UINT8)dat;                                                          cr->lr + (cr->line & 0x0f)] = (UINT8)dat;
                 cgwindow.writable |= 0x80;                  cgwindow.writable |= 0x80;
         }          }
         (void)port;          (void)port;
Line 107  const BYTE *ptr; Line 112  const BYTE *ptr;
   
         cr = &cgrom;          cr = &cgrom;
         ptr = fontrom;          ptr = fontrom;
         if (cr->code & 0xff00) {          TRACEOUT(("read code = %.4x", cr->code));
           if ((cr->code & 0x00fc) == 0x0008) {
                   if (cr->lr) {
                           ptr += (cr->code & 0x7f7f) << 4;
                           return(ptr[cr->line & 0x0f]);
                   }
           }
           else if (cr->code & 0xff00) {
                 ptr += (cr->code & 0x7f7f) << 4;                  ptr += (cr->code & 0x7f7f) << 4;
                 ptr += cr->lr;                  ptr += cr->lr;
                   return(ptr[cr->line & 0x0f]);
         }          }
         else {          else if (!(cr->line & 0x10)) {          // Ⱦ³Ñ
                 ptr += 0x80000;                  ptr += 0x80000;
                 ptr += cr->code << 4;                  ptr += cr->code << 4;
                   return(ptr[cr->line]);
         }          }
         (void)port;          (void)port;
         return(ptr[cr->line]);          return(0);
 }  }
   
   

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


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