Diff for /np2/lio/gput1.c between versions 1.15 and 1.17

version 1.15, 2004/06/04 16:54:57 version 1.17, 2005/05/20 13:59:47
Line 8 Line 8
   
   
 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    off[2];          UINT8   off[2];
         BYTE    seg[2];          UINT8   seg[2];
         BYTE    leng[2];          UINT8   leng[2];
 } GGET;  } GGET;
   
 typedef struct {  typedef struct {
         BYTE    x[2];          UINT8   x[2];
         BYTE    y[2];          UINT8   y[2];
         BYTE    off[2];          UINT8   off[2];
         BYTE    seg[2];          UINT8   seg[2];
         BYTE    leng[2];          UINT8   leng[2];
         BYTE    mode;          UINT8   mode;
         BYTE    colorsw;          UINT8   colorsw;
         BYTE    fg;          UINT8   fg;
         BYTE    bg;          UINT8   bg;
 } GPUT1;  } GPUT1;
   
 typedef struct {  typedef struct {
         BYTE    x[2];          UINT8   x[2];
         BYTE    y[2];          UINT8   y[2];
         BYTE    chr[2];          UINT8   chr[2];
         BYTE    mode;          UINT8   mode;
         BYTE    colorsw;          UINT8   colorsw;
         BYTE    fg;          UINT8   fg;
         BYTE    bg;          UINT8   bg;
 } GPUT2;  } GPUT2;
   
 typedef struct {  typedef struct {
Line 53  typedef struct { Line 53  typedef struct {
 } LIOPUT;  } LIOPUT;
   
 typedef struct {  typedef struct {
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
         UINT    sft;          UINT    sft;
         UINT    width;          UINT    width;
Line 61  typedef struct { Line 61  typedef struct {
 } GETCNTX;  } GETCNTX;
   
 typedef struct {  typedef struct {
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
         UINT    sft;          UINT    sft;
         UINT    width;          UINT    width;
Line 69  typedef struct { Line 69  typedef struct {
         UINT8   maskr;          UINT8   maskr;
         UINT8   masklr;          UINT8   masklr;
         UINT8   mask;          UINT8   mask;
         BYTE    pat[84];          UINT8   pat[84];
 } PUTCNTX;  } PUTCNTX;
   
   
 static void getvram(const GETCNTX *gt, BYTE *dst) {  static void getvram(const GETCNTX *gt, UINT8 *dst) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
Line 116  static void setdirty(UINT addr, UINT wid Line 116  static void setdirty(UINT addr, UINT wid
   
 static void putor(const PUTCNTX *pt) {  static void putor(const PUTCNTX *pt) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
 const BYTE      *src;  const UINT8     *src;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
   
Line 150  const BYTE *src; Line 150  const BYTE *src;
   
 static void putorn(const PUTCNTX *pt) {  static void putorn(const PUTCNTX *pt) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
 const BYTE      *src;  const UINT8     *src;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
   
Line 184  const BYTE *src; Line 184  const BYTE *src;
   
 static void putand(const PUTCNTX *pt) {  static void putand(const PUTCNTX *pt) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
 const BYTE      *src;  const UINT8     *src;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
   
Line 218  const BYTE *src; Line 218  const BYTE *src;
   
 static void putandn(const PUTCNTX *pt) {  static void putandn(const PUTCNTX *pt) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
 const BYTE      *src;  const UINT8     *src;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
   
Line 252  const BYTE *src; Line 252  const BYTE *src;
   
 static void putxor(const PUTCNTX *pt) {  static void putxor(const PUTCNTX *pt) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
 const BYTE      *src;  const UINT8     *src;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
   
Line 286  const BYTE *src; Line 286  const BYTE *src;
   
 static void putxorn(const PUTCNTX *pt) {  static void putxorn(const PUTCNTX *pt) {
   
         BYTE    *baseptr;          UINT8   *baseptr;
         UINT    addr;          UINT    addr;
 const BYTE      *src;  const UINT8     *src;
         UINT    width;          UINT    width;
         UINT    dat;          UINT    dat;
   
Line 371  static REG8 putsub(GLIO lio, const LIOPU Line 371  static REG8 putsub(GLIO lio, const LIOPU
                         flag >>= 1;                          flag >>= 1;
                         if (flag & 8) {                          if (flag & 8) {
                                 pt.baseptr = mem + lio->draw.base + lioplaneadrs[pl];                                  pt.baseptr = mem + lio->draw.base + lioplaneadrs[pl];
                                 MEML_READSTR(lput->seg, off, pt.pat, datacnt);                                  MEMR_READS(lput->seg, off, pt.pat, datacnt);
                                 if (lput->sw) {                                  if (lput->sw) {
                                         off += datacnt;                                          off += datacnt;
                                 }                                  }
Line 469  REG8 lio_gget(GLIO lio) { Line 469  REG8 lio_gget(GLIO lio) {
         UINT    datacnt;          UINT    datacnt;
         UINT    mask;          UINT    mask;
         GETCNTX gt;          GETCNTX gt;
         BYTE    pat[84];          UINT8   pat[84];
         UINT    pl;          UINT    pl;
   
         lio_updatedraw(lio);          lio_updatedraw(lio);
         MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEMR_READS(CPU_DS, CPU_BX, &dat, sizeof(dat));
         x = (SINT16)LOADINTELWORD(dat.x1);          x = (SINT16)LOADINTELWORD(dat.x1);
         y = (SINT16)LOADINTELWORD(dat.y1);          y = (SINT16)LOADINTELWORD(dat.y1);
         x2 = (SINT16)LOADINTELWORD(dat.x2);          x2 = (SINT16)LOADINTELWORD(dat.x2);
Line 509  REG8 lio_gget(GLIO lio) { Line 509  REG8 lio_gget(GLIO lio) {
         if (leng < (size + 4)) {          if (leng < (size + 4)) {
                 return(LIO_ILLEGALFUNC);                  return(LIO_ILLEGALFUNC);
         }          }
         MEML_WRITE16(seg, off, (REG16)x2);          MEMR_WRITE16(seg, off, (REG16)x2);
         MEML_WRITE16(seg, off+2, (REG16)y2);          MEMR_WRITE16(seg, off+2, (REG16)y2);
         off += 4;          off += 4;
         gt.addr = (x >> 3) + (y * 80);          gt.addr = (x >> 3) + (y * 80);
         if (lio->draw.flag & LIODRAW_UPPER) {          if (lio->draw.flag & LIODRAW_UPPER) {
Line 526  REG8 lio_gget(GLIO lio) { Line 526  REG8 lio_gget(GLIO lio) {
                         if (mask & 8) {                          if (mask & 8) {
                                 gt.baseptr = mem + lio->draw.base + lioplaneadrs[pl];                                  gt.baseptr = mem + lio->draw.base + lioplaneadrs[pl];
                                 getvram(&gt, pat);                                  getvram(&gt, pat);
                                 MEML_WRITESTR(seg, off, pat, datacnt);                                  MEMR_WRITES(seg, off, pat, datacnt);
                                 off += datacnt;                                  off += datacnt;
                         }                          }
                 }                  }
Line 547  REG8 lio_gput1(GLIO lio) { Line 547  REG8 lio_gput1(GLIO lio) {
         UINT    size;          UINT    size;
   
         lio_updatedraw(lio);          lio_updatedraw(lio);
         MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEMR_READS(CPU_DS, CPU_BX, &dat, sizeof(dat));
         lput.x = (SINT16)LOADINTELWORD(dat.x);          lput.x = (SINT16)LOADINTELWORD(dat.x);
         lput.y = (SINT16)LOADINTELWORD(dat.y);          lput.y = (SINT16)LOADINTELWORD(dat.y);
         lput.off = (UINT16)(LOADINTELWORD(dat.off) + 4);          lput.off = (UINT16)(LOADINTELWORD(dat.off) + 4);
         lput.seg = LOADINTELWORD(dat.seg);          lput.seg = LOADINTELWORD(dat.seg);
         lput.mode = dat.mode;          lput.mode = dat.mode;
         leng = LOADINTELWORD(dat.leng);          leng = LOADINTELWORD(dat.leng);
         lput.width = MEML_READ16(lput.seg, lput.off - 4);          lput.width = MEMR_READ16(lput.seg, lput.off - 4);
         lput.height = MEML_READ16(lput.seg, lput.off - 2);          lput.height = MEMR_READ16(lput.seg, lput.off - 2);
         size = ((lput.width + 7) >> 3) * lput.height;          size = ((lput.width + 7) >> 3) * lput.height;
         if (leng < (size + 4)) {          if (leng < (size + 4)) {
                 return(LIO_ILLEGALFUNC);                  return(LIO_ILLEGALFUNC);
Line 598  REG8 lio_gput2(GLIO lio) { Line 598  REG8 lio_gput2(GLIO lio) {
         REG16   size;          REG16   size;
   
         lio_updatedraw(lio);          lio_updatedraw(lio);
         MEML_READSTR(CPU_DS, CPU_BX, &dat, sizeof(dat));          MEMR_READS(CPU_DS, CPU_BX, &dat, sizeof(dat));
         lput.x = (SINT16)LOADINTELWORD(dat.x);          lput.x = (SINT16)LOADINTELWORD(dat.x);
         lput.y = (SINT16)LOADINTELWORD(dat.y);          lput.y = (SINT16)LOADINTELWORD(dat.y);
         lput.off = 0x104e;          lput.off = 0x104e;
Line 633  REG8 lio_gput2(GLIO lio) { Line 633  REG8 lio_gput2(GLIO lio) {
                 size = bios0x18_14(lput.seg, 0x104c, jis);                  size = bios0x18_14(lput.seg, 0x104c, jis);
         }          }
         else {          else {
                 MEML_WRITESTR(lput.seg, lput.off, mem + (LIO_SEGMENT << 4) +                  MEMR_WRITES(lput.seg, lput.off, mem + (LIO_SEGMENT << 4) +
                                                                                 LIO_FONT + ((pat - 1) << 4), 0x10);                                                                                  LIO_FONT + ((pat - 1) << 4), 0x10);
                 size = 0x0102;                  size = 0x0102;
         }          }

Removed from v.1.15  
changed lines
  Added in v.1.17


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