mirror of
https://github.com/holub/mame
synced 2025-07-01 00:09:18 +03:00
dc320e: Make board self-ID as 320E rather than 820B (nw)
This commit is contained in:
parent
40f4e19dbf
commit
19158e52c6
@ -7,9 +7,12 @@
|
|||||||
These EISA host adapters have, in addition to internal and external
|
These EISA host adapters have, in addition to internal and external
|
||||||
SCSI and floppy disk connectors, LED and "SPKER" jumper headers. The
|
SCSI and floppy disk connectors, LED and "SPKER" jumper headers. The
|
||||||
DC-820 and DC-820B also have four SIMM slots in addition to 64K of
|
DC-820 and DC-820B also have four SIMM slots in addition to 64K of
|
||||||
static RAM on board. The DC-320 and DC-320B only have 16K of SRAM.
|
static RAM on board. The DC-320 and DC-320B only have 16K of SRAM;
|
||||||
|
the DC-820B firmware switches into DC-320E mode if it fails to read
|
||||||
|
dummy values back from select RAM locations beyond the 16K limit.
|
||||||
|
|
||||||
The DC-820B has an ASIC in place of the 11 PLDs used by the DC-820.
|
The DC-820B has an ASIC in place of the 11 PLDs used by the DC-820.
|
||||||
|
DC-320E likely uses the same ASIC, though probably on a smaller PCB.
|
||||||
|
|
||||||
It seems likely that these controllers, like the AHA-174X, support a
|
It seems likely that these controllers, like the AHA-174X, support a
|
||||||
legacy ISA port interface as well as the standard EISA doorbell and
|
legacy ISA port interface as well as the standard EISA doorbell and
|
||||||
@ -103,9 +106,8 @@ void tekram_eisa_scsi_device::eeprom_w(u8 data)
|
|||||||
m_eeprom->clk_write(BIT(data, 5));
|
m_eeprom->clk_write(BIT(data, 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
void tekram_eisa_scsi_device::mpu_map(address_map &map)
|
void tekram_eisa_scsi_device::common_map(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x00000, 0x0ffff).ram();
|
|
||||||
map(0x10040, 0x1005f).m("scsi:7:scsic", FUNC(ncr53cf94_device::map)).umask16(0xff00);
|
map(0x10040, 0x1005f).m("scsi:7:scsic", FUNC(ncr53cf94_device::map)).umask16(0xff00);
|
||||||
map(0x10068, 0x10068).rw(FUNC(tekram_eisa_scsi_device::latch_status_r), FUNC(tekram_eisa_scsi_device::int0_ack_w));
|
map(0x10068, 0x10068).rw(FUNC(tekram_eisa_scsi_device::latch_status_r), FUNC(tekram_eisa_scsi_device::int0_ack_w));
|
||||||
map(0x10069, 0x10069).r(FUNC(tekram_eisa_scsi_device::status_r));
|
map(0x10069, 0x10069).r(FUNC(tekram_eisa_scsi_device::status_r));
|
||||||
@ -119,6 +121,19 @@ void tekram_eisa_scsi_device::mpu_map(address_map &map)
|
|||||||
map(0xf0000, 0xfffff).rom().region("firmware", 0);
|
map(0xf0000, 0xfffff).rom().region("firmware", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tekram_dc320e_device::mpu_map(address_map &map)
|
||||||
|
{
|
||||||
|
common_map(map);
|
||||||
|
map(0x00000, 0x03fff).ram();
|
||||||
|
map(0x04000, 0x0ffff).noprw();
|
||||||
|
}
|
||||||
|
|
||||||
|
void tekram_dc820b_device::mpu_map(address_map &map)
|
||||||
|
{
|
||||||
|
common_map(map);
|
||||||
|
map(0x00000, 0x0ffff).ram();
|
||||||
|
}
|
||||||
|
|
||||||
void tekram_dc320b_device::eeprom_w(u8 data)
|
void tekram_dc320b_device::eeprom_w(u8 data)
|
||||||
{
|
{
|
||||||
m_eeprom->di_write(BIT(data, 1));
|
m_eeprom->di_write(BIT(data, 1));
|
||||||
|
@ -34,7 +34,7 @@ protected:
|
|||||||
void mask_w(u8 data);
|
void mask_w(u8 data);
|
||||||
void eeprom_w(u8 data);
|
void eeprom_w(u8 data);
|
||||||
|
|
||||||
void mpu_map(address_map &map);
|
void common_map(address_map &map);
|
||||||
void scsic_config(device_t *device);
|
void scsic_config(device_t *device);
|
||||||
void scsi_add(machine_config &config);
|
void scsi_add(machine_config &config);
|
||||||
|
|
||||||
@ -71,6 +71,9 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void mpu_map(address_map &map);
|
||||||
};
|
};
|
||||||
|
|
||||||
class tekram_dc820_device : public tekram_eisa_scsi_device
|
class tekram_dc820_device : public tekram_eisa_scsi_device
|
||||||
@ -96,6 +99,9 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
virtual void device_add_mconfig(machine_config &config) override;
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void mpu_map(address_map &map);
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_DEVICE_TYPE(TEKRAM_DC320B, tekram_dc320b_device)
|
DECLARE_DEVICE_TYPE(TEKRAM_DC320B, tekram_dc320b_device)
|
||||||
|
Loading…
Reference in New Issue
Block a user