Diff for /np2/generic/hostdrv.c between versions 1.16 and 1.18

version 1.16, 2005/02/14 06:25:31 version 1.18, 2005/05/20 13:59:46
Line 66  static void fetch_if4dos(void) { Line 66  static void fetch_if4dos(void) {
         REG16   seg;          REG16   seg;
         IF4DOS  if4dos;          IF4DOS  if4dos;
   
         off = i286_memoryread_w(IF4DOSPTR_ADDR);          off = MEMR_READ16(IF4DOSPTR_SEG, IF4DOSPTR_OFF + 0);
         seg = i286_memoryread_w(IF4DOSPTR_ADDR + 2);          seg = MEMR_READ16(IF4DOSPTR_SEG, IF4DOSPTR_OFF + 2);
         MEML_READSTR(seg, off, &if4dos, sizeof(if4dos));          MEMR_READS(seg, off, &if4dos, sizeof(if4dos));
         hostdrv.stat.drive_no = if4dos.drive_no;          hostdrv.stat.drive_no = if4dos.drive_no;
         hostdrv.stat.dosver_major = if4dos.dosver_major;          hostdrv.stat.dosver_major = if4dos.dosver_major;
         hostdrv.stat.dosver_minor = if4dos.dosver_minor;          hostdrv.stat.dosver_minor = if4dos.dosver_minor;
Line 83  static void fetch_if4dos(void) { Line 83  static void fetch_if4dos(void) {
   
 static void fetch_intr_regs(INTRST is) {  static void fetch_intr_regs(INTRST is) {
   
         MEML_READSTR(CPU_SS, CPU_BP, &is->r, sizeof(is->r));          MEMR_READS(CPU_SS, CPU_BP, &is->r, sizeof(is->r));
 }  }
   
 static void store_intr_regs(INTRST is) {  static void store_intr_regs(INTRST is) {
   
         MEML_WRITESTR(CPU_SS, CPU_BP, &is->r, sizeof(is->r));          MEMR_WRITES(CPU_SS, CPU_BP, &is->r, sizeof(is->r));
 }  }
   
   
Line 98  static void fetch_sda_currcds(SDACDS sc) Line 98  static void fetch_sda_currcds(SDACDS sc)
         REG16   seg;          REG16   seg;
   
         if (hostdrv.stat.dosver_major == 3) {          if (hostdrv.stat.dosver_major == 3) {
                 MEML_READSTR(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,                  MEMR_READS(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,
                                                                                 &sc->ver3.sda, sizeof(sc->ver3.sda));                                                                                  &sc->ver3.sda, sizeof(sc->ver3.sda));
                 off = LOADINTELWORD(sc->ver3.sda.cdsptr.off);                  off = LOADINTELWORD(sc->ver3.sda.cdsptr.off);
                 seg = LOADINTELWORD(sc->ver3.sda.cdsptr.seg);                  seg = LOADINTELWORD(sc->ver3.sda.cdsptr.seg);
                 MEML_READSTR(seg, off, &sc->ver3.cds, sizeof(sc->ver3.cds));                  MEMR_READS(seg, off, &sc->ver3.cds, sizeof(sc->ver3.cds));
         }          }
         else {          else {
                 MEML_READSTR(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,                  MEMR_READS(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,
                                                                                 &sc->ver4.sda, sizeof(sc->ver4.sda));                                                                                  &sc->ver4.sda, sizeof(sc->ver4.sda));
                 off = LOADINTELWORD(sc->ver4.sda.cdsptr.off);                  off = LOADINTELWORD(sc->ver4.sda.cdsptr.off);
                 seg = LOADINTELWORD(sc->ver4.sda.cdsptr.seg);                  seg = LOADINTELWORD(sc->ver4.sda.cdsptr.seg);
                 MEML_READSTR(seg, off, &sc->ver4.cds, sizeof(sc->ver4.cds));                  MEMR_READS(seg, off, &sc->ver4.cds, sizeof(sc->ver4.cds));
         }          }
 }  }
   
Line 119  static void store_sda_currcds(SDACDS sc) Line 119  static void store_sda_currcds(SDACDS sc)
         REG16   seg;          REG16   seg;
   
         if (hostdrv.stat.dosver_major == 3) {          if (hostdrv.stat.dosver_major == 3) {
                 MEML_WRITESTR(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,                  MEMR_WRITES(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,
                                                                                 &sc->ver3.sda, sizeof(sc->ver3.sda));                                                                                  &sc->ver3.sda, sizeof(sc->ver3.sda));
                 off = LOADINTELWORD(sc->ver3.sda.cdsptr.off);                  off = LOADINTELWORD(sc->ver3.sda.cdsptr.off);
                 seg = LOADINTELWORD(sc->ver3.sda.cdsptr.seg);                  seg = LOADINTELWORD(sc->ver3.sda.cdsptr.seg);
                 MEML_WRITESTR(seg, off, &sc->ver3.cds, sizeof(sc->ver3.cds));                  MEMR_WRITES(seg, off, &sc->ver3.cds, sizeof(sc->ver3.cds));
         }          }
         else {          else {
                 MEML_WRITESTR(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,                  MEMR_WRITES(hostdrv.stat.sda_seg, hostdrv.stat.sda_off,
                                                                                 &sc->ver4.sda, sizeof(sc->ver4.sda));                                                                                  &sc->ver4.sda, sizeof(sc->ver4.sda));
                 off = LOADINTELWORD(sc->ver4.sda.cdsptr.off);                  off = LOADINTELWORD(sc->ver4.sda.cdsptr.off);
                 seg = LOADINTELWORD(sc->ver4.sda.cdsptr.seg);                  seg = LOADINTELWORD(sc->ver4.sda.cdsptr.seg);
                 MEML_WRITESTR(seg, off, &sc->ver4.cds, sizeof(sc->ver4.cds));                  MEMR_WRITES(seg, off, &sc->ver4.cds, sizeof(sc->ver4.cds));
         }          }
 }  }
   
