set_drq(false);
}
-#ifdef SCSI_HOST_WIDE
+//#ifdef SCSI_HOST_WIDE
void SCSI_HOST::write_dma_io16(uint32_t addr, uint32_t data)
-#else
+{
+ #ifdef _SCSI_DEBUG_LOG
+ this->force_out_debug_log(_T("[SCSI_HOST] Write %02X\n"), data);
+ #endif
+ write_signals(&outputs_dat, data & 0xffff);
+
+ #ifdef SCSI_HOST_AUTO_ACK
+ // set ack to clear req signal immediately
+ if(bsy_status && !io_status) {
+ this->write_signal(SIG_SCSI_ACK, 1, 1);
+ }
+ #endif
+}
+//#else
void SCSI_HOST::write_dma_io8(uint32_t addr, uint32_t data)
-#endif
+//#endif
{
#ifdef _SCSI_DEBUG_LOG
this->force_out_debug_log(_T("[SCSI_HOST] Write %02X\n"), data);
#endif
- write_signals(&outputs_dat, data);
+ write_signals(&outputs_dat, data & 0xff);
#ifdef SCSI_HOST_AUTO_ACK
// set ack to clear req signal immediately
#endif
}
-#ifdef SCSI_HOST_WIDE
+//#ifdef SCSI_HOST_WIDE
uint32_t SCSI_HOST::read_dma_io16(uint32_t addr)
-#else
+{
+ return read_dma_io8(addr);
+}
+//#else
uint32_t SCSI_HOST::read_dma_io8(uint32_t addr)
-#endif
+//#endif
{
uint32_t value = data_reg;
#ifdef _SCSI_DEBUG_LOG
// common functions
void reset();
-#ifdef SCSI_HOST_WIDE
+//#ifdef SCSI_HOST_WIDE
void __FASTCALL write_dma_io16(uint32_t addr, uint32_t data);
uint32_t __FASTCALL read_dma_io16(uint32_t addr);
-#else
+//#else
void __FASTCALL write_dma_io8(uint32_t addr, uint32_t data);
uint32_t __FASTCALL read_dma_io8(uint32_t addr);
-#endif
+//#endif
void __FASTCALL write_signal(int id, uint32_t data, uint32_t mask);
uint32_t __FASTCALL read_signal(int id);
bool process_state(FILEIO* state_fio, bool loading);