Diff for /np2/bios/bios18.c between versions 1.18 and 1.20

version 1.18, 2004/02/16 05:09:00 version 1.20, 2004/02/20 08:32:23
Line 149  void bios0x18_16(REG8 chr, REG8 atr) { Line 149  void bios0x18_16(REG8 chr, REG8 atr) {
 #define SWAPU16(a, b) { UINT16 tmp; tmp = (a); (a) = (b); (b) = tmp; }  #define SWAPU16(a, b) { UINT16 tmp; tmp = (a); (a) = (b); (b) = tmp; }
   
   
 static void setbiosgdc(UINT32 csrw, const GDCVECT *vect, UINT vcnt,  static void setbiosgdc(UINT32 csrw, const GDCVECT *vect, UINT8 ope) {
                                                                                                                                 UINT8 ope) {  
   
         gdc.s.para[GDC_CSRW + 0] = (BYTE)csrw;          gdc.s.para[GDC_CSRW + 0] = (BYTE)csrw;
         gdc.s.para[GDC_CSRW + 1] = (BYTE)(csrw >> 8);          gdc.s.para[GDC_CSRW + 1] = (BYTE)(csrw >> 8);
         gdc.s.para[GDC_CSRW + 2] = (BYTE)(csrw >> 16);          gdc.s.para[GDC_CSRW + 2] = (BYTE)(csrw >> 16);
   
         vcnt = min(vcnt, 11);          gdc.s.para[GDC_VECTW] = vect->ope;
         if (vcnt) {          gdc_vectreset(&gdc.s);
                 CopyMemory(gdc.s.para + GDC_VECTW, vect, vcnt);  
         }  
   
         gdc.s.para[GDC_WRITE] = ope;          gdc.s.para[GDC_WRITE] = ope;
         mem[MEMB_PRXDUPD] &= ~3;          mem[MEMB_PRXDUPD] &= ~3;
Line 318  static void bios18_47(void) { Line 315  static void bios18_47(void) {
         // 最後に使った奴を記憶          // 最後に使った奴を記憶
         *(UINT16 *)(mem + MEMW_PRXGLS) = *(UINT16 *)(ucw.GBMDOTI);          *(UINT16 *)(mem + MEMW_PRXGLS) = *(UINT16 *)(ucw.GBMDOTI);
         *(UINT16 *)(gdc.s.para + GDC_TEXTW) = *(UINT16 *)(ucw.GBMDOTI);          *(UINT16 *)(gdc.s.para + GDC_TEXTW) = *(UINT16 *)(ucw.GBMDOTI);
         setbiosgdc(csrw, &vect, (ucw.GBDTYP != 0x01)?11:9, ope);          setbiosgdc(csrw, &vect, ope);
 }  }
   
 static void bios18_49(void) {  static void bios18_49(void) {
Line 354  static void bios18_49(void) { Line 351  static void bios18_49(void) {
         }          }
         else {          else {
                 STOREINTELWORD(vect.DC, 7);                  STOREINTELWORD(vect.DC, 7);
                 vect.D[0] = gdc.s.para[GDC_VECTW + 3];                  STOREINTELWORD(vect.D, 7);
                 vect.D[1] = gdc.s.para[GDC_VECTW + 4];  
         }          }
   
         GBSX1 = LOADINTELWORD(ucw.GBSX1);          GBSX1 = LOADINTELWORD(ucw.GBSX1);
Line 381  static void bios18_49(void) { Line 377  static void bios18_49(void) {
         }          }
   
         // 最後に使った奴を記憶          // 最後に使った奴を記憶
         setbiosgdc(csrw, &vect, 5, ope);          setbiosgdc(csrw, &vect, ope);
 }  }
   
   
Line 768  void bios0x18(void) { Line 764  void bios0x18(void) {
 //                      }  //                      }
                         break;                          break;
   
                   case 0x45:
                   case 0x46:
                           TRACEOUT(("unsupport bios 18-%.2x", CPU_AH));
                           break;
   
                 case 0x47:                                              // 直線、矩形の描画                  case 0x47:                                              // 直線、矩形の描画
                 case 0x48:                                              // 円の描画                  case 0x48:                                              // 円の描画
                         bios18_47();                          bios18_47();

Removed from v.1.18  
changed lines
  Added in v.1.20


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