Diff for /np2/bios/bios18.c between versions 1.1.1.1 and 1.4

version 1.1.1.1, 2003/10/16 17:58:20 version 1.4, 2003/11/15 07:10:02
Line 3 Line 3
 #include        "memory.h"  #include        "memory.h"
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "font.h"  
 #include        "bios.h"  #include        "bios.h"
 #include        "biosmem.h"  #include        "biosmem.h"
   #include        "font.h"
   
   
 static  int             sti_waiting = 0;  static  int             sti_waiting = 0;
Line 223  void bios0x18(void) { Line 223  void bios0x18(void) {
                         }                          }
                         else {                          else {
                                 I286_IP--;                                  I286_IP--;
                                 nevent.remainclock = -1;                                  I286_REMCLOCK = -1;
                                 break;                                  break;
                         }                          }
                         break;                          break;
Line 437  void bios0x18(void) { Line 437  void bios0x18(void) {
                                 case 0x00:                      // 8x8                                  case 0x00:                      // 8x8
                                         i286_memword_write(I286_BX, I286_CX, 0x0101);                                          i286_memword_write(I286_BX, I286_CX, 0x0101);
                                         i286_memstr_write(I286_BX, I286_CX+2,                                          i286_memstr_write(I286_BX, I286_CX+2,
                                                                                 &font[0x82000 + (I286_DL << 3)], 8);                                                                  fontrom + 0x82000 + (I286_DL << 3), 8);
                                         break;                                          break;
   
                                 case 0x28:                      // 8x16 KANJI                                  case 0x28:                      // 8x16 KANJI
Line 446  void bios0x18(void) { Line 446  void bios0x18(void) {
                                 case 0x2b:                                  case 0x2b:
                                         i286_memword_write(I286_BX, I286_CX, 0x0102);                                          i286_memword_write(I286_BX, I286_CX, 0x0102);
                                         i286_memstr_write(I286_BX, I286_CX+2,                                          i286_memstr_write(I286_BX, I286_CX+2,
                                                 &font[((I286_DL & 0x7f) << 12)                                                                  fontrom + ((I286_DL & 0x7f) << 12)
                                                                 + ((I286_DH - 0x20) << 4)], 16);                                                                                  + ((I286_DH - 0x20) << 4), 16);
                                         break;                                          break;
   
                                 case 0x80:                      // 8x16 ANK                                  case 0x80:                      // 8x16 ANK
                                         i286_memword_write(I286_BX, I286_CX, 0x0102);                                          i286_memword_write(I286_BX, I286_CX, 0x0102);
                                         i286_memstr_write(I286_BX, I286_CX+2,                                          i286_memstr_write(I286_BX, I286_CX+2,
                                                                         &font[0x80000 + (I286_DL << 4)], 16);                                                                  fontrom + 0x80000 + (I286_DL << 4), 16);
                                         break;                                          break;
   
                                 default:                                  default:
                                         buf[0] = 0x02;                                          buf[0] = 0x02;
                                         buf[1] = 0x02;                                          buf[1] = 0x02;
                                         p = &font[((I286_DL & 0x7f) << 12)                                          p = fontrom + ((I286_DL & 0x7f) << 12)
                                                                 + (((I286_DH - 0x20) & 0x7f) << 4)];                                                                  + (((I286_DH - 0x20) & 0x7f) << 4);
                                         for (i=1; i<17; i++, p++) {                                          for (i=1; i<17; i++, p++) {
                                                 buf[i*2+0] = *p;                                                  buf[i*2+0] = *p;
                                                 buf[i*2+1] = *(p+0x800);                                                  buf[i*2+1] = *(p+0x800);
Line 491  void bios0x18(void) { Line 491  void bios0x18(void) {
                 case 0x1a:                                              // ユーザー文字の定義                  case 0x1a:                                              // ユーザー文字の定義
                         if ((I286_DH & 0x7e) == 0x76) {                          if ((I286_DH & 0x7e) == 0x76) {
                                 i286_memstr_read(I286_BX, I286_CX+2, buf, 32);                                  i286_memstr_read(I286_BX, I286_CX+2, buf, 32);
                                 p = &font[((I286_DL & 0x7f) << 12)                                  p = fontrom + ((I286_DL & 0x7f) << 12)
                                                                 + (((I286_DH - 0x20) & 0x7f) << 4)];                                                          + (((I286_DH - 0x20) & 0x7f) << 4);
                                 for (i=0; i<16; i++, p++) {                                  for (i=0; i<16; i++, p++) {
                                         *p = buf[i*2+0];                                          *p = buf[i*2+0];
                                         *(p+0x800) = buf[i*2+1];                                          *(p+0x800) = buf[i*2+1];

Removed from v.1.1.1.1  
changed lines
  Added in v.1.4


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