summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/nscsi_bus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/nscsi_bus.cpp')
-rw-r--r--src/devices/machine/nscsi_bus.cpp35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/devices/machine/nscsi_bus.cpp b/src/devices/machine/nscsi_bus.cpp
index c408a6a6839..efc89a60f40 100644
--- a/src/devices/machine/nscsi_bus.cpp
+++ b/src/devices/machine/nscsi_bus.cpp
@@ -3,13 +3,15 @@
#include "emu.h"
#include "nscsi_bus.h"
-#define LOG_GENERAL (1U << 0)
-#define LOG_STATE (1U << 1)
-#define LOG_CONTROL (1U << 2)
-#define LOG_DATA (1U << 3)
+#define LOG_GENERAL (1U << 0)
+#define LOG_UNSUPPORTED (1U << 1)
+#define LOG_STATE (1U << 2)
+#define LOG_CONTROL (1U << 3)
+#define LOG_DATA (1U << 4)
+#define LOG_DATA_SENT (1U << 5)
//#define VERBOSE (LOG_GENERAL | LOG_STATE | LOG_CONTROL | LOG_DATA)
-#define VERBOSE 0
+#define VERBOSE (LOG_UNSUPPORTED | LOG_DATA_SENT)
#include "logmacro.h"
@@ -562,6 +564,17 @@ void nscsi_full_device::scsi_status_complete(uint8_t st)
void nscsi_full_device::scsi_data_in(int buf, int size)
{
+ if(VERBOSE & LOG_DATA_SENT) {
+ std::string dt = "";
+ int sz = size;
+ if(sz > 50)
+ sz = 50;
+ for(int i=0; i<size; i++)
+ dt += util::string_format(" %02x", scsi_cmdbuf[i]);
+ if(size > sz)
+ dt += " ...";
+ LOGMASKED(LOG_DATA_SENT, "Sending data%s\n", dt);
+ }
control *c;
c = buf_control_push();
c->action = BC_DATA_IN;
@@ -590,10 +603,10 @@ void nscsi_full_device::sense(bool deferred, uint8_t key, uint8_t asc, uint8_t a
void nscsi_full_device::scsi_unknown_command()
{
- LOG("Unhandled command %s", command_names[scsi_cmdbuf[0]]);
+ std::string txt = util::string_format("Unhandled command %s (%d):", command_names[scsi_cmdbuf[0]], scsi_cmdsize);
for(int i=0; i != scsi_cmdsize; i++)
- logerror(" %02x", scsi_cmdbuf[i]);
- logerror("\n");
+ txt += util::string_format(" %02x", scsi_cmdbuf[i]);
+ LOGMASKED(LOG_UNSUPPORTED, "%s\n", txt);
scsi_status_complete(SS_CHECK_CONDITION);
sense(false, SK_ILLEGAL_REQUEST);
@@ -620,10 +633,10 @@ void nscsi_full_device::scsi_message()
return;
}
- LOG("Unknown message");
+ std::string txt = "Unknown message";
for(int i=0; i != scsi_cmdsize; i++)
- logerror(" %02x", scsi_cmdbuf[i]);
- logerror("\n");
+ txt += util::string_format(" %02x", scsi_cmdbuf[i]);
+ LOGMASKED(LOG_UNSUPPORTED, "%s\n", txt);
}
int nscsi_full_device::get_lun(int def)