Diff for /np2/cbus/scsicmd.c between versions 1.3 and 1.4

version 1.3, 2004/01/23 15:58:16 version 1.4, 2004/03/12 18:19:57
Line 168  static REG8 bios1bc_seltrans(REG8 id) { Line 168  static REG8 bios1bc_seltrans(REG8 id) {
         BYTE    cdb[16];          BYTE    cdb[16];
         REG8    ret;          REG8    ret;
   
         i286_memstr_read(CPU_DS, CPU_DX, cdb, 16);          MEML_READSTR(CPU_DS, CPU_DX, cdb, 16);
         scsiio.reg[SCSICTR_TARGETLUN] = cdb[0];          scsiio.reg[SCSICTR_TARGETLUN] = cdb[0];
         if ((cdb[1] & 0x0c) == 0x08) {                  // OUT          if ((cdb[1] & 0x0c) == 0x08) {                  // OUT
                 i286_memstr_read(CPU_ES, CPU_BX, scsiio.data, CPU_CX);                  MEML_READSTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX);
         }          }
         ret = scsicmd_transfer(id, cdb + 4);          ret = scsicmd_transfer(id, cdb + 4);
         if ((cdb[1] & 0x0c) == 0x04) {                  // IN          if ((cdb[1] & 0x0c) == 0x04) {                  // IN
                 i286_memstr_write(CPU_ES, CPU_BX, scsiio.data, CPU_CX);                  MEML_WRITESTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX);
         }          }
         return(ret);          return(ret);
 }  }
Line 194  void scsicmd_bios(void) { Line 194  void scsicmd_bios(void) {
                 return;                  return;
         }          }
   
         flag = i286_membyte_read(CPU_SS, CPU_SP+4) & 0xbe;          flag = MEML_READ8(CPU_SS, CPU_SP+4) & 0xbe;
         ret = mem[0x0483];          ret = mem[0x0483];
         cmd = CPU_AH & 0x1f;          cmd = CPU_AH & 0x1f;
         dstid = CPU_AL & 7;          dstid = CPU_AL & 7;
Line 236  void scsicmd_bios(void) { Line 236  void scsicmd_bios(void) {
                 else {                  else {
                         switch(cmd) {                          switch(cmd) {
                                 case 0x19:              // Data In                                  case 0x19:              // Data In
                                         i286_memstr_write(CPU_ES, CPU_BX, scsiio.data, CPU_CX);                                          MEML_WRITESTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX);
                                         scsiio.phase = SCSIPH_STATUS;                                          scsiio.phase = SCSIPH_STATUS;
                                         stat = 0x8b;                                          stat = 0x8b;
                                         break;                                          break;
   
                                 case 0x1a:              // Transfer command                                  case 0x1a:              // Transfer command
                                         i286_memstr_read(CPU_ES, CPU_BX, scsiio.cmd, 12);                                          MEML_READSTR(CPU_ES, CPU_BX, scsiio.cmd, 12);
                                         stat = scsicmd_cmd(dstid);                                          stat = scsicmd_cmd(dstid);
                                         break;                                          break;
   
Line 273  void scsicmd_bios(void) { Line 273  void scsicmd_bios(void) {
                 ret &= 0x7f;                  ret &= 0x7f;
         }          }
         CPU_AH = ret;          CPU_AH = ret;
         i286_membyte_write(CPU_SS, CPU_SP + 4, flag);          MEML_WRITE8(CPU_SS, CPU_SP + 4, flag);
 }  }
 #endif  #endif
   

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


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