Diff for /np2/cbus/scsicmd.c between versions 1.7 and 1.8

version 1.7, 2005/03/05 06:02:28 version 1.8, 2005/05/20 13:59:46
Line 168  static REG8 bios1bc_seltrans(REG8 id) { Line 168  static REG8 bios1bc_seltrans(REG8 id) {
         UINT8   cdb[16];          UINT8   cdb[16];
         REG8    ret;          REG8    ret;
   
         MEML_READSTR(CPU_DS, CPU_DX, cdb, 16);          MEMR_READS(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
                 MEML_READSTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX);                  MEMR_READS(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
                 MEML_WRITESTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX);                  MEMR_WRITES(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 = MEML_READ8(CPU_SS, CPU_SP+4) & 0xbe;          flag = MEMR_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
                                         MEML_WRITESTR(CPU_ES, CPU_BX, scsiio.data, CPU_CX);                                          MEMR_WRITES(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
                                         MEML_READSTR(CPU_ES, CPU_BX, scsiio.cmd, 12);                                          MEMR_READS(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;
         MEML_WRITE8(CPU_SS, CPU_SP + 4, flag);          MEMR_WRITE8(CPU_SS, CPU_SP + 4, flag);
 }  }
 #endif  #endif
   

Removed from v.1.7  
changed lines
  Added in v.1.8


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