mirror of
https://github.com/dingusdev/dingusppc.git
synced 2025-01-13 18:30:44 +00:00
scsicdrom: improve MODE_SELECT_6 stub.
This commit is contained in:
parent
941a405cf8
commit
07304781ea
@ -307,17 +307,21 @@ void ScsiCdrom::mode_sense_6()
|
||||
this->switch_phase(ScsiPhase::DATA_IN);
|
||||
}
|
||||
|
||||
int ScsiCdrom::mode_select_6(uint8_t param_len)
|
||||
void ScsiCdrom::mode_select_6(uint8_t param_len)
|
||||
{
|
||||
if (param_len == 0) {
|
||||
return 0x0;
|
||||
}
|
||||
else {
|
||||
LOG_F(ERROR, "Mode Select calling for param length of: %d", param_len);
|
||||
this->incoming_size = param_len;
|
||||
this->switch_phase(ScsiPhase::DATA_OUT);
|
||||
return param_len;
|
||||
}
|
||||
if (!param_len)
|
||||
return;
|
||||
|
||||
this->incoming_size = param_len;
|
||||
|
||||
std::memset(&this->data_buf[0], 0, 512);
|
||||
|
||||
this->post_xfer_action = [this]() {
|
||||
// TODO: parse the received mode parameter list here
|
||||
LOG_F(INFO, "Mode Select: received mode parameter list");
|
||||
};
|
||||
|
||||
this->switch_phase(ScsiPhase::DATA_OUT);
|
||||
}
|
||||
|
||||
void ScsiCdrom::read_toc()
|
||||
|
@ -45,7 +45,7 @@ protected:
|
||||
int test_unit_ready();
|
||||
void read(uint32_t lba, uint16_t nblocks, uint8_t cmd_len);
|
||||
void inquiry();
|
||||
int mode_select_6(uint8_t param_len);
|
||||
void mode_select_6(uint8_t param_len);
|
||||
|
||||
void mode_sense_6();
|
||||
void read_toc();
|
||||
|
Loading…
x
Reference in New Issue
Block a user