summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit3de3c44c281426ae3c36e4e7a7fc19b722b0f35a (patch)
tree6a7006ca4ff3189975d587b5f927bbbfdbec719e
parent24d186a85661873feba48020507a9175ad314109 (diff)
ncd19c: Map some memory and devices
* m88000: Fix uninitialized member
-rw-r--r--src/devices/cpu/m88000/m88000.cpp1
-rw-r--r--src/mame/drivers/ncd88k.cpp14
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)