Line 142  static void fetch_sft(INTRST is, SFTREC  Line 142  static void fetch_sft(INTRST is, SFTREC 
   
         off = LOADINTELWORD(is->r.w.di);          off = LOADINTELWORD(is->r.w.di);
         seg = LOADINTELWORD(is->r.w.es);          seg = LOADINTELWORD(is->r.w.es);
         MEML_READSTR(seg, off, sft, sizeof(_SFTREC));          MEMR_READS(seg, off, sft, sizeof(_SFTREC));
 }  }
   
 static void store_sft(INTRST is, SFTREC sft) {  static void store_sft(INTRST is, SFTREC sft) {
Line 152  static void store_sft(INTRST is, SFTREC  Line 152  static void store_sft(INTRST is, SFTREC 
   
         off = LOADINTELWORD(is->r.w.di);          off = LOADINTELWORD(is->r.w.di);
         seg = LOADINTELWORD(is->r.w.es);          seg = LOADINTELWORD(is->r.w.es);
         MEML_WRITESTR(seg, off, sft, sizeof(_SFTREC));          MEMR_WRITES(seg, off, sft, sizeof(_SFTREC));
 }  }
   
   
Line 359  static BOOL read_data(UINT num, UINT32 p Line 359  static BOOL read_data(UINT num, UINT32 p
                 if (file_read(fh, work, r) != r) {                  if (file_read(fh, work, r) != r) {
                         return(FAILURE);                          return(FAILURE);
                 }                  }
                 MEML_WRITESTR(seg, off, work, r);                  MEMR_WRITES(seg, off, work, r);
                 off += r;                  off += r;
                 size -= r;                  size -= r;
         }          }
Line 387  static BOOL write_data(UINT num, UINT32  Line 387  static BOOL write_data(UINT num, UINT32 
         else {          else {
                 do {                  do {
                         r = min(size, sizeof(work));                          r = min(size, sizeof(work));
                         MEML_READSTR(seg, off, work, r);                          MEMR_READS(seg, off, work, r);
                         if (file_write(fh, work, r) != r) {                          if (file_write(fh, work, r) != r) {
                                 return(FAILURE);                                  return(FAILURE);
                         }                          }
Line 697  static void set_fileattr(INTRST intrst)  Line 697  static void set_fileattr(INTRST intrst) 
                 fail(intrst, ERR_ACCESSDENIED);                  fail(intrst, ERR_ACCESSDENIED);
                 return;                  return;
         }          }
         attr = MEML_READ16(CPU_SS, CPU_BP + sizeof(IF4INTR)) & 0x37;          attr = MEMR_READ16(CPU_SS, CPU_BP + sizeof(IF4INTR)) & 0x37;
   
         // 成功したことにする...          // 成功したことにする...
         succeed(intrst);          succeed(intrst);
Line 970  static void do_redir(INTRST intrst) { Line 970  static void do_redir(INTRST intrst) {
         if (pathishostdrv(intrst, &sc) != SUCCESS) {          if (pathishostdrv(intrst, &sc) != SUCCESS) {
                 return;                  return;
         }          }
         mode = MEML_READ16(CPU_SS, CPU_BP + sizeof(IF4INTR));          mode = MEMR_READ16(CPU_SS, CPU_BP + sizeof(IF4INTR));
         TRACEOUT(("do_redir: %.4x", mode));          TRACEOUT(("do_redir: %.4x", mode));
         switch(mode) {          switch(mode) {
                 case 0x5f02:                  case 0x5f02:
Line 979  static void do_redir(INTRST intrst) { Line 979  static void do_redir(INTRST intrst) {
                                 fail(intrst, 0x12);                                  fail(intrst, 0x12);
                                 return;                                  return;
                         }                          }
                         MEML_WRITE16(CPU_DS, CPU_BX + 2, 4);                          MEMR_WRITE16(CPU_DS, CPU_BX + 2, 4);
                         MEML_WRITE16(CPU_DS, CPU_BX + 4, 1);                          MEMR_WRITE16(CPU_DS, CPU_BX + 4, 1);
                         tmp[0] = (char)('A' + hostdrv.stat.drive_no);                          tmp[0] = (char)('A' + hostdrv.stat.drive_no);
                         tmp[1] = ':';                          tmp[1] = ':';
                         tmp[2] = '\0';                          tmp[2] = '\0';
                         MEML_WRITESTR(LOADINTELWORD(intrst->r.w.ds),                          MEMR_WRITES(LOADINTELWORD(intrst->r.w.ds),
                                                         LOADINTELWORD(intrst->r.w.si), tmp, 3);                                                          LOADINTELWORD(intrst->r.w.si), tmp, 3);
                         MEML_WRITESTR(LOADINTELWORD(intrst->r.w.es),                          MEMR_WRITES(LOADINTELWORD(intrst->r.w.es),
                                                         LOADINTELWORD(intrst->r.w.di),                                                          LOADINTELWORD(intrst->r.w.di),
                                                         ROOTPATH, ROOTPATH_SIZE + 1);                                                          ROOTPATH, ROOTPATH_SIZE + 1);
                         break;                          break;

Removed from v.1.16  
changed lines
  Added in v.1.18


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