Diff for /np2/bios/bios.c between versions 1.68 and 1.69

version 1.68, 2004/06/18 07:42:13 version 1.69, 2004/07/22 11:31:32
Line 191  static void bios_screeninit(void) { Line 191  static void bios_screeninit(void) {
         bios0x18_0a(al);          bios0x18_0a(al);
 }  }
   
   static void setbiosseed(UINT8 *ptr, UINT size, UINT seedpos) {
   
           UINT8   x;
           UINT8   y;
           UINT    i;
   
           x = 0;
           y = 0;
           for (i=0; i<size; i+=2) {
                   x += ptr[i + 0];
                   y += ptr[i + 1];
           }
           ptr[seedpos + 0] -= x;
           ptr[seedpos + 1] -= y;
   }
   
 void bios_initialize(void) {  void bios_initialize(void) {
   
Line 216  void bios_initialize(void) { Line 231  void bios_initialize(void) {
                         tmp = LOADINTELDWORD(mem + 0xf0000 + i);                          tmp = LOADINTELDWORD(mem + 0xf0000 + i);
                         if (tmp == 0x506e5024) {                          if (tmp == 0x506e5024) {
                                 TRACEOUT(("found PnP BIOS at %.5x", 0xf0000 + i));                                  TRACEOUT(("found PnP BIOS at %.5x", 0xf0000 + i));
                                 STOREINTELDWORD(mem + 0xf0000 + i, 0x32504e24);                                  mem[0xf0000 + i] = 0x6e;
                                   mem[0xf0002 + i] = 0x24;
                                   break;
                         }                          }
                 }                  }
         }          }
         else {          else {
                 CopyMemory(mem + 0x0e8000, nosyscode, sizeof(nosyscode));                  CopyMemory(mem + 0x0e8000, nosyscode, sizeof(nosyscode));
                   if ((!biosrom) && (!(pccore.model & PCMODEL_EPSON))) {
                           CopyMemory(mem + 0xe8dd8, neccheck, 0x25);
                           pos = LOADINTELWORD(itfrom + 2);
                           CopyMemory(mem + 0xf538e, itfrom + pos, 0x27);
                   }
                   setbiosseed(mem + 0x0e8000, 0x10000, 0xb1f0);
         }          }
   
 #if defined(SUPPORT_PC9821)  #if defined(SUPPORT_PC9821)
Line 257  void bios_initialize(void) { Line 280  void bios_initialize(void) {
         mem[0xffff0] = 0xea;          mem[0xffff0] = 0xea;
         STOREINTELDWORD(mem + 0xffff1, 0xfd800000);          STOREINTELDWORD(mem + 0xffff1, 0xfd800000);
   
         if ((!biosrom) && (!(pccore.model & PCMODEL_EPSON))) {  
                 CopyMemory(mem + 0xe8dd8, neccheck, 0x25);  
                 pos = LOADINTELWORD(itfrom + 2);  
                 CopyMemory(mem + 0xf538e, itfrom + pos, 0x27);  
         }  
   
         CopyMemory(mem + 0x0fd800 + 0x0e00, keytable[0], 0x300);          CopyMemory(mem + 0x0fd800 + 0x0e00, keytable[0], 0x300);
   
         CopyMemory(mem + ITF_ADRS, itfrom, sizeof(itfrom));          CopyMemory(mem + ITF_ADRS, itfrom, sizeof(itfrom));
Line 274  void bios_initialize(void) { Line 291  void bios_initialize(void) {
         else if ((pccore.model & PCMODELMASK) == PCMODEL_VM) {          else if ((pccore.model & PCMODELMASK) == PCMODEL_VM) {
                 mem[ITF_ADRS + 0x7ff1] = 0x08;                  mem[ITF_ADRS + 0x7ff1] = 0x08;
         }          }
           setbiosseed(mem + 0x0f8000, 0x08000, 0x7ffe);
 #else  #else
         fh = file_open_c("itf.rom");          fh = file_open_c("itf.rom");
         if (fh != FILEH_INVALID) {          if (fh != FILEH_INVALID) {

Removed from v.1.68  
changed lines
  Added in v.1.69


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