}
break;
case 0xc: // Sub code status register
- d_cdrom->get_subq_status();
+ val = d_cdrom->get_subq_status();
break;
case 0xd:
val = d_cdrom->read_subq();
if(req_reply) write_status(0x10, 0x00, 0x00, 0x00);
return;
}
- if(param_fifo->count() < 6) {
- // Error
- return;
- }
uint8_t m1, s1, f1;
uint8_t m2, s2, f2;
command[2] = 0;
command[3] = (uint8_t)(param_fifo->read() & 0xff);
command[4] = (uint8_t)(param_fifo->read() & 0xff);
- commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
+ commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
command[6] = 0;
command[7] = (uint8_t)(param_fifo->read() & 0xff);
command[8] = (uint8_t)(param_fifo->read() & 0xff);
command[2] = 0;
command[3] = (uint8_t)(param_fifo->read() & 0xff);
command[4] = (uint8_t)(param_fifo->read() & 0xff);
- commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
+ commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
command[6] = 0;
command[7] = (uint8_t)(param_fifo->read() & 0xff);
command[8] = (uint8_t)(param_fifo->read() & 0xff);
command[2] = 0;
command[3] = (uint8_t)(param_fifo->read() & 0xff);
command[4] = (uint8_t)(param_fifo->read() & 0xff);
- commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
+ commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
command[6] = 0;
command[7] = (uint8_t)(param_fifo->read() & 0xff);
command[8] = (uint8_t)(param_fifo->read() & 0xff);
if(req_reply) write_status(0x10, 0x00, 0x00, 0x00);
return;
}
- if(param_fifo->count() < 6) {
- // Error
- return;
- }
command[0] = TOWNS_CDROM_CDDA_PLAY;
command[1] = 0;
command[2] = 0;
command[3] = (uint8_t)(param_fifo->read() & 0xff);
command[4] = (uint8_t)(param_fifo->read() & 0xff);
- commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
+ commadn[5] = (uint8_t)(param_fifo->read() & 0xff);
command[6] = 0;
command[7] = (uint8_t)(param_fifo->read() & 0xff);
command[8] = (uint8_t)(param_fifo->read() & 0xff);
remain = subq_buffer->count();
// set first data
// change to data in phase
- set_phase_delay(SCSI_PHASE_DATA_IN, 10.0);
+ //set_phase_delay(SCSI_PHASE_DATA_IN, 10.0);
} else {
//write_signals(&output_subq_overrun, (subq_buffer->empty()) ? 0x00000000 : 0xffffffff); // OK?
subq_buffer->clear();
// transfer length
remain = subq_buffer->count();
set_dat(is_device_ready() ? SCSI_STATUS_GOOD : SCSI_STATUS_CHKCOND);
- set_phase_delay(SCSI_PHASE_STATUS, 10.0);
+ //set_phase_delay(SCSI_PHASE_STATUS, 10.0);
}
return;
}