Diff for /np2/bios/sxsibios.c between versions 1.16 and 1.18

version 1.16, 2005/02/07 14:46:07 version 1.18, 2005/05/20 13:59:46
Line 62  static REG8 sxsibios_write(UINT type, SX Line 62  static REG8 sxsibios_write(UINT type, SX
                 addr = (CPU_ES << 4) + CPU_BP;                  addr = (CPU_ES << 4) + CPU_BP;
                 while(size) {                  while(size) {
                         r = min(size, sxsi->size);                          r = min(size, sxsi->size);
                         MEML_READ(addr, work, r);                          MEML_READS(addr, work, r);
                         ret = sxsi_write(CPU_AL, pos, work, r);                          ret = sxsi_write(CPU_AL, pos, work, r);
                         if (ret >= 0x20) {                          if (ret >= 0x20) {
                                 break;                                  break;
Line 97  static REG8 sxsibios_read(UINT type, SXS Line 97  static REG8 sxsibios_read(UINT type, SXS
                         if (ret >= 0x20) {                          if (ret >= 0x20) {
                                 break;                                  break;
                         }                          }
                         MEML_WRITE(addr, work, r);                          MEML_WRITES(addr, work, r);
                         addr += r;                          addr += r;
                         size -= r;                          size -= r;
                         pos++;                          pos++;
Line 174  static REG8 sasibios_init(UINT type, SXS Line 174  static REG8 sasibios_init(UINT type, SXS
         diskequip &= 0xf0ff;          diskequip &= 0xf0ff;
         for (i=0x00, bit=0x0100; i<0x02; i++, bit<<=1) {          for (i=0x00, bit=0x0100; i<0x02; i++, bit<<=1) {
                 sxsi = sxsi_getptr(i);                  sxsi = sxsi_getptr(i);
                 if ((sxsi) && (sxsi->fname[0])) {                  if ((sxsi) && (sxsi->flag & SXSIFLAG_READY)) {
                         diskequip |= bit;                          diskequip |= bit;
                 }                  }
         }          }
Line 187  static REG8 sasibios_init(UINT type, SXS Line 187  static REG8 sasibios_init(UINT type, SXS
 static REG8 sasibios_sense(UINT type, SXSIDEV sxsi) {  static REG8 sasibios_sense(UINT type, SXSIDEV sxsi) {
   
         if (type == SXSIBIOS_SASI) {          if (type == SXSIBIOS_SASI) {
                 return((REG8)((sxsi->type >> 8) & 7));                  return((REG8)(sxsi->mediatype & 7));
         }          }
         else {          else {
                 if (CPU_AH == 0x84) {                  if (CPU_AH == 0x84) {
Line 283  static REG8 scsibios_init(UINT type, SXS Line 283  static REG8 scsibios_init(UINT type, SXS
         ZeroMemory(&mem[0x00460], 0x20);          ZeroMemory(&mem[0x00460], 0x20);
         for (i=0, bit=1; i<4; i++, bit<<=1) {          for (i=0, bit=1; i<4; i++, bit<<=1) {
                 sxsi = sxsi_getptr((REG8)(0x20 + i));                  sxsi = sxsi_getptr((REG8)(0x20 + i));
                 if ((sxsi) && (sxsi->fname[0])) {                  if ((sxsi) && (sxsi->flag & SXSIFLAG_READY)) {
                         mem[MEMB_DISK_EQUIPS] |= bit;                          mem[MEMB_DISK_EQUIPS] |= bit;
                         scsibios_set(i, sxsi->sectors, sxsi->surfaces,                          scsibios_set(i, sxsi->sectors, sxsi->surfaces,
                                                         sxsi->cylinders, sxsi->size, TRUE);                                                          sxsi->cylinders, sxsi->size, TRUE);
Line 432  static void reg_load(UINT seg, UINT off) Line 432  static void reg_load(UINT seg, UINT off)
   
         B1BREG  r;          B1BREG  r;
   
         MEML_READSTR(seg, off, &r, sizeof(r));          MEMR_READS(seg, off, &r, sizeof(r));
         CPU_FLAGL = MEML_READ8(seg, off + 0x16);          CPU_FLAGL = MEMR_READ8(seg, off + 0x16);
         CPU_AX = LOADINTELWORD(r.r_ax);          CPU_AX = LOADINTELWORD(r.r_ax);
         CPU_BX = LOADINTELWORD(r.r_bx);          CPU_BX = LOADINTELWORD(r.r_bx);
         CPU_CX = LOADINTELWORD(r.r_cx);          CPU_CX = LOADINTELWORD(r.r_cx);
Line 458  static void reg_store(UINT seg, UINT off Line 458  static void reg_store(UINT seg, UINT off
         STOREINTELWORD(r.r_di, CPU_DI);          STOREINTELWORD(r.r_di, CPU_DI);
         STOREINTELWORD(r.r_si, CPU_SI);          STOREINTELWORD(r.r_si, CPU_SI);
         STOREINTELWORD(r.r_ds, CPU_DS);          STOREINTELWORD(r.r_ds, CPU_DS);
         MEML_WRITESTR(seg, off, &r, sizeof(r));          MEMR_WRITES(seg, off, &r, sizeof(r));
         MEML_WRITE8(seg, off + 0x16, CPU_FLAGL);          MEMR_WRITE8(seg, off + 0x16, CPU_FLAGL);
 }  }
 #endif  #endif
   

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


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