Skip to content

Commit fe424df

Browse files
sc53c94: implement accesses to Config 4 register.
1 parent ca7a8e8 commit fe424df

2 files changed

Lines changed: 11 additions & 4 deletions

File tree

devices/common/scsi/sc53c94.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,11 @@ uint8_t Sc53C94::read(uint8_t reg_offset)
120120
return this->config1;
121121
case Read::Reg53C94::Config_3:
122122
return this->config3;
123+
case Read::Reg53C94::Config_4:
124+
return this->config4;
123125
case Read::Reg53C94::Xfer_Cnt_Hi:
124-
if (this->config2 & CFG2_ENF) {
126+
if (this->config2 & CFG2_ENF)
125127
return (this->xfer_count >> 16) & 0xFFU;
126-
}
127128
break;
128129
default:
129130
LOG_F(INFO, "%s: reading from register %d", this->name.c_str(), reg_offset);
@@ -173,8 +174,13 @@ void Sc53C94::write(uint8_t reg_offset, uint8_t value)
173174
case Write::Reg53C94::Config_3:
174175
this->config3 = value;
175176
break;
177+
case Write::Reg53C94::Config_4:
178+
this->config4 = value;
179+
if (value)
180+
LOG_F(WARNING, "%s: config 4 set to 0x%X", this->name.c_str(), value);
181+
break;
176182
default:
177-
LOG_F(INFO, "%s: writing 0x%X to %d register", this->name.c_str(), value,
183+
LOG_F(INFO, "%s: writing 0x%X to register # %d", this->name.c_str(), value,
178184
reg_offset);
179185
}
180186
}

devices/common/scsi/sc53c94.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ namespace Read {
5454
//
5555
Config_2 = 0xB, // Control Register 2
5656
Config_3 = 0xC, // Control Register 3
57-
Config_4 = 0xD, // Control Register 4
57+
Config_4 = 0xD, // Control Register 4 ; Am53CF94 extension
5858
Xfer_Cnt_Hi = 0xE, // Current Transfer Count Register High ; Am53CF94 extension
5959
//
6060
};
@@ -289,6 +289,7 @@ class Sc53C94 : public ScsiPhysDevice, public DmaDevice {
289289
uint8_t config1 = 0;
290290
uint8_t config2 = 0;
291291
uint8_t config3 = 0;
292+
uint8_t config4 = 0;
292293

293294
// bus phase latch
294295
bool phase_latch_closed = false;

0 commit comments

Comments
 (0)