Diff for /np2/io/pic.c between versions 1.6 and 1.7

version 1.6, 2003/11/30 11:20:55 version 1.7, 2003/11/30 12:32:04
Line 112  void pic_irq(void) { Line 112  void pic_irq(void) {
   
         int             i;          int             i;
         BYTE    bit;          BYTE    bit;
         char    pry;          SINT8   pry;
         BYTE    irq;          BYTE    irq;
         BYTE    sirq;          BYTE    sirq;
         BYTE    targetbit;          BYTE    targetbit;
Line 130  void pic_irq(void) { Line 130  void pic_irq(void) {
                         pry = -1;                          pry = -1;
                 }                  }
                 else {                  else {
                         pry = (char)p->pi[0].pry[p->pi[0].level[p->pi[0].levels - 1]];                          pry = (SINT8)p->pi[0].pry[p->pi[0].level[p->pi[0].levels - 1]];
                 }                  }
                 irq = 0xff;                  irq = 0xff;
                 targetbit = 0;                  targetbit = 0;
                 for (bit=1, i=0; bit; bit<<=1, i++) {                  for (bit=1, i=0; bit; bit<<=1, i++) {
                         if ((p->pi[0].irr & bit) &&                          if ((p->pi[0].irr & bit) &&
                                 (!((p->pi[0].imr | p->pi[0].isr) & bit))) {                                  (!((p->pi[0].imr | p->pi[0].isr) & bit))) {
                                 if ((char)p->pi[0].pry[i] > pry) {                                  if ((SINT8)p->pi[0].pry[i] > pry) {
                                         pry = p->pi[0].pry[i];                                          pry = p->pi[0].pry[i];
                                         irq = (BYTE)i;                                          irq = (BYTE)i;
                                         targetbit = bit;                                          targetbit = bit;
Line 152  void pic_irq(void) { Line 152  void pic_irq(void) {
                         sirq = p->pi[1].icw[2] & 7;                          sirq = p->pi[1].icw[2] & 7;
                         bit = 1 << sirq;                          bit = 1 << sirq;
                         if (!((p->pi[0].imr | p->pi[0].isr) & bit)) {                          if (!((p->pi[0].imr | p->pi[0].isr) & bit)) {
                                 if ((char)p->pi[0].pry[sirq] > pry) {                                  if ((SINT8)p->pi[0].pry[sirq] > pry) {
                                         irq = sirq;                                          irq = sirq;
                                         targetbit = bit;                                          targetbit = bit;
                                 }                                  }
Line 184  void pic_irq(void) { Line 184  void pic_irq(void) {
                         pry = -1;                          pry = -1;
                 }                  }
                 else {                  else {
                         pry = (char)p->pi[1].pry[p->pi[1].level[p->pi[1].levels - 1]];                          pry = (SINT8)p->pi[1].pry[p->pi[1].level[p->pi[1].levels - 1]];
                 }                  }
                 targetbit = 0;                  targetbit = 0;
                 for (bit=1, i=0; bit; bit<<=1, i++) {                  for (bit=1, i=0; bit; bit<<=1, i++) {
                         if ((p->pi[1].irr & bit) &&                          if ((p->pi[1].irr & bit) &&
                                 (!((p->pi[1].imr | p->pi[1].isr) & bit))) {                                  (!((p->pi[1].imr | p->pi[1].isr) & bit))) {
                                 if ((char)p->pi[1].pry[i] > pry) {                                  if ((SINT8)p->pi[1].pry[i] > pry) {
                                         pry = p->pi[1].pry[i];                                          pry = p->pi[1].pry[i];
                                         irq = (BYTE)i;                                          irq = (BYTE)i;
                                         targetbit = bit;                                          targetbit = bit;

Removed from v.1.6  
changed lines
  Added in v.1.7


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