summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/xavix2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/xavix2.cpp')
-rw-r--r--src/mame/drivers/xavix2.cpp30
1 files changed, 13 insertions, 17 deletions
diff --git a/src/mame/drivers/xavix2.cpp b/src/mame/drivers/xavix2.cpp
index 49b2df92e3e..b6cd83ba130 100644
--- a/src/mame/drivers/xavix2.cpp
+++ b/src/mame/drivers/xavix2.cpp
@@ -120,7 +120,7 @@ void xavix2_state::dma_control_w(u8 data)
m_dma_src, m_dma_dst, m_dma_count,
machine().describe_context());
u32 sadr = m_dma_src | (data == 3 ? 0xc0000000 : 0x40000000);
- u32 dadr = m_dma_dst | 0xc0000000;
+ u32 dadr = m_dma_dst;
auto &prg = m_maincpu->space(AS_PROGRAM);
for(u32 i=0; i != m_dma_count; i++)
prg.write_byte(dadr + i, prg.read_byte(sadr + i));
@@ -153,27 +153,23 @@ INTERRUPT_GEN_MEMBER(xavix2_state::vblank_irq)
void xavix2_state::mem(address_map &map)
{
- map(0x00000000, 0x00001fff).ram().share("part1");
-
- map(0x00002000, 0x00002003).w(FUNC(xavix2_state::dma_src_w));
- map(0x00002004, 0x00002005).w(FUNC(xavix2_state::dma_dst_w));
- map(0x00002008, 0x00002009).w(FUNC(xavix2_state::dma_count_w));
- map(0x0000200c, 0x0000200c).w(FUNC(xavix2_state::dma_control_w));
- map(0x00002010, 0x00002010).rw(FUNC(xavix2_state::dma_status_r), FUNC(xavix2_state::dma_status_w));
-
- map(0x00002630, 0x00002631).lr16(NAME([]() { return 0x210; }));
- map(0x00002632, 0x00002633).lr16(NAME([]() { return 0x210; }));
- map(0x00003c00, 0x00003c00).r(FUNC(xavix2_state::irq_level_r));
-
- map(0x00004000, 0x0000ffff).ram().share("part2");
+ map(0x00000000, 0x0000ffff).ram().share("mainram");
map(0x00010000, 0x00ffffff).rom().region("maincpu", 0x010000);
map(0x40000000, 0x40ffffff).rom().region("maincpu", 0);
- map(0xc0000000, 0xc0001fff).ram().share("part1");
- map(0xc0002000, 0xc0003fff).ram();
- map(0xc0004000, 0xc000ffff).ram().share("part2");
+ map(0xc0000000, 0xc000ffff).ram().share("mainram");
map(0xc0010000, 0xc001ffff).ram();
+
+ map(0xffffe000, 0xffffe003).w(FUNC(xavix2_state::dma_src_w));
+ map(0xffffe004, 0xffffe005).w(FUNC(xavix2_state::dma_dst_w));
+ map(0xffffe008, 0xffffe009).w(FUNC(xavix2_state::dma_count_w));
+ map(0xffffe00c, 0xffffe00c).w(FUNC(xavix2_state::dma_control_w));
+ map(0xffffe010, 0xffffe010).rw(FUNC(xavix2_state::dma_status_r), FUNC(xavix2_state::dma_status_w));
+
+ map(0xffffe630, 0xffffe631).lr16(NAME([]() { return 0x210; }));
+ map(0xffffe632, 0xffffe633).lr16(NAME([]() { return 0x210; }));
+ map(0xfffffc00, 0xfffffc00).r(FUNC(xavix2_state::irq_level_r));
}
uint32_t xavix2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)