static struct ncr9x_state *ncr_units[MAX_NCR9X_UNITS + 1];
+// Only offsets 0x100 to 0x10f contains non-FF data
+static uae_u8 oktagon_eeprom[16] =
+{
+ 0x0b, 0xf4, 0x3f, 0x0a, 0xff, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xaf, 0xff
+};
+
static void freescsi(SCSIDevice *scsi)
{
if (scsi) {
} else if (isncr(ncr, ncr_oktagon2008_scsi)) {
if (addr == OKTAGON_EEPROM_SCL) {
eeprom_i2c_set(ncr->eeprom, BITBANG_I2C_SCL, (val & 0x80) != 0);
+ memcpy(oktagon_eeprom, ncr->eeprom_data + 0x100, 16);
} else if (addr == OKTAGON_EEPROM_SDA) {
eeprom_i2c_set(ncr->eeprom, BITBANG_I2C_SDA, (val & 0x80) != 0);
+ memcpy(oktagon_eeprom, ncr->eeprom_data + 0x100, 16);
} else if (addr >= OKTAGON_DMA_START && addr < OKTAGON_DMA_END) {
ncr->data = val;
ncr->data_valid = true;
0xd1, 0x05, 0x00, 0x00, 0x08, 0x2c, 0x00, 0x00, 0x00, 0x00, OKTAGON_ROM_OFFSET >> 8, OKTAGON_ROM_OFFSET & 0xff
};
-// Only offsets 0x100 to 0x10f contains non-FF data
-static const uae_u8 oktagon_eeprom[16] =
-{
- 0x0b, 0xf4, 0x3f, 0x0a, 0xff, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xaf, 0xff
-};
-
bool ncr_oktagon_autoconfig_init(struct autoconfig_info *aci)
{
aci->autoconfigp = oktagon_autoconfig;