diff options
author | Patrick Mackinlay <pmackinlay@hotmail.com> | 2019-04-23 20:00:31 +0700 |
---|---|---|
committer | Patrick Mackinlay <pmackinlay@hotmail.com> | 2019-04-23 20:00:31 +0700 |
commit | ae57490aaaa57d8ccdb29a1ef4f2029b1b1ec69e (patch) | |
tree | f5f496ece920ce760b62a25280b59098e056fa43 | |
parent | 5afb28369c7e1e352cc0f5a7ce4030878d1e906a (diff) |
3c505: tested working with apollo (nw)
-rw-r--r-- | src/devices/bus/isa/3c505.cpp | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/devices/bus/isa/3c505.cpp b/src/devices/bus/isa/3c505.cpp index 622a11d48dd..cdf1f26e88e 100644 --- a/src/devices/bus/isa/3c505.cpp +++ b/src/devices/bus/isa/3c505.cpp @@ -12,14 +12,12 @@ * http://lxr.free-electrons.com/source/drivers/net/3c505.h * http://lxr.free-electrons.com/source/drivers/net/3c505.c * http://stason.org/TULARC/pc/network-cards/O/OLIVETTI-Ethernet-NPU-9144-3C505.html - * http://www.bitsavers.org/pdf/3Com/3c505_Etherlink_Plus_Developers_Guide_May86.pdf' + * http://www.bitsavers.org/pdf/3Com/3c505_Etherlink_Plus_Developers_Guide_May86.pdf * http://www.bitsavers.org/pdf/3Com/1569-03_EtherLink_Plus_Technical_Reference_Jan89.pdf * * TODO * - resolve intermittent diagnostics bug on 8-bit dma channels - * - testing on Apollo Domain/OS - * - externalize mac address - * - 8 bit isa slot support + * - 8-bit isa slot support * - revision 1.0 and 2.0 hardware/firmware variants * - 8023 loopback mode */ @@ -42,14 +40,19 @@ ROM_START(3c505) ROM_LOAD16_BYTE("0729-12_a.3h", 0x00000, 0x02000, CRC(5415fccd) SHA1(6a42d7f3acdb3e0213e1037fee1864819ac33991)) ROM_LOAD16_BYTE("0729-62_a.3f", 0x00001, 0x02000, CRC(4240bd9d) SHA1(015d2f7282def85681bcf1a7c5a7f501a16d5a6c)) - ROM_REGION(0x02000, "host", 0) ROM_SYSTEM_BIOS(0, "unused", "Unused") - ROM_SYSTEM_BIOS(1, "apollo", "Apollo") - ROMX_LOAD("3000_3c505_010728-00.bin", 0x00000, 0x02000, CRC(69b77ec6) SHA1(7ac36cc6fc90b90ddfc56c45303b514cbe18ae58), ROM_BIOS(1)) - ROM_SYSTEM_BIOS(2, "netware", "3C505-NW EtherLink Plus NetWare Boot PROM") + + // host firmware + ROM_REGION(0x02000, "host", 0) + ROMX_LOAD("3000_3c505_010728-00.bin", 0x00000, 0x02000, CRC(69b77ec6) SHA1(7ac36cc6fc90b90ddfc56c45303b514cbe18ae58), ROM_BIOS(1)) ROMX_LOAD("3c505-nw.bin", 0x00000, 0x02000, NO_DUMP, ROM_BIOS(2)) + + // station address prom + ROM_REGION16_LE(0x10, "mac", 0) + ROM_LOAD("3com.9h", 0x00, 0x10, CRC(8e207354) SHA1(ca5ddcb272ab2851e00473dc960b23039746e3d2)) + ROMX_LOAD("apollo.9h", 0x00, 0x10, CRC(490f283e) SHA1(fe4c26b6a41e643f4397990b066fdc04b6f4c5ae), ROM_BIOS(1)) ROM_END static INPUT_PORTS_START(3c505) @@ -349,14 +352,7 @@ void isa16_3c505_device::map_io(address_map &map) map(0x0103, 0x0103).rw(FUNC(isa16_3c505_device::asr_r), FUNC(isa16_3c505_device::acr_w)); map(0x0104, 0x0105).rw(FUNC(isa16_3c505_device::adata_r), FUNC(isa16_3c505_device::adata_w)); - map(0x0180, 0x018f).lr16("mac", - [](offs_t offset) - { - // TODO: hard-code to 3Com dummy address for now - static const u8 mac[] = { 0x02, 0x60, 0x8c, 0x12, 0x34, 0x56, 0xff, 0xff}; - - return mac[offset]; - }); + map(0x0180, 0x018f).rom().region("mac", 0); } void isa16_3c505_device::map_isa(address_map &map) |