diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2021-02-02 11:54:58 -0500 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2021-02-02 11:56:18 -0500 |
commit | 3de3c44c281426ae3c36e4e7a7fc19b722b0f35a (patch) | |
tree | 6a7006ca4ff3189975d587b5f927bbbfdbec719e | |
parent | 24d186a85661873feba48020507a9175ad314109 (diff) |
ncd19c: Map some memory and devices
* m88000: Fix uninitialized member
-rw-r--r-- | src/devices/cpu/m88000/m88000.cpp | 1 | ||||
-rw-r--r-- | src/mame/drivers/ncd88k.cpp | 14 |
2 files changed, 13 insertions, 2 deletions
diff --git a/src/devices/cpu/m88000/m88000.cpp b/src/devices/cpu/m88000/m88000.cpp index 67a511a48a1..130888d8cc3 100644 --- a/src/devices/cpu/m88000/m88000.cpp +++ b/src/devices/cpu/m88000/m88000.cpp @@ -134,6 +134,7 @@ mc88100_device::mc88100_device(const machine_config &mconfig, const char *tag, d , m_xip(0) , m_nip(0) , m_fip(0) + , m_sb(0) , m_r{ 0 } , m_cr{ 0 } , m_fcr{ 0 } diff --git a/src/mame/drivers/ncd88k.cpp b/src/mame/drivers/ncd88k.cpp index 7cca778ad60..2673df0928d 100644 --- a/src/mame/drivers/ncd88k.cpp +++ b/src/mame/drivers/ncd88k.cpp @@ -8,6 +8,7 @@ #include "emu.h" #include "cpu/m88000/m88000.h" +#include "machine/mc68681.h" #include "screen.h" class ncd88k_state : public driver_device @@ -39,11 +40,18 @@ u32 ncd88k_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, con void ncd88k_state::code_map(address_map &map) { - map(0x00000000, 0x000015fff).rom().region("program", 0); + map(0x00000000, 0x0001cfff).rom().region("program", 0); + map(0x04000000, 0x07ffffff).ram().share("mainram"); } void ncd88k_state::data_map(address_map &map) { + map(0x00000000, 0x0001cfff).rom().region("program", 0); + map(0x01000000, 0x0100003f).rw("duart", FUNC(scn2681_device::read), FUNC(scn2681_device::write)).umask32(0xff000000); + map(0x01400000, 0x01400007).nopw(); // RAMDAC? + map(0x04000000, 0x07ffffff).ram().share("mainram"); + map(0x08000000, 0x0803ffff).ram(); + map(0x0e000000, 0x0e1fffff).ram(); } static INPUT_PORTS_START(ncd19c) @@ -55,13 +63,15 @@ void ncd88k_state::ncd19c(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &ncd88k_state::code_map); m_maincpu->set_addrmap(AS_DATA, &ncd88k_state::data_map); + SCN2681(config, "duart", 3'686'400); + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); m_screen->set_raw(125'000'000, 1680, 0, 1280, 1063, 0, 1024); // 74.4 kHz horizontal, 70 Hz vertical m_screen->set_screen_update(FUNC(ncd88k_state::screen_update)); } ROM_START(ncd19c) - ROM_REGION32_BE(0x16000, "program", 0) + ROM_REGION32_BE(0x20000, "program", ROMREGION_ERASE00) // These dumps have very strange lengths. The actual ROMs should be standard EEPROM types. ROM_LOAD16_BYTE("ncd19c-e.rom", 0x0000, 0xb000, CRC(01e31b42) SHA1(28da6e4465415d00a739742ded7937a144129aad) BAD_DUMP) ROM_LOAD16_BYTE("ncd19c-o.rom", 0x0001, 0xb000, CRC(dfd9be7c) SHA1(2e99a325b039f8c3bb89833cd1940e6737b64d79) BAD_DUMP) |