Diff for /np2/lio/gscreen.c between versions 1.10 and 1.14

version 1.10, 2004/02/21 20:48:52 version 1.14, 2005/02/07 14:46:12
Line 9 Line 9
   
   
 typedef struct {  typedef struct {
         BYTE    mode;          UINT8   mode;
         BYTE    sw;          UINT8   sw;
         BYTE    act;          UINT8   act;
         BYTE    disp;          UINT8   disp;
 } GSCREEN;  } GSCREEN;
   
 typedef struct {  typedef struct {
         BYTE    x1[2];          UINT8   x1[2];
         BYTE    y1[2];          UINT8   y1[2];
         BYTE    x2[2];          UINT8   x2[2];
         BYTE    y2[2];          UINT8   y2[2];
         BYTE    vdraw_bg;          UINT8   vdraw_bg;
         BYTE    vdraw_ln;          UINT8   vdraw_ln;
 } GVIEW;  } GVIEW;
   
 typedef struct {  typedef struct {
         BYTE    dummy;          UINT8   dummy;
         BYTE    bgcolor;          UINT8   bgcolor;
         BYTE    bdcolor;          UINT8   bdcolor;
         BYTE    fgcolor;          UINT8   fgcolor;
         BYTE    palmode;          UINT8   palmode;
 } GCOLOR1;  } GCOLOR1;
   
 typedef struct {  typedef struct {
         BYTE    pal;          UINT8   pal;
         BYTE    color1;          UINT8   color1;
         BYTE    color2;          UINT8   color2;
 } GCOLOR2;  } GCOLOR2;
   
   
Line 66  REG8 lio_ginit(GLIO lio) { Line 66  REG8 lio_ginit(GLIO lio) {
         STOREINTELWORD(lio->work.viewx2, 639);          STOREINTELWORD(lio->work.viewx2, 639);
         STOREINTELWORD(lio->work.viewy2, 399);          STOREINTELWORD(lio->work.viewy2, 399);
         lio->palmode = 0;          lio->palmode = 0;
         i286_memstr_write(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));          MEML_WRITESTR(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));
         i286_membyte_write(CPU_DS, 0x0a08, lio->palmode);          MEML_WRITE8(CPU_DS, 0x0a08, lio->palmode);
         return(LIO_SUCCESS);          return(LIO_SUCCESS);
 }  }
   
Line 93  REG8 lio_gscreen(GLIO lio) { Line 93  REG8 lio_gscreen(GLIO lio) {
         else {          else {
                 colorbit = 4;                  colorbit = 4;
         }          }
         i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));
         scrnmode = dat.mode;          scrnmode = dat.mode;
         if (scrnmode == 0xff) {          if (scrnmode == 0xff) {
                 scrnmode = lio->work.scrnmode;                  scrnmode = lio->work.scrnmode;
Line 181  REG8 lio_gscreen(GLIO lio) { Line 181  REG8 lio_gscreen(GLIO lio) {
         }          }
   
         lio->work.scrnmode = scrnmode;          lio->work.scrnmode = scrnmode;
           pos = lio->work.pos;
         switch(scrnmode) {          switch(scrnmode) {
                 case 0:                  case 0:
                         mode = (pos)?0x40:0x80;                          mode = (pos)?0x40:0x80;
Line 200  REG8 lio_gscreen(GLIO lio) { Line 201  REG8 lio_gscreen(GLIO lio) {
                         break;                          break;
         }          }
         mode |= disp << 4;          mode |= disp << 4;
         TRACEOUT(("bios1842 - %.2x", mode));  
         bios0x18_42(mode);          bios0x18_42(mode);
         iocore_out8(0x00a6, lio->work.access);          iocore_out8(0x00a6, lio->work.access);
         i286_memstr_write(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));          MEML_WRITESTR(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));
         return(LIO_SUCCESS);          return(LIO_SUCCESS);
   
 gscreen_err5:  gscreen_err5:
Line 223  REG8 lio_gview(GLIO lio) { Line 223  REG8 lio_gview(GLIO lio) {
         int             x2;          int             x2;
         int             y2;          int             y2;
   
         i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));
         x1 = (SINT16)LOADINTELWORD(dat.x1);          x1 = (SINT16)LOADINTELWORD(dat.x1);
         y1 = (SINT16)LOADINTELWORD(dat.y1);          y1 = (SINT16)LOADINTELWORD(dat.y1);
         x2 = (SINT16)LOADINTELWORD(dat.x2);          x2 = (SINT16)LOADINTELWORD(dat.x2);
Line 235  REG8 lio_gview(GLIO lio) { Line 235  REG8 lio_gview(GLIO lio) {
         STOREINTELWORD(lio->work.viewy1, (UINT16)y1);          STOREINTELWORD(lio->work.viewy1, (UINT16)y1);
         STOREINTELWORD(lio->work.viewx2, (UINT16)x2);          STOREINTELWORD(lio->work.viewx2, (UINT16)x2);
         STOREINTELWORD(lio->work.viewy2, (UINT16)y2);          STOREINTELWORD(lio->work.viewy2, (UINT16)y2);
         i286_memstr_write(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));          MEML_WRITESTR(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));
         return(LIO_SUCCESS);          return(LIO_SUCCESS);
 }  }
   
Line 246  REG8 lio_gcolor1(GLIO lio) { Line 246  REG8 lio_gcolor1(GLIO lio) {
   
         GCOLOR1 dat;          GCOLOR1 dat;
   
         i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));
         if (dat.bgcolor != 0xff) {          if (dat.bgcolor != 0xff) {
                 lio->work.bgcolor = dat.bgcolor;                  lio->work.bgcolor = dat.bgcolor;
         }          }
Line 270  REG8 lio_gcolor1(GLIO lio) { Line 270  REG8 lio_gcolor1(GLIO lio) {
                 }                  }
                 lio->palmode = dat.palmode;                  lio->palmode = dat.palmode;
         }          }
         i286_memstr_write(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));          MEML_WRITESTR(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));
         i286_membyte_write(CPU_DS, 0x0a08, lio->palmode);          MEML_WRITE8(CPU_DS, 0x0a08, lio->palmode);
         return(LIO_SUCCESS);          return(LIO_SUCCESS);
   
 gcolor1_err5:  gcolor1_err5:
Line 285  REG8 lio_gcolor2(GLIO lio) { Line 285  REG8 lio_gcolor2(GLIO lio) {
   
         GCOLOR2 dat;          GCOLOR2 dat;
   
         i286_memstr_read(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));
         if (dat.pal >= ((lio->palmode == 2)?16:8)) {          if (dat.pal >= ((lio->palmode == 2)?16:8)) {
                 goto gcolor2_err5;                  goto gcolor2_err5;
         }          }
Line 302  REG8 lio_gcolor2(GLIO lio) { Line 302  REG8 lio_gcolor2(GLIO lio) {
                 gdc_setanalogpal(dat.pal, offsetof(RGB32, p.g),                  gdc_setanalogpal(dat.pal, offsetof(RGB32, p.g),
                                                                                                 (UINT8)(dat.color2 & 0x0f));                                                                                                  (UINT8)(dat.color2 & 0x0f));
         }          }
         i286_memstr_write(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));          MEML_WRITESTR(CPU_DS, 0x0620, &lio->work, sizeof(lio->work));
         return(LIO_SUCCESS);          return(LIO_SUCCESS);
   
 gcolor2_err5:  gcolor2_err5:

Removed from v.1.10  
changed lines
  Added in v.1.14


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