Diff for /np2/bios/bios1c.c between versions 1.3 and 1.12

version 1.3, 2003/12/08 00:55:30 version 1.12, 2006/12/16 09:52:19
Line 2 Line 2
 #include        "parts.h"  #include        "parts.h"
 #include        "timemng.h"  #include        "timemng.h"
 #include        "cpucore.h"  #include        "cpucore.h"
 #include        "memory.h"  
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "calendar.h"  #include        "calendar.h"
Line 10 Line 9
 #include        "biosmem.h"  #include        "biosmem.h"
   
   
 void bios0x1c_03(void) {  
   
         iocore_out8(0x71, 0x00);  
         if (pc.cpumode & CPUMODE_8MHz) {  
                 iocore_out8(0x71, 0x4e);                                // 4MHz  
         }  
         else {  
                 iocore_out8(0x71, 0x60);                                // 5MHz  
         }  
         pic.pi[0].imr &= ~(PIC_SYSTEMTIMER);  
 }  
   
 void bios0x1c(void) {  void bios0x1c(void) {
   
         BYTE    buf[6];          UINT8   buf[6];
   
         switch(CPU_AH) {          switch(CPU_AH) {
                 case 0x00:                                      // get system timer                  case 0x00:                                      // get system timer
                         calendar_get(buf);                          calendar_get(buf);
                         i286_memstr_write(CPU_ES, CPU_BX, buf, 6);                          MEMR_WRITES(CPU_ES, CPU_BX, buf, 6);
                         break;                          break;
   
                 case 0x01:                                      // put system timer                  case 0x01:                                      // put system timer
                         i286_memstr_read(CPU_ES, CPU_BX, buf, 6);                          MEMR_READS(CPU_ES, CPU_BX, buf, 6);
                         mem[MEMB_MSW8] = buf[0];                                                                // ver0.29                          mem[MEMB_MSW8] = buf[0];
                         calendar_set(buf);                          calendar_set(buf);
                         break;                          break;
   
Line 43  void bios0x1c(void) { Line 30  void bios0x1c(void) {
                         SETBIOSMEM16(0x0001e, CPU_ES);                          SETBIOSMEM16(0x0001e, CPU_ES);
                         SETBIOSMEM16(0x0058a, CPU_CX);                          SETBIOSMEM16(0x0058a, CPU_CX);
                         iocore_out8(0x77, 0x36);                          iocore_out8(0x77, 0x36);
                         bios0x1c_03();                          /*FALLTHROUGH*/
                         break;  
   
                 case 0x03:                                      // continue interval timer                  case 0x03:                                      // continue interval timer
                         bios0x1c_03();                          iocore_out8(0x71, 0x00);
                           if (pccore.cpumode & CPUMODE_8MHZ) {
                                   iocore_out8(0x71, 0x4e);                                // 4MHz
                           }
                           else {
                                   iocore_out8(0x71, 0x60);                                // 5MHz
                           }
                           pic.pi[0].imr &= ~(PIC_SYSTEMTIMER);
                         break;                          break;
         }          }
 }  }

Removed from v.1.3  
changed lines
  Added in v.1.12


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