From 930ff1e1c4633e8ccc8faeae59d94b30b2628f7d Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 22 Jun 2019 21:34:19 -0400 Subject: telex1192: Add some more stuff (nw) --- src/mame/drivers/telex1192.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/mame/drivers/telex1192.cpp b/src/mame/drivers/telex1192.cpp index f3e6a255cc0..fcf3b8c774b 100644 --- a/src/mame/drivers/telex1192.cpp +++ b/src/mame/drivers/telex1192.cpp @@ -8,7 +8,7 @@ #include "emu.h" #include "cpu/bcp/dp8344.h" -//#include "machine/nvram.h" +#include "machine/nvram.h" //#include "screen.h" class telex1192_state : public driver_device @@ -17,28 +17,38 @@ public: telex1192_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_bcp(*this, "bcp") - , m_chargen(*this, "chargen") + , m_datarom(*this, "datarom") { } void telex1192(machine_config &config); private: + u16 data_r(offs_t offset); + void inst_map(address_map &map); void data_map(address_map &map); required_device m_bcp; - required_region_ptr m_chargen; + required_region_ptr m_datarom; }; +u16 telex1192_state::data_r(offs_t offset) +{ + // FIXME: not how this code is actually loaded (at least addresses are wrong) + return m_datarom[offset * 2] | m_datarom[offset * 2 + 1] << 8; +} + void telex1192_state::inst_map(address_map &map) { map(0x0000, 0x1fff).rom().region("program", 0); + map(0xc000, 0xcfff).r(FUNC(telex1192_state::data_r)); } void telex1192_state::data_map(address_map &map) { + map(0xa000, 0xa7ff).ram().share("nvram"); } @@ -51,6 +61,8 @@ void telex1192_state::telex1192(machine_config &config) DP8344(config, m_bcp, 18.8696_MHz_XTAL); m_bcp->set_addrmap(AS_PROGRAM, &telex1192_state::inst_map); m_bcp->set_addrmap(AS_DATA, &telex1192_state::data_map); + + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); // DS1220Y } @@ -63,7 +75,7 @@ ROM_START(telex1192) ROM_LOAD16_BYTE("206252-003.u7", 0x0000, 0x2000, CRC(3632b762) SHA1(a45dbcd96485ad87c60257e95dc58f31d1e4ddee)) ROM_LOAD16_BYTE("206251-003.u8", 0x0001, 0x2000, CRC(2852d830) SHA1(947612957daa441596a547f23c526d20306e6e0d)) - ROM_REGION(0x10000, "chargen", 0) + ROM_REGION(0x10000, "datarom", 0) ROM_LOAD("206253-003.u6", 0x00000, 0x10000, CRC(8d7d9356) SHA1(0b2eda8b04b2a6651f4fbf4cd6cdd129a70110ee)) ROM_END -- cgit v1.2.3