diff options
| author | 2019-04-17 23:16:57 -0400 | |
|---|---|---|
| committer | 2019-04-17 23:16:57 -0400 | |
| commit | f3963ef41d56729375b38856b1575aa1eeec400f (patch) | |
| tree | 4eeefb573c11c7a5be16bd5ddd7b774ac298f3eb /src | |
| parent | 06fc72cdcb5bd9774a19e978fa5e81cafe4ad9fa (diff) | |
tekram_dc820.cpp: Map the SCSI chips; FIFO test now passes but BMIC test fails (nw)
Diffstat (limited to 'src')
| -rw-r--r-- | src/devices/bus/isa/tekram_dc820.cpp | 14 | ||||
| -rw-r--r-- | src/devices/bus/isa/tekram_dc820.h | 3 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/devices/bus/isa/tekram_dc820.cpp b/src/devices/bus/isa/tekram_dc820.cpp index 8d949e54b97..3cdd9f8509f 100644 --- a/src/devices/bus/isa/tekram_dc820.cpp +++ b/src/devices/bus/isa/tekram_dc820.cpp @@ -64,17 +64,27 @@ void tekram_eisa_scsi_device::device_start() void tekram_eisa_scsi_device::mpu_map(address_map &map) { map(0x00000, 0x0ffff).ram(); + map(0x10040, 0x1005f).m("scsi:7:scsic", FUNC(ncr53cf94_device::map)).umask16(0xff00); //map(0x10080, 0x10085).rw("bmic", FUNC(i82355_device::local_r), FUNC(i82355_device::local_w)).umask16(0x00ff); map(0xf0000, 0xfffff).rom().region("firmware", 0); } void tekram_dc320b_device::mpu_map(address_map &map) { - map(0x00000, 0x01fff).ram(); + map(0x00000, 0x03fff).ram(); + map(0x08000, 0x0801f).m("scsi:7:scsic", FUNC(ncr53cf94_device::map)).umask16(0x00ff); //map(0x08080, 0x08085).rw("bmic", FUNC(i82355_device::local_r), FUNC(i82355_device::local_w)).umask16(0x00ff); map(0xf0000, 0xfffff).rom().region("firmware", 0); } +void tekram_dc820_device::mpu_map(address_map &map) +{ + map(0x00000, 0x0ffff).ram(); + map(0x10000, 0x1001f).m("scsi:7:scsic", FUNC(ncr53cf94_device::map)).umask16(0x00ff); + //map(0x10080, 0x10085).rw("bmic", FUNC(i82355_device::local_r), FUNC(i82355_device::local_w)).umask16(0x00ff); + map(0xf0000, 0xfffff).rom().region("firmware", 0); +} + static void tekram_scsi_devices(device_slot_interface &device) { device.option_add("harddisk", NSCSI_HARDDISK); @@ -114,7 +124,7 @@ void tekram_dc320b_device::device_add_mconfig(machine_config &config) void tekram_dc320e_device::device_add_mconfig(machine_config &config) { - I80186(config, m_mpu, 25'000'000); // verified for DC-320, but not DC-320E + I80186(config, m_mpu, 32'000'000); // clock guessed to be same as DC-820B due to identical firmware m_mpu->set_addrmap(AS_PROGRAM, &tekram_dc320e_device::mpu_map); //EEPROM_93C46_16BIT(config, m_eeprom); diff --git a/src/devices/bus/isa/tekram_dc820.h b/src/devices/bus/isa/tekram_dc820.h index 74fb49a941d..c6fe4ac2f30 100644 --- a/src/devices/bus/isa/tekram_dc820.h +++ b/src/devices/bus/isa/tekram_dc820.h @@ -64,6 +64,9 @@ public: protected: virtual void device_add_mconfig(machine_config &config) override; virtual const tiny_rom_entry *device_rom_region() const override; + +private: + void mpu_map(address_map &map); }; class tekram_dc820b_device : public tekram_eisa_scsi_device |